Function at 0x14001bbf0
Capabilities:
Encode data using xor
Get thread local storage value

Disassembly:
sub rsp, 0x358
movaps xmmword [rsp + 0x340], xmm12
movaps xmmword [rsp + 0x330], xmm11
movaps xmmword [rsp + 0x320], xmm10
movaps xmmword [rsp + 0x310], xmm9
movaps xmmword [rsp + 0x300], xmm8
movaps xmmword [rsp + 0x2f0], xmm7
movaps xmmword [rsp + 0x2e0], xmm6
mov ecx, dword [0x1402d10b0]
mov rax, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov qword [rsp + 0x1e8], rax
call rax
mov rcx, rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x1e0], rcx
mov ecx, dword [0x1402d10b0]
call rax
mov rcx, rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x1f0], rcx
mov ecx, dword [0x1402d10b0]
call rax
movaps xmm0, xmmword [0x1402ba680]
movaps xmm1, xmmword [0x1402ba690]
movaps xmm2, xmmword [0x1402ba6a0]
movaps xmm3, xmmword [0x1402ba6b0]
movaps xmm4, xmmword [0x1402ba6c0]
movaps xmm5, xmmword [0x1402ba6d0]
movaps xmm6, xmmword [0x1402ba6e0]
movaps xmm7, xmmword [0x1402ba6f0]
xor eax, eax
mov qword [rsp + 0x1f8], rax
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x220], xmm5
movaps xmmword [rsp + 0x230], xmm4
movaps xmmword [rsp + 0x240], xmm3
movaps xmmword [rsp + 0x250], xmm2
movaps xmmword [rsp + 0x260], xmm1
movaps xmmword [rsp + 0x270], xmm0
jmp 0x14001bd08
mov rax, qword [rsp + 0x1f8]
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movaps xmm4, xmmword [rsp + 0x240]
movaps xmm5, xmmword [rsp + 0x250]
movaps xmm6, xmmword [rsp + 0x260]
movaps xmm7, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x170], xmm5
movaps xmmword [rsp + 0x180], xmm4
movaps xmmword [rsp + 0x190], xmm3
movaps xmmword [rsp + 0x1a0], xmm2
movaps xmmword [rsp + 0x1b0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0x1d8], rax
mov ecx, dword [0x1402a8bf8]
mov r8d, dword [0x1402a8bfc]
mov edx, 0xa814585f
xor edx, 0x57eba7a0
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0xb4391b51
xor eax, 0xa6edc9f4
sub ecx, eax
mov eax, ecx
and eax, 0x7fa866f8
or ecx, 0x7fa866f8
add eax, ecx
mov ecx, 0x84e1deda
xor edx, edx
div ecx
cmp eax, 0x7446e0be
ja 0x14001cf8c
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm9, xmmword [rsp + 0x160]
movaps xmm10, xmmword [rsp + 0x170]
movaps xmm8, xmmword [rsp + 0x180]
movaps xmm12, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm3, xmmword [rsp + 0x1b0]
movaps xmm2, xmmword [rsp + 0x1c0]
mov eax, dword [0x1402a8c00]
mov edx, dword [0x1402a8c04]
mov ecx, eax
and ecx, edx
add ecx, ecx
add eax, edx
sub eax, ecx
add eax, 0x444f1fae
mov ecx, 0x8f3bdaef
imul rax, rcx
shr rax, 0x3d
mov ecx, eax
mov edx, ecx
and edx, 0xfffffffc
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx - 0x2351884c]
movaps xmm7, xmmword [0x1402ba700]
movaps xmmword [rsp + 0x100], xmm7
pxor xmm2, xmm7
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1402ba700]
movaps xmmword [rsp + 0x110], xmm4
movaps xmm0, xmm4
pcmpeqd xmm0, xmm1
movaps xmm5, xmmword [0x1402ba710]
movaps xmmword [rsp + 0x120], xmm5
movaps xmm1, xmm5
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm3, xmm7
pshufd xmm1, xmm3, 0xf5
movaps xmm2, xmm4
pcmpeqd xmm2, xmm1
movaps xmm1, xmm5
pcmpgtd xmm1, xmm3
pshufd xmm3, xmm1, 0xa0
pand xmm2, xmm3
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm11, xmm7
pshufd xmm3, xmm11, 0xf5
movaps xmm2, xmm4
pcmpeqd xmm2, xmm3
movaps xmm3, xmm5
pcmpgtd xmm3, xmm11
pshufd xmm11, xmm3, 0xa0
pand xmm2, xmm11
pshufd xmm3, xmm3, 0xf5
por xmm2, xmm3
pxor xmm12, xmm7
pshufd xmm11, xmm12, 0xf5
movaps xmm3, xmm4
pcmpeqd xmm3, xmm11
movaps xmm11, xmm5
pcmpgtd xmm11, xmm12
pshufd xmm12, xmm11, 0xa0
pand xmm3, xmm12
pshufd xmm11, xmm11, 0xf5
por xmm3, xmm11
packssdw xmm2, xmm3
packssdw xmm1, xmm2
pxor xmm8, xmm7
pshufd xmm3, xmm8, 0xf5
movaps xmm2, xmm4
pcmpeqd xmm2, xmm3
movaps xmm3, xmm5
pcmpgtd xmm3, xmm8
pshufd xmm8, xmm3, 0xa0
pand xmm2, xmm8
pshufd xmm3, xmm3, 0xf5
por xmm2, xmm3
pxor xmm10, xmm7
pshufd xmm8, xmm10, 0xf5
movaps xmm3, xmm4
pcmpeqd xmm3, xmm8
movaps xmm8, xmm5
pcmpgtd xmm8, xmm10
pshufd xmm10, xmm8, 0xa0
pand xmm3, xmm10
pshufd xmm8, xmm8, 0xf5
por xmm3, xmm8
packssdw xmm2, xmm3
pxor xmm9, xmm7
pshufd xmm8, xmm9, 0xf5
movaps xmm3, xmm4
pcmpeqd xmm3, xmm8
movaps xmm8, xmm5
pcmpgtd xmm8, xmm9
pshufd xmm9, xmm8, 0xa0
pand xmm3, xmm9
pshufd xmm8, xmm8, 0xf5
por xmm3, xmm8
pxor xmm6, xmm7
pshufd xmm7, xmm6, 0xf5
pcmpeqd xmm4, xmm7
pcmpgtd xmm5, xmm6
pshufd xmm6, xmm5, 0xa0
pand xmm4, xmm6
pshufd xmm5, xmm5, 0xf5
por xmm4, xmm5
packssdw xmm3, xmm4
packssdw xmm2, xmm3
packsswb xmm1, xmm2
movaps xmmword [rsp + 0x130], xmm1
movd ecx, xmm0
mov byte [rsp + 0x14f], cl
cmp eax, 0x54add8bd
je 0x14001be04
mov al, byte [rsp + 0x14f]
test al, 1
jne 0x14001c06c
jmp 0x14001c080
mov rax, qword [rsp + 0x1d8]
mov cl, 0x53
xor cl, 0x53
mov byte [rsp + rax + 0x288], cl
mov ecx, dword [0x1402a8c08]
mov edx, dword [0x1402a8c0c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
mov r10d, 0x76d60cea
xor r10d, 0x8929f315
mov r9d, edx
xor r9d, r10d
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xd439893c
xor ecx, 0x8781367b
xor eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xefa769e9
mov r8d, 0xc1548ae5
xor r8d, 0x2ef3e30c
mov ecx, 0xf0df859b
xor ecx, 0xf207a64
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xefa769e9
or eax, 0xefa769e9
imul eax, edx
add eax, ecx
imul eax, eax, 0xbf078b49
cmp eax, 0x73f5ef59
ja 0x14001cf95
movaps xmm0, xmmword [rsp + 0x130]
mov eax, dword [0x1402a8c10]
mov ecx, dword [0x1402a8c14]
sub eax, ecx
not eax
or eax, 0x64aa575
mov ecx, eax
not ecx
and eax, 0xaa324c7c
mov edx, ecx
and edx, 0x51851282
or eax, edx
xor eax, 0x6fa9e09a
and ecx, 0xc1910882
or eax, ecx
mov ecx, eax
xor ecx, 0x2cd57ded
or eax, 0xd32a8212
and eax, ecx
movd ecx, xmm0
shr ecx, 8
mov byte [rsp + 0xff], cl
cmp eax, 0xb6b4d419
jbe 0x14001cf95
mov al, byte [rsp + 0xff]
test al, 1
jne 0x14001c1a2
jmp 0x14001c1e6
mov rax, qword [rsp + 0x1d8]
mov rdx, 0xffffffffffffffff
xor rdx, 1
mov rcx, rax
and rcx, rdx
movabs r8, 0xb4952e0b65d1a83f
movabs rdx, 0xb4952e0b65d1a83e
xor r8, rdx
mov rdx, rax
xor rdx, r8
add rax, rdx
sub rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14001c202
jmp 0x14001c23e
mov rax, qword [rsp + 0x1d8]
mov rcx, rax
and rcx, 2
xor rcx, 0xffffffffffffffff
movabs rdx, 0xd84d387ce6f49cbc
movabs r8, 0xd84d387ce6f49cbe
xor rdx, r8
add rax, rdx
add rax, 1
add rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
movd eax, xmm0
shr eax, 0x18
test al, 1
jne 0x14001c25a
jmp 0x14001c272
mov rax, qword [rsp + 0x1d8]
or rax, 3
mov cl, 0x46
xor cl, 0x46
mov byte [rsp + rax + 0x288], cl
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 2
test al, 1
jne 0x14001c28c
jmp 0x14001c2a0
mov rax, qword [rsp + 0x1d8]
or rax, 4
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 2
shr eax, 8
test al, 1
jne 0x14001c2bd
jmp 0x14001c2db
mov rcx, qword [rsp + 0x1d8]
mov rax, rcx
and rax, 5
xor rcx, 5
or rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 3
test al, 1
jne 0x14001c2f5
jmp 0x14001c309
mov rax, qword [rsp + 0x1d8]
or rax, 6
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 3
shr eax, 8
test al, 1
jne 0x14001c326
jmp 0x14001c350
mov rax, qword [rsp + 0x1d8]
movabs rcx, 0xeb8b98d1805fa910
movabs rdx, 0xeb8b98d1805fa917
xor rcx, rdx
or rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 4
test al, 1
jne 0x14001c36a
jmp 0x14001c394
mov rax, qword [rsp + 0x1d8]
movabs rcx, 0x3e05b6f192ee05e8
movabs rdx, 0x3e05b6f192ee05e0
xor rcx, rdx
or rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 4
shr eax, 8
test al, 1
jne 0x14001c3b1
jmp 0x14001c438
mov rax, qword [rsp + 0x1d8]
and rax, rax
movabs rcx, 0xf0cb73f0f041d4e5
movabs rdx, 0xf348c0f0fbe2b1a
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x5a9f27cba057d88e
movabs rdx, 0x5a9f27cba057d887
xor rcx, rdx
movabs rdx, 0xd243db0b5f930fef
movabs r8, 0xd243db0b5f930fe6
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0x3ee881294a7fa392
movabs r8, 0xc1177ed6b5805c6d
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov cl, 0x1e
xor cl, 0x1e
mov byte [rsp + rax + 0x288], cl
mov ecx, dword [0x1402a8c18]
mov edx, dword [0x1402a8c1c]
xor ecx, 0xffffffff
xor edx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0xb8548922
or ecx, edx
or eax, 0xb8548922
mov edx, 0xeed2c86f
xor edx, 0x112d3790
xor ecx, edx
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xc7cf2f75
and ecx, 0xc7cf2f75
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
xor eax, 0x91b2950f
mov ecx, eax
xor ecx, 0x23483938
xor ecx, 0xffffffff
or eax, 0x23483938
and eax, ecx
cmp eax, 0x1276dd80
jb 0x14001cf9e
movaps xmm0, xmmword [rsp + 0x130]
mov eax, dword [0x1402a8c20]
mov r9d, dword [0x1402a8c24]
mov r8d, r9d
xor r8d, 0x820a4602
xor r9d, 0x7df5b9fd
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
not ecx
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x5445e20
xor eax, 0x588b205f
or ecx, 0xfab1a18d
add eax, ecx
imul eax, eax, 0x639d88b
add eax, 0x639d88b
mov ecx, 0x808ae182
pextrw edx, xmm0, 5
mov byte [rsp + 0xfe], dl
cmp eax, ecx
jb 0x14001c4a9
mov al, byte [rsp + 0xfe]
test al, 1
jne 0x14001c538
jmp 0x14001c54c
mov rax, qword [rsp + 0x1d8]
or rax, 0xa
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 5
shr eax, 8
test al, 1
jne 0x14001c569
jmp 0x14001c59f
mov rcx, qword [rsp + 0x1d8]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
mov ecx, 0xb
and rcx, 0xb
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 6
test al, 1
jne 0x14001c5b9
jmp 0x14001c5f2
mov rax, qword [rsp + 0x1d8]
movabs rcx, 0xb9f9f7b1c2ff26f6
movabs rdx, 0xb9f9f7b1c2ff26fa
xor rcx, rdx
and rcx, rax
xor rcx, 0xffffffffffffffff
add rax, 0xc
add rax, 1
add rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 6
shr eax, 8
test al, 1
jne 0x14001c60f
jmp 0x14001c627
mov rax, qword [rsp + 0x1d8]
or rax, 0xd
mov cl, 0x76
xor cl, 0x76
mov byte [rsp + rax + 0x288], cl
mov r11d, dword [str._Wc_]
mov eax, dword [0x1402a8c2c]
xor eax, 0xfe79dfb9
imul r11d, eax
or r11d, 0x2e2e555b
mov eax, r11d
xor eax, 0x1b581f68
xor eax, 0xffffffff
and eax, 0x1b581f68
shl eax, 1
sub eax, 0x1b581f68
sub r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xb30014cb
xor r8d, 0xe61b261c
mov eax, 0x93fdd68b
xor eax, 0x6c022974
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x6e6749f8
mov eax, ecx
and eax, 0x6e6749f8
and r11d, edx
mov r9d, r8d
and r9d, 0x6e6749f8
mov r10d, edx
and r10d, 0x551b32d7
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x106184e7
xor r8d, 0xef9e7b18
xor ecx, r8d
or edx, 0x6e6749f8
and ecx, edx
or eax, ecx
cmp eax, 0x9b0695e5
je 0x14001cfa7
movaps xmm0, xmmword [rsp + 0x130]
mov eax, dword [0x1402a8c30]
mov ecx, dword [0x1402a8c34]
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0xa392351a
mov edx, ecx
and edx, 0xfb3b7d1
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx + 0xfb3b7d1]
xor eax, 0x714ceaff
pextrw ecx, xmm0, 7
mov byte [rsp + 0xfd], cl
cmp eax, 0x3f2e9c44
jb 0x14001c6d9
mov al, byte [rsp + 0xfd]
test al, 1
jne 0x14001c740
jmp 0x14001c754
mov rax, qword [rsp + 0x1d8]
or rax, 0xe
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x130]
pextrw eax, xmm0, 7
shr eax, 8
test al, 1
jne 0x14001c771
jmp 0x14001c78f
mov rcx, qword [rsp + 0x1d8]
mov rax, rcx
and rax, 0xf
xor rcx, 0xf
or rax, rcx
mov byte [rsp + rax + 0x288], 0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movaps xmm4, xmmword [rsp + 0x190]
movaps xmm5, xmmword [rsp + 0x1a0]
movaps xmm6, xmmword [rsp + 0x1b0]
movaps xmm7, xmmword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1d8]
add rax, 0x10
movaps xmm8, xmmword [0x1402ba720]
movaps xmmword [rsp + 0xe0], xmm8
paddq xmm7, xmm8
paddq xmm6, xmm8
paddq xmm5, xmm8
paddq xmm4, xmm8
paddq xmm3, xmm8
paddq xmm2, xmm8
paddq xmm1, xmm8
paddq xmm0, xmm8
mov rcx, rax
sub rcx, 0x60
mov qword [rsp + 0x1f8], rax
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x220], xmm5
movaps xmmword [rsp + 0x230], xmm4
movaps xmmword [rsp + 0x240], xmm3
movaps xmmword [rsp + 0x250], xmm2
movaps xmmword [rsp + 0x260], xmm1
movaps xmmword [rsp + 0x270], xmm0
jne 0x14001bd08
jmp 0x14001c86e
mov qword [rsp + 0x288], 0
lea rax, [rsp + 0x288]
add rax, 8
mov qword [rsp + 0xd0], rax
movabs rax, 0xc7afbd1836969ca9
movabs rcx, 0xc7afbd18369698a9
xor rax, rcx
mov qword [rsp + 0x290], rax
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
add rcx, 0x68
movabs rdx, 0x950bcbb19b43e302
movabs rax, 0x950bcbb19b43a302
xor rdx, rax
call fcn.140013e80
lea rcx, [rsp + 0x288]
add rcx, 0x10
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x298], rax
lea rcx, [rsp + 0x288]
xor eax, eax
mov edx, eax
call fcn.14001ae80
mov rax, qword [rsp + 0x1f0]
cmp byte [rax + 0x60], 0
jne 0x14001cf47
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
cmp rax, 0
je 0x14001c967
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0xc8]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rax, qword [rsp + 0xd8]
mov qword [rax], 0
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x288], 0
mov qword [rcx], 0
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0xb0], rcx
mov rcx, rax
add rcx, 0x30
mov qword [rsp + 0xb8], rcx
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xc0], rax
cmp rax, 0
je 0x14001c9ed
mov ecx, dword [0x1402d10b0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, qword [rsp + 0xc0]
mov rcx, rax
add rcx, 0x68
call fcn.140017ba0
mov rax, qword [rsp + 0xb8]
mov qword [rax], 0
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0xb0]
mov qword [rcx], 0
movabs rcx, 0xea40031ab0daff0d
movabs rdx, 0xea40031ab0daff0d
xor rcx, rdx
mov qword [rax + 0x28], rcx
mov al, byte [rsp + 0x2d8]
mov cl, 0xe4
xor cl, 0xe4
cmp al, cl
jne 0x14001cf47
mov rcx, qword [rsp + 0x2b8]
mov rax, rcx
shl rax, 1
mov qword [rsp + 0x98], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402ba730]
mulsd xmm0, xmm1
movsd qword [rsp + 0xa0], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0xa8], xmm1
ucomisd xmm0, xmm1
jne 0x14001ca87
jp 0x14001ca87
jmp 0x14001cb9c
movsd xmm1, qword [rsp + 0xa0]
movsd xmm0, qword [rsp + 0xa8]
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0xa0]
movsd qword [rsp + 0x90], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0x90]
movsd xmm2, qword [0x1402ba738]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14001cb9c
mov eax, dword [0x1402a8c38]
xor edx, edx
div dword [0x1402a8c3c]
mov ecx, 0x4c6da6fc
xor ecx, 0xe2ebc56b
xor edx, edx
div ecx
mov ecx, 0xb8880669
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xd7f51e8b
shl ecx, 1
add eax, 0xd7f51e8b
sub eax, ecx
cmp eax, 0xc8fcf0c7
je 0x14001cfb0
mov eax, dword [0x1402a8c40]
xor edx, edx
div dword [0x1402a8c44]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xfb520406
mov edx, 0xffffffff
xor edx, 0xfb520406
and eax, edx
sub eax, ecx
mov edx, 0x1a08f589
xor edx, 0xb9374328
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0xa33fb6a1
add eax, ecx
or eax, 0x78c82d1f
mov dword [rsp + 0x8c], eax
mov eax, 0xd23daf63
xor eax, 0x3d5ced89
mov dword [rsp + 0x88], eax
call fcn.14000ee80
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
cmp eax, ecx
jbe 0x14001cb1e
jmp 0x14001cf47
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x2c0]
mov r8, rdx
add r8, 0x38
mov qword [rsp + 0x78], r8
mov rdx, qword [rdx + 0x38]
mov qword [rsp + 0x80], rdx
cmp rax, rcx
jg 0x14001ccca
mov rax, qword [rsp + 0x80]
movabs rcx, 0x22193baceae87491
movabs rdx, 0x22193baceae87492
xor rcx, rdx
cqo
idiv rcx
mov qword [rsp + 0x58], rax
movabs rcx, 0x8fb1710bd9481fb
movabs rdx, 0x8fb1710bd9481fa
xor rcx, rdx
shl rax, cl
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402ba730]
mulsd xmm0, xmm1
movsd qword [rsp + 0x68], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x70], xmm1
ucomisd xmm0, xmm1
jne 0x14001cc59
jp 0x14001cc59
jmp 0x14001cca8
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x70]
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x68]
movsd qword [rsp + 0x50], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0x50]
movsd xmm2, qword [0x1402ba738]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14001cca8
call fcn.14000ee80
jmp 0x14001cf47
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
mov rcx, rdx
sub rcx, 0x11
mov ecx, 0x10
cmovge rcx, rdx
mov qword [rax], rcx
jmp 0x14001cf47
mov rax, qword [rsp + 0x80]
movabs rcx, 0x27463088ba254ec5
movabs rdx, 0x38b9cf7745dab13a
xor rcx, rdx
cmp rax, rcx
jge 0x14001cf47
mov rcx, qword [rsp + 0x80]
movabs rdx, 0x8e59408eb4570201
movabs rax, 0x8e59408eb4570200
xor rdx, rax
movabs rax, 0xb96d56f65d78b870
movabs r8, 0xb96d56f65d78b8f0
xor rax, r8
cmp rcx, rdx
cmovl rcx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
and rax, 3
movabs r8, 0xb90a585ba3fb95bc
movabs rdx, 0xb90a585ba3fb95bf
xor r8, rdx
movabs rdx, 0xa06ab347cd542fcb
movabs r9, 0x5f954cb832abd034
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
imul rdx, rax
movabs rax, 0x42cf977a0bbe433b
movabs r8, 0x42cf977a0bbe4338
xor rax, r8
mov r8, rcx
and r8, rax
mov rax, rcx
or rax, 3
imul rax, r8
add rax, rdx
mov qword [rsp + 0x38], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402ba740]
mulsd xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x48], xmm1
ucomisd xmm0, xmm1
jne 0x14001cddc
jp 0x14001cddc
jmp 0x14001cf36
mov ecx, dword [0x1402a8c48]
mov eax, 0xcd39683d
xor eax, 0x590ce52f
xor ecx, eax
and ecx, dword [0x1402a8c4c]
or ecx, 0xc5bf554d
add ecx, 0x8c038b3c
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0xf1b953d
xor edx, 0xf0e46ac2
xor eax, edx
mov edx, 0x6411dc2d
xor edx, 0x7e39062
mov r8d, 0xa7f8d1b0
xor r8d, 0x58072e4f
xor edx, r8d
or eax, edx
mov edx, 0x63f24c4f
and edx, 0x63f24c4f
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x47868bf1
jae 0x14001cfb9
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x48]
mov eax, dword [0x1402a8c50]
xor eax, 0x90633786
mov ecx, dword [0x1402a8c54]
mov edx, 0xb7ed016a
xor edx, 0xf2432445
xor ecx, edx
and eax, eax
xor eax, 0xffffffff
and ecx, ecx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x8091d6b5
xor ecx, 0xffffffff
or eax, 0x8091d6b5
and eax, ecx
mov ecx, 0x7e3b7250
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x5e6265e4
xor edx, 0xba049793
or eax, edx
add eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 0x9bb480ee
xor eax, 0xba18ab0e
mov dword [rsp + 0x2c], eax
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x20], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0x20]
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
movsd xmm2, qword [0x1402ba738]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
ja 0x14001cfb9
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14001cf2c
jmp 0x14001cf36
call fcn.14000ee80
jmp 0x14001cf47
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
shr rcx, 1
mov qword [rax], rcx
movaps xmm6, xmmword [rsp + 0x2e0]
movaps xmm7, xmmword [rsp + 0x2f0]
movaps xmm8, xmmword [rsp + 0x300]
movaps xmm9, xmmword [rsp + 0x310]
movaps xmm10, xmmword [rsp + 0x320]
movaps xmm11, xmmword [rsp + 0x330]
movaps xmm12, xmmword [rsp + 0x340]
add rsp, 0x358
ret
retf
sbb byte [rax], bh
invalid
invalid
sti
loope fcn.14001cfd0
jb 0x14001cf95
sub edi, esi
invalid
sbb eax, 0xe990a9ee
sti
invalid
xor rbx, rsp
jmp 0x14001ce54