Function at 0x140055840
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x50
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x48], rax
cmp byte [rax + 0x60], 0
je 0x140055b47
mov rax, qword [rsp + 0x48]
mov rcx, rax
add rcx, 0x10
mov qword [rsp + 0x38], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x140055b47
mov eax, dword [0x140274ad8]
mov edx, dword [0x140274adc]
xor edx, 0xdcb494a3
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
and eax, 0x36c9a952
mov edx, eax
xor edx, 0xffffffff
and edx, 0x62eefb7
mov r8d, 0xffffffff
xor r8d, 0x62eefb7
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xba2285a7
xor r8d, 0xbc0c6a10
mov edx, eax
and edx, r8d
or eax, 0x62eefb7
imul eax, edx
add eax, ecx
mov ecx, 0x965a4c24
xor edx, edx
div ecx
cmp eax, 0xb30cd02c
ja 0x140055b4d
mov eax, dword [0x140274ae0]
and eax, dword [0x140274ae4]
mov ecx, 0x27da005d
xor ecx, 0xd825ffa2
mov edx, eax
xor edx, ecx
and edx, 0xe19877c
mov r8d, 0x31a1d228
xor r8d, 0x3fb85554
mov ecx, 0xac9550d
xor ecx, 0xf536aaf2
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe19877c
mov r8d, 0xafe7afc2
xor r8d, 0xa1fe28be
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xe9802e72
xor ecx, 0x3e692172
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xbb047fe1
xor edx, 0x487263f4
and edx, ecx
mov r8d, 0xeeb947ab
xor r8d, 0x1dcf5bbe
mov ecx, 0xd93bce9e
xor ecx, 0x26c43161
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf3761c15
mov r8d, 0xa248d776
xor r8d, 0x513ecb63
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x3ad2a059
xor ecx, 0xb1560150
mov rdx, qword [0x140298090]
mov qword [rsp + 0x28], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
jb 0x140055b4d
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400559fd
jmp 0x1400559f1
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
call rax
mov eax, dword [str._ode]
xor eax, dword [0x140274aec]
mov edx, 0x7c3c4aa0
xor edx, 0x503790c4
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x2c0bda64
shl ecx, 1
sub ecx, 0x2c0bda64
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x9d99c536
xor edx, 0x78825524
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xe51b9012
and eax, edx
sub eax, ecx
xor ecx, ecx
sub ecx, 0x89701838
add eax, ecx
mov ecx, 0xdf2b48a4
xor ecx, 0xb3585194
cmp eax, ecx
je 0x140055b56
mov rcx, qword [rsp + 0x38]
mov esi, dword [0x140274af0]
add esi, dword [0x140274af4]
mov eax, 0x1be6d472
xor eax, 0xfe3d8442
imul esi, eax
mov eax, 0xb6dd077c
xor eax, 0x4922f883
mov edx, esi
xor edx, eax
and edx, 0xa5fa9223
mov r8d, 0xffffffff
xor r8d, 0xa5fa9223
mov eax, esi
and eax, r8d
imul eax, edx
mov edx, esi
and edx, 0xa5fa9223
or esi, 0xa5fa9223
imul esi, edx
add esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xa0afd013
mov r8d, 0xffffffff
xor r8d, 0x113f41f5
mov eax, edx
and eax, 0x113f41f5
and esi, r8d
mov r10d, r9d
and r10d, 0x113f41f5
mov r11d, r8d
and r11d, 0xa0afd013
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x113f41f5
and edx, r8d
or eax, edx
mov dword [rsp + 0x24], eax
xor eax, eax
mov edx, eax
call fcn.140028c90
mov ecx, 1
call qword [0x1402980a0]
mov eax, dword [rsp + 0x24]
cmp eax, 0x6c34dc4b
je 0x140055b56
jmp 0x140055b47
add rsp, 0x50
pop rsi
ret
pop rax
jne 0x140055b68
fldl2t
movabs al, byte [0xe9c35be9f9fffffd]
or edi, edi
invalid
stc
jmp 0x14bef1eb7