Function at 0x140038ee0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rcx
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x78]
add rax, 0x60
mov qword [rsp + 0x80], rax
cmp qword [rcx], 0
jle 0x1400393c1
mov eax, dword [0x1402a97f8]
mov edx, dword [0x1402a97fc]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xcbb4a09
or eax, edx
or ecx, 0xcbb4a09
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x193b1dfe
xor ecx, 0xb5350546
xor edx, edx
div ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xe5ec5b06
and ecx, 0xe5ec5b06
xor ecx, 0xffffffff
mov edx, 0x395bde2b
xor edx, 0xc6a421d4
xor eax, edx
mov edx, 0x6c29b584
xor edx, 0x93d64a7b
xor ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0x4a153902
xor ecx, 0xffffffff
mov edx, 0x773d0a0
xor edx, 0x4d66e9a2
or eax, edx
and eax, ecx
cmp eax, 0x41ed6582
je 0x1400393ff
mov rcx, qword [rsp + 0x78]
mov r9d, dword [str.W_nsG]
mov r8d, dword [0x1402a9804]
mov edx, r8d
xor edx, 0xffffffff
mov eax, r9d
and eax, edx
mov edx, r9d
xor edx, r8d
add r9d, edx
sub r9d, eax
mov eax, 0xfcf81e32
xor eax, 0xd60ab8e1
sub r9d, eax
mov eax, 0x2af08cfe
xor eax, 0x6f0b664e
add r9d, eax
add r9d, 0x2af2a6d3
mov eax, r9d
xor eax, 0xffffffff
mov edx, 0x304f9ba0
xor edx, 0x3d688233
and eax, edx
mov edx, 0xffffffff
xor edx, 0xd271993
and r9d, edx
sub r9d, eax
mov edx, 0x19f3357c
xor edx, 0xe60cca83
mov eax, r9d
xor eax, edx
and eax, 0xa067f1c5
mov r8d, 0xffffffff
xor r8d, 0xa067f1c5
and r9d, r8d
mov edx, 0xaac6962a
xor edx, 0xc89bda6a
mov r10d, 0x6266bd8d
xor r10d, 0x9d994272
xor edx, r10d
mov r10d, 0x10526c8a
xor r10d, 0xb0359d4f
and edx, r10d
and r8d, 0x625d4c40
or eax, r9d
or edx, r8d
xor eax, edx
add rcx, 8
mov qword [rsp + 0x70], rcx
cmp eax, 0xc4536b74
je 0x140038fa0
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x14003908e
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x1400393a5
mov rax, qword [rsp + 0x60]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x48], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x50], rax
cmp rax, 0x10
jb 0x14003933c
mov rdx, qword [rsp + 0x50]
mov rax, rdx
and rax, 0xfffffffffffffff0
movabs r8, 0x663a8ba489cb5ea2
movabs rcx, 0x99c5745b7634a152
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
mov qword [rsp + 0x40], rax
mov rcx, rax
and rcx, rcx
movabs r8, 0xfcf81e3bb044cc8a
movabs r9, 0x307e1c44fbb3375
xor r8, r9
xor rcx, r8
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
movabs r9, 0xe499e24b615f4ee0
movabs r8, 0x1b661db49ea0b11f
xor r9, r8
mov r8, rdx
xor r8, r9
movabs r9, 0xe04ab5244ac9c79e
movabs r10, 0x1fb54adbb5363861
xor r9, r10
xor rdx, r9
or r8, rdx
movabs r9, 0x7c26a7af5bd1a508
movabs rdx, 0x83d95850a42e5af7
xor r9, rdx
mov rdx, rax
xor rdx, r9
xor r8, 0xffffffffffffffff
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor r8d, r8d
xor r8b, 1
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x1400391cd
jmp 0x14003932a
mov r11d, dword [0x1402a9808]
sub r11d, dword [0x1402a980c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x29f899e5
mov edx, 0xfd377646
xor edx, 0x4037bc73
mov eax, 0x807a207a
xor eax, 0x7f85df85
xor edx, eax
mov r9d, 0x2e38df7e
xor r9d, 0x9338154b
mov eax, ecx
and eax, r9d
and r11d, edx
mov r10d, 0x2864e555
xor r10d, 0x95642f60
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x29f899e5
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xedea97e3
xor r8d, 0x1215681c
xor ecx, r8d
or edx, 0xbd00ca35
and ecx, edx
or eax, ecx
add eax, 0xb859ac6
xor eax, 0x81dfe5f7
mov ecx, 0x274f84a4
xor ecx, 0xb614f746
cmp eax, ecx
jbe 0x140039408
mov ecx, dword [0x1402a9810]
mov r8d, dword [0x1402a9814]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0x5867e2d
xor edx, 0xfa7981d2
xor eax, edx
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x4d219c1a
xor r9d, 0xb2de63e5
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x98443dea
xor edx, 0x67bbc215
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x6e6b15e9
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xaea438c9
xor ecx, 0x73bfdcc8
add eax, ecx
mov ecx, 0xcd8ebf6
xor ecx, 0x7685d0f9
sub eax, ecx
sub eax, 0xdd1be401
xor eax, 0x85a3b8bd
mov dword [rsp + 0x3c], eax
call fcn.14000ee80
mov eax, dword [rsp + 0x3c]
cmp eax, 0x34fea650
jbe 0x140039408
jmp 0x1400393a5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x1400393a5
mov rcx, qword [rsp + 0x60]
call fcn.1401282d0
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x1400393f6
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
movabs rcx, 0x16c565b1ba0efab4
movabs rdx, 0xe93a9a4e45f10544
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x30], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x30]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x58]
add rax, 1
cmp rax, qword [rcx]
mov qword [rsp + 0x68], rax
jl 0x14003908e
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x1400393f6
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x28]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
nop
add rsp, 0x88
ret
loope 0x1400393ea
add dword [rdi - 0x17], edx
cwde
sti
invalid
movsd dword [rdi], dword [rsi]
mov esp, 0x69e90532
invalid