Function at 0x14001a1f0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0xa0], rcx
mov eax, dword [0x140272ce8]
add eax, dword [0x140272cec]
mov ecx, 0x273d0c51
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xe250944f
xor ecx, 0xffffffff
add eax, 0xe250944f
add eax, 1
add eax, ecx
imul eax, eax, 0x807350db
mov ecx, 0x8a687e98
xor ecx, 0xecbb7dec
cmp eax, ecx
jb 0x14001a6f9
mov rcx, qword [rsp + 0xa0]
mov r8d, dword [0x140272cf0]
imul r8d, dword [0x140272cf4]
mov edx, r8d
xor edx, 0xc2637adc
mov eax, 0xffffffff
xor eax, 0xc2637adc
and r8d, eax
mov eax, 0x82786b2b
xor eax, 0x82786b29
imul eax, r8d
sub eax, edx
add eax, 0x4a5ebed0
imul eax, eax, 0xa6a7da80
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x78], rdx
mov rdx, qword [rcx + 8]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
and rcx, 3
mov r9, 0xffffffffffffffff
xor r9, 3
mov r8, rdx
and r8, r9
imul r8, rcx
mov r9, rdx
and r9, 3
movabs r10, 0xfc090c9762f166f8
movabs rcx, 0xfc090c9762f166fb
xor r10, rcx
mov rcx, rdx
or rcx, r10
imul rcx, r9
add rcx, r8
mov qword [rsp + 0x80], rcx
cvtsi2sd xmm0, rdx
movsd xmm1, qword [0x140281650]
mulsd xmm0, xmm1
movsd qword [rsp + 0x88], xmm0
cvtsi2sd xmm1, rcx
movsd qword [rsp + 0x90], xmm1
ucomisd xmm0, xmm1
sete cl
setnp dl
and cl, dl
mov byte [rsp + 0x9f], cl
cmp eax, 0x312279e5
je 0x14001a6f9
mov al, byte [rsp + 0x9f]
test al, 1
jne 0x14001a424
jmp 0x14001a347
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x90]
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x88]
movsd qword [rsp + 0x70], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x70]
movsd xmm2, qword [0x140281658]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14001a424
mov eax, dword [0x140272cf8]
add eax, dword [0x140272cfc]
mov ecx, 0xe891cd71
xor ecx, 0x9c4d0cb1
sub eax, ecx
imul eax, eax, 0x92aeffb3
sub eax, 0x21c6f8a5
sub eax, 0xde6d9c2f
mov ecx, 0x63e5413b
xor ecx, 0x4223b99e
add eax, ecx
cmp eax, 0x93cfde9f
ja 0x14001a702
mov eax, dword [0x140272d00]
add eax, dword [0x140272d04]
sub eax, 0x7cf9fa90
add eax, 0x30541eae
mov edx, 0xffffffff
xor edx, 0xf8cfbd69
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf8cfbd69
add eax, edx
sub eax, ecx
mov dword [rsp + 0x6c], eax
call fcn.14000f24b
mov eax, dword [rsp + 0x6c]
cmp eax, 0x117ac0d6
jb 0x14001a702
jmp 0x14001a6f1
mov rax, qword [rsp + 0x80]
mov ecx, 2
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [rax], rcx
mov rax, rcx
shl rax, 4
mov qword [rsp + 0x50], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140281660]
mulsd xmm0, xmm1
movsd qword [rsp + 0x58], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x60], xmm1
ucomisd xmm0, xmm1
jne 0x14001a484
jp 0x14001a484
jmp 0x14001a595
mov eax, dword [0x140272d08]
mov edx, dword [0x140272d0c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, 0x5584ab2
xor ecx, 0xa6c10eb
add eax, ecx
add eax, 0xb5cca8b4
mov ecx, 0xebd76424
xor edx, edx
div ecx
cmp eax, 0x3188196
ja 0x14001a70b
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x60]
mov eax, dword [0x140272d10]
mov r8d, dword [0x140272d14]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xf3a327d4
xor ecx, 0xffffffff
add eax, 0xf3a327d4
add eax, 1
add eax, ecx
and eax, 0x7d5f049e
xor eax, 0x6c68ba6c
mov dword [rsp + 0x48], eax
mov eax, 0xdd3a8c35
xor eax, 0x672ff02e
mov dword [rsp + 0x44], eax
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rsp + 0x38], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x48]
movsd xmm2, qword [0x140281658]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb dl
mov byte [rsp + 0x4f], dl
cmp eax, ecx
je 0x14001a4c2
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14001a58b
jmp 0x14001a595
call fcn.14000f24b
jmp 0x14001a6f1
mov eax, dword [0x140272d18]
mov edx, dword [0x140272d1c]
xor edx, 0x4c48698a
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
and eax, 0x6add23d2
mov ecx, 0x2acdd647
xor ecx, 0x3adf7e1a
xor edx, edx
div ecx
mov ecx, 0x651f3367
xor ecx, 0x90debc7
xor edx, edx
div ecx
cmp eax, 0xd7b20974
ja 0x14001a714
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x140272d20]
mov r8d, dword [0x140272d24]
xor eax, 0xffffffff
mov edx, 0xcf4336a9
xor edx, 0x30bcc956
xor r8d, edx
mov edx, 0xf644b89f
xor edx, 0x1e309748
mov r9d, 0xbb1deb8e
xor r9d, 0x44e21471
xor edx, r9d
or eax, r8d
or edx, 0xe8742fd7
xor eax, 0xffffffff
and eax, edx
add eax, 0x81b0d5d1
mov edx, 0xfbba3e0
xor edx, 0x5bfb823a
mov r8d, eax
and r8d, edx
mov edx, 0xf13ce43e
xor edx, 0xf13ce43c
imul edx, r8d
add eax, 0x544021da
sub eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x8f8477f6
mov r8d, 0xffffffff
xor r8d, 0x8f8477f6
and eax, r8d
sub eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xd2bd867d
ja 0x14001a714
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14001a69f
jmp 0x14001a6af
mov rcx, r8
mov rdx, r8
call fcn.14001a720
jmp 0x14001a6f1
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x28], rax
mov ecx, dword [0x1402980b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x50]
mov rcx, rax
add rcx, 0x68
call fcn.140019b60
mov rcx, rax
mov rax, qword [rsp + 0xa0]
mov qword [rax + 0x10], rcx
add rsp, 0xa8
ret
not byte [rcx + 0x40e91238]
sti
invalid
mov ch, byte [rdi - 0x34166038]
cld
invalid
mov dword [rcx], 0xaee94893
std
invalid
mov edi, 0xe903e31c
invalid