Function at 0x18004da10
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2060]
mov eax, 0x2160
call fcn.1800545f0
sub rsp, rax
movaps xmmword [rsp + 0x2150], xmm6
movaps xmmword [rsp + 0x2140], xmm7
movaps xmmword [rsp + 0x2130], xmm8
movaps xmmword [rsp + 0x2120], xmm9
movaps xmmword [rsp + 0x2110], xmm10
movaps xmmword [rsp + 0x2100], xmm11
movaps xmmword [rsp + 0x20f0], xmm12
movaps xmmword [rsp + 0x20e0], xmm13
movaps xmmword [rsp + 0x20d0], xmm14
movaps xmmword [rsp + 0x20c0], xmm15
mov rax, qword [0x18013b5c0]
xor rax, rsp
mov qword [rbp + 0x1fb0], rax
xor r15d, r15d
mov rcx, qword [0x18013bb70]
call fcn.180014a20
lea rdx, [rbp + 0x960]
mov rcx, qword [0x18013bc58]
call fcn.180052ee0
call fcn.18000bf10
mov r13, rax
mov qword [rbp + 0x250], rax
movss xmm6, dword [0x18005a548]
movss dword [rsp + 0x78], xmm6
mov r14d, r15d
mov qword [rbp - 0x28], r15
movdqa xmm10, xmmword [0x18005a6b0]
movups xmmword [rbp - 0x20], xmm10
movss xmm8, dword [0x18005a4c4]
movss dword [rsp + 0x74], xmm8
cmp byte [0x180119f28], r15b
je 0x18004db8f
call fcn.18000bf10
mov rbx, rax
movups xmmword [rbp + 0x740], xmm10
lea rcx, [rbp + 0x740]
call fcn.180008620
mov r9d, eax
movd xmm2, dword [0x180119f08]
cvtdq2ps xmm2, xmm2
mov eax, dword [0x18013be74]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x2a0], xmm0
movss dword [rbp + 0x2a4], xmm1
movss dword [rsp + 0x28], xmm8
mov dword [rsp + 0x20], 0x40
lea rdx, [rbp + 0x2a0]
mov rcx, rbx
call fcn.18001ffe0
cmp byte [0x18013be61], r14b
je 0x18004deb3
mov eax, dword [0x18013be74]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
lea rcx, [0x180068588]
call fcn.180008620
mov ebx, eax
movaps xmm0, xmm6
subss xmm0, dword [0x18006857c]
movss dword [rbp + 0x880], xmm0
movss dword [rbp + 0x884], xmm7
movaps xmm1, xmm6
subss xmm1, dword [0x180068578]
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm7
movss xmm0, dword [0x180068580]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movaps xmm0, xmm6
addss xmm0, dword [0x18006857c]
movss dword [rbp + 0x880], xmm0
movss dword [rbp + 0x884], xmm7
movaps xmm1, xmm6
addss xmm1, dword [0x180068578]
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm7
movss xmm0, dword [0x180068580]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movaps xmm0, xmm7
subss xmm0, dword [0x18006857c]
movss dword [rbp + 0x880], xmm6
movss dword [rbp + 0x884], xmm0
movaps xmm1, xmm7
subss xmm1, dword [0x180068578]
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm1
movss xmm0, dword [0x180068580]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movaps xmm0, xmm7
addss xmm0, dword [0x18006857c]
movss dword [rbp + 0x880], xmm6
movss dword [rbp + 0x884], xmm0
movaps xmm1, xmm7
addss xmm1, dword [0x180068578]
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm1
movss xmm0, dword [0x180068580]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movss xmm2, dword [0x180068580]
subss xmm2, xmm8
movaps xmm0, xmm6
subss xmm0, dword [0x18006857c]
addss xmm0, xmm8
movss dword [rbp + 0x880], xmm0
movss dword [rbp + 0x884], xmm7
movaps xmm1, xmm6
subss xmm1, dword [0x180068578]
subss xmm1, xmm8
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm7
movss dword [rsp + 0x20], xmm2
mov r9d, ebx
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movss xmm2, dword [0x180068580]
subss xmm2, xmm8
movaps xmm0, xmm6
addss xmm0, dword [0x18006857c]
subss xmm0, xmm8
movss dword [rbp + 0x880], xmm0
movss dword [rbp + 0x884], xmm7
movaps xmm1, xmm6
addss xmm1, dword [0x180068578]
addss xmm1, xmm8
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm7
movss dword [rsp + 0x20], xmm2
mov r9d, ebx
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movss xmm2, dword [0x180068580]
subss xmm2, xmm8
movaps xmm0, xmm7
subss xmm0, dword [0x18006857c]
addss xmm0, xmm8
movss dword [rbp + 0x880], xmm6
movss dword [rbp + 0x884], xmm0
movaps xmm1, xmm7
subss xmm1, dword [0x180068578]
subss xmm1, xmm8
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x20], xmm2
mov r9d, ebx
lea r8, [rbp + 0x880]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.180021760
movss xmm1, dword [0x180068580]
subss xmm1, xmm8
movaps xmm0, xmm7
addss xmm0, dword [0x18006857c]
subss xmm0, xmm8
movss dword [rbp - 0x10], xmm6
movss dword [rbp - 0xc], xmm0
addss xmm7, dword [0x180068578]
addss xmm7, xmm8
movss dword [rbp - 8], xmm6
movss dword [rbp - 4], xmm7
movss dword [rsp + 0x20], xmm1
mov r9d, ebx
lea r8, [rbp - 0x10]
lea rdx, [rbp - 8]
mov rcx, r13
call fcn.180021760
mov rax, qword [0x18013bd90]
mov qword [rsp + 0x48], rax
mov rcx, qword [0x18013bd98]
mov qword [rbp + 0x360], rcx
mov esi, 1
movss xmm12, dword [0x18005a4d0]
movss dword [rbp - 0x48], xmm12
movss xmm13, dword [0x18005a49c]
xorps xmm14, xmm14
movsd qword [rbp + 0x258], xmm14
movsd xmm15, qword [0x18005fc30]
movsd qword [rbp + 0x268], xmm15
movsd xmm11, qword [0x18005fc00]
movsd qword [rbp + 0x260], xmm11
cmp rax, rcx
je 0x180051aa3
mov ecx, dword [0x18013b618]
mov dword [rbp - 0x30], ecx
movzx edi, byte [rsp + 0x40]
movzx esi, byte [rsp + 0x40]
movzx r14d, byte [rsp + 0x40]
movzx ebx, byte [rsp + 0x40]
movzx r15d, byte [rsp + 0x40]
movdqa xmm14, xmmword [0x18005fd80]
movdqa xmmword [rbp + 0x6f0], xmm14
movdqa xmm0, xmmword [0x18005e6b0]
movups xmmword [rbp + 0x270], xmm0
movdqa xmm0, xmmword [0x18005fdb0]
movdqa xmmword [rbp + 0x730], xmm0
movdqa xmm0, xmmword [0x18005fd90]
movdqa xmmword [rbp + 0x400], xmm0
movdqa xmm15, xmmword [str.9999]
movdqa xmmword [rbp - 0x60], xmm15
movdqa xmm12, xmmword [0x18005fe10]
movdqa xmm11, xmmword [0x18005e560]
movdqa xmmword [rbp + 0x700], xmm11
mov r12, qword [rax + 8]
lea rcx, [r12 + 0x5b8]
call fcn.180046650
test rax, rax
jne 0x18004dfd6
lea rcx, [r12 + 0x5c0]
call fcn.180046650
mov rdx, rax
lea rcx, [rbp + 0x1eb0]
call fcn.180046550
lea rdx, [r12 + 0x1c0]
lea rcx, [rbp + 0x7a0]
call fcn.180046550
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x7a0]
call fcn.18004d4b0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x840]
lea rcx, [rbp + 0x1eb0]
call fcn.18004d4b0
movaps xmmword [rbp + 0x890], xmm6
movaps xmmword [rbp + 0x8a0], xmm7
movaps xmmword [rbp + 0x8b0], xmm8
movaps xmmword [rbp + 0x8c0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x900], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x910], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x920], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x930], xmm1
lea r8, [rbp + 0x890]
lea rdx, [rbp + 0x900]
lea rcx, [rbp + 0x800]
call fcn.180048470
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x890], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x8a0], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x8b0], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm6, xmm6
cvtss2sd xmm6, xmm1
movsd qword [rbp + 0x100], xmm6
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movsd qword [rbp + 0x108], xmm7
shufps xmm1, xmm1, 0xaa
xorps xmm10, xmm10
cvtss2sd xmm10, xmm1
movsd qword [rbp - 0x70], xmm10
movsd qword [rsp + 0x50], xmm6
movsd qword [rsp + 0x58], xmm7
movsd qword [rsp + 0x60], xmm10
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x770]
mov rcx, qword [0x18013bc58]
call fcn.180053990
movsd xmm0, qword [rax]
movsd qword [0x18013bc90], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x18013bc98], xmm1
movaps xmm1, xmm10
addsd xmm1, qword [0x18005fc28]
movaps xmm0, xmm6
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x910], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x780]
mov rcx, qword [0x18013bc58]
call fcn.180053990
movsd xmm0, qword [rax]
movsd qword [0x18013bd70], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x18013bd78], xmm1
movaps xmm1, xmm10
subsd xmm1, qword [0x18005fc10]
movaps xmm0, xmm6
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x910], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x790]
mov rcx, qword [0x18013bc58]
call fcn.180053990
movsd xmm0, qword [rax]
movsd qword [0x18013bd80], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x18013bd88], xmm1
mov r12, qword [rsp + 0x48]
mov r12, qword [r12 + 8]
lea rcx, [r12 + 0x5b8]
call fcn.180046650
test rax, rax
jne 0x18004e20a
lea rcx, [r12 + 0x5c0]
call fcn.180046650
lea rdx, [rax + 0x2940]
lea rcx, [rbp + 0x7a0]
call fcn.180046550
lea rdx, [r12 + 0x1c0]
lea rcx, [rbp + 0x1eb0]
call fcn.180046550
lea rdx, [rbp + 0x800]
lea rcx, [rbp + 0x1eb0]
call fcn.18004d4b0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x840]
lea rcx, [rbp + 0x7a0]
call fcn.18004d4b0
movaps xmmword [rbp + 0x890], xmm6
movaps xmmword [rbp + 0x8a0], xmm7
movaps xmmword [rbp + 0x8b0], xmm8
movaps xmmword [rbp + 0x8c0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x900], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x910], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x920], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x930], xmm1
lea r8, [rbp + 0x890]
lea rdx, [rbp + 0x900]
lea rcx, [rbp + 0x300]
call fcn.180048470
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x890], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x8a0], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x8b0], xmm0
movups xmm1, xmmword [rax + 0x30]
xorps xmm9, xmm9
cvtss2sd xmm9, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movsd qword [rbp + 0x3f0], xmm7
shufps xmm1, xmm1, 0xaa
xorps xmm6, xmm6
cvtss2sd xmm6, xmm1
movsd qword [rbp + 0x5a0], xmm6
movsd qword [rsp + 0x50], xmm9
movsd qword [rsp + 0x58], xmm7
movsd qword [rsp + 0x60], xmm6
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x760]
mov rcx, qword [0x18013bc58]
call fcn.180053990
movsd xmm0, qword [rax]
movsd qword [0x18013bc80], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x18013bc88], xmm1
movaps xmm1, xmm6
addsd xmm1, qword [0x18005fc10]
movaps xmm0, xmm9
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x910], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x280]
mov rcx, qword [0x18013bc58]
call fcn.180053990
movsd xmm0, qword [rax]
movsd qword [0x18013bd60], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x18013bd68], xmm1
movsd xmm0, qword [0x18013bc88]
subsd xmm0, qword [0x18013bd88]
andps xmm0, xmmword [0x18005f4e0]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movaps xmm8, xmm0
mulss xmm8, dword [0x18005fbb4]
mov r12, qword [0x18013bc70]
movsd xmm0, qword [rbp + 0x108]
subsd xmm0, qword [r12 + 0x68]
cvtpd2ps xmm0, xmm0
movss xmm7, dword [rbp - 0x48]
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm0, qword [rbp + 0x100]
subsd xmm0, qword [r12 + 0x60]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
subsd xmm10, qword [r12 + 0x70]
cvtpd2ps xmm0, xmm10
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x18004e45c
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x18004e464
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x18005fc68]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movss dword [rbp - 0x4c], xmm6
mov ecx, 0x5b8
call fcn.180046650
movd xmm0, dword [0x180068598]
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
jbe 0x18004e4a8
mov rax, qword [0x18013bc70]
cmp qword [rax + 0x28], 0
jne 0x180051a56
cmp byte [0x180119f00], 0
je 0x18004e589
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [0x18013bc80]
subsd xmm2, xmm0
mov eax, dword [0x18013be74]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x18013bc88]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x18004e514
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x18004e51f
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
cmp byte [0x18013be51], 0
je 0x18004e55c
mov r12, qword [rsp + 0x48]
mov rcx, qword [r12 + 8]
call fcn.180053580
test al, al
je 0x18004e589
movd xmm1, dword [0x180119f08]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm6
jbe 0x18004e589
movss xmm0, dword [rsp + 0x78]
comiss xmm0, xmm6
jbe 0x18004e589
mov rax, qword [r12]
jmp 0x18004e57f
movd xmm0, dword [0x180119f08]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x18004e589
movss xmm0, dword [rsp + 0x78]
comiss xmm0, xmm6
jbe 0x18004e589
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
movss dword [rsp + 0x78], xmm6
lea r10, [rbp + 0x1e65]
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x18004e5a0
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x1e65]
mov rdx, r10
lea rcx, [rbp + 0x9f8]
call fcn.180045820
nop
movups xmm2, xmmword [0x18005f740]
movups xmmword [rsp + 0x50], xmm2
movzx eax, word [0x18005f750]
mov word [rsp + 0x60], ax
movzx eax, byte [0x18005f752]
mov byte [rsp + 0x62], al
xor r10d, r10d
mov r8d, r10d
mov r12d, dword [rbp - 0x30]
movdqa xmm10, xmmword [0x18005fd30]
cmp r12d, 2
jl 0x18004e7e0
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm12
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm11
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm1, xmm11
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movdqa xmm3, xmmword [rbp + 0x400]
paddb xmm1, xmm3
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm12
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm10
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm1, xmm10
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm3
movd xmm0, dword [rsp + 0x54]
xorps xmm1, xmm0
movd dword [rsp + 0x54], xmm1
movdqa xmm7, xmmword [0x18005fd40]
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm12
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm7
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm1, xmm7
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm3
movd xmm0, dword [rsp + 0x58]
xorps xmm1, xmm0
movd dword [rsp + 0x58], xmm1
movdqa xmm6, xmmword [0x18005fd50]
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm12
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm3
movd xmm0, dword [rsp + 0x5c]
xorps xmm1, xmm0
movd dword [rsp + 0x5c], xmm1
mov r8d, 0x10
jmp 0x18004e7f0
movdqa xmm6, xmmword [0x18005fd50]
movdqa xmm7, xmmword [0x18005fd40]
mov eax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x18004e800
xorps xmm0, xmm0
movups xmmword [rbp + 0x9b8], xmm0
mov qword [rbp + 0x9c8], r10
mov qword [rbp + 0x9d0], r10
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r10b
jne 0x18004e857
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x9b8]
call fcn.18001e6d0
nop
lea r9, [rbp + 0x9f8]
lea r8, [rbp + 0x9b8]
movzx edx, dil
lea rcx, [rbp + 0xa48]
call fcn.180046950
nop
mov rdx, qword [rbp + 0x9d0]
cmp rdx, 0xf
jbe 0x18004e8d3
inc rdx
mov rcx, qword [rbp + 0x9b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004e8cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c14
call fcn.180053fa4
nop
mov rdx, qword [rbp + 0xa10]
cmp rdx, 0xf
jbe 0x18004e914
inc rdx
mov rcx, qword [rbp + 0x9f8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004e90f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c1b
call fcn.180053fa4
lea rdx, [rbp + 0xa48]
cmp qword [rbp + 0xa60], 0xf
cmova rdx, qword [rbp + 0xa48]
movss xmm0, dword [0x18005a550]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa40]
call fcn.1800076b0
cmp byte [0x18013be5e], 0
je 0x18004f1c5
xor r13d, r13d
mov r8d, r13d
movss xmm0, dword [0x180119f10]
comiss xmm0, dword [rbp - 0x4c]
mov eax, 1
cmovae r8d, eax
movss xmm0, dword [rbp + 0xa44]
addss xmm0, dword [0x18005a4f8]
addss xmm0, dword [0x18005f424]
mov dword [rbp + 0x880], 0x41200000
movss dword [rbp + 0x884], xmm0
lea r10, [rbp + 0x1e65]
nop dword [rax]
nop dword [rax + rax]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x18004e9b0
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x1e65]
mov rdx, r10
lea rcx, [rbp + 0x900]
call fcn.180045820
nop
movups xmm2, xmmword [str.TSAVL]
movups xmmword [rsp + 0x50], xmm2
movzx eax, word [0x18005f768]
mov word [rsp + 0x60], ax
cmp byte [0x18005f769], 0
je 0x18004ec23
mov r8d, r13d
cmp r12d, 2
jl 0x18004ebde
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm12
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm11
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm1, xmm11
psubd xmm1, xmm0
andps xmm1, xmm14
packuswb xmm1, xmm1
packuswb xmm1, xmm1
mov ecx, dword [rbp + 0x400]
movd xmm0, ecx
paddb xmm1, xmm0
movd eax, xmm2
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x50], xmm1
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
pmuldq xmm1, xmm12
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm10
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm2, xmm10
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x54]
xorps xmm2, xmm1
movd dword [rsp + 0x54], xmm2
movdqa xmm1, xmm7
punpckldq xmm1, xmm7
pmuldq xmm1, xmm12
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm7
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm2, xmm7
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x58]
xorps xmm2, xmm1
movd dword [rsp + 0x58], xmm2
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm12
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
movdqa xmm2, xmm6
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, ecx
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x5c]
xorps xmm2, xmm1
movd dword [rsp + 0x5c], xmm2
mov r8d, 0x10
mov eax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x18004ebf0
xorps xmm0, xmm0
movups xmmword [rbp + 0x890], xmm0
mov qword [rbp + 0x8a0], r13
mov qword [rbp + 0x8a8], r13
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18004ec50
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x890]
call fcn.18001e6d0
nop
lea r9, [rbp + 0x900]
lea r8, [rbp + 0x890]
movzx edx, sil
lea rcx, [rbp + 0x9b8]
call fcn.180046950
nop
mov rdx, qword [rbp + 0x8a8]
cmp rdx, 0xf
jbe 0x18004eccd
inc rdx
mov rcx, qword [rbp + 0x890]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ecc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c22
call fcn.180053fa4
nop
mov rdx, qword [rbp + 0x918]
cmp rdx, 0xf
jbe 0x18004ed0e
inc rdx
mov rcx, qword [rbp + 0x900]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ed09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c37
call fcn.180053fa4
movss xmm1, dword [rbp + 0x884]
addss xmm1, dword [rbp + 0xa44]
addss xmm1, dword [0x18005f424]
movss xmm0, dword [rbp + 0x880]
movss dword [rbp + 0xa38], xmm0
movss dword [rbp + 0xa3c], xmm1
movss xmm6, dword [0x180119f10]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x18005f234]
call fcn.180053e40
movsxd r13, eax
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp + 0x890]
call fcn.180046b40
lea rcx, [rbp + 0x890]
cmp qword [rbp + 0x8a8], 0xf
cmova rcx, qword [rbp + 0x890]
lea rdx, [r13 + 1]
movaps xmm3, xmm6
movq r9, xmm6
lea r8, [0x18005f234]
call fcn.180053f00
nop
movups xmm0, xmmword [str.sD_AQ_B]
movups xmmword [rbp + 0x300], xmm0
movups xmm1, xmmword [0x18005f780]
movups xmmword [rbp + 0x310], xmm1
movzx eax, word [0x18005f790]
mov word [rbp + 0x320], ax
movzx eax, byte [0x18005f792]
mov byte [rbp + 0x322], al
xor r13d, r13d
mov r8d, r13d
cmp r12d, 2
jl 0x18004ef09
movdqa xmm0, xmmword [rbp + 0x400]
movdqa xmmword [rbp + 0x1e50], xmm0
lea rcx, [rbp + 0x304]
mov edx, dword [rbp + 0x1e50]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm11
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm11
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm15
psubd xmm2, xmm0
andps xmm2, xmm14
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x18004ee10
cmp r8d, 0x23
jge 0x18004ef53
movsxd rax, r8d
lea r9, [rbp + 0x300]
add r9, rax
nop word [rax + rax]
mov eax, 0x8fb823ef
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x39
movzx eax, r8b
sub al, cl
add al, 0x30
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x23
jl 0x18004ef20
xorps xmm0, xmm0
movups xmmword [rbp + 0x900], xmm0
mov qword [rbp + 0x910], r13
mov qword [rbp + 0x918], r13
lea rax, [rbp + 0x300]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], r13b
jne 0x18004ef80
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x900]
call fcn.18001e6d0
nop
lea r9, [rbp + 0x890]
lea r8, [rbp + 0x900]
movzx edx, r14b
lea rcx, [rbp + 0x9f8]
call fcn.180046950
nop
mov rdx, qword [rbp + 0x918]
cmp rdx, 0xf
jbe 0x18004effe
inc rdx
mov rcx, qword [rbp + 0x900]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004eff8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c29
call fcn.180053fa4
nop
mov rdx, qword [rbp + 0x8a8]
cmp rdx, 0xf
jbe 0x18004f03f
inc rdx
mov rcx, qword [rbp + 0x890]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004f03a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c30
call fcn.180053fa4
mov qword [rbp + 0x8a0], r13
mov qword [rbp + 0x8a8], 0xf
mov byte [rbp + 0x890], 0
call fcn.18000bbc0
mov r13, rax
lea r12, [rbp + 0x9b8]
cmp qword [rbp + 0x9d0], 0xf
cmova r12, qword [rbp + 0x9b8]
movdqa xmm0, xmmword [rbp + 0x730]
movups xmmword [rbp + 0x720], xmm0
lea rcx, [rbp + 0x720]
call fcn.180008620
mov qword [rsp + 0x20], 0
mov r9, r12
mov r8d, eax
lea rdx, [rbp + 0x880]
mov rcx, r13
call fcn.1800252e0
call fcn.18000bbc0
mov r13, rax
lea r12, [rbp + 0x9f8]
cmp qword [rbp + 0xa10], 0xf
cmova r12, qword [rbp + 0x9f8]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp + 0x710], xmm0
lea rcx, [rbp + 0x710]
call fcn.180008620
mov qword [rsp + 0x20], 0
mov r9, r12
mov r8d, eax
lea rdx, [rbp + 0xa38]
mov rcx, r13
call fcn.1800252e0
nop
mov rdx, qword [rbp + 0xa10]
cmp rdx, 0xf
jbe 0x18004f146
inc rdx
mov rcx, qword [rbp + 0x9f8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004f141
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c37
call fcn.180053fa4
xor r12d, r12d
mov qword [rbp + 0xa08], r12
mov qword [rbp + 0xa10], 0xf
mov byte [rbp + 0x9f8], r12b
mov rdx, qword [rbp + 0x9d0]
cmp rdx, 0xf
jbe 0x18004f1a3
inc rdx
mov rcx, qword [rbp + 0x9b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004f19e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c3e
call fcn.180053fa4
mov qword [rbp + 0x9c8], r12
mov qword [rbp + 0x9d0], 0xf
mov byte [rbp + 0x9b8], 0
mov r13, qword [rbp + 0x250]
jmp 0x18004f1c8
xor r12d, r12d
movss xmm6, dword [0x180119a48]
movss xmm7, dword [0x180119a4c]
movss xmm10, dword [0x180119a50]
movss xmm11, dword [0x180119a58]
movss xmm14, dword [0x180119a5c]
movss xmm15, dword [0x180119a60]
movss xmm0, dword [0x180119a68]
movss dword [rbp + 0x2b8], xmm0
movss xmm1, dword [0x180119a6c]
movss dword [rbp + 0x2bc], xmm1
movss xmm0, dword [0x180119a70]
movss dword [rbp + 0x2c0], xmm0
mov dword [rbp + 0x2c4], 0x3f800000
xorps xmm1, xmm1
movups xmmword [rbp + 0x8d0], xmm1
cmp byte [0x18013be51], 0
je 0x18004f29d
cmp byte [0x180119f0e], 0
je 0x18004f29d
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
call fcn.180053580
movss xmm0, dword [rsp + 0x74]
movss dword [rbp - 0x34], xmm0
test al, al
je 0x18004f285
movss dword [rbp - 0x40], xmm6
movss dword [rbp - 0x3c], xmm7
movss dword [rbp - 0x38], xmm10
movups xmm0, xmmword [rbp - 0x40]
jmp 0x18004f2a4
movss dword [rbp - 0x40], xmm11
movss dword [rbp - 0x3c], xmm14
movss dword [rbp - 0x38], xmm15
movups xmm0, xmmword [rbp - 0x40]
jmp 0x18004f2a4
movups xmm0, xmmword [rbp + 0x2b8]
movups xmmword [rbp + 0x8d0], xmm0
cmp byte [0x18013be52], 0
je 0x18004f435
cmp byte [0x180119f0e], 0
je 0x18004f435
mov ecx, dword [0x18013be54]
test ecx, ecx
je 0x18004f3c5
sub ecx, 1
je 0x18004f351
cmp ecx, 1
jne 0x18004f435
movd xmm6, dword [0x180119f1c]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
mov r9d, eax
movsd xmm1, qword [0x18013bd78]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x18013bd70]
cvtpd2ps xmm0, xmm0
movss dword [rbp], xmm0
movss dword [rbp + 4], xmm1
movd xmm2, dword [0x18013be74]
cvtdq2ps xmm2, xmm2
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 8], xmm0
movss dword [rbp + 0xc], xmm2
lea r8, [rbp]
lea rdx, [rbp + 8]
jmp 0x18004f427
movd xmm6, dword [0x180119f1c]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
mov r9d, eax
movsd xmm1, qword [0x18013bd68]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x18013bd60]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
mov eax, dword [0x18013be74]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x18], xmm0
movss dword [rbp + 0x1c], xmm1
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
jmp 0x18004f427
movd xmm6, dword [0x180119f1c]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
mov r9d, eax
movsd xmm1, qword [0x18013bd68]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x18013bd60]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x28], xmm0
mov dword [rbp + 0x2c], 0
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
movss dword [rsp + 0x20], xmm6
mov rcx, r13
call fcn.180021760
cmp byte [0x180119f0d], 0
je 0x18004fd2f
cmp byte [0x180119f0e], 0
je 0x18004fd2f
mov ecx, dword [0x18013be68]
test ecx, ecx
je 0x18004f8f7
sub ecx, 1
je 0x18004f777
sub ecx, 1
je 0x18004f662
sub ecx, 1
je 0x18004f587
cmp ecx, 1
jne 0x18004fd2f
xorps xmm7, xmm7
cmp byte [0x18013be6c], 0
je 0x18004f509
movsd xmm2, qword [0x18013bc98]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm8
mulss xmm0, xmm13
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movaps xmm1, xmm3
addsd xmm1, qword [0x18013bc90]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm2
movsd xmm1, qword [0x18013bd68]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x18013bd60]
subsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x38], xmm0
movss dword [rbp + 0x3c], xmm1
mov dword [rsp + 0x28], r12d
movss dword [rsp + 0x20], xmm7
mov r9d, 0x7f0000ff
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov rcx, r13
call fcn.180022860
movsd xmm1, qword [0x18013bc98]
cvtpd2ps xmm1, xmm1
mulss xmm8, xmm13
xorps xmm2, xmm2
cvtss2sd xmm2, xmm8
movaps xmm0, xmm2
addsd xmm0, qword [0x18013bc90]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm1
movsd xmm1, qword [0x18013bd68]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x18013bd60]
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x4c], xmm1
mov dword [rsp + 0x28], r12d
movss dword [rsp + 0x20], xmm7
mov r9d, 0x800000ff
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
mov rcx, r13
call fcn.180022860
jmp 0x18004fd2f
movss xmm7, dword [rsp + 0x70]
cmp byte [0x18013be6c], 0
je 0x18004f604
movd xmm0, dword [0x180119f18]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x18005fbe8]
cvttsd2si eax, xmm0
cvttsd2si edx, qword [0x18013bd68]
movaps xmm0, xmm8
mulss xmm0, xmm13
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x18013bd60]
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
movups xmm0, xmmword [rbp + 0x270]
movdqa xmmword [rbp + 0x1e50], xmm0
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x1e50]
mov qword [rsp + 0x20], rax
call fcn.18004d6d0
movups xmm0, xmmword [rbp + 0x8d0]
movdqa xmmword [rbp + 0x1e50], xmm0
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
cvttsd2si edx, qword [0x18013bd68]
mulss xmm8, xmm13
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
movsd xmm1, qword [0x18013bd60]
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov eax, dword [0x180119f18]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x1e50]
mov qword [rsp + 0x20], rax
call fcn.18004d6d0
jmp 0x18004fd2f
cmp byte [0x18013be6c], 0
je 0x18004f701
movd xmm0, dword [0x180119f18]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x18005fbe0]
cvttsd2si r12d, xmm0
movups xmm0, xmmword [rbp + 0x270]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180008620
mov dword [rbp + 0x1e50], eax
movss xmm7, dword [rsp + 0x70]
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
cvttsd2si edx, qword [0x18013bd68]
movaps xmm0, xmm8
mulss xmm0, xmm13
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x18013bc90]
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
mov byte [rsp + 0x38], 0
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0x1e50]
mov qword [rsp + 0x20], rax
call fcn.180047420
jmp 0x18004f70a
movss xmm7, dword [rsp + 0x70]
xor r13d, r13d
mov r12d, dword [0x180119f18]
lea rcx, [rbp + 0x8d0]
call fcn.180008620
mov dword [rbp + 0x1e50], eax
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
cvttsd2si edx, qword [0x18013bd68]
mulss xmm8, xmm13
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
movsd xmm1, qword [0x18013bc90]
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0x1e50]
mov qword [rsp + 0x20], rax
call fcn.180047420
jmp 0x18004fd32
cmp byte [0x18013be6c], 0
je 0x18004f846
movd xmm0, dword [0x180119f18]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x18005fbe0]
cvtpd2ps xmm6, xmm0
movups xmm0, xmmword [rbp + 0x270]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180008620
movss xmm7, dword [rsp + 0x70]
cvtps2pd xmm0, xmm7
movsd xmm4, qword [0x18013bd68]
addsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
movaps xmm0, xmm8
mulss xmm0, xmm13
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x18013bd60]
subsd xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm3
cvtpd2ps xmm1, xmm4
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm1
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0xf0
movss xmm11, dword [0x18005a4f8]
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r13
call fcn.180022750
jmp 0x18004f855
movss xmm7, dword [rsp + 0x70]
movss xmm11, dword [0x18005a4f8]
movd xmm6, dword [0x180119f18]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
cvtps2pd xmm0, xmm7
movsd xmm4, qword [0x18013bd68]
addsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
movaps xmm0, xmm8
mulss xmm0, xmm13
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x18013bd60]
subsd xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x60], xmm0
movss dword [rbp + 0x64], xmm3
cvtpd2ps xmm1, xmm4
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm1
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x68]
mov rcx, r13
call fcn.180022750
xor r13d, r13d
jmp 0x18004fd3b
cmp byte [0x18013be6c], 0
je 0x18004fb28
mov eax, dword [0x180119f18]
add eax, 2
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movups xmm10, xmmword [rbp + 0x270]
movups xmmword [rsp + 0x50], xmm10
lea rcx, [rsp + 0x50]
call fcn.180008620
movsd xmm2, qword [0x18013bd68]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm8
mulss xmm0, xmm13
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm1, xmm7
addsd xmm1, qword [0x18013bc90]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm2
movsd xmm1, qword [0x18013bd60]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x78], xmm0
movss dword [rbp + 0x7c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x78]
mov rcx, r13
call fcn.180021760
mov eax, dword [0x180119f18]
add eax, 2
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movups xmmword [rsp + 0x50], xmm10
lea rcx, [rsp + 0x50]
call fcn.180008620
movsd xmm2, qword [0x18013bc98]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x18013bd60]
subsd xmm0, xmm7
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x80], xmm1
movss dword [rbp + 0x84], xmm2
movsd xmm0, qword [0x18013bd68]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x88], xmm1
movss dword [rbp + 0x8c], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x88]
mov rcx, r13
call fcn.180021760
mov eax, dword [0x180119f18]
add eax, 2
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movups xmmword [rsp + 0x50], xmm10
lea rcx, [rsp + 0x50]
call fcn.180008620
movsd xmm2, qword [0x18013bc98]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm7
addsd xmm0, qword [0x18013bc90]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x90], xmm0
movss dword [rbp + 0x94], xmm2
movsd xmm1, qword [0x18013bd60]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x98], xmm0
movss dword [rbp + 0x9c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x98]
mov rcx, r13
call fcn.180021760
mov eax, dword [0x180119f18]
add eax, 2
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movups xmmword [rsp + 0x50], xmm10
lea rcx, [rsp + 0x50]
call fcn.180008620
movsd xmm0, qword [0x18013bc98]
cvtpd2ps xmm0, xmm0
addsd xmm7, qword [0x18013bc90]
cvtpd2ps xmm1, xmm7
movss dword [rbp + 0xa0], xmm1
movss dword [rbp + 0xa4], xmm0
movsd xmm0, qword [0x18013bd68]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa8], xmm1
movss dword [rbp + 0xac], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0xa8]
mov rcx, r13
call fcn.180021760
movd xmm6, dword [0x180119f18]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
movsd xmm2, qword [0x18013bd68]
cvtpd2ps xmm2, xmm2
mulss xmm8, xmm13
xorps xmm7, xmm7
cvtss2sd xmm7, xmm8
movaps xmm0, xmm7
addsd xmm0, qword [0x18013bc90]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb0], xmm0
movss dword [rbp + 0xb4], xmm2
movsd xmm1, qword [0x18013bd60]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xb8]
mov rcx, r13
call fcn.180021760
movd xmm6, dword [0x180119f18]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
movsd xmm2, qword [0x18013bc98]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x18013bd60]
subsd xmm0, xmm7
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0xc0], xmm1
movss dword [rbp + 0xc4], xmm2
movsd xmm0, qword [0x18013bd68]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xc8], xmm1
movss dword [rbp + 0xcc], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0xc8]
mov rcx, r13
call fcn.180021760
movd xmm6, dword [0x180119f18]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
movsd xmm2, qword [0x18013bc98]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm7
addsd xmm0, qword [0x18013bc90]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd0], xmm0
movss dword [rbp + 0xd4], xmm2
movsd xmm1, qword [0x18013bd60]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0xd8], xmm0
movss dword [rbp + 0xdc], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xd8]
mov rcx, r13
call fcn.180021760
movd xmm6, dword [0x180119f18]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
movsd xmm0, qword [0x18013bc98]
cvtpd2ps xmm0, xmm0
addsd xmm7, qword [0x18013bc90]
cvtpd2ps xmm1, xmm7
movss dword [rbp + 0xe0], xmm1
movss dword [rbp + 0xe4], xmm0
movsd xmm0, qword [0x18013bd68]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe8], xmm1
movss dword [rbp + 0xec], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0xe8]
mov rcx, r13
call fcn.180021760
xor r13d, r13d
movss xmm11, dword [0x18005a4f8]
mov r12, qword [rsp + 0x48]
cmp byte [0x180119f14], 0
je 0x18004fe45
cmp byte [0x180119f0e], 0
je 0x18004fe45
cmp dword [0x18013be48], 0
jne 0x18004fe45
mov r8, qword [r12 + 0x18]
lea rdx, [rbp + 0xa78]
mov rcx, qword [0x18013bc58]
call fcn.1800530c0
nop
lea rdx, [rbp + 0xa78]
cmp qword [rbp + 0xa90], 0xf
cmova rdx, qword [rbp + 0xa78]
movss xmm14, dword [0x18005a550]
movss dword [rsp + 0x20], xmm14
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa98]
call fcn.1800076b0
lea rax, [rbp + 0xa78]
cmp qword [rbp + 0xa90], 0xf
cmova rax, qword [rbp + 0xa78]
movsd xmm0, qword [0x18013bd68]
subsd xmm0, qword [0x18005fc38]
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0xa98]
mulss xmm1, xmm13
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x18013bd60]
subsd xmm2, xmm0
cvttsd2si edx, xmm2
movups xmm10, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x50], xmm10
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x180119f04]
movd ecx, xmm0
call fcn.180047b20
nop
lea rcx, [rbp + 0xa78]
call fcn.18001ec90
jmp 0x18004fe53
movups xmm10, xmmword [rbp - 0x20]
movss xmm14, dword [0x18005a550]
cmp byte [0x180119f15], 0
je 0x180050327
cmp byte [0x180119f0f], 0
je 0x180050327
mov rcx, qword [r12 + 0x18]
add rcx, 0x9f0
call fcn.180046650
lea rcx, [rax + 0xc8]
call fcn.180046370
mov r13d, eax
mov r8d, eax
lea rdx, [rbp + 0x998]
mov rcx, qword [0x18013bc58]
call fcn.180053330
nop
cmp qword [rbp + 0x9a8], 0
jne 0x18004fedb
xorps xmm0, xmm0
movups xmmword [rbp + 0x940], xmm0
xor edx, edx
mov eax, edx
mov qword [rbp + 0x950], rdx
mov ecx, 7
mov qword [rbp + 0x958], rcx
mov word [rbp + 0x940], dx
jmp 0x18004ffbc
lea r8, [rbp + 0x998]
cmp qword [rbp + 0x9b0], 0xf
cmova r8, qword [rbp + 0x998]
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x9a8]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd r12, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x890], xmm0
xor eax, eax
mov qword [rbp + 0x8a0], rax
mov qword [rbp + 0x8a8], rax
mov r8, r12
xor edx, edx
lea rcx, [rbp + 0x890]
call fcn.180045e20
lea rcx, [rbp + 0x890]
cmp qword [rbp + 0x8a8], 7
cmova rcx, qword [rbp + 0x890]
lea r8, [rbp + 0x998]
cmp qword [rbp + 0x9b0], 0xf
cmova r8, qword [rbp + 0x998]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x9a8]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movups xmm0, xmmword [rbp + 0x890]
movups xmmword [rbp + 0x940], xmm0
movups xmm1, xmmword [rbp + 0x8a0]
movups xmmword [rbp + 0x950], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
movq rax, xmm1
xor edx, edx
test rax, rax
jne 0x18004fff8
xorps xmm0, xmm0
movups xmmword [rbp + 0x900], xmm0
mov qword [rbp + 0x910], rdx
mov r12d, 0xf
mov qword [rbp + 0x918], r12
mov byte [rbp + 0x900], al
movups xmm1, xmmword [rbp + 0x910]
movups xmm6, xmmword [rbp + 0x900]
jmp 0x1800500c9
lea r8, [rbp + 0x940]
cmp rcx, 7
cmova r8, qword [rbp + 0x940]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rdx
mov r9d, dword [rbp + 0x950]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd r12, eax
mov rdx, r12
xor r8d, r8d
lea rcx, [rbp + 0x890]
call fcn.180046b40
lea rcx, [rbp + 0x890]
cmp qword [rbp + 0x8a8], 0xf
cmova rcx, qword [rbp + 0x890]
lea r8, [rbp + 0x940]
cmp qword [rbp + 0x958], 7
cmova r8, qword [rbp + 0x940]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x950]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmm6, xmmword [rbp + 0x890]
movups xmmword [rbp + 0x900], xmm6
movups xmm1, xmmword [rbp + 0x8a0]
movups xmmword [rbp + 0x910], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r12, xmm0
movaps xmmword [rbp + 0x300], xmm6
movaps xmmword [rbp + 0x310], xmm1
lea r8, [rbp + 0x300]
lea rdx, [0x18005a35c]
lea rcx, [rbp + 0x1e70]
call fcn.1800468f0
cmp r13d, 2
jbe 0x1800501e4
lea eax, [r13 - 3]
cmp eax, 2
jbe 0x1800501d1
lea eax, [r13 - 6]
cmp eax, 2
jbe 0x1800501be
lea eax, [r13 - 9]
cmp eax, 2
jbe 0x1800501ab
lea eax, [r13 - 0xc]
cmp eax, 2
jbe 0x180050191
cmp r13d, 0xf
jne 0x18005014b
movss xmm8, dword [0x18005a4ac]
movaps xmm2, xmm8
movaps xmm3, xmm8
movaps xmm4, xmm8
jmp 0x1800501fc
cmp r13d, 0x10
jne 0x180050167
xorps xmm2, xmm2
movss xmm3, dword [0x18005a4a0]
movss xmm4, dword [rsp + 0x74]
jmp 0x1800501fc
cmp r13d, 0x11
jne 0x180050180
movss xmm0, dword [0x18005a4a0]
movaps xmm2, xmm0
xorps xmm3, xmm3
movaps xmm4, xmm0
jmp 0x1800501fc
movss xmm0, dword [rsp + 0x74]
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
jmp 0x1800501fc
movss xmm2, dword [0x18005fbbc]
movss xmm3, dword [0x18005fbb0]
movss xmm4, dword [0x18005fba8]
jmp 0x1800501fc
movss xmm0, dword [0x18005a4ac]
movaps xmm2, xmm0
movaps xmm3, xmm0
xorps xmm4, xmm4
jmp 0x1800501fc
xorps xmm2, xmm2
movss xmm3, dword [0x18005fbc4]
movss xmm4, dword [rsp + 0x74]
jmp 0x1800501fc
movss xmm0, dword [0x18005fbc0]
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
jmp 0x1800501fc
movss xmm2, dword [0x18005fbac]
movss xmm3, dword [0x18005fbb8]
movss xmm4, dword [0x18005fbc8]
mov dword [rbp + 0x2d4], 0x3f800000
movsd xmm0, qword [0x18013bd68]
movsd xmm7, qword [0x18005fc18]
subsd xmm0, xmm7
cvttsd2si r8d, xmm0
movsd xmm1, qword [0x18013bd60]
subsd xmm1, qword [rbp + 0x258]
subsd xmm1, qword [0x18005fc20]
cvttsd2si edx, xmm1
movups xmm0, xmmword [rbp + 0x2c8]
movss xmm0, xmm4
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm3
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm2
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp + 0x2c8], xmm0
movdqa xmmword [rsp + 0x50], xmm0
lea rax, [rbp + 0x1e70]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x180119f04]
movd ecx, xmm0
call fcn.180047b20
nop
cmp r12, 0xf
jbe 0x1800502af
mov r8, r12
movq rdx, xmm6
lea rcx, [rbp + 0x900]
call fcn.18004d8e0
nop
mov r8, qword [rbp + 0x958]
cmp r8, 7
jbe 0x1800502cf
mov rdx, qword [rbp + 0x940]
lea rcx, [rbp + 0x940]
call fcn.18004d920
xor r13d, r13d
mov qword [rbp + 0x950], r13
mov qword [rbp + 0x958], 7
mov word [rbp + 0x940], r13w
mov r8, qword [rbp + 0x9b0]
cmp r8, 0xf
jbe 0x18005030c
mov rdx, qword [rbp + 0x998]
lea rcx, [rbp + 0x998]
call fcn.18004d8e0
mov qword [rbp + 0x9a8], r13
mov qword [rbp + 0x9b0], 0xf
mov byte [rbp + 0x998], 0
jmp 0x18005032f
movsd xmm7, qword [0x18005fc18]
cmp byte [0x18013be63], 0
je 0x180050565
cmp byte [0x180119f0e], 0
je 0x180050565
mov r12, qword [rsp + 0x48]
mov rcx, qword [r12 + 0x18]
add rcx, 0x438
call fcn.180046650
mov rcx, qword [r12 + 0x18]
add rcx, 0x438
call fcn.180046650
xorps xmm0, xmm0
movups xmmword [rbp + 0x9d8], xmm0
mov qword [rbp + 0x9e8], r13
mov qword [rbp + 0x9f0], r13
lea rax, [rbp + 0x1eb0]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800503a0
lea rdx, [rbp + 0x1eb0]
lea rcx, [rbp + 0x9d8]
call fcn.180045cf0
nop
lea rdx, [rbp + 0x9d8]
cmp qword [rbp + 0x9f0], 7
cmova rdx, qword [rbp + 0x9d8]
mov rax, qword [rbp + 0x9e8]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x9d8]
cmova rdx, qword [rbp + 0x9d8]
lea r9, [rsp + 0x40]
lea rcx, [rbp + 0xa18]
call fcn.180045960
nop
lea rdx, [rbp + 0xa18]
cmp qword [rbp + 0xa30], 0xf
cmova rdx, qword [rbp + 0xa18]
movss dword [rsp + 0x20], xmm14
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa68]
call fcn.1800076b0
lea rax, [rbp + 0xa18]
cmp qword [rbp + 0xa30], 0xf
cmova rax, qword [rbp + 0xa18]
movsd xmm0, qword [0x18013bd68]
subsd xmm0, qword [rbp + 0x268]
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0xa68]
mulss xmm1, xmm13
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x18013bc90]
subsd xmm2, xmm0
cvttsd2si edx, xmm2
movdqa xmmword [rsp + 0x50], xmm10
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x180119f04]
movd ecx, xmm0
call fcn.180047b20
nop
mov rdx, qword [rbp + 0xa30]
cmp rdx, 0xf
jbe 0x1800504ec
inc rdx
mov rcx, qword [rbp + 0xa18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800504e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c45
call fcn.180053fa4
mov qword [rbp + 0xa28], r13
mov qword [rbp + 0xa30], 0xf
mov byte [rbp + 0xa18], 0
mov rdx, qword [rbp + 0x9f0]
cmp rdx, 7
jbe 0x18005054b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x9d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180050546
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c4c
call fcn.180053fa4
mov qword [rbp + 0x9e8], r13
mov qword [rbp + 0x9f0], 7
mov word [rbp + 0x9d8], r13w
cmp byte [0x18013be5f], 0
je 0x18005074a
movsd xmm6, qword [rbp + 0x5a0]
movaps xmm1, xmm6
addsd xmm1, xmm7
movaps xmm0, xmm9
movsd xmm7, qword [rbp + 0x3f0]
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x910], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x410]
mov rcx, qword [0x18013bc58]
call fcn.180053990
subsd xmm6, qword [0x180119f40]
subsd xmm7, qword [0x180119f38]
subsd xmm9, qword [0x180119f30]
mulsd xmm9, xmm9
mulsd xmm7, xmm7
addsd xmm9, xmm7
mulsd xmm6, xmm6
addsd xmm9, xmm6
xorps xmm0, xmm0
ucomisd xmm0, xmm9
ja 0x180050600
xorps xmm0, xmm0
sqrtsd xmm0, xmm9
jmp 0x180050609
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
xorps xmm7, xmm7
cvtsi2ss xmm7, dword [0x18013be74]
movss xmm0, dword [0x180119f60]
mulss xmm0, dword [0x18005e514]
divss xmm0, dword [0x18005f45c]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
addss xmm6, xmm6
mulss xmm0, xmm6
divss xmm7, xmm0
mulss xmm7, xmm11
cvtps2pd xmm0, xmm7
subsd xmm0, qword [0x18005fbd8]
cvtpd2ps xmm8, xmm0
movsd xmm1, qword [rbp + 0x418]
addsd xmm1, qword [0x18005fc58]
movsd qword [rbp + 0x418], xmm1
cvtpd2ps xmm7, xmm1
movsd xmm9, qword [rbp + 0x410]
cmp byte [0x18013be6c], 0
je 0x1800506f2
call fcn.18000bbc0
mov r12, rax
mov ecx, dword [0x180119f20]
add ecx, 2
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movups xmm0, xmmword [rbp + 0x270]
movups xmmword [rbp + 0x750], xmm0
lea rcx, [rbp + 0x750]
call fcn.180008620
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0xf0], xmm0
movss dword [rbp + 0xf4], xmm7
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x32
mov r9d, eax
movaps xmm2, xmm8
lea rdx, [rbp + 0xf0]
mov rcx, r12
call fcn.18001ffe0
call fcn.18000bbc0
mov r12, rax
movd xmm6, dword [0x180119f20]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.180008620
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0xf8], xmm0
movss dword [rbp + 0xfc], xmm7
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x32
mov r9d, eax
movaps xmm2, xmm8
lea rdx, [rbp + 0xf8]
mov rcx, r12
call fcn.18001ffe0
cmp byte [0x18013be62], 0
je 0x1800508f9
movzx r9d, byte [0x180068585]
movss xmm2, dword [0x180119a1c]
movss xmm1, dword [0x180119a18]
movss xmm0, dword [0x180119a0c]
call fcn.180052bb0
cmp byte [0x180068584], 0
je 0x1800508f9
xor edx, edx
mov r8d, 0x209f
lea rcx, str.radar
call fcn.180004040
mov dword [rsp + 0x70], r13d
call fcn.18000cb50
call fcn.18000cb50
mov r12, rax
movsd xmm0, qword [rbp + 0x100]
movsd xmm1, qword [rbp + 0x108]
unpcklpd xmm0, xmm1
movaps xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [rbp - 0x70]
movsd qword [rsp + 0x60], xmm0
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.1800471c0
cmp byte [0x18013be51], 0
je 0x180050865
movss xmm0, dword [0x180119a48]
movss dword [rbp + 0x2d8], xmm0
movss xmm1, dword [0x180119a4c]
movss dword [rbp + 0x2dc], xmm1
movss xmm0, dword [0x180119a50]
movss dword [rbp + 0x2e0], xmm0
mov dword [rbp + 0x2e4], 0x3f800000
movss xmm1, dword [rsp + 0x74]
lea rcx, [rbp + 0x2d8]
call fcn.18000bd20
movd xmm1, dword [rsp + 0x70]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbp - 0x50]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x110], xmm0
movss dword [rbp + 0x114], xmm1
lea rdx, [rbp + 0x110]
jmp 0x1800508d9
movss xmm0, dword [0x180119a58]
movss dword [rbp + 0x2a8], xmm0
movss xmm1, dword [0x180119a5c]
movss dword [rbp + 0x2ac], xmm1
movss xmm0, dword [0x180119a60]
movss dword [rbp + 0x2b0], xmm0
mov dword [rbp + 0x2b4], 0x3f800000
movss xmm1, dword [rsp + 0x74]
lea rcx, [rbp + 0x2a8]
call fcn.18000bd20
movd xmm1, dword [rsp + 0x70]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbp - 0x50]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x118], xmm0
movss dword [rbp + 0x11c], xmm1
lea rdx, [rbp + 0x118]
mov dword [rsp + 0x20], 7
mov r9d, eax
movss xmm2, dword [0x18005a4e4]
mov rcx, r12
call fcn.1800200d0
call fcn.1800096d0
cmp byte [0x18013be60], 0
je 0x180050b6b
cmp byte [0x180119f0e], 0
je 0x180050b6b
cmp dword [0x18013be64], 0
jne 0x180050b6b
xorps xmm0, xmm0
movups xmmword [rbp + 0x890], xmm0
mov qword [rbp + 0x8a0], r13
mov qword [rbp + 0x8a8], r13
mov r8d, 2
lea rdx, [0x18005f794]
lea rcx, [rbp + 0x890]
call fcn.18001e6d0
nop
cvttss2si edx, dword [rbp - 0x4c]
lea rcx, [rbp + 0x900]
call fcn.1800538c0
mov r12, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x180050a27
lea r8, [rcx + 1]
mov qword [r12 + 0x10], r8
mov r13, r12
cmp rdx, 0xf
jbe 0x180050994
mov r13, qword [r12]
lea rax, [0x18005f799]
cmp rax, r13
jbe 0x1800509cf
lea rax, [rcx + r13]
lea rcx, [0x18005f798]
cmp rcx, rax
ja 0x1800509cf
cmp r13, rcx
ja 0x1800509c0
xor eax, eax
mov qword [rbp + 0x1e50], rax
jmp 0x1800509da
mov rax, r13
sub rax, rcx
mov qword [rbp + 0x1e50], rax
jmp 0x1800509da
mov qword [rbp + 0x1e50], 1
lea rcx, [r13 + 1]
mov rdx, r13
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp + 0x1e50]
lea rdx, [0x18005f798]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 1
mov rax, qword [rbp + 0x1e50]
sub r8, rax
lea rdx, [0x18005f798]
inc rdx
add rdx, rax
lea rcx, [rax + r13]
call sub.VCRUNTIME140.dll_memcpy
xor r13d, r13d
jmp 0x180050a51
mov eax, 1
mov qword [rsp + 0x28], rax
lea rcx, [0x18005f798]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
movzx r8d, bl
mov edx, eax
mov rcx, r12
call fcn.18001e9b0
mov r12, rax
movups xmm0, xmmword [r12]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
lea r9, [rbp + 0x890]
lea r8, [rbp - 0x80]
movzx edx, r15b
lea rcx, [rbp + 0x960]
call fcn.180046950
nop
lea rcx, [rbp - 0x80]
call fcn.18001ec90
nop
lea rcx, [rbp + 0x900]
call fcn.18001ec90
nop
lea rcx, [rbp + 0x890]
call fcn.18001ec90
lea rdx, [rbp + 0x960]
cmp qword [rbp + 0x978], 0xf
cmova rdx, qword [rbp + 0x960]
movss dword [rsp + 0x20], xmm14
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa70]
call fcn.1800076b0
lea rax, [rbp + 0x960]
cmp qword [rbp + 0x978], 0xf
cmova rax, qword [rbp + 0x960]
movsd xmm0, qword [0x18013bc98]
addsd xmm0, qword [rbp + 0x260]
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0xa70]
mulss xmm1, xmm13
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x18013bc90]
subsd xmm2, xmm0
cvttsd2si edx, xmm2
movdqa xmmword [rsp + 0x50], xmm10
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x180119f04]
movd ecx, xmm0
call fcn.180047b20
nop
lea rcx, [rbp + 0x960]
call fcn.18001ec90
cmp byte [0x180119f0c], 0
je 0x1800519dd
cmp byte [0x180119f0e], 0
je 0x1800519dd
mov rax, qword [rsp + 0x48]
mov r12, qword [rax + 8]
mov r13, qword [0x18013bc58]
movss xmm0, dword [0x180119a68]
movss dword [rbp + 0x2e8], xmm0
movss xmm1, dword [0x180119a6c]
movss dword [rbp + 0x2ec], xmm1
movss xmm0, dword [0x180119a70]
movss dword [rbp + 0x2f0], xmm0
mov dword [rbp + 0x2f4], 0x3f800000
lea rcx, [rbp + 0x2e8]
call fcn.180008620
mov dword [rbp + 0x1e50], eax
mov r8d, 0x43
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.180047050
mov r8d, 3
mov rdx, r12
lea rcx, [rbp + 0x520]
call fcn.180047050
mov r8d, 0x42
mov rdx, r12
lea rcx, [rbp + 0x500]
call fcn.180047050
mov r8d, 9
mov rdx, r12
lea rcx, [rbp + 0x4e0]
call fcn.180047050
mov r8d, 0x26
mov rdx, r12
lea rcx, [rbp + 0x4a0]
call fcn.180047050
mov r8d, 0xa
mov rdx, r12
lea rcx, [rbp + 0x540]
call fcn.180047050
mov r8d, 0x27
mov rdx, r12
lea rcx, [rbp + 0x480]
call fcn.180047050
mov r8d, 0x21
mov rdx, r12
lea rcx, [rbp + 0x460]
call fcn.180047050
mov r8d, 0x3e
mov rdx, r12
lea rcx, [rbp + 0x440]
call fcn.180047050
mov r8d, 0x21
mov rdx, r12
lea rcx, [rbp + 0x420]
call fcn.180047050
mov r8d, 0x3e
mov rdx, r12
lea rcx, [rbp + 0x3d0]
call fcn.180047050
mov r8d, 0x4e
mov rdx, r12
lea rcx, [rbp + 0x370]
call fcn.180047050
mov r8d, 0x47
mov rdx, r12
lea rcx, [rbp + 0x4c0]
call fcn.180047050
mov r8d, 0x4f
mov rdx, r12
lea rcx, [rbp + 0x340]
call fcn.180047050
mov r8d, 0x48
mov rdx, r12
lea rcx, [rbp + 0x560]
call fcn.180047050
mov r8d, 0x49
mov rdx, r12
lea rcx, [rbp + 0x580]
call fcn.180047050
mov r8d, 0x50
mov rdx, r12
lea rcx, [rbp + 0x300]
call fcn.180047050
mov r8d, 0x4b
mov rdx, r12
lea rcx, [rbp + 0x3b0]
call fcn.180047050
mov r8d, 0x52
mov rdx, r12
lea rcx, [rbp + 0x390]
call fcn.180047050
mov r8d, 0x4c
mov rdx, r12
lea rcx, [rbp + 0x900]
call fcn.180047050
mov r8d, 0x53
mov rdx, r12
lea rcx, [rbp - 0x80]
call fcn.180047050
movsd xmm2, qword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm1
movsd qword [rbp + 0x8a0], xmm2
movsd qword [rsp + 0x60], xmm2
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x8e0]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x520]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rbp + 0x530]
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x6b8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x500]
movaps xmmword [rbp + 0x520], xmm0
movsd xmm1, qword [rbp + 0x510]
movsd qword [rbp + 0x530], xmm1
lea r8, [rbp + 0x520]
lea rdx, [rbp + 0x6a8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x4e0]
movaps xmmword [rbp + 0x500], xmm0
movsd xmm1, qword [rbp + 0x4f0]
movsd qword [rbp + 0x510], xmm1
lea r8, [rbp + 0x500]
lea rdx, [rbp + 0x6c8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x4a0]
movaps xmmword [rbp + 0x4e0], xmm0
movsd xmm1, qword [rbp + 0x4b0]
movsd qword [rbp + 0x4f0], xmm1
lea r8, [rbp + 0x4e0]
lea rdx, [rbp + 0x6d8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x4a0], xmm0
movsd xmm1, qword [rbp + 0x550]
movsd qword [rbp + 0x4b0], xmm1
lea r8, [rbp + 0x4a0]
lea rdx, [rbp + 0x5a8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x480]
movaps xmmword [rbp + 0x540], xmm0
movsd xmm1, qword [rbp + 0x490]
movsd qword [rbp + 0x550], xmm1
lea r8, [rbp + 0x540]
lea rdx, [rbp + 0x5b8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x460]
movaps xmmword [rbp + 0x480], xmm0
movsd xmm1, qword [rbp + 0x470]
movsd qword [rbp + 0x490], xmm1
lea r8, [rbp + 0x480]
lea rdx, [rbp + 0x5c8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x440]
movaps xmmword [rbp + 0x460], xmm0
movsd xmm1, qword [rbp + 0x450]
movsd qword [rbp + 0x470], xmm1
lea r8, [rbp + 0x460]
lea rdx, [rbp + 0x5d8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x420]
movaps xmmword [rbp + 0x440], xmm0
movsd xmm1, qword [rbp + 0x430]
movsd qword [rbp + 0x450], xmm1
lea r8, [rbp + 0x440]
lea rdx, [rbp + 0x5e8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x3d0]
movaps xmmword [rbp + 0x420], xmm0
movsd xmm1, qword [rbp + 0x3e0]
movsd qword [rbp + 0x430], xmm1
lea r8, [rbp + 0x420]
lea rdx, [rbp + 0x5f8]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x3b0]
movaps xmmword [rbp + 0x3d0], xmm0
movsd xmm1, qword [rbp + 0x3c0]
movsd qword [rbp + 0x3e0], xmm1
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x668]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x390]
movaps xmmword [rbp + 0x3b0], xmm0
movsd xmm1, qword [rbp + 0x3a0]
movsd qword [rbp + 0x3c0], xmm1
lea r8, [rbp + 0x3b0]
lea rdx, [rbp + 0x678]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x370]
movaps xmmword [rbp + 0x390], xmm0
movsd xmm1, qword [rbp + 0x380]
movsd qword [rbp + 0x3a0], xmm1
lea r8, [rbp + 0x390]
lea rdx, [rbp + 0x618]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x4c0]
movaps xmmword [rbp + 0x370], xmm0
movsd xmm1, qword [rbp + 0x4d0]
movsd qword [rbp + 0x380], xmm1
lea r8, [rbp + 0x370]
lea rdx, [rbp + 0x608]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x340]
movaps xmmword [rbp + 0x4c0], xmm0
movsd xmm1, qword [rbp + 0x350]
movsd qword [rbp + 0x4d0], xmm1
lea r8, [rbp + 0x4c0]
lea rdx, [rbp + 0x638]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x560]
movaps xmmword [rbp + 0x340], xmm0
movsd xmm1, qword [rbp + 0x570]
movsd qword [rbp + 0x350], xmm1
lea r8, [rbp + 0x340]
lea rdx, [rbp + 0x628]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x580]
movaps xmmword [rbp + 0x560], xmm0
movsd xmm1, qword [rbp + 0x590]
movsd qword [rbp + 0x570], xmm1
lea r8, [rbp + 0x560]
lea rdx, [rbp + 0x648]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x300]
movaps xmmword [rbp + 0x580], xmm0
movsd xmm1, qword [rbp + 0x310]
movsd qword [rbp + 0x590], xmm1
lea r8, [rbp + 0x580]
lea rdx, [rbp + 0x658]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp + 0x900]
movaps xmmword [rbp + 0x300], xmm0
movsd xmm1, qword [rbp + 0x910]
movsd qword [rbp + 0x310], xmm1
lea r8, [rbp + 0x300]
lea rdx, [rbp + 0x688]
mov rcx, r13
call fcn.180053990
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x900], xmm0
movsd xmm1, qword [rbp - 0x70]
movsd qword [rbp + 0x910], xmm1
lea r8, [rbp + 0x900]
lea rdx, [rbp + 0x698]
mov rcx, r13
call fcn.180053990
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movsd xmm8, qword [rbp + 0x6b0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x6a8]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x120], xmm6
movss dword [rbp + 0x124], xmm8
movsd xmm11, qword [rbp + 0x6c0]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x6b8]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x128], xmm10
movss dword [rbp + 0x12c], xmm11
movss dword [rsp + 0x20], xmm0
mov r12d, dword [rbp + 0x1e50]
mov r9d, r12d
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x128]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x130], xmm6
movss dword [rbp + 0x134], xmm8
movsd xmm9, qword [rbp + 0x6d0]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x6c8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x138], xmm7
movss dword [rbp + 0x13c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x138]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x140], xmm6
movss dword [rbp + 0x144], xmm8
movsd xmm8, qword [rbp + 0x6e0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x6d8]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x148], xmm6
movss dword [rbp + 0x14c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x148]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x150], xmm7
movss dword [rbp + 0x154], xmm9
movsd xmm9, qword [rbp + 0x5b0]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x5a8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x158], xmm7
movss dword [rbp + 0x15c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x158]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x160], xmm6
movss dword [rbp + 0x164], xmm8
movsd xmm8, qword [rbp + 0x5c0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x5b8]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x168], xmm6
movss dword [rbp + 0x16c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x168]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x170], xmm7
movss dword [rbp + 0x174], xmm9
movsd xmm9, qword [rbp + 0x5d0]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x5c8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x178], xmm7
movss dword [rbp + 0x17c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x170]
lea rdx, [rbp + 0x178]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x180], xmm6
movss dword [rbp + 0x184], xmm8
movsd xmm8, qword [rbp + 0x5e0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x5d8]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x188], xmm6
movss dword [rbp + 0x18c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x188]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm2, dword [0x180119f20]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x5f0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x5e8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x190], xmm0
movss dword [rbp + 0x194], xmm1
movss dword [rbp + 0x198], xmm7
movss dword [rbp + 0x19c], xmm9
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x198]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm2, dword [0x180119f20]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x600]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x5f8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x1a0], xmm0
movss dword [rbp + 0x1a4], xmm1
movss dword [rbp + 0x1a8], xmm6
movss dword [rbp + 0x1ac], xmm8
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x1a8]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1b0], xmm10
movss dword [rbp + 0x1b4], xmm11
movsd xmm9, qword [rbp + 0x610]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x608]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x1b8], xmm7
movss dword [rbp + 0x1bc], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x1b8]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1c0], xmm10
movss dword [rbp + 0x1c4], xmm11
movsd xmm8, qword [rbp + 0x620]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x618]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x1c8], xmm6
movss dword [rbp + 0x1cc], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x1c8]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1d0], xmm7
movss dword [rbp + 0x1d4], xmm9
movsd xmm9, qword [rbp + 0x630]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x628]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x1d8], xmm7
movss dword [rbp + 0x1dc], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x1d8]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1e0], xmm6
movss dword [rbp + 0x1e4], xmm8
movsd xmm8, qword [rbp + 0x640]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x638]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x1e8], xmm6
movss dword [rbp + 0x1ec], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1e0]
lea rdx, [rbp + 0x1e8]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1f0], xmm7
movss dword [rbp + 0x1f4], xmm9
movsd xmm9, qword [rbp + 0x650]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x648]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x1f8], xmm7
movss dword [rbp + 0x1fc], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0x1f8]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x200], xmm6
movss dword [rbp + 0x204], xmm8
movsd xmm8, qword [rbp + 0x660]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x658]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x208], xmm6
movss dword [rbp + 0x20c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x208]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movsd xmm11, qword [rbp + 0x670]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x668]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x210], xmm10
movss dword [rbp + 0x214], xmm11
movss dword [rbp + 0x218], xmm7
movss dword [rbp + 0x21c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x218]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm0, dword [0x180119f20]
cvtdq2ps xmm0, xmm0
movsd xmm9, qword [rbp + 0x680]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x678]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x220], xmm7
movss dword [rbp + 0x224], xmm9
movss dword [rbp + 0x228], xmm6
movss dword [rbp + 0x22c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x228]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm2, dword [0x180119f20]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x690]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x688]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x230], xmm0
movss dword [rbp + 0x234], xmm1
movss dword [rbp + 0x238], xmm10
movss dword [rbp + 0x23c], xmm11
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x230]
lea rdx, [rbp + 0x238]
mov rcx, rax
call fcn.180021760
call fcn.18000bbc0
movd xmm2, dword [0x180119f20]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x6a0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x698]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x240], xmm0
movss dword [rbp + 0x244], xmm1
movss dword [rbp + 0x248], xmm7
movss dword [rbp + 0x24c], xmm9
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x240]
lea rdx, [rbp + 0x248]
mov rcx, rax
call fcn.180021760
xor r13d, r13d
mov rdx, qword [rbp + 0xa60]
cmp rdx, 0xf
jbe 0x180051a1e
inc rdx
mov rcx, qword [rbp + 0xa48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051a19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c53
call fcn.180053fa4
mov qword [rbp + 0xa58], r13
mov qword [rbp + 0xa60], 0xf
mov byte [rbp + 0xa48], 0
movdqa xmm11, xmmword [rbp + 0x700]
movdqa xmm14, xmmword [rbp + 0x6f0]
movdqa xmm15, xmmword [rbp - 0x60]
mov r13, qword [rbp + 0x250]
mov rax, qword [rsp + 0x48]
add rax, 0x48
mov qword [rsp + 0x48], rax
cmp rax, qword [rbp + 0x360]
jne 0x18004dfb3
movups xmm10, xmmword [rbp - 0x20]
movss xmm12, dword [rbp - 0x48]
movsd xmm14, qword [rbp + 0x258]
movsd xmm11, qword [rbp + 0x260]
movsd xmm15, qword [rbp + 0x268]
mov esi, 1
mov r14, qword [rbp - 0x28]
xor r15d, r15d
mov rax, qword [0x18013bc70]
mov rcx, qword [rax + 0x48]
add rcx, 0x168
xorps xmm0, xmm0
movups xmmword [rbp + 0xaa0], xmm0
movsd qword [rbp + 0xab0], xmm14
mov dword [rbp + 0x964], r15d
mov dword [rbp + 0x981], r15d
mov word [rbp + 0x985], r15w
mov byte [rbp + 0x987], 0
mov qword [rbp + 0x968], rcx
lea rax, [rbp + 0xaa0]
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], 0x18
mov eax, dword [0x18013bb8c]
mov dword [rbp + 0x960], eax
mov byte [rbp + 0x980], 0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, 0x28
lea r8, [rbp + 0x960]
mov edx, 0x26f0a8
mov rcx, qword [0x18013bc18]
call fcn.18004cfb0
lea rcx, [r14 + 0x198]
call fcn.180046650
cmp byte [0x18013be5c], 0
je 0x180051dbf
mov ecx, dword [0x18013be78]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180051dbf
lea rcx, [r14 + 0x318]
call fcn.180046650
mov r8d, 0x6e
mov rdx, rax
lea rcx, [rbp + 0x280]
call fcn.180047050
mov rbx, qword [0x18013bc70]
movsd xmm7, qword [rbp + 0x288]
movaps xmm0, xmm7
subsd xmm0, qword [rbx + 0x68]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm8, qword [rbp + 0x280]
movaps xmm0, xmm8
subsd xmm0, qword [rbx + 0x60]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
movsd xmm9, qword [rbp + 0x290]
movaps xmm1, xmm9
subsd xmm1, qword [rbx + 0x70]
cvtpd2ps xmm0, xmm1
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x180051c5a
sqrtss xmm6, xmm6
jmp 0x180051c65
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
lea rcx, [r14 + 0x198]
call fcn.180046650
xorps xmm1, xmm1
movups xmmword [rbp + 0x8e0], xmm1
movsd qword [rbp + 0x8f0], xmm14
mov dword [rbp + 0x964], r15d
mov dword [rbp + 0x981], r15d
mov word [rbp + 0x985], r15w
mov byte [rbp + 0x987], 0
add rax, 0x168
mov qword [rbp + 0x968], rax
lea rax, [rbp + 0x8e0]
mov qword [rbp + 0x970], rax
mov qword [rbp + 0x978], 0x18
mov eax, dword [0x18013bb8c]
mov dword [rbp + 0x960], eax
mov byte [rbp + 0x980], 0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, 0x28
lea r8, [rbp + 0x960]
mov edx, 0x26f0a8
mov rcx, qword [0x18013bc18]
call fcn.18004cfb0
divss xmm6, dword [0x18005fcf4]
movss xmm1, dword [0x18005a4dc]
andps xmm1, xmmword [0x18005a6c0]
movaps xmm0, xmm6
mulss xmm0, xmm6
mulss xmm1, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [0x18005f3d0]
cvtpd2ps xmm0, xmm1
xorps xmm2, xmm2
cvtss2sd xmm2, xmm6
movaps xmm3, xmm2
mulsd xmm3, qword [rbp + 0x8f0]
addsd xmm3, xmm9
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
movaps xmm1, xmm2
mulsd xmm1, qword [rbp + 0x8e8]
addsd xmm1, xmm7
mulsd xmm2, qword [rbp + 0x8e0]
addsd xmm2, xmm8
movsd qword [rbp + 0x280], xmm2
movsd qword [rbp + 0x288], xmm1
movsd qword [rbp + 0x290], xmm3
lea r8, [rbp + 0x280]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x18013bc58]
call fcn.180053990
movups xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
lea rdx, [rbp - 0x60]
mov rcx, qword [0x18013bc68]
call fcn.1800535d0
cmp byte [0x18013be5d], 0
je 0x180051f0d
mov rax, qword [0x18013bc70]
mov rcx, qword [rax + 0x50]
add rcx, 0x1264
call fcn.180046650
mov rdi, rax
mov rcx, qword [0x18013bc70]
mov rcx, qword [rcx + 0x40]
add rcx, 0x1268
call fcn.180046650
mov rbx, rax
mov r8, rdi
lea rdx, str._Kills:__d_
lea rcx, [rbp + 0x1eb0]
call fcn.180046890
mov r8, rbx
lea rdx, str._Levels:__d_
lea rcx, [rbp + 0xac0]
call fcn.180046890
movsd xmm0, qword [0x18013bd68]
addsd xmm0, xmm15
subsd xmm0, xmm11
cvttsd2si r8d, xmm0
movsd xmm2, qword [0x18013bd60]
addsd xmm2, qword [0x18005fc60]
movss xmm0, dword [0x180119f04]
mulss xmm0, xmm13
cvtps2pd xmm1, xmm0
subsd xmm2, xmm1
cvttsd2si edx, xmm2
movdqa xmmword [rbp - 0x60], xmm10
lea rax, [rbp + 0x1eb0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rbp - 0x60]
movss xmm6, dword [0x18005a50c]
movaps xmm0, xmm6
movd ecx, xmm0
call fcn.180047b20
movsd xmm0, qword [0x18013bd68]
addsd xmm0, qword [0x18005fc48]
subsd xmm0, xmm11
cvttsd2si r8d, xmm0
movsd xmm3, qword [0x18013bd60]
addsd xmm3, qword [0x18005fc60]
movss xmm1, dword [0x180119f04]
mulss xmm1, xmm13
cvtps2pd xmm2, xmm1
subsd xmm3, xmm2
cvttsd2si edx, xmm3
movdqa xmmword [rbp - 0x60], xmm10
lea rax, [rbp + 0xac0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rbp - 0x60]
movaps xmm0, xmm6
movd ecx, xmm0
call fcn.180047b20
test r14, r14
je 0x18005230f
cmp byte [0x180119f00], 0
je 0x18005230f
lea rcx, [r14 + 0x318]
call fcn.180046650
mov rbx, rax
xorps xmm11, xmm11
movsd qword [rbp - 0x70], xmm14
xorps xmm8, xmm8
mov eax, dword [0x18013be58]
test eax, eax
je 0x180052117
sub eax, 1
je 0x1800520be
sub eax, 1
je 0x180052076
cmp eax, 1
jne 0x180052103
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [rbp + 0x1e44], 0xffffffff
mov dword [rbp + 0xac4], eax
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul ecx, ecx, 0x6c078965
add ecx, esi
mov dword [rbp + rsi*4 + 0xac4], ecx
mov eax, ecx
inc rsi
cmp rsi, 0x270
jb 0x180051f81
mov dword [rbp + 0xac0], 0x270
lea rcx, [rbp + 0xac0]
call fcn.180046ec0
shr eax, 0x1e
test eax, eax
je 0x180052117
sub eax, 1
je 0x1800520be
sub eax, 1
je 0x180052076
sub eax, 1
je 0x18005202e
cmp eax, 1
jne 0x180052103
mov r8d, 9
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.180047050
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x8e0]
mov rcx, qword [0x18013bc58]
call fcn.180053990
mov r8d, 9
jmp 0x18005215a
mov r8d, 0x26
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.180047050
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x8e0]
mov rcx, qword [0x18013bc58]
call fcn.180053990
mov r8d, 0x26
jmp 0x18005215a
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.180047050
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x8e0]
mov rcx, qword [0x18013bc58]
call fcn.180053990
mov r8d, 0x42
jmp 0x18005215a
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.180047050
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x8e0]
mov rcx, qword [0x18013bc58]
call fcn.180053990
mov r8d, 0x43
jmp 0x18005215a
movsd xmm2, qword [rbp - 0x70]
movaps xmm9, xmm8
unpckhpd xmm9, xmm8
movaps xmm10, xmm8
jmp 0x180052186
mov r8d, 0x6e
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.180047050
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x80], xmm0
movsd qword [rbp - 0x70], xmm1
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x8e0]
mov rcx, qword [0x18013bc58]
call fcn.180053990
mov r8d, 0x6e
movsd xmm10, qword [rax]
movsd xmm9, qword [rax + 8]
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.180047050
movaps xmm8, xmm10
unpcklpd xmm8, xmm9
movsd xmm2, qword [rax + 0x10]
movups xmm11, xmmword [rax]
xorps xmm0, xmm0
movups xmmword [rbp + 0x960], xmm0
movdqa xmm1, xmmword [0x18005fd20]
movdqu xmmword [rbp + 0x970], xmm1
mov byte [rbp + 0x960], 0
movaps xmmword [rbp - 0x80], xmm11
movsd qword [rbp - 0x70], xmm2
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x8e0]
mov rcx, qword [0x18013bc58]
call fcn.180053990
ucomisd xmm11, xmm14
jp 0x18005227a
jne 0x18005227a
movaps xmm3, xmm11
unpckhpd xmm3, xmm11
ucomisd xmm3, xmm14
jp 0x1800521ef
je 0x18005230f
mov eax, dword [0x18013be74]
cdq
sub eax, edx
sar eax, 1
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
mov eax, dword [0x18013be70]
cdq
sub eax, edx
sar eax, 1
xorps xmm7, xmm7
cvtsi2sd xmm7, eax
xorps xmm1, xmm1
movss xmm1, xmm12
subsd xmm2, xmm3
cvtpd2ps xmm0, xmm2
call fcn.180054920
movaps xmm6, xmm0
subsd xmm7, xmm11
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm1, xmm0
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x180052255
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18005225d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm0, dword [0x180119f08]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x18005230f
mov rcx, rbx
call fcn.180053580
test al, al
je 0x18005230f
cmp byte [0x18013be50], 0
je 0x1800522e7
movdqa xmm0, xmmword [0x18005e6c0]
movdqa xmmword [rbp - 0x60], xmm0
subsd xmm9, qword [0x18005fc40]
cvttsd2si r8d, xmm9
subsd xmm10, qword [0x18005fc08]
cvttsd2si edx, xmm10
lea rax, [0x18005f7c0]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [rbp - 0x60]
movss xmm0, dword [0x18005a510]
movd ecx, xmm0
call fcn.180047b20
mov ecx, dword [0x18013be78]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18005230f
movdqa xmmword [rbp - 0x60], xmm8
lea rdx, [rbp - 0x60]
mov rcx, qword [0x18013bc68]
call fcn.1800535d0
nop
call fcn.1800145c0
mov rcx, qword [rbp + 0x1fb0]
xor rcx, rsp
call fcn.1800540c0
lea r11, [rsp + 0x2160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret