Function at 0x140047590
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x40], rcx
mov eax, dword [0x140274398]
add eax, dword [0x14027439c]
imul eax, eax, 0x599151df
mov ecx, eax
and ecx, 0xe659b388
mov edx, 0x77c0ec20
xor edx, 0x77c0ec22
imul ecx, edx
mov edx, 0x792047e7
xor edx, 0x9f79f46f
xor eax, edx
add eax, ecx
mov ecx, 0xb0b86c7f
xor ecx, 0x5f5f43d7
or eax, ecx
mov ecx, 0xcc0ffeb8
xor ecx, 0xd299b31c
cmp eax, ecx
je 0x1400476d4
mov eax, dword [0x1402743a0]
imul eax, dword [0x1402743a4]
mov ecx, 0x5bf2a8ca
xor ecx, 0x3932bf03
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x4fb7ff4d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x4fb7ff4d
mov r8d, 0xb2effcb3
xor r8d, 0xfd5803fe
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0xf0e65cb1
mov dword [rsp + 0x38], eax
mov eax, 0x287caa5b
xor eax, 0xb05e1e3c
mov dword [rsp + 0x34], eax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
call fcn.140086da6
mov rdx, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
mov dl, byte [rdx + 0x60]
mov r8b, 0xfe
xor r8b, 0xfe
cmp dl, r8b
sete dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
je 0x1400475f0
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1400476b1
jmp 0x1400476cf
mov ecx, dword [0x1402980b0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rax, qword [rsp + 0x40]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
add rsp, 0x48
ret
jae 0x14004770a
imul edx, dword [rcx + rbp*8], 0x13
invalid
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14004773f
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x140047749
call fcn.14000f24b
jmp 0x1400478ad
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jl 0x1400478a0
mov rax, qword [rsp + 0x28]
cmp rax, 0
jl 0x140047783
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
jl 0x140047790
mov rcx, rdx
call fcn.1400292ad
jmp 0x1400478ad
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
call fcn.140047590
mov rcx, qword [rsp + 0x28]
movabs rdx, 0x214e342c755d4ef6
movabs rax, 0xdeb1cbd38aa2b109
xor rdx, rax
movabs rax, 0x48d9a78299bc818f
movabs r8, 0xb726587d66437e70
xor rax, r8
xor rdx, rax
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0xd982ea652df4045d
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0xd982ea652df4045d
xor r11, r8
mov r10, rax
and r10, r11
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs r9, 0xd982ea652df4045d
and r8, r9
mov r9, rcx
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
movabs r8, 0x61f4c3c2d716a6ec
movabs r9, 0x61f4c3c2d716a6ec
xor r8, r9
cmp rdx, r8
setl r8b
cmp rcx, 0
setne cl
xor cl, 0xff
mov dl, 1
xor dl, 0
xor r8b, dl
mov dl, 1
xor dl, 1
or cl, r8b
or dl, 1
xor cl, 0xff
and cl, dl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x140047896
jmp 0x140047749
call fcn.14000f24b
jmp 0x1400478ad
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
add rsp, 0x58
ret