Function at 0x140047140
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rcx
mov ecx, dword [0x1402d10b0]
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 0x140047198
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
call fcn.140046e00
jmp 0x1400475d6
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x1400475d6
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140047205
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov r8, 0xffffffffffffffff
movabs rax, 0xbfffffffffffffff
xor r8, rax
mov rax, rdx
xor rax, r8
and rax, rdx
cmp rax, rcx
jge 0x140047495
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x70]
xor eax, eax
sub rax, r8
mov rdx, r9
add rdx, rax
mov qword [rsp + 0x50], rdx
mov rax, rdx
or rax, rax
movabs rcx, 0xa27f78650992905f
movabs r10, 0x5d80879af66d6fa0
xor rcx, r10
xor rax, rcx
mov rcx, r9
or rcx, rcx
movabs r10, 0xaf88b9b4881c3506
movabs r11, 0x5077464b77e3caf9
xor r10, r11
xor rcx, r10
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs r10, 0xc97d468171aee383
movabs rcx, 0x3682b97e8e511c7c
xor r10, rcx
mov rcx, rdx
xor rcx, r10
xor r9, 0xffffffffffffffff
and rcx, r9
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x250a355c20580329
movabs r9, 0x250a355c20580329
xor rcx, r9
cmp rax, rcx
setl cl
movabs r9, 0x2c53da5fa2abfc28
movabs rax, 0xd3ac25a05d5403d7
xor r9, rax
mov rax, rdx
xor rax, r9
mov r9, rdx
xor r9, 0xffffffffffffffff
and rax, r9
movabs r10, 0x2bfcf664f555da18
movabs r9, 0xd403099b0aaa25e7
xor r10, r9
mov r9, r8
xor r9, r10
mov r10, r8
xor r10, 0xffffffffffffffff
and r9, r10
or rax, r9
xor rax, 0xffffffffffffffff
movabs r9, 0x2e933db024572532
movabs r10, 0xd16cc24fdba8dacd
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rax, rdx
xor rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
setg dl
mov r8b, 1
xor r8b, 0
mov al, cl
xor al, r8b
mov r8b, dl
xor r8b, 0xff
or al, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
xor al, 0xff
xor cl, 0xff
or al, cl
test al, 1
jne 0x14004748b
mov ecx, dword [str._u8]
mov r8d, dword [0x1402a9ebc]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0x1ccdec4f
xor eax, 0xe33213b0
mov edx, ecx
xor edx, eax
mov eax, 0x1be6983c
xor eax, 0x7945b008
and eax, edx
mov edx, 0xffffffff
xor edx, 0x62a32834
and ecx, edx
or eax, ecx
mov ecx, 0x7c033cb
xor ecx, 0xf83fcc34
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0xdcaae9e
mov ecx, 0xffffffff
xor ecx, 0xfe88004e
or eax, edx
or ecx, 0xfe88004e
mov edx, 0xdd31215f
xor edx, 0x22cedea0
xor eax, edx
and eax, ecx
and eax, 0xcb35e3dd
cmp eax, 0x99a196c5
ja 0x1400475de
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, dword [0x1402a9ec0]
xor r9d, 0x5fed1e1d
sub r9d, dword [0x1402a9ec4]
mov eax, r9d
and eax, 0x97183202
xor r9d, 0x97183202
or eax, r9d
imul eax, eax, 0x16726dd4
sub eax, 0x7a1e49a0
mov dword [rsp + 0x4c], eax
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140023a90
mov rcx, qword [rsp + 0x58]
mov rdx, rax
mov eax, dword [rsp + 0x4c]
mov qword [rcx], rdx
cmp eax, 0x22a26e98
je 0x140047410
jmp 0x140047495
call fcn.14000ee80
jmp 0x1400475d6
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
cmp rax, rcx
jge 0x1400475d6
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1401f01b0
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
jne 0x1400475d6
mov rdx, qword [rsp + 0x38]
mov rax, rdx
add rax, 1
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x40], rax
jge 0x1400474af
mov eax, dword [0x1402a9ec8]
imul eax, dword [0x1402a9ecc]
xor eax, 0x69e36f07
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x1e340e7b
mov edx, 0xffffffff
xor edx, 0x96bc8acb
or eax, ecx
mov ecx, 0x61f72023
xor ecx, 0xf74baae8
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x740b95d3
xor ecx, 0x9fe472c4
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xebefe717
add eax, 1
add eax, ecx
cmp eax, 0x8f140a
jbe 0x1400475e7
mov ecx, dword [0x1402a9ed0]
add ecx, dword [0x1402a9ed4]
sub ecx, 0x33f6d913
mov edx, 0xe32ded0b
xor edx, 0x1cd212f4
mov eax, ecx
xor eax, edx
and eax, 0x8d80b78a
mov edx, 0xffffffff
xor edx, 0x8d80b78a
and ecx, edx
or eax, ecx
sub eax, 0x8a597132
mov dword [rsp + 0x34], eax
call fcn.14000ee80
mov eax, dword [rsp + 0x34]
cmp eax, 0x34e17570
jbe 0x14004757f
jmp 0x1400475d6
add rsp, 0x88
ret
cmc
cmp al, 0x3f
xor cl, ch
sub esi, edi
invalid
int 0x4f
mov ecx, ecx
jmp 0x14004757f