Function at 0x140047ee0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x110]
sub rsp, 0x210
mov rax, qword [0x1400d61c0]
xor rax, rsp
mov qword [rbp + 0xf8], rax
mov r13, qword [rbp + 0x170]
xor r15d, r15d
mov dword [rsp + 0x70], r15d
mov rdi, r8
movzx r14d, byte [rdx]
mov r12, rdx
mov qword [rsp + 0x50], r8
mov rsi, rcx
mov qword [rsp + 0x78], r9
test r14b, r14b
je 0x14004827d
mov qword [rsp + 0x208], rbx
lea rbx, [rcx + 0x2c8]
mov ecx, dword [0x1400d6d18]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
test rax, rax
jne 0x140047f66
call fcn.140027ad0
mov rcx, rax
movsxd rdx, dword [rbx + 4]
mov eax, dword [rbx + 8]
add rdx, rdx
cmp dword [rcx + rdx*8 + 8], eax
jne 0x140047f80
cmp qword [rcx + rdx*8], r15
jne 0x140048275
mov ecx, dword [0x1400d6d18]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
test rax, rax
jne 0x140047f9c
call fcn.140027ad0
mov rdx, rax
movsxd rax, dword [rbx + 4]
add rax, rax
mov qword [rdx + rax*8], rbx
movsxd rcx, dword [rbx + 4]
mov eax, dword [rbx + 8]
add rcx, rcx
mov dword [rdx + rcx*8 + 8], eax
test r14b, 8
je 0x140048007
call fcn.14005c0e0
test rax, rax
je 0x140048007
cmp byte [rax], r15b
je 0x140048007
test byte [0x1400dc880], 1
je 0x140048007
lea rax, [0x1400bf7bd]
mov r8, rdi
mov qword [rsp + 0x48], rax
lea r9, str.Complete_End
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.14005b3e0
mov qword [rbp + 0xb0], 0xf
mov qword [rbp + 0xa8], r15
mov byte [rbp + 0x98], r15b
test r14b, 1
je 0x1400481a6
lea rax, [rsi + 8]
mov byte [rsp + 0x68], r15b
mov qword [rsp + 0x60], rax
cmp dword [rsp + 0x78], r15d
jne 0x140048046
xor edi, edi
jmp 0x1400480ca
lea r8, [rsp + 0x60]
mov rcx, rsi
lea rdx, [rsp + 0x78]
call fcn.140048db0
mov rdi, rax
test rax, rax
je 0x1400480ca
cmp qword [rax + 0x10], 0xffffffffffffffff
je 0x1400480a5
lea r8, [rsp + 0x70]
mov qword [rbp + 0xd0], 0xf
lea rdx, [rbp + 0xb8]
mov qword [rbp + 0xc8], r15
mov rcx, rax
mov byte [rbp + 0xb8], r15b
mov qword [rsp + 0x70], r15
call fcn.140060590
lea rcx, [rbp + 0xb8]
call fcn.1400021a0
mov rax, qword [r13]
sub rax, qword [rdi]
mov qword [rdi + 0x10], rax
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400480ca
mov rax, qword [rbp + 0x178]
mov rdx, qword [rax]
sub rdx, rcx
mov qword [rdi + 0x18], rdx
mov rax, qword [rsi + 0x1f8]
test al, 8
je 0x14004810a
mov r9, r13
mov qword [rsp + 0x20], rdi
mov r8b, 0x45
lea rdx, [rbp + 0xd8]
mov rcx, rsi
call fcn.1400477b0
mov rdx, rax
lea rcx, [rbp + 0x98]
call fcn.140005080
lea rcx, [rbp + 0xd8]
call fcn.1400021a0
cmp byte [rsp + 0x68], 0
je 0x14004811c
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rbp + 0xa8], 0
je 0x1400481a1
cmp dword [0x1400da504], 2
jg 0x140048192
mov r15d, 1
mov dword [rbp - 0x70], 2
mov r8d, r15d
lea rcx, [rbp - 0x68]
lea edx, [r15 + 1]
call fcn.1400262a0
lea rdi, str..._.._base_trace_event_trace_log.cc
mov dword [rbp + 0x90], 0x5a6
mov qword [rbp + 0x88], rdi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, 0x5a6
lea rcx, [rbp - 0x70]
mov rdx, rdi
mov dword [rbp + 0x94], eax
call fcn.1400257b0
lea rdx, [rbp + 0x98]
lea rcx, [rbp - 0x68]
call fcn.140011ba0
test r15b, 1
je 0x1400481a1
lea rcx, [rbp - 0x70]
call fcn.140025360
mov rdi, qword [rsp + 0x50]
test r14b, 0x10
je 0x1400481d1
mov rax, qword [r12 + 8]
lea rdx, [rbp - 0x80]
mov qword [rsp + 0x68], rax
mov rcx, r12
mov qword [rsp + 0x60], rdi
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x80], xmm0
call fcn.14004a680
mov rax, qword [rbp + 0xb0]
cmp rax, 0x10
jb 0x140048225
mov rcx, qword [rbp + 0x98]
inc rax
cmp rax, 0x1000
jb 0x140048220
test cl, 0x1f
jne 0x14004829f
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400482a5
sub rcx, rax
cmp rcx, 8
jb 0x1400482ab
cmp rcx, 0x27
ja 0x1400482b1
mov rcx, rax
call fcn.140080c40
mov ecx, dword [0x1400d6d18]
xor edi, edi
mov qword [rbp + 0xa8], rdi
mov byte [rbp + 0x98], dil
mov qword [rbp + 0xb0], 0xf
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
test rax, rax
jne 0x14004825c
call fcn.140027ad0
mov rdx, rax
movsxd rax, dword [rbx + 4]
add rax, rax
mov qword [rdx + rax*8], rdi
movsxd rcx, dword [rbx + 4]
mov eax, dword [rbx + 8]
add rcx, rcx
mov dword [rdx + rcx*8 + 8], eax
mov rbx, qword [rsp + 0x208]
mov rcx, qword [rbp + 0xf8]
xor rcx, rsp
call fcn.1400812a0
add rsp, 0x210
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400853c8
int3
call fcn.1400853c8
int3
call fcn.1400853c8
int3
call fcn.1400853c8
int3