Function at 0x14003c04b
Capabilities:
Get thread local storage value

Disassembly:
push rbp
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x20], rcx
mov eax, 0x20
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
add rax, 0x60
mov qword [rbp - 0x10], rax
mov rax, qword [rcx]
mov qword [rbp - 8], rax
cmp rax, rdx
jle 0x14003c0bf
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14003bb60
add rsp, 0x20
jmp 0x14003c2fd
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
jge 0x14003c2fd
mov rax, qword [rbp - 0x20]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x14003c10f
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x30]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14003c1a2
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x18]
mov rcx, rax
sub rcx, rdx
mov qword [rbp - 0x40], rcx
mov r9, rcx
xor r9, rax
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
shl r8, 1
sub r8, rax
mov rax, rcx
sub rax, r8
cmp rax, 0
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x14003c190
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov r9d, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.1400265f0
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x14003c1a2
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14003c2fd
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov qword [rdx], r8
add rcx, 0x10
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x58], rax
mov ecx, dword [0x1402980b0]
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov r8, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rax, qword [rbp - 0x58]
xorps xmm0, xmm0
movaps xmmword [rdx], xmm0
movaps xmmword [r8], xmm0
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
sub rsp, 0x20
call fcn.140091a00
mov rax, qword [rbp - 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14003c2de
mov r9, qword [rbp - 0x58]
mov rax, r9
add rax, 1
mov qword [rbp - 0x60], rax
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0x92429b2a9a121a06
and rcx, rdx
movabs r8, 0xb5c27052ab9848a3
movabs rdx, 0x2780eb78318a52a5
xor r8, rdx
movabs rdx, 0xa232a4749ac4930
movabs r10, 0xf5dcd5b8b653b6cf
xor rdx, r10
xor r8, rdx
and r9, r8
movabs rdx, 0x17cb8301bfd568f6
movabs r10, 0xe8347cfe402a9709
xor rdx, r10
movabs r10, 0xb864e0f30eb1e9a9
movabs r11, 0x479b1f0cf14e1656
xor r10, r11
xor rdx, r10
movabs r10, 0x92429b2a9a121a06
and rdx, r10
and r8, 0xffffffffffffffff
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003c2e3
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14003c2fd
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
mov qword [rbp - 0x48], rax
je 0x14003c2de
jmp 0x14003c1c1
mov rsp, rbp
pop rbp
ret