Function at 0x14003f470
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, 0x60
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x14003f4c2
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.14003ef80
jmp 0x14003fa28
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14003fa28
mov eax, dword [0x140273f38]
xor eax, 0x6a8a4f7b
xor eax, dword [0x140273f3c]
mov r8d, 0x6b069021
xor r8d, 0x2119b43
mov ecx, 0x6daaffa3
xor ecx, 0x9255005c
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x69170b62
mov r8d, 0x70f14ba8
xor r8d, 0x19e640ca
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x4f8f0932
add eax, 0xf2bbac63
mov ecx, 0x850f46d9
xor ecx, 0x490e9a97
sub eax, ecx
sub eax, 0xf2bbac63
cmp eax, 0x243da472
jbe 0x14003fa2e
mov eax, dword [0x140273f40]
imul eax, dword [0x140273f44]
mov ecx, 0xd9e2db8a
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x58]
mov ecx, eax
xor ecx, 0x442585cb
mov r8d, 0xb7faf3aa
xor r8d, 0xf3df7661
mov r9d, 0xe2c95430
xor r9d, 0x1d36abcf
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x9be0ead4
mov r8d, 0xffffffff
xor r8d, 0x9be0ead4
and eax, r8d
sub eax, ecx
mov ecx, 0xe56a5653
xor ecx, 0x612f720
mov r8, rdx
add r8, 8
mov qword [rsp + 0x40], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x48], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
je 0x14003f555
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14003f67a
jmp 0x14003f5fe
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4528bf1e59330869
xor r8, r9
or rax, rdx
movabs rdx, 0xab4a5ab52b12d60e
movabs r9, 0xee62e5ab7221de67
xor rdx, r9
or rdx, r8
movabs r8, 0xef362beefc67bfa3
movabs r9, 0x10c9d4110398405c
xor r8, r9
xor rax, r8
and rax, rdx
cmp rax, rcx
jge 0x14003f7b2
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov rax, r8
xor rax, rdx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
shl rcx, 1
sub rcx, rax
mov qword [rsp + 0x38], rcx
mov rax, rcx
and rax, rax
xor rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r10, 0xe8d7079c0f12a4f
movabs r9, 0xf1728f863f0ed5b0
xor r10, r9
mov r9, r8
xor r9, r10
or rax, r9
mov r9, r8
xor r9, 0xffffffffffffffff
movabs r10, 0x91976718d2f14b7d
movabs r11, 0x6e6898e72d0eb482
xor r10, r11
xor r8, r10
or r9, r8
mov r8, rcx
and r8, r9
movabs r9, 0x5dc7eef043d17f9c
movabs r10, 0xa238110fbc2e8063
xor r9, r10
xor r8, r9
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0x64eaa4d3c1be6dd1
movabs r8, 0x9b155b2c3e41922e
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14003f7a8
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
movabs r9, 0xef396eeb2985e5cb
movabs rax, 0xef396eeb2985e5c3
xor r9, rax
movabs rax, 0xcccd2918b0f23b20
movabs r10, 0xcccd2918b0f23b28
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.1400265f0
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x14003f7b2
call fcn.14000f24b
jmp 0x14003fa28
mov eax, dword [0x140273f48]
imul eax, dword [0x140273f4c]
imul eax, eax, 0x295ee024
and eax, 0x98e9a96
mov r8d, 0xffffffff
xor r8d, 0xde2ba7c7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xde2ba7c7
or eax, 0xde2ba7c7
imul eax, edx
add eax, ecx
cmp eax, 0xabbc229f
je 0x14003fa37
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x140273f50]
mov r9d, dword [0x140273f54]
mov r8d, eax
add r8d, 1
mov r10d, 0xb3b27b08
xor r10d, 0x4c4d84f7
xor eax, r10d
or eax, r9d
add eax, r8d
mov r8d, 0x8681e582
xor r8d, 0xe91548a3
sub eax, r8d
mov r9d, 0xffffffff
xor r9d, 0xcc841ab4
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0xcc841ab4
add eax, r9d
sub eax, r8d
sub eax, 0xdea5395
add eax, 0xff628f9b
add eax, 0xdea5395
mov qword [rcx], rdx
cmp eax, 0xe7cbfb02
je 0x14003fa37
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
jmp 0x14003f897
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x14003fa28
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.140136351
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x14003fa28
mov rcx, qword [rsp + 0x28]
mov rdx, rcx
and rdx, 1
movabs rax, 0x9e94a905acffee94
movabs r8, 0x9e94a905acffee96
xor rax, r8
imul rdx, rax
mov rax, rcx
xor rax, 1
add rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r9, 0x21d859cf8098b688
movabs r8, 0xde27a6307f674977
xor r9, r8
mov r8, rcx
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x1a85f509ea9e807f
movabs r9, 0xe57a0af615617f80
xor r8, r9
movabs r9, 0xd347c9eda3df9d60
movabs r10, 0x2cb836125c20629f
xor r9, r10
xor r8, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x945ac87d55b89443
movabs r9, 0x6ba53782aa476bbc
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rdx
movabs r8, 0x11fa8f523d1fb470
movabs r9, 0xee0570adc2e04b8f
xor r8, r9
xor rdx, r8
movabs r8, 0xa54686e71bc036b9
movabs r9, 0x5ab97918e43fc946
xor r8, r9
xor rcx, r8
movabs r8, 0xd9e51044c1cf6467
movabs r9, 0x261aefbb3e309b98
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x30], eax
jge 0x14003f897
call fcn.14000f24b
nop
add rsp, 0x78
ret
jo 0x14003fa19
mov dl, 0xe9
invalid
wait
mov al, 0x51
xchg ebp, eax
jmp 0x14003f804