Function at 0x1400487f0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x20], rcx
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov ecx, dword [0x1402d10b0]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
add rax, 0x60
mov qword [rbp - 0x10], rax
mov rax, qword [rcx]
mov qword [rbp - 8], rax
cmp rax, rdx
jle 0x140048864
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140048530
add rsp, 0x20
jmp 0x140048ae6
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
jge 0x140048ae6
mov rax, qword [rbp - 0x20]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x1400488c5
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov rdx, rax
add rdx, 1
xor rax, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x1400489d1
mov r8, qword [rbp - 8]
mov rax, qword [rbp - 0x18]
mov rcx, rax
sub rcx, r8
mov qword [rbp - 0x40], rcx
mov r9, rcx
xor r9, rax
movabs rdx, 0x2ce95a1157cb41c5
movabs r10, 0xd316a5eea834be3a
xor rdx, r10
xor r9, rdx
mov rdx, rax
and rdx, r9
shl rdx, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0x3aa2f9f4905a7517
movabs r9, 0x3aa2f9f4905a7517
xor rdx, r9
cmp rax, rdx
setl al
mov rdx, rcx
xor rdx, r8
movabs r9, 0xfbf04311c53a37bd
movabs r10, 0x40fbcee3ac5c842
xor r9, r10
xor rdx, r9
mov r9, r8
and r9, rdx
movabs rdx, 0x10132cb34e38aef1
movabs r10, 0x10132cb34e38aef3
xor rdx, r10
imul rdx, r9
sub rdx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400489bf
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov r9d, 0x10
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.140023a90
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x38]
mov qword [rax], rcx
jmp 0x1400489d1
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140048ae6
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov qword [rcx], rdx
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
mov ecx, dword [0x1402d10b0]
sub rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
call rax
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
shl rcx, 4
lea rcx, [rax + rcx + 8]
xorps xmm0, xmm0
movaps xmmword [rdx], xmm0
sub rsp, 0x20
call fcn.140279c00
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x32
xor cl, 0x32
cmp al, cl
jne 0x140048ae6
mov rdx, qword [rbp - 0x50]
movabs rcx, 0xe5c8563f168f2c45
mov rax, rdx
sub rax, rcx
add rax, 1
movabs rcx, 0xe5c8563f168f2c45
add rax, rcx
mov qword [rbp - 0x58], rax
movabs rcx, 0xb9ddae9032dbd456
movabs r8, 0x4622516fcd242ba9
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0x585b564e64fdda99
movabs r9, 0xa7a4a9b19b022566
xor rcx, r9
and rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140048ad1
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140048ae6
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x18]
cmp rax, rcx
mov qword [rbp - 0x48], rax
jne 0x1400489e4
mov eax, dword [0x1402a9f38]
and eax, dword [0x1402a9f3c]
mov ecx, 0x94ac7eac
xor ecx, 0x3c55f331
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x3b067d5f
mov r8d, 0xffffffff
xor r8d, 0x3b067d5f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x3b067d5f
mov r8d, 0x9f34d90f
xor r8d, 0xa432a450
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x172904a6
cmp eax, 0x5b4bb364
jb 0x140048bcd
mov ecx, dword [0x1402a9f40]
xor ecx, 0x9fb9bf2f
imul ecx, dword [0x1402a9f44]
add ecx, 0x2ab17aa
or ecx, 0x91b2782
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0xdc7f08b5
xor edx, 0x2380f74a
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xfc32e3ce
or eax, edx
mov edx, 0xffffffff
sar byte [rdx - 1], 1
xor edx, 0xfc32e3ce
mov r8d, 0xffffffff
xor r8d, 0xfc32e3ce
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x9469b505
xor ecx, 0x8125730f
cmp eax, ecx
jb 0x140048b4d
mov rsp, rbp
pop rbp
ret
test al, 0x85
js 0x140048b8c
jmp 0x140048b4d