Function at 0x14003e990
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
add rax, 0x60
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x14003ea8c
mov ecx, dword [0x140273eb8]
mov eax, 0x69df4642
xor eax, 0x86588528
xor ecx, eax
mov eax, dword [0x140273ebc]
xor eax, 0x164ec672
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
mov edx, 0xfef9863d
xor edx, 0xdda7f979
or ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x8778b982
mov edx, 0x6436e745
xor edx, 0xe34e5ec7
xor ecx, edx
or eax, ecx
mov ecx, 0xb4df4adc
xor ecx, 0x2797d64d
sub eax, ecx
cmp eax, 0x5a461f7a
jae 0x14003edd1
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140273ec0]
or eax, dword [0x140273ec4]
sub eax, 0xf184fa7d
mov r8d, 0x25521ea2
xor r8d, 0xa7657fd6
and eax, r8d
imul eax, eax, 0xafbe0450
mov dword [rsp + 0x64], eax
call fcn.14003e5c0
mov eax, dword [rsp + 0x64]
cmp eax, 0x652415fa
jb 0x14003edd1
jmp 0x14003edc8
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x14003edc8
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14003eaf7
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rdx, rax
add rdx, 1
xor rax, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x14003ed37
mov eax, dword [0x140273ec8]
add eax, dword [0x140273ecc]
mov ecx, 0x9a4658b4
xor ecx, 0x1c86d06c
xor eax, ecx
mov ecx, 0x1652d9ec
xor ecx, 0xd1b9e7f9
xor eax, ecx
mov ecx, 0xcc04bf07
xor edx, edx
div ecx
mov ecx, 0xcba12497
xor ecx, 0x1723ee6e
cmp eax, ecx
je 0x14003edda
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x70]
mov ecx, dword [0x140273ed0]
xor ecx, 0xe67e9042
mov edx, dword [0x140273ed4]
xor eax, eax
sub eax, edx
add ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov eax, 0x367d7278
xor eax, 0xefe5f9aa
mov edx, 0xf162d214
xor edx, 0xe9d2deb
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xd9988bd2
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov r10d, 0xffffffff
xor r10d, 0x83414ba3
mov edx, ecx
and edx, r10d
mov eax, ecx
or eax, r10d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x83414ba3
or ecx, 0x83414ba3
imul ecx, edx
add ecx, eax
mov edx, 0x790c0c8f
xor edx, 0x181ddd0f
mov eax, 0x895bf9a9
xor eax, 0x76a40656
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
movabs rcx, 0xdb1b2ad6023e715d
mov rdx, r9
add rdx, rcx
sub rdx, r8
movabs rcx, 0xdb1b2ad6023e715d
sub rdx, rcx
mov qword [rsp + 0x40], rdx
mov rcx, rdx
xor rcx, r9
cmp rcx, 0
setl cl
xor rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
mov byte [rsp + 0x4f], cl
cmp eax, 0xf89733e1
jae 0x14003edda
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14003ed2d
jmp 0x14003ec3a
mov eax, dword [0x140273ed8]
xor edx, edx
div dword [0x140273edc]
mov ecx, 0xa78febc6
xor ecx, 0xa756512a
or eax, ecx
mov ecx, 0x4d49758d
xor edx, edx
div ecx
mov ecx, 0x1630476b
xor ecx, 0x757bc397
and eax, ecx
cmp eax, 0xac1dbd12
je 0x14003ede3
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x140273ee0]
xor eax, 0x50beaed0
or eax, dword [0x140273ee4]
mov r10d, 0x3debc0c8
xor r10d, 0xe1c6e40e
mov r9d, eax
xor r9d, r10d
mov r10d, 0xd3ec2bd1
xor r10d, 0x2c13d42e
xor r9d, r10d
and r9d, 0xdc2d24c6
shl r9d, 1
sub r9d, 0xdc2d24c6
sub eax, r9d
add eax, 0xfe9e91cd
mov r9d, 0x3818c973
xor r9d, 0x36b1d3e1
imul eax, r9d
mov dword [rsp + 0x3c], eax
mov eax, 0x37d8e149
xor eax, 0x65aba58c
mov dword [rsp + 0x38], eax
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400265f0
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x38]
mov r8, rax
mov eax, dword [rsp + 0x3c]
mov qword [rdx], r8
cmp eax, ecx
je 0x14003ede3
jmp 0x14003ed37
call fcn.14000f24b
jmp 0x14003edc8
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x14003edc8
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.140134a90
mov rax, qword [rsp + 0x78]
mov al, byte [rax]
mov cl, 0x49
xor cl, 0x49
cmp al, cl
jne 0x14003edc8
mov rdx, qword [rsp + 0x28]
mov rax, rdx
add rax, 1
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x30], rax
jge 0x14003ed51
call fcn.14000f24b
nop
add rsp, 0x88
ret
fcomp qword [rbp + 0x64e96b02]
cld
invalid
xchg ebp, eax
cdq
invalid
and al, 0xfe
add al, 0xf
jmp 0x14003ec76