Function at 0x14003fb20
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x78], r8
mov rdi, rdx
mov byte [rsp + 0x6a], cl
mov rax, qword [0x1401ff028]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov eax, dword [0x140207458]
mov ecx, dword [0x1402029e4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004055b
mov ebp, dword [rsp + 0x2b0]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x6c], eax
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x98], r12
mov rax, qword [0x140200ee8]
lea rcx, [0x140103600]
cmp rax, rcx
jne 0x140040591
lea rbx, [rsp + 0xf0]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jg 0x140040668
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402070a0]
mov qword [rsp + 0x98], rax
test ebp, 0x410
jne 0x14004012e
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsp + 0x6c]
jne 0x14004012e
mov eax, dword [0x140207060]
mov ecx, dword [0x1402029e4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400404f5
cmp byte [0x14020705c], 0
je 0x14004012e
lea rbx, [rsp + 0xf0]
mov rcx, rbx
int3
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x90], 0
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xdc], eax
cmp byte [rdi], 0
je 0x1400400ff
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003fcb8
movsxd rcx, dword [0x1402073c8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402073cc]
jne 0x14003fcb8
cmp qword [rax + rcx], 0
jne 0x1400400ff
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsp + 0x6c]
jne 0x14003fdb1
mov rax, qword [0x140207618]
cmp rax, 1
jbe 0x1400404b2
mov eax, dword [0x140207610]
mov ecx, dword [0x1402029e4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14004047a
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14004065a
movsxd rcx, dword [0x140207608]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14020760c]
jne 0x14004065a
mov rax, qword [rax + rcx]
test rax, rax
lea rbx, [0x1401e06bf]
cmovne rbx, rax
mov qword [rsp + 0xd0], rbx
mov eax, dword [0x140207470]
mov ecx, dword [0x1402029e4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140040415
mov rsi, qword [0x140207468]
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140040661
movsxd rcx, dword [rsi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rsi + 4]
jne 0x140040661
mov rax, qword [rax + rcx]
test rbx, rbx
je 0x14003fdb1
cmp rbx, rax
jne 0x1400401e0
mov rsi, qword [rsp + 0x2a8]
test byte [rdi], 8
jne 0x1400406b2
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140040470
movabs rcx, 0x7fffffffffffffff
lea rdx, [0x1402073c8]
movsxd rbx, dword [0x1402073c8]
shl rbx, 4
mov qword [rax + rbx], rdx
mov edx, dword [0x1402073cc]
movsxd rbx, dword [0x1402073c8]
shl rbx, 4
mov dword [rax + rbx + 8], edx
xor eax, eax
bt ebp, 0xb
mov r14d, 0
jae 0x14003fe22
mov r14, qword [0x140207250]
test ebp, 0x180
cmove r14, rax
mov rax, qword [0x140207260]
mov r15, qword [rsp + 0x98]
lea rdx, [rax + rcx]
add rdx, 2
cmp rdx, 2
jb 0x14004068f
xor edx, edx
cmp r15, rax
setns dl
add rdx, rcx
sub r15, rax
cmovo r15, rdx
test ebp, 0x410
jne 0x14003fe6d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov al, byte [rdi]
test al, 1
je 0x1400406a8
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003feab
movsxd rcx, dword [0x1402073c0]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402073c4]
jne 0x14003feab
cmp qword [rax + rcx], 0
jne 0x14003ff94
mov eax, dword [0x14020a490]
mov ecx, dword [0x1402029e4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140040150
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003ff94
movsxd rcx, dword [0x14020a488]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14020a48c]
jne 0x14003ff94
cmp qword [rax + rcx], 0
je 0x14003ff94
mov rbx, qword [0x140206f50]
cmp rbx, 1
jbe 0x140040193
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003ff94
movsxd rcx, dword [rbx]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rbx + 4]
jne 0x14003ff94
cmp qword [rax + rcx], 0
je 0x14003ff94
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400406e5
movsxd rcx, dword [0x1402073b8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402073bc]
jne 0x1400406e5
mov rbx, qword [rax + rcx]
test rbx, rbx
je 0x1400406e5
mov rax, qword [0x140207428]
cmp dword [rbx + 0x28], eax
jne 0x1400406d5
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140040652
movsxd rcx, dword [0x1402073b8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402073bc]
jne 0x140040652
mov r12, qword [rax + rcx]
mov al, byte [rdi]
test al, 1
je 0x1400406ab
mov rbx, qword [0x140207438]
test rbx, rbx
je 0x1400405a0
movaps xmm0, xmmword [0x1401d8770]
lea r13, [rsp + 0x120]
movups xmmword [r13 + 0x28], xmm0
movups xmmword [r13 + 0x48], xmm0
movups xmmword [r13 + 0x58], xmm0
movups xmmword [r13 + 0x38], xmm0
mov qword [r13 - 0x30], r15
mov rax, qword [rsp + 0x70]
mov qword [r13 - 0x28], rax
mov rax, 0xffffffffffffffff
mov qword [r13 - 0x20], rax
xor ecx, ecx
mov qword [r13 - 0x18], rcx
mov qword [r13 - 0x10], rax
mov qword [r13 - 8], rcx
mov rax, qword [rsp + 0x88]
mov qword [r13], rax
mov rax, qword [rsp + 0x2a0]
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], rdi
lea rdi, [rsp + 0x138]
mov rax, qword [rsp + 0x78]
mov qword [rdi], rax
mov qword [rdi + 8], rcx
mov byte [rdi + 0x10], 0
mov eax, dword [rsp + 0x6c]
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], ebp
mov qword [rdi + 0x40], r14
mov al, byte [rsp + 0x6a]
mov byte [rdi + 0x48], al
test rsi, rsi
jne 0x140040135
lea rcx, [rsp + 0x148]
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x20], r13
and bpl, 1
mov r8d, ebp
mov r9, rdi
int3
mov ecx, dword [0x140200ec8]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400400ff
movsxd rcx, dword [0x1402073c8]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x1402073cc]
movsxd rdx, dword [0x1402073c8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140106510
mov rax, rsi
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x14003fc5f
mov rdx, rsi
lea rsi, [rsp + 0x148]
mov rcx, rsi
int3
lea rcx, [0x14020a490]
int3
lea rcx, [0x140206f50]
call fcn.14000d860
test al, al
je 0x14004070e
mov qword [0x140206f58], 0
lea r12, [0x140206f50]
lea rbx, [0x140206f58]
mov rcx, rbx
xor edx, edx
call fcn.140001360
mov rcx, r12
mov rdx, rbx
xor r8d, r8d
mov r9, r12
call fcn.14000d840
jmp 0x14003ff1d
cmp byte [rbx], 0
je 0x14003fdb1
mov rcx, qword [0x140207468]
mov rdx, rbx
int3
lea rcx, [0x140207470]
int3
call fcn.1400014c0
jmp 0x14003fdd8
lea rcx, [0x140207610]
int3
lea rcx, [0x140207618]
call fcn.14000d860
test al, al
je 0x14004071a
mov ecx, pe_nt_image_headers64
int3
lea rcx, [0x140207060]
int3
lea rcx, [0x140207458]
int3
lea rcx, [rsp + 0x98]
call rax
jmp 0x14003fbfe
mov cl, 1
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], 0
test al, 0x10
jne 0x140040738
xor r13d, r13d
test cl, cl
jne 0x140040833
movzx ebx, byte [rsp + 0xb7]
mov rsi, rbx
test bl, bl
jns 0x1400405e3
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
jne 0x14004086a
test r13, r13
jne 0x1400408b5
cmp byte [rsp + 0xb7], 0
jns 0x1400400c5
mov rcx, qword [rsp + 0xa0]
call fcn.1401039b0
jmp 0x1400400c5
xor r12d, r12d
jmp 0x14003ffc9
xor eax, eax
jmp 0x14003fd33
xor eax, eax
jmp 0x14003fda3
mov rcx, qword [0x1402070a0]
cqo
idiv rcx
imul rbx, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbx
jmp 0x14003fbf6
cmp r15, rax
je 0x140040a19
lea r15, [rcx + 1]
test rax, rax
cmovs r15, rcx
jmp 0x14003fe5f
xor r12d, r12d
xor ecx, ecx
jmp 0x1400405a2
mov qword [rsp + 0x20], rsi
mov cl, byte [rsp + 0x6a]
mov rdx, rdi
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x2a0]
call fcn.140157b50
jmp 0x14003fdc2
mov rcx, rbx
int3
mov ecx, 0x30
int3
mov rbx, qword [0x140206f50]
jmp 0x14003ff1d
mov rax, qword [0x140207618]
jmp 0x14003fcd9
mov ecx, 0x98
int3
test r12, r12
jne 0x1400408ca
lea rcx, [0x1402070d0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140040a08
lea rcx, [0x1402070c8]
lea rdx, [rsp + 0x90]
mov r8b, 1
int3
mov ecx, 2
call fcn.1400cea70
test al, al
je 0x1400405ec
lea rdx, str..._.._base_trace_event_trace_log.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r8d, 0x6dc
mov r9d, 2
call fcn.14000a9d0
lea rcx, [rsp + 0x100]
test bl, bl
jns 0x14004091b
mov rdx, qword [rsp + 0xa0]
jmp 0x140040923
mov rcx, r13
int3
lea rdx, [rsp + 0x90]
mov rcx, r12
int3
lea rdx, [rsp + 0xa0]
mov r8, rsi
int3
lea rcx, [0x1402070d0]
int3
int3