Function at 0x1400417a0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x98
mov qword [rsp + 0x88], rcx
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x88]
add rax, 0x60
mov qword [rsp + 0x90], rax
cmp qword [rcx], 0
jle 0x140041c92
mov eax, dword [0x140274038]
mov ecx, dword [0x14027403c]
xor ecx, 0x40bcacb0
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x85cf6fff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x9a1fd052
xor ecx, 0xea3002ae
xor edx, edx
div ecx
mov ecx, 0x663b45c3
xor edx, edx
div ecx
cmp eax, 0x6342b0f0
ja 0x140041f3c
mov rcx, qword [rsp + 0x88]
mov edx, dword [0x140274040]
mov r8d, dword [0x140274044]
mov eax, edx
xor eax, r8d
mov r9d, 0xa14a00b0
xor r9d, 0x5eb5ff4f
xor r8d, r9d
and edx, r8d
shl edx, 1
sub edx, eax
or edx, 0x63555e31
mov eax, edx
and eax, 0x5489c2d8
mov r8d, 0xe96184bf
xor r8d, 0xbde84667
xor edx, r8d
or eax, edx
add eax, 0x182f38ef
add rcx, 8
mov qword [rsp + 0x80], rcx
cmp eax, 0x5a47b26d
jae 0x140041f3c
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x14004189f
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x70], rax
cmp rax, 0
je 0x140041af6
mov rax, qword [rsp + 0x70]
xor ecx, ecx
sub rcx, 0xfffffffffffffff0
sub rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
cmp rax, 0x10
jb 0x14004195f
mov rdx, qword [rsp + 0x60]
mov rax, rdx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
xor eax, eax
mov r8b, al
xor r8b, 1
mov al, cl
xor al, r8b
mov r8b, dl
xor r8b, 0xff
or al, r8b
and cl, dl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
or al, cl
test al, 1
jne 0x140041943
jmp 0x14004194d
call fcn.14000f24b
jmp 0x140041af6
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x140041af6
mov r11d, dword [0x140274048]
xor r11d, 0xbd2a5a10
mov r10d, dword [0x14027404c]
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, r10d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc21f4619
mov eax, ecx
and eax, 0xc21f4619
and r11d, r8d
mov r9d, edx
and r9d, 0xc21f4619
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xcda8378b
xor edx, 0xfb77192
or edx, r8d
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x3ffc8a2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x16271da
xor r8d, 0x29db978
mov edx, eax
and edx, r8d
mov r8d, 0x4f3c0ed9
xor r8d, 0x4cc3c67b
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x55559034
xor eax, 0xe664bf04
mov ecx, 0x41029998
xor ecx, 0x416c7634
cmp eax, ecx
jbe 0x140041f45
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x140274050]
mov edx, dword [0x140274054]
mov r8d, 0xe6f32e55
xor r8d, 0x313d4802
xor edx, r8d
xor eax, edx
mov edx, 0x294cfb1e
xor edx, 0x96c5e812
sub eax, edx
mov r8d, 0x7c6a127b
xor edx, edx
div r8d
imul eax, eax, 0x4f265cf4
mov dword [rsp + 0x48], eax
call fcn.1402237a0
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x48]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xcadf063a
je 0x140041f45
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x140041aa1
jmp 0x140041e17
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
movabs rcx, 0x2439f22c21ebbfb0
add rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0x2439f22c21ebbfb0
sub rax, rcx
mov qword [rsp + 0x40], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
add rcx, 0x68
call fcn.1400190f0
mov eax, dword [0x140274058]
xor edx, edx
div dword [0x14027405c]
mov ecx, eax
mov edx, ecx
and edx, 0x9b9e6c66
mov eax, 0xe5120c97
xor eax, 0xe5120c95
imul eax, edx
mov edx, 0xedaac5a9
xor edx, 0x7634a9cf
add ecx, edx
sub ecx, eax
sub ecx, 0x22db81df
add ecx, 0x986ae75b
add ecx, 0x22db81df
mov edx, 0xa5f5176b
xor edx, 0x12942e13
mov eax, ecx
and eax, edx
xor ecx, 0xb7613978
or eax, ecx
cmp eax, 0x81518251
jb 0x140041f4e
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x68]
mov r8d, dword [0x140274060]
mov eax, 0x506b27c9
xor eax, 0x958d356d
xor r8d, eax
mov r9d, dword [0x140274064]
mov eax, r8d
or eax, r9d
xor eax, 0xffffffff
or r8d, r9d
mov r9d, 0x14bdfe41
xor r9d, 0xeb4201be
xor r8d, r9d
or eax, r8d
xor eax, 0xffffffff
sub eax, 0xf3f1230f
mov edi, eax
and edi, 0x5f24edcc
xor edi, 0xffffffff
and eax, 0x5f24edcc
xor eax, 0xffffffff
xor edi, 0xffffffff
xor eax, 0xffffffff
or edi, eax
mov r8d, edi
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x6f721c54
mov r10d, 0xffffffff
xor r10d, 0x815b8ca2
mov r11d, 0x4096dce4
xor r11d, 0xc1cd5046
mov eax, r8d
and eax, r11d
and edi, r10d
mov esi, 0xc81988e7
xor esi, 0x49420445
mov r11d, r9d
and r11d, esi
mov esi, r10d
and esi, 0x6f721c54
or eax, edi
or r11d, esi
xor eax, r11d
or r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0xa434a389
xor r9d, 0x256f2f2b
or r9d, r10d
and r8d, r9d
or eax, r8d
movabs r8, 0x70741c2d6c33172c
sub rcx, r8
add rcx, 1
movabs r8, 0x70741c2d6c33172c
add rcx, r8
mov qword [rsp + 0x30], rcx
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x4effdf83
jbe 0x140041b5e
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x14004189f
jmp 0x140041c92
mov edx, dword [0x140274068]
xor edx, 0x32f05c54
mov r8d, dword [0x14027406c]
mov eax, edx
xor eax, 0xffffffff
mov ecx, r8d
and ecx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, edx
and eax, r9d
imul eax, ecx
mov ecx, edx
and ecx, r8d
or edx, r8d
imul edx, ecx
add edx, eax
mov ecx, 0xffffffff
xor ecx, 0x3cef17af
mov eax, edx
and eax, ecx
mov r8d, 0x4db7c54c
xor r8d, 0x7158d2e3
mov ecx, edx
xor ecx, r8d
add edx, ecx
sub edx, eax
mov eax, 0xcf395ca5
xor eax, 0x30e9441f
add edx, eax
mov eax, 0xddbb5250
xor eax, 0x37d0bc6c
mov ecx, edx
xor ecx, eax
mov eax, 0x7916a604
xor eax, 0x937d4838
mov r8d, 0x4115c217
xor r8d, 0xbeea3de8
xor eax, r8d
and edx, eax
mov eax, 0x14fbd225
xor eax, 0x14fbd227
imul eax, edx
sub eax, ecx
mov ecx, 0xb65f95fd
xor ecx, 0xf8362586
cmp eax, ecx
jbe 0x140041f57
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x140274070]
mov r8d, dword [0x140274074]
mov edx, 0x28667fdb
xor edx, 0x8cbbce82
xor r8d, edx
xor edx, edx
div r8d
mov r9d, eax
mov edx, 0x59f73bc
xor edx, 0xfa608c43
mov eax, r9d
xor eax, edx
and eax, 0x4eb6b7f3
mov r8d, 0xffffffff
xor r8d, 0x4eb6b7f3
and r9d, r8d
mov edx, 0xffffffff
xor edx, 0x38fed18d
and edx, 0x4eb6b7f3
and r8d, 0x38fed18d
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, 0x4991137f
xor edx, 0xc6bb541b
add eax, edx
and eax, 0xc36b3225
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x20], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xf8b20cb
jb 0x140041f57
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140041e17
jmp 0x140041dfa
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
add rcx, 0x68
call fcn.1400190f0
mov ecx, dword [0x140274078]
xor ecx, 0xb107e9c0
mov r8d, dword [0x14027407c]
xor r8d, 0x5a4394fd
mov eax, ecx
and eax, eax
mov edx, 0xb265fe3d
xor edx, 0x4d9a01c2
xor eax, edx
and eax, r8d
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
mov r8d, 0xce6e2ca4
xor r8d, 0x3191d35b
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov r8d, 0xf92c5ce3
xor r8d, 0x8c3e90f
mov ecx, 0xe7676544
xor ecx, 0x18989abb
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xffe35182
xor r8d, 0x1cae7d
xor ecx, r8d
imul ecx, edx
mov r8d, 0x15233e96
xor r8d, 0xe4cc8b7a
mov edx, eax
and edx, r8d
or eax, 0xf1efb5ec
imul eax, edx
add eax, ecx
mov ecx, 0xe4c5033c
xor ecx, 0x9c91ab22
sub eax, ecx
or eax, 0x2418bfc9
cmp eax, 0x4bb93b25
je 0x140041f60
mov eax, dword [0x140274080]
xor eax, dword [0x140274084]
sub eax, 0xf94553f3
mov ecx, eax
add ecx, 1
mov edx, 0x7a7b421d
xor edx, 0x8584bde2
xor eax, edx
mov edx, 0xd9b2e97c
xor edx, 0x82983378
or eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x2c34d104
sub eax, ecx
mov ecx, 0x972738f1
xor ecx, 0x93f43
cmp eax, ecx
ja 0x140041f60
add rsp, 0x98
pop rdi
pop rsi
ret
loop 0x140041f46
stc
in al, 0xe9
loope 0x140041f3b
invalid
sbb byte [rdi], bh
invalid
invalid
adc eax, 0xe9561956
invalid
nop
cmp eax, 0xe8e94f95
std
invalid
sbb dword [rsi], esp
imul esi, dword [rsi - 0x17], 0x7a
invalid