Function at 0x14010c320
Capabilities:
Get thread local storage value
Print debug messages
Set thread local storage value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
xor r15d, r15d
mov dword [rbp + 0x90], r15d
lea rcx, [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop
lea rbx, str.CSecurityCenterApp::AddJumpList
mov qword [rbp + 0x30], rbx
mov ecx, dword [0x1401993f8]
mov eax, dword [0x1401993fc]
add ecx, eax
je 0x14010c3e2
mov dword [rsp + 0x48], r15d
call fcn.1400057e0
mov qword [rsp + 0x40], rax
lock inc dword [rsp + 0x48]
mov dword [rbp + 0x90], 1
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x14010c39e
call fcn.1400057e0
mov qword [rsp + 0x40], rax
lock inc dword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov dword [rbp + 0x98], 0x20
mov qword [rsp + 0x30], rbx
lea rax, str._s_start:
mov qword [rsp + 0x28], rax
lea rax, str._CScopeTrace::operator___
mov qword [rsp + 0x20], rax
lea r9, [0x140000000]
lea r8, [rbp + 0x98]
movsx edx, r15w
call fcn.140004bd0
nop
mov eax, dword [rbp + 0x90]
mov esi, 0xffffffff
test al, 1
je 0x14010c427
and eax, 0xfffffffe
mov dword [rbp + 0x90], eax
mov qword [rsp + 0x40], r15
mov eax, esi
lock xadd dword [rsp + 0x48], eax
cmp eax, 1
js 0x14010c422
nop dword [rax]
call fcn.140005b50
mov eax, esi
lock xadd dword [rsp + 0x48], eax
cmp eax, 1
jns 0x14010c410
lock inc dword [rsp + 0x48]
mov rax, qword [0x140198db8]
cmp eax, 0xffffffff
je 0x14010c447
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
mov rax, qword [0x140198db8]
jmp 0x14010c44d
mov ecx, dword [0x140198dbc]
lea edx, [rcx + 1]
cmp eax, 0xffffffff
je 0x14010c460
movsxd rdx, edx
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea r12, vtable.CJumpList.0
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lfence
mov ecx, 0x38
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x58], r15
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [0x140163f40]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140151b58]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14010c867
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [0x14015a0a8]
mov rax, qword [rax + 0x18]
call qword [case.0x14006aed5.0]
test eax, eax
js 0x14010c867
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea r9, [rsp + 0x60]
lea r8, [0x140127ec8]
lea rdx, [rsp + 0x68]
mov rax, qword [rax + 0x20]
call qword [case.0x14006aed5.0]
mov r14, qword [rsp + 0x70]
movabs rax, 0x492492492492492
cmp qword [rsp + 0x78], rax
jne 0x14010c536
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rsp + 0x70]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], r15
lfence
mov ecx, 0x38
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov rdi, rax
mov qword [rbp - 0x58], rax
lea rcx, [rax + 0x10]
mov qword [rbp + 0x40], rcx
mov qword [rcx], r15
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], 7
lea rbx, [rcx + 0x20]
mov qword [rbx], r15
mov r8d, 0xb
lea rdx, str.My_Category
call fcn.140002ed0
mov qword [rsp + 0x20], rbx
lea r9, [0x140166660]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14015b668]
call qword [sym.imp.ole32.dll_CoCreateInstance]
nop
inc qword [rsp + 0x78]
mov rax, qword [r14 + 8]
mov qword [rdi], r14
mov qword [rdi + 8], rax
mov qword [rbp - 0x58], r15
mov qword [r14 + 8], rdi
mov qword [rax], rdi
mov rax, qword [rsp + 0x70]
mov r14, qword [rax + 8]
lea rcx, [rbp - 0x70]
call fcn.14002ef30
nop
lea r8, str.odscanui.exe
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140035810
nop
mov rdx, rax
lea rcx, [rbp - 0x80]
call qword [sym.imp.mfc140u.dll_Ordinal_267]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14010c620
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006aed5.0]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14010c647
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006aed5.0]
movabs rbx, 0xba286a53a00adae1
mov qword [rbp + 0x20], rbx
movabs rdi, 0xdcf483c426d04e6f
mov qword [rbp + 0x28], rdi
call fcn.1400041e0
mov rcx, rax
test rax, rax
je 0x14010c91e
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14006aed5.0]
add rax, 0x18
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r15
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
call fcn.1400041e0
mov rcx, rax
test rax, rax
je 0x14010c913
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14006aed5.0]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov qword [rbp], r15
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], 2
mov dword [rbp + 0x18], r15d
mov dword [rbp - 0x44], 1
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rdi
lea rcx, [rbp - 0x50]
call fcn.140052880
mov rbx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x68]
call fcn.140052ce0
nop
mov qword [rbp + 0xa0], r15
lea rcx, [rbp + 0xa0]
mov qword [rsp + 0x20], rcx
mov r9, rbx
mov r8, rdi
mov rdx, qword [rax]
call fcn.1400526b0
test eax, eax
js 0x14010c76c
mov rcx, qword [r14 + 0x30]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rax + 0x28]
call qword [case.0x14006aed5.0]
test eax, eax
jns 0x14010c757
lea rcx, str.Error
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14010c793
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006aed5.0]
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14010c7fc
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
lea r8, [rbp + 0xa8]
lea rdx, [0x140166640]
mov rax, qword [rax]
call qword [case.0x14006aed5.0]
test eax, eax
js 0x14010c7ef
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rax + 0x38]
call qword [case.0x14006aed5.0]
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, qword [rsp + 0x70]
jne 0x14010c7a0
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [case.0x14006aed5.0]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14010c836
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006aed5.0]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14010c85c
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006aed5.0]
nop
lea rcx, [rbp - 0x80]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
mov qword [rsp + 0x50], r12
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14010c883
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14010c89a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rbx, qword [rcx]
test rbx, rbx
je 0x14010c8e8
nop
mov rsi, qword [rbx]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14010c8c9
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006aed5.0]
lea rcx, [rbx + 0x10]
call fcn.140002de0
nop
mov edx, 0x38
mov rcx, rbx
call fcn.140071e50
mov rbx, rsi
test rsi, rsi
jne 0x14010c8b0
mov edx, 0x38
mov rcx, qword [rsp + 0x70]
call fcn.140071e50
nop
lea rcx, [rbp + 0x30]
call fcn.14002f940
add rsp, 0x150
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140004380
nop
mov ecx, 0x80004005
call fcn.140004380
int3