Function at 0x140127cb0
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 [0x1401c1658]
mov eax, dword [0x1401c165c]
add ecx, eax
je 0x140127d72
mov dword [rsp + 0x48], r15d
call fcn.140005ad0
mov qword [rsp + 0x40], rax
lock inc dword [rsp + 0x48]
mov dword [rbp + 0x90], 1
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x140127d2e
call fcn.140005ad0
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.140004c90
nop
mov eax, dword [rbp + 0x90]
mov esi, 0xffffffff
test al, 1
je 0x140127db7
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 0x140127db2
nop dword [rax]
call fcn.140005e40
mov eax, esi
lock xadd dword [rsp + 0x48], eax
cmp eax, 1
jns 0x140127da0
lock inc dword [rsp + 0x48]
mov rax, qword [0x1401c0ff8]
cmp eax, 0xffffffff
je 0x140127dd7
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
mov rax, qword [0x1401c0ff8]
jmp 0x140127ddd
mov ecx, dword [0x1401c0ffc]
lea edx, [rcx + 1]
cmp eax, 0xffffffff
je 0x140127df0
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, [0x140184828]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140167ec0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1401281f7
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [0x14017ec08]
mov rax, qword [rax + 0x18]
call qword [case.0x140077645.0]
test eax, eax
js 0x1401281f7
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea r9, [rsp + 0x60]
lea r8, [0x140142ef0]
lea rdx, [rsp + 0x68]
mov rax, qword [rax + 0x20]
call qword [case.0x140077645.0]
mov r14, qword [rsp + 0x70]
movabs rax, 0x492492492492492
cmp qword [rsp + 0x78], rax
jne 0x140127ec6
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.140002f20
mov qword [rsp + 0x20], rbx
lea r9, [0x1401895f0]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14017fdc8]
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.1400316a0
nop
lea r8, str.odscanui.exe
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.14003a5f0
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 0x140127fb0
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140077645.0]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140127fd7
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140077645.0]
movabs rbx, 0xba286a53a00adae1
mov qword [rbp + 0x20], rbx
movabs rdi, 0xdcf483c426d04e6f
mov qword [rbp + 0x28], rdi
call fcn.140004230
mov rcx, rax
test rax, rax
je 0x1401282ae
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140077645.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.140004230
mov rcx, rax
test rax, rax
je 0x1401282a3
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140077645.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.14005a440
mov rbx, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x68]
call fcn.14005a8a0
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.14005a270
test eax, eax
js 0x1401280fc
mov rcx, qword [r14 + 0x30]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rax + 0x28]
call qword [case.0x140077645.0]
test eax, eax
jns 0x1401280e7
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.0x140077645.0]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140128123
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140077645.0]
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14012818c
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
lea r8, [rbp + 0xa8]
lea rdx, str._V
mov rax, qword [rax]
call qword [case.0x140077645.0]
test eax, eax
js 0x14012817f
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rax + 0x38]
call qword [case.0x140077645.0]
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, qword [rsp + 0x70]
jne 0x140128130
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [case.0x140077645.0]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1401281c6
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140077645.0]
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1401281ec
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140077645.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 0x140128213
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14012822a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 8]
mov qword [rax], r15
mov rbx, qword [rcx]
test rbx, rbx
je 0x140128278
nop
mov rsi, qword [rbx]
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140128259
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140077645.0]
lea rcx, [rbx + 0x10]
call fcn.140002e30
nop
mov edx, 0x38
mov rcx, rbx
call fcn.14007e2a0
mov rbx, rsi
test rsi, rsi
jne 0x140128240
mov edx, 0x38
mov rcx, qword [rsp + 0x70]
call fcn.14007e2a0
nop
lea rcx, [rbp + 0x30]
call fcn.140032660
add rsp, 0x150
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400043d0
nop
mov ecx, 0x80004005
call fcn.1400043d0
int3