Function at 0x14001d3f0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x198]
sub rsp, 0x298
mov rax, qword [0x1401c76e0]
xor rax, rsp
mov qword [rbp + 0x188], rax
mov rax, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x218]
xor ebx, ebx
mov qword [rbp - 0x70], rax
mov eax, dword [rbp + 0x210]
mov qword [rbp - 0x78], r9
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x228]
mov byte [rsp + 0x70], r8b
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x230]
mov r15, rdx
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x238]
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x240]
mov r14, rcx
mov qword [rbp + 8], rdi
mov dword [rbp - 0x68], ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp + 0x18], rax
cmp byte [r9], bl
jne 0x14001d494
mov ecx, ebx
mov qword [rdx], rbx
jmp 0x14001dab8
lea rsi, [rcx + 0x338]
mov ecx, dword [rsi]
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x14001d4b3
mov rax, qword [rbp - 0x80]
mov qword [r15], rax
jmp 0x14001dab8
mov ecx, dword [rsi]
mov rdx, rsi
call fcn.14002d72c
test byte [rbp + 0x248], 4
je 0x14001d4dc
mov rbx, qword [rbp + 0x208]
xor rbx, qword [r14 + 0x200]
mov qword [rbp - 0x60], rbx
xor ebx, ebx
jmp 0x14001d4e7
mov rax, qword [rbp + 0x208]
mov qword [rbp - 0x60], rax
mov rax, qword [rdi]
mov ecx, dword [r14 + 0x334]
mov qword [rbp - 0x38], rbx
sub rax, qword [r14 + 0x210]
mov r12, rbx
mov qword [rbp - 0x50], rax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x14001d581
call fcn.14002d560
test rax, rax
je 0x14001d581
mov ecx, dword [r14 + 0x330]
call sub.KERNEL32.dll_TlsGetValue
mov r12, rax
test rax, rax
je 0x14001d550
mov edx, dword [rax + 0x30]
mov rcx, qword [r14 + 0x3a8]
cmp edx, ecx
je 0x14001d54b
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [rreloc.WS2_32.dll_htonl + 8]
mov r12, rbx
test r12, r12
jne 0x14001d581
mov ecx, 0x38
call fcn.14009bbc0
test rax, rax
je 0x14001d56f
mov rdx, r14
mov rcx, rax
call fcn.14001b878
mov r12, rax
jmp 0x14001d572
mov r12, rbx
mov ecx, dword [r14 + 0x330]
mov rdx, r12
call fcn.14002d72c
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rsp + 0x78], eax
jne 0x14001d7d5
call fcn.14002e8d4
mov edx, dword [rsp + 0x78]
mov rcx, rax
call fcn.14002e92c
lea rdi, [0x1401c9bf8]
lea r13, [0x1401c9c00]
mov qword [rbp - 0x58], rax
mov rax, qword [0x1401c9bf8]
test rax, 0xfffffffffffffffe
jne 0x14001d5ed
mov rcx, rdi
call fcn.140018754
test al, al
je 0x14001d5ed
mov rcx, r13
mov dword [0x1401c9c00], ebx
call fcn.14002d704
xor r9d, r9d
mov r8, rdi
mov rdx, r13
mov rcx, rdi
call fcn.140018738
mov rax, qword [0x1401c9bf8]
mov ecx, dword [rax]
call sub.KERNEL32.dll_TlsGetValue
mov rcx, qword [rbp - 0x58]
cmp rcx, rax
je 0x14001d7d5
test rcx, rcx
je 0x14001d7d5
cmp byte [rcx], bl
je 0x14001d7d5
mov rax, qword [0x1401c9bf8]
test rax, 0xfffffffffffffffe
jne 0x14001d653
mov rcx, rdi
call fcn.140018754
test al, al
je 0x14001d653
mov rcx, r13
mov dword [0x1401c9c00], ebx
call fcn.14002d704
xor r9d, r9d
mov r8, rdi
mov rdx, r13
mov rcx, rdi
call fcn.140018738
mov rax, qword [0x1401c9bf8]
mov r13, qword [rbp - 0x58]
mov ecx, dword [rax]
mov rdx, r13
call fcn.14002d72c
lea rdi, [r14 + 0x28]
mov rcx, rdi
call sub.KERNEL32.dll_EnterCriticalSection
lea rbx, [r14 + 0x138]
lea r8, [rsp + 0x78]
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.140021cdc
mov rax, qword [rbp + 0x10]
cmp rax, qword [rbx]
jne 0x14001d6cd
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14001c6c8
xor ebx, ebx
cmp byte [r13], bl
jne 0x14001d6af
mov r8d, ebx
jmp 0x14001d6bd
or r8, 0xffffffffffffffff
inc r8
cmp byte [r13 + r8], bl
jne 0x14001d6b3
mov rdx, r13
mov rcx, rax
call fcn.1400031f8
jmp 0x14001d7cd
and qword [rbp], 0
xorps xmm0, xmm0
lea rcx, [0x1400c6f3c]
lea r15, [rax + 0x18]
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x20], rcx
movdqu xmmword [rbp - 0x10], xmm0
cmp qword [r15 + 0x18], 0x10
jb 0x14001d6fd
mov rax, qword [r15]
jmp 0x14001d700
mov rax, r15
mov qword [rbp + 0x30], rax
mov rax, qword [r15 + 0x10]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x30]
mov qword [rbp + 0x38], rax
call fcn.140015520
mov rbx, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
xor eax, eax
lea r8, [rbp - 0x58]
mov rdx, rbx
mov r9b, al
call fcn.14001a618
cmp rax, rbx
jne 0x14001d7b9
mov rax, qword [rbp - 8]
sub rax, qword [rbp - 0x10]
test rax, 0xfffffffffffffff0
je 0x14001d791
cmp qword [r15 + 0x18], 0x10
jb 0x14001d757
mov rcx, qword [r15]
jmp 0x14001d75a
mov rcx, r15
mov rdx, qword [r15 + 0x10]
add rdx, rcx
cmp qword [r15 + 0x18], 0x10
jb 0x14001d76d
mov rax, qword [r15]
jmp 0x14001d770
mov rax, r15
xor ebx, ebx
test rdx, rdx
jne 0x14001d77b
mov edx, ebx
jmp 0x14001d77e
sub rdx, rax
mov r9b, 0x2c
mov r8d, 1
mov rcx, r15
call fcn.140006890
jmp 0x14001d793
xor ebx, ebx
cmp byte [r13], bl
jne 0x14001d79e
mov r8, rbx
jmp 0x14001d7ac
or r8, 0xffffffffffffffff
inc r8
cmp byte [r13 + r8], bl
jne 0x14001d7a2
mov rdx, r13
mov rcx, r15
call fcn.140002e68
jmp 0x14001d7bb
xor ebx, ebx
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14001d7c9
call fcn.14009bc2c
mov r15, qword [rbp - 0x30]
mov rcx, rdi
call sub.KERNEL32.dll_LeaveCriticalSection
mov rax, qword [rbp - 0x78]
mov r13d, dword [rbp + 0x220]
mov qword [rbp + 0x160], reloc.WS2_32.dll_ntohs
test byte [rax], 3
mov qword [rbp + 0x158], rbx
mov byte [rbp + 0x148], bl
je 0x14001d964
mov dil, bl
test r12, r12
je 0x14001d817
lea rdx, [rbp - 0x80]
mov rcx, r12
call fcn.14001cf60
jmp 0x14001d831
mov rcx, r14
call sub.KERNEL32.dll_EnterCriticalSection
mov dil, 1
lea rdx, [rbp - 0x80]
mov r8b, dil
mov rcx, r14
call fcn.14001cbb0
mov rbx, rax
test rax, rax
je 0x14001d8a3
mov al, byte [rbp + 0x248]
mov r9, qword [rbp - 0x38]
mov r8, qword [rbp - 0x50]
mov edx, dword [rsp + 0x78]
mov byte [rsp + 0x68], al
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x28]
mov rcx, rbx
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x60]
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov al, byte [rsp + 0x70]
mov byte [rsp + 0x20], al
call fcn.14001f65c
mov rax, qword [r14 + 0x250]
test dword [reloc.WS2_32.dll_htonl], eax
je 0x14001d903
movzx ecx, byte [rsp + 0x70]
mov r9, qword [rbp + 8]
lea rdx, [rbp + 0x168]
mov r8d, ecx
cmp cl, 0x58
mov ecx, 0x42
cmove r8d, ecx
mov rcx, r14
mov qword [rsp + 0x20], rbx
call fcn.14001e8d4
lea rcx, [rbp + 0x148]
mov rdx, rax
call fcn.140005cb0
cmp qword [rbp + 0x180], 0x10
jb 0x14001d903
mov rcx, qword [rbp + 0x168]
call fcn.14009bc2c
xor ebx, ebx
test dil, dil
je 0x14001d912
mov rcx, r14
call sub.KERNEL32.dll_LeaveCriticalSection
cmp qword [rbp + 0x158], rbx
je 0x14001d964
call fcn.140018da4
mov edi, 2
cmp eax, edi
jg 0x14001d954
lea rdx, str.b:core_src_basedebug_trace_event_impl.cc
lea rcx, [rbp + 0x40]
mov r9d, edi
mov r8d, 0x7cc
mov ebx, edi
call fcn.140018824
lea rdx, [rbp + 0x148]
lea rcx, [rax + 8]
call fcn.14000a318
test dil, bl
je 0x14001d962
lea rcx, [rbp + 0x40]
call fcn.1400188b0
xor ebx, ebx
mov rax, qword [r14 + 0x228]
cmp rax, qword [rbp - 0x78]
jne 0x14001d9fb
lea rcx, [rbp - 0x20]
xor edx, edx
call fcn.14002ad40
mov rcx, r14
call sub.KERNEL32.dll_EnterCriticalSection
mov rdi, qword [rbp - 0x70]
lea rcx, [r14 + 0x230]
cmp byte [rdi], bl
jne 0x14001d99c
mov rax, rbx
jmp 0x14001d9a8
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x14001d9a0
mov r8, qword [rcx + 0x10]
mov r9, rdi
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140003444
lea rdx, [r14 + 0x218]
test eax, eax
lea rcx, [rbp - 0x20]
sete bl
call fcn.14001c600
mov rcx, r14
call sub.KERNEL32.dll_LeaveCriticalSection
test bl, bl
je 0x14001d9f0
lea rcx, [rbp - 0x20]
call fcn.14002ae18
test al, al
jne 0x14001d9f0
mov rcx, qword [rbp - 0x20]
call qword [rbp - 0x18]
lea rcx, [rbp - 0x20]
call fcn.14002ad70
jmp 0x14001d9ff
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbp - 0x78]
test byte [rax], 4
je 0x14001da63
mov r10, qword [r14 + 0x68]
test r10, r10
je 0x14001da63
movzx ecx, byte [rsp + 0x70]
mov r9, rdi
mov r8, rax
mov edx, ecx
cmp cl, 0x58
mov ecx, 0x42
cmove edx, ecx
mov cl, byte [rbp + 0x248]
mov byte [rsp + 0x48], cl
mov rcx, qword [rbp - 0x28]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp - 0x48]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp - 0x40]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbp - 0x60]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp - 0x50]
call r10
test r12, r12
je 0x14001da78
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x50]
mov rcx, r12
call fcn.14001fec4
cmp qword [rbp + 0x160], 0x10
mov rax, qword [rbp - 0x80]
mov qword [r15], rax
jb 0x14001da95
mov rcx, qword [rbp + 0x148]
call fcn.14009bc2c
mov ecx, dword [rsi]
and qword [rbp + 0x158], 0
xor edx, edx
mov qword [rbp + 0x160], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x148], 0
call fcn.14002d72c
mov rax, r15
mov rcx, qword [rbp + 0x188]
xor rcx, rsp
call fcn.14009c5b0
add rsp, 0x298
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret