Function at 0x140073390
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, 0x218
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x80], r8
mov rbx, rdx
mov byte [rsp + 0x6f], cl
mov esi, dword [rsp + 0x2a8]
mov rax, qword [0x140162028]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov eax, dword [0x140169d38]
mov ecx, dword [0x1401653f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400738f5
test esi, 0x410
je 0x140073cf4
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x90], 0
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x290]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x20], rax
lea rcx, [0x1401699a0]
mov dl, byte [rsp + 0x6f]
mov r8, rbx
mov r9, qword [rsp + 0x80]
call fcn.1400720d0
test al, al
je 0x14007372d
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400738b6
mov rbp, qword [rsp + 0x298]
lea rcx, [0x140169ca8]
movsxd rdx, dword [0x140169ca8]
shl rdx, 4
mov qword [rax + rdx], rcx
mov ecx, dword [0x140169cac]
movsxd rdx, dword [0x140169ca8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
xor eax, eax
mov r12d, 0
test esi, 0x800
je 0x1400734bf
mov r12, qword [0x140169b30]
test esi, 0x180
cmove r12, rax
mov rcx, qword [0x140169b40]
mov rax, qword [rbp]
movabs rdx, 0x8000000000000000
movabs r13, 0x7fffffffffffffff
cmp rcx, rdx
je 0x140073501
cmp rcx, r13
jne 0x14007350d
cmp rax, r13
je 0x140073d62
add r13, 1
jmp 0x140073522
lea rcx, [r13 + 1]
cmp rax, rcx
jne 0x140073522
int3
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r13
sub rax, rcx
cmovo rax, rdx
mov r13, rax
mov rdi, qword [rsp + 0x288]
mov qword [rsp + 0x78], 0xffffffffffffffff
test esi, 0x410
je 0x140073d25
xor r12, rdi
mov al, byte [rbx]
test al, 1
je 0x1400737f1
mov r14, rbp
lea rcx, [0x1401699a0]
call fcn.1400717e0
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400738c0
movsxd rcx, dword [0x140169c98]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140169c9c]
jne 0x1400738c0
mov r15, qword [rax + rcx]
mov al, byte [rbx]
test al, 1
je 0x140073b18
mov rbp, qword [0x140169d18]
test rbp, rbp
je 0x140073b18
mov qword [rsp + 0xd0], r13
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rax
mov rax, 0xffffffffffffffff
movq xmm0, rax
movdqu xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 0
lea rax, [rsp + 0x100]
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x280]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rbx
lea r9, [rsp + 0x118]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x118], rcx
lea rdx, [rsp + 0x120]
mov qword [rsp + 0x120], 0
lea rcx, [rsp + 0x128]
mov byte [rsp + 0x128], 0
mov ebx, dword [rsp + 0x290]
mov dword [rsp + 0x150], ebx
mov dword [rsp + 0x154], esi
mov qword [rsp + 0x158], r12
mov bl, byte [rsp + 0x6f]
mov byte [rsp + 0x160], bl
mov rdi, qword [rsp + 0x2a0]
test rdi, rdi
je 0x1400736ae
cmp rcx, rdi
je 0x1400736ae
mov rbx, qword [rdi + 0x20]
mov qword [rcx + 0x20], rbx
movdqu xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov byte [rdi], 0
mov qword [rsp + 0x20], rax
and sil, 1
mov r8d, esi
call fcn.1400d4ee0
test r15, r15
setne dl
lea rcx, [rsp + 0xd0]
lea r8, [rsp + 0x90]
call rbp
mov al, byte [rsp + 0x128]
test al, al
jne 0x14007375c
mov rdx, qword [rsp + 0x120]
test rdx, rdx
jne 0x140073793
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14007372d
movsxd rcx, dword [0x140169ca8]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [0x140169cac]
movsxd rdx, dword [0x140169ca8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.1400f0560
mov rax, rsi
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rsp + 0x129], 8
je 0x1400737a5
cmp al, 2
jb 0x1400736e2
xor edi, edi
cmp byte [rsp + rdi + 0x12a], 8
je 0x1400737cb
movzx ecx, al
lea rdx, [rdi + 1]
add rdi, 2
cmp rdi, rcx
mov rdi, rdx
jae 0x1400736e2
jmp 0x140073770
mov rcx, qword [0x140164fe8]
xor r8d, r8d
call qword [rcx + 0x20]
jmp 0x1400736f3
mov rsi, qword [rsp + 0x140]
test rsi, rsi
je 0x140073766
mov rcx, rsi
call fcn.1400ccc10
mov rcx, rsi
call fcn.1400ef7cc
mov al, byte [rsp + 0x128]
jmp 0x140073766
mov rsi, qword [rsp + rdi*8 + 0x148]
test rsi, rsi
je 0x14007377a
mov rcx, rsi
call fcn.1400ccc10
mov rcx, rsi
call fcn.1400ef7cc
mov al, byte [rsp + 0x128]
jmp 0x14007377a
xor r15d, r15d
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
xor edi, edi
mov byte [rsp + 0xaf], dil
test al, 0x10
jne 0x14007394a
mov cl, 1
test cl, cl
je 0x14007382d
and al, 1
jne 0x140073b20
movzx ebx, byte [rsp + 0xc7]
mov rsi, rbx
test bl, bl
jns 0x140073844
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
jne 0x140073ac6
test rdi, rdi
je 0x14007386a
mov al, byte [rdi + 0x58]
test al, al
jne 0x14007388a
mov rdx, qword [rdi + 0x50]
test rdx, rdx
jne 0x1400738c8
mov rcx, rdi
call fcn.1400ef7cc
cmp byte [rsp + 0xc7], 0
jns 0x1400736f3
mov rcx, qword [rsp + 0xb0]
call fcn.1400ef7cc
jmp 0x1400736f3
cmp byte [rdi + 0x59], 8
je 0x1400738d7
cmp al, 2
jb 0x140073859
xor ebx, ebx
cmp byte [rdi + rbx + 0x5a], 8
je 0x140073924
movzx ecx, al
lea rdx, [rbx + 1]
add rbx, 2
cmp rbx, rcx
mov rbx, rdx
jae 0x140073859
jmp 0x140073896
call fcn.14006e9c0
jmp 0x140073475
xor r15d, r15d
jmp 0x140073590
mov rcx, qword [0x140164fe8]
xor r8d, r8d
call qword [rcx + 0x20]
jmp 0x140073862
mov rsi, qword [rdi + 0x70]
test rsi, rsi
je 0x140073890
mov rcx, rsi
call fcn.1400ccc10
mov rcx, rsi
call fcn.1400ef7cc
mov al, byte [rdi + 0x58]
jmp 0x140073890
lea rcx, [0x140169d38]
call fcn.1400ef8f0
cmp dword [0x140169d38], 0xffffffff
jne 0x1400733f8
call fcn.140071190
lea rcx, [0x140169d38]
call fcn.1400ef988
jmp 0x1400733f8
mov rsi, qword [rdi + rbx*8 + 0x78]
test rsi, rsi
je 0x1400738a1
mov rcx, rsi
call fcn.1400ccc10
mov rcx, rsi
call fcn.1400ef7cc
mov al, byte [rdi + 0x58]
jmp 0x1400738a1
mov ecx, 0x98
call fcn.1400ef770
mov rdi, rax
mov qword [rax], r13
mov rax, qword [rsp + 0x70]
mov qword [rdi + 8], rax
mov rax, 0xffffffffffffffff
movq xmm0, rax
movdqu xmmword [rdi + 0x10], xmm0
mov rax, qword [rsp + 0x78]
mov qword [rdi + 0x20], rax
xor eax, eax
mov qword [rdi + 0x28], rax
mov rcx, qword [rsp + 0x88]
mov qword [rdi + 0x30], rcx
mov rcx, qword [rsp + 0x280]
mov qword [rdi + 0x38], rcx
mov qword [rdi + 0x40], rbx
mov rcx, qword [rsp + 0x80]
mov qword [rdi + 0x48], rcx
mov qword [rdi + 0x50], rax
lea rcx, [rdi + 0x58]
mov byte [rdi + 0x58], 0
mov eax, dword [rsp + 0x290]
mov dword [rdi + 0x80], eax
mov dword [rdi + 0x84], esi
mov qword [rdi + 0x88], r12
mov al, byte [rsp + 0x6f]
mov byte [rdi + 0x90], al
lea rax, [rdi + 0x30]
lea r9, [rdi + 0x48]
lea rdx, [rdi + 0x50]
cmp qword [rsp + 0x2a0], 0
je 0x140073a25
cmp rcx, qword [rsp + 0x2a0]
je 0x140073a25
mov rbp, qword [rsp + 0x2a0]
mov r8, rbp
mov rbp, qword [rbp + 0x20]
mov qword [rcx + 0x20], rbp
movdqu xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
mov byte [r8], 0
mov qword [rsp + 0x20], rax
mov r8d, esi
and r8b, 1
call fcn.1400d4ee0
lea rax, [rsp + 0xd0]
mov qword [rax], rdi
mov bpl, 1
lea rdi, [rsp + 0xaf]
mov byte [rdi], bpl
lea rdx, [rsp + 0x98]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
mov rcx, rbx
call fcn.140072960
cmp byte [rdi], 0
je 0x140073be4
mov r14, qword [rsp + 0xd0]
xor edi, edi
mov qword [rsp + 0xd0], rdi
test r14, r14
je 0x140073ab1
mov al, byte [r14 + 0x58]
test al, al
jne 0x140073cba
mov rdx, qword [r14 + 0x50]
test rdx, rdx
jne 0x140073d65
mov rcx, r14
call fcn.1400ef7cc
xor edi, edi
mov bpl, byte [rsp + 0xaf]
mov al, byte [rbx]
test bpl, bpl
sete cl
mov rbp, qword [rsp + 0x298]
jmp 0x140073821
mov ecx, 2
call fcn.140063a50
test al, al
je 0x14007384d
lea rdx, str..._.._base_trace_event_trace_log.cc
lea rbp, [rsp + 0xd0]
mov rcx, rbp
mov r8d, 0x556
mov r9d, 2
call fcn.140063ae0
lea rcx, [rsp + 0xe0]
test bl, bl
jns 0x140073bff
mov rdx, qword [rsp + 0xb0]
jmp 0x140073c07
mov rbp, r14
jmp 0x1400737f4
mov r14, rbp
test r15, r15
je 0x140073c1c
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.14006fa20
mov r15, rax
xor ebp, ebp
test r15, r15
je 0x140073b5a
test rdi, rdi
je 0x140073c4a
mov rcx, r15
mov rdx, rdi
call fcn.14006f150
mov rax, qword [0x140169b48]
test al, 8
je 0x140073bc9
mov al, byte [rsp + 0x6f]
cmp al, 0x58
movzx eax, al
mov edx, 0x42
cmovne edx, eax
lea rcx, [rsp + 0xd0]
mov r8, r14
mov r9, r15
call fcn.140072aa0
cmp byte [rsp + 0xc7], 0
js 0x140073d77
xor eax, eax
mov byte [rsp + 0xb0], al
mov byte [rsp + 0xc7], al
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], rax
movdqu xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0xb0], xmm0
test bpl, bpl
je 0x14007382d
lea rcx, [0x1401699a8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14007382d
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], 0
xor ebp, ebp
jmp 0x140073ab1
lea rdx, [rsp + 0xb0]
mov r8, rsi
call fcn.14002f194
mov rcx, rbp
call fcn.140063e50
jmp 0x14007384d
lea rcx, [0x1401699a8]
call fcn.14007ae30
lea rcx, [0x1401699a0]
lea rdx, [rsp + 0x90]
mov bpl, 1
mov r8b, 1
call fcn.140071f70
mov r15, rax
jmp 0x140073b41
mov dword [rsp + 0x60], esi
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r12
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x28], al
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov edx, dword [rsp + 0x290]
mov r8, r13
mov r9, qword [rsp + 0x70]
call fcn.14006f2a0
jmp 0x140073b5a
cmp byte [r14 + 0x59], 8
je 0x140073dba
cmp al, 2
jb 0x140073a92
xor ebp, ebp
cmp byte [r14 + rbp + 0x5a], 8
je 0x140073de0
movzx ecx, al
lea rdx, [rbp + 1]
add rbp, 2
cmp rbp, rcx
mov rbp, rdx
jae 0x140073a92
jmp 0x140073ccf
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsp + 0x290]
jne 0x140073404
call fcn.14007dc60
test al, al
jne 0x140073e07
mov qword [rsp + 0xd0], 0
jmp 0x140073404
mov r14, rbp
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsp + 0x290]
jne 0x14007353f
call fcn.1400334f0
test al, al
jne 0x140073e1f
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov qword [rsp + 0x78], 0xffffffffffffffff
jmp 0x140073e37
int3
mov rcx, qword [0x140164fe8]
xor r8d, r8d
call qword [rcx + 0x20]
jmp 0x140073a9f
mov rax, qword [rsp + 0xb0]
xor ecx, ecx
mov byte [rax], cl
mov qword [rsp + 0xb8], 0
cmp byte [rsp + 0xc7], cl
jns 0x140073ba7
mov rcx, qword [rsp + 0xb0]
call fcn.1400ef7cc
mov qword [rsp + 0xc0], 0
jmp 0x140073ba7
mov rdi, qword [r14 + 0x70]
test rdi, rdi
je 0x140073cc5
mov rcx, rdi
call fcn.1400ccc10
mov rcx, rdi
call fcn.1400ef7cc
mov al, byte [r14 + 0x58]
jmp 0x140073cc5
mov rdi, qword [r14 + rbp*8 + 0x78]
test rdi, rdi
je 0x140073cdb
mov rcx, rdi
call fcn.1400ccc10
mov rcx, rdi
call fcn.1400ef7cc
mov al, byte [r14 + 0x58]
jmp 0x140073cdb
lea r15, [rsp + 0xd0]
mov rcx, r15
call fcn.14007d9e0
mov rax, qword [r15]
jmp 0x140073406
lea r15, [rsp + 0xd0]
mov rcx, r15
call fcn.1400d9d50
mov rax, qword [r15]
mov qword [rsp + 0x78], rax
mov rbp, r14
jmp 0x14007353f