Function at 0x140016500
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x48], rcx
mov rax, qword [rdx + 8]
mov qword [rsp + 0x50], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r9d, r8d
mov r10d, 0x9f2d7c1a
xor r10d, 0x9f2c7c1a
mov ecx, 8
xor eax, eax
cmp r9d, 0x100
cmovb rcx, rax
mov eax, 0x18
mov r11d, 0x10
cmp r9d, 0x1000000
cmovb rax, r11
cmp r9d, r10d
cmovb rax, rcx
mov ecx, eax
shr r9d, cl
mov ecx, r9d
mov ecx, ecx
mov r9d, ecx
lea rcx, [0x1402bad90]
movsx rcx, byte [rcx + r9]
add rax, rcx
mov r9, 0xffffffffffffffff
xor r9, 0xfffffffffffffffb
movabs rcx, 0x6d949e961baaa07e
movabs r10, 0x6d949e961baaa07e
xor rcx, r10
movabs r10, 0x7fc8564fe09fe5d9
movabs r11, 0x7fc8564fe09fe5d8
xor r10, r11
sub rcx, r10
sub r9, rcx
mov rcx, rax
sub rcx, r9
sar r8, cl
mov qword [rsp + 0x60], r8
mov rcx, r8
movabs r8, 0x799d6ea2bbcc8970
movabs r9, 0x8662915d44337690
xor r8, r9
add rcx, r8
mov qword [rsp + 0x68], rcx
add rax, 0xfffffffffffffffa
mov qword [rsp + 0x70], rax
mov rax, rdx
add rax, 0x18
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x80], rax
cmp rax, 0
je 0x140016740
mov r8d, dword [str._zpt]
mov edx, dword [0x1402a8a1c]
mov ecx, 0x87038dce
xor ecx, 0x78fc7231
mov eax, r8d
xor eax, ecx
and eax, 0xd16d63d7
mov r9d, 0xffffffff
xor r9d, 0xd16d63d7
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xd16d63d7
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdc2560b7
mov ecx, 0xffffffff
xor ecx, 0x6bfe734
or eax, edx
or ecx, 0x6bfe734
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0x8b0d3f0
mov edx, eax
xor edx, 0xffffffff
and edx, 0xfaa4fda8
mov r8d, 0xffffffff
xor r8d, 0xfaa4fda8
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xfaa4fda8
or eax, 0xfaa4fda8
imul eax, edx
add eax, ecx
cmp eax, 0x62a1308b
je 0x140016984
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
mov eax, dword [0x1402a8a20]
mov r8d, dword [0x1402a8a24]
add eax, 0xe821e7cd
add eax, r8d
sub eax, 0xe821e7cd
imul eax, eax, 0x40b8cef3
mov r8d, eax
xor r8d, 0x1890d9a8
xor r8d, 0xffffffff
or eax, 0x1890d9a8
and eax, r8d
mov r8d, 0x9e1c268f
xor r8d, 0x1ee01b25
add eax, r8d
mov rdx, qword [rdx + 0x20]
mov qword [rcx + 0x20], rdx
cmp eax, 0x3165e314
je 0x1400166d5
jmp 0x140016740
mov eax, dword [0x1402a8a28]
xor eax, 0x3b03ff6f
xor edx, edx
div dword [0x1402a8a2c]
mov edx, 0xe7ade859
xor edx, 0xc1b26960
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov edx, 0x84e63c1a
xor edx, 0xa2f9bd23
or eax, edx
and eax, ecx
xor eax, 0xac96001d
mov edx, eax
xor edx, 0xffffffff
and edx, 0x82e41cc7
mov r8d, 0xffffffff
xor r8d, 0x82e41cc7
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x82e41cc7
or eax, 0x82e41cc7
imul eax, edx
add eax, ecx
cmp eax, 0xff9377c5
je 0x14001698d
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402a8a30]
mov r8d, dword [0x1402a8a34]
mov edx, 0xc4ce7e8b
xor edx, 0xc4ce7e8b
sub edx, r8d
add eax, edx
mov r8d, 0xe29cc4a9
xor edx, edx
div r8d
imul eax, eax, 0x9d255e55
mov r8d, 0x9a4c3bba
xor r8d, 0x67a5c566
xor edx, edx
div r8d
mov rdx, rcx
add rdx, 0x20
mov qword [rsp + 0x30], rdx
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x38], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0x24dc394b
ja 0x14001698d
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140016848
jmp 0x140016837
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
add rax, 0x868
shl r8, 8
add rax, r8
shl rdx, 3
add rax, rdx
mov qword [rsp + 0x28], rax
cmp qword [rax], rcx
jne 0x140016964
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rcx], rax
cmp rax, 0
jne 0x140016964
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov eax, dword [rax + rdx*4 + 0x804]
movabs r8, 0xce65e6bdb17df4b3
movabs r9, 0xce65e6bdb17df4ac
xor r8, r9
and rcx, r8
movabs r8, 0xebeaf601c370d8a4
movabs r9, 0xebeaf601c370d8a5
xor r8, r9
shl r8, cl
mov rcx, qword [rsp + 0x48]
mov r9d, r8d
and r9d, 0xffffffff
shl r9d, 1
add r8d, 0xffffffff
sub r8d, r9d
and eax, r8d
mov dword [rcx + rdx*4 + 0x804], eax
mov ecx, 0x7436ac
xor ecx, 0x7436ac
cmp eax, ecx
jne 0x140016964
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rax + 0x800]
mov dword [rsp + 0x24], ecx
mov r8, 0xffffffffffffffff
xor r8, 0x1f
mov rcx, rdx
xor rcx, r8
and rcx, rdx
mov edx, 1
shl rdx, cl
mov ecx, dword [rsp + 0x24]
mov r8d, edx
xor r8d, 0xffffffff
mov edx, ecx
xor edx, r8d
xor edx, 0xffffffff
or ecx, r8d
and ecx, edx
mov dword [rax + 0x800], ecx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 0
mov qword [rax], 0
add rsp, 0x88
ret
pop rsp
sbb esp, esi
stc
jmp 0x1400166d5
xlatb
sbb eax, 0x20e91b94
invalid