Function at 0x14037aea0
Capabilities:
Get thread local storage value

Disassembly:
push rbx
push rbp
push rdi
push r13
push r14
sub rsp, 0x50
lea rax, [0x1413f2b78]
mov rdi, rcx
mov qword [rsp + 0x38], rax
lea rbp, [0x1413f2bc0]
lea rax, [0x1413f2b88]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x40], rax
xor r14d, r14d
mov eax, dword [rdx + 4]
mov r13, rdx
mov dword [rcx + 0x214], eax
mov dword [rcx + 0x210], 0x30001
mov ecx, dword [0x141445628]
mov qword [rsp + 0x48], r14
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [0x141443c80], r14d
mov rbx, rax
jne 0x14037af17
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x14037af66
mov ecx, dword [0x141445628]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
cmp dword [rdi + 0x210], r14d
jne 0x14037af42
lea rdx, [0x1413f2ee0]
mov ecx, 0x1000a
call fcn.14037c450
jmp 0x14037af66
test rdx, rdx
je 0x14037af5d
mov eax, dword [rax + 0x214]
cmp dword [rdi + 0x214], eax
je 0x14037af5d
xor ecx, ecx
call qword [rdx + 0x258]
mov rcx, rdi
call qword [rdi + 0x258]
mov ecx, dword [0x141445628]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r15
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp rax, rdi
jne 0x14037b48e
lea rcx, [0x140436120]
call qword [rdi + 0x278]
lea rcx, [0x140436180]
mov qword [rdi + 0x248], rax
call qword [rdi + 0x278]
mov qword [rdi + 0x250], rax
cmp qword [rdi + 0x248], r14
je 0x14037b412
test rax, rax
je 0x14037b412
mov ecx, 0x1f02
call rax
mov r15, rax
test rax, rax
jne 0x14037b060
cmp dword [r13], 0x30001
lea rax, [0x1413f2d88]
lea rdx, [0x1413f2de8]
mov ecx, 0x10008
cmovne rdx, rax
call fcn.14037c450
cmp dword [0x141443c80], r14d
je 0x14037b184
mov ecx, dword [0x141445628]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r8, rax
test rbx, rbx
je 0x14037b02e
cmp dword [rbx + 0x210], r14d
je 0x14037b44d
test r8, r8
je 0x14037b480
test rbx, rbx
je 0x14037b04e
mov eax, dword [rax + 0x214]
cmp dword [rbx + 0x214], eax
je 0x14037b485
xor ecx, ecx
call qword [r8 + 0x258]
jmp 0x14037b480
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rsi + rbp], 0
jne 0x14037b067
mov r8, rsi
mov rdx, rbp
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14037b092
mov rbp, qword [rsp + r14*8 + 0x38]
inc r14
test rbp, rbp
jne 0x14037b060
jmp 0x14037b09f
add r15, rsi
mov dword [rdi + 0x210], 0x30002
lea rax, [rdi + 0x220]
mov rcx, r15
lea r9, [rdi + 0x21c]
mov qword [rsp + 0x20], rax
lea r8, [rdi + 0x218]
lea rdx, [0x1413f2db8]
call fcn.1400012a0
test eax, eax
jne 0x14037b123
cmp dword [rdi + 0x210], 0x30001
lea rax, [0x1413f2d58]
lea rdx, [0x1413f2d28]
mov ecx, 0x10008
cmovne rdx, rax
call fcn.14037c450
cmp dword [0x141443c80], 0
je 0x14037b184
mov ecx, dword [0x141445628]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
test rbx, rbx
je 0x14037b460
cmp dword [rbx + 0x210], 0
jmp 0x14037b44b
mov eax, dword [rdi + 0x218]
mov r8d, dword [r13 + 8]
cmp eax, r8d
jl 0x14037b3d5
jne 0x14037b148
mov ecx, dword [rdi + 0x21c]
cmp ecx, dword [r13 + 0xc]
jl 0x14037b3db
cmp eax, 3
jl 0x14037b195
lea rcx, [0x140436190]
call qword [rdi + 0x278]
mov qword [rdi + 0x240], rax
test rax, rax
jne 0x14037b195
lea rdx, [0x1413f2dc8]
mov ecx, 0x10008
call fcn.14037c450
cmp dword [0x141443c80], 0
jne 0x14037b0ff
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
jmp 0x14037b48e
cmp dword [rdi + 0x210], 0x30001
jne 0x14037b28a
cmp dword [rdi + 0x218], 3
jl 0x14037b210
lea rdx, [rsp + 0x80]
mov ecx, 0x821e
call qword [rdi + 0x248]
mov eax, dword [rsp + 0x80]
test al, 1
je 0x14037b1d6
mov dword [rdi + 0x224], 1
test al, 2
jne 0x14037b1f8
lea rcx, [0x1413f2f60]
call fcn.14037b540
test eax, eax
je 0x14037b25e
cmp dword [r13 + 0x14], 0
je 0x14037b25e
mov eax, dword [rsp + 0x80]
mov dword [rdi + 0x228], 1
test al, 8
je 0x14037b210
mov dword [rdi + 0x22c], 1
mov eax, dword [rdi + 0x218]
cmp eax, 4
jge 0x14037b229
cmp eax, 3
jne 0x14037b281
cmp dword [rdi + 0x21c], 2
jl 0x14037b281
lea rdx, [rsp + 0x80]
mov ecx, 0x9126
call qword [rdi + 0x248]
mov eax, dword [rsp + 0x80]
test al, 2
jne 0x14037b277
test al, 1
je 0x14037b267
mov dword [rdi + 0x230], 0x32001
lea rcx, [0x1413f2f30]
jmp 0x14037b291
mov eax, dword [rsp + 0x80]
jmp 0x14037b202
lea rcx, [0x1413f2f78]
call fcn.14037b540
test eax, eax
je 0x14037b281
mov dword [rdi + 0x230], 0x32002
lea rcx, [0x1413f2f30]
jmp 0x14037b291
lea rcx, [0x1413f2f48]
call fcn.14037b540
test eax, eax
je 0x14037b2d8
lea rdx, [rsp + 0x80]
mov ecx, 0x8256
call qword [rdi + 0x248]
mov eax, dword [rsp + 0x80]
cmp eax, 0x8252
jne 0x14037b2c7
mov dword [rdi + 0x234], 0x31002
jmp 0x14037b2d8
cmp eax, 0x8261
jne 0x14037b2d8
mov dword [rdi + 0x234], 0x31001
lea rcx, [0x1413f2eb8]
call fcn.14037b540
test eax, eax
je 0x14037b323
lea rdx, [rsp + 0x80]
mov ecx, 0x82fb
call qword [rdi + 0x248]
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x14037b312
mov dword [rdi + 0x238], 0x35002
jmp 0x14037b323
cmp eax, 0x82fc
jne 0x14037b323
mov dword [rdi + 0x238], 0x35001
lea rcx, [0x140435f58]
call qword [rdi + 0x278]
mov ecx, 0x4000
call rax
cmp dword [rdi + 0x30], 0
je 0x14037b346
mov rcx, rdi
call qword [rdi + 0x260]
cmp dword [0x141443c80], 0
jne 0x14037b365
xor edx, edx
mov ecx, 0x10001
call fcn.14037c450
mov eax, 1
jmp 0x14037b490
mov ecx, dword [0x141445628]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
test rbx, rbx
je 0x14037b39d
cmp dword [rbx + 0x210], 0
jne 0x14037b39d
lea rdx, [0x1413f2ee0]
mov ecx, 0x1000a
call fcn.14037c450
mov eax, 1
jmp 0x14037b490
test rdx, rdx
je 0x14037b3bd
test rbx, rbx
je 0x14037b3b5
mov eax, dword [rax + 0x214]
cmp dword [rbx + 0x214], eax
je 0x14037b3c2
xor ecx, ecx
call qword [rdx + 0x258]
test rbx, rbx
je 0x14037b3cb
mov rcx, rbx
call qword [rbx + 0x258]
mov eax, 1
jmp 0x14037b490
mov ecx, dword [rdi + 0x21c]
cmp dword [rdi + 0x210], 0x30001
lea r10, [0x1413f2cf0]
mov r9d, dword [r13 + 0xc]
lea rdx, [0x1413f2cb8]
mov dword [rsp + 0x28], ecx
cmovne rdx, r10
mov ecx, 0x10007
mov dword [rsp + 0x20], eax
call fcn.14037c450
jmp 0x14037b177
lea rdx, [0x1413f2dc8]
mov ecx, 0x10008
call fcn.14037c450
cmp dword [0x141443c80], r14d
je 0x14037b184
mov ecx, dword [0x141445628]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
test rbx, rbx
je 0x14037b460
cmp dword [rbx + 0x210], r14d
jne 0x14037b460
lea rdx, [0x1413f2ee0]
mov ecx, 0x1000a
call fcn.14037c450
jmp 0x14037b48e
test rdx, rdx
je 0x14037b480
test rbx, rbx
je 0x14037b478
mov eax, dword [rax + 0x214]
cmp dword [rbx + 0x214], eax
je 0x14037b485
xor ecx, ecx
call qword [rdx + 0x258]
test rbx, rbx
je 0x14037b48e
mov rcx, rbx
call qword [rbx + 0x258]
xor eax, eax
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
add rsp, 0x50
pop r14
pop r13
pop rdi
pop rbp
pop rbx
ret