Function at 0x14004cd20
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 - 0x1f40]
mov eax, 0x2040
call fcn.140056d20
sub rsp, rax
movaps xmmword [rsp + 0x2030], xmm6
movaps xmmword [rsp + 0x2020], xmm7
movaps xmmword [rsp + 0x2010], xmm8
movaps xmmword [rsp + 0x2000], xmm9
movaps xmmword [rsp + 0x1ff0], xmm10
movaps xmmword [rsp + 0x1fe0], xmm11
movaps xmmword [rsp + 0x1fd0], xmm12
movaps xmmword [rsp + 0x1fc0], xmm13
movaps xmmword [rsp + 0x1fb0], xmm14
movaps xmmword [rsp + 0x1fa0], xmm15
mov rax, qword [0x14013ab40]
xor rax, rsp
mov qword [rbp + 0x1e90], rax
xor r14d, r14d
mov rcx, qword [0x14013ad38]
call fcn.1400144a0
lea rdx, [rbp + 0x988]
mov rcx, qword [0x14013aea0]
call fcn.140051f90
call fcn.14000b500
mov qword [rbp - 0x40], rax
movss xmm6, dword [0x14005c2a4]
movss dword [rbp - 0x50], xmm6
mov esi, r14d
mov qword [rbp - 8], r14
movdqa xmm7, xmmword [0x14005c310]
movups xmmword [rbp + 0x378], xmm7
movss xmm8, dword [0x14005c2ac]
movss dword [rbp - 0x4c], xmm8
xorps xmm6, xmm6
movss dword [rsp + 0x70], xmm6
cmp byte [0x14013aa98], r14b
je 0x14004ced5
call fcn.14000b870
movss xmm3, dword [rax + 0xd8]
cvtps2pd xmm3, xmm3
movq r9, xmm3
lea r8, str._.0f
mov edx, 0x40
lea rcx, [rbp + 0x1e10]
call fcn.140056730
movdqa xmmword [rbp], xmm7
lea rax, str.SPYRAL_PRIVATE
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
lea r9, [rbp]
mov edx, 0xa
mov r8d, edx
movss xmm0, dword [0x14013aa94]
movd ecx, xmm0
call fcn.14004a7f0
movaps xmm1, xmm8
xorps xmm0, xmm0
call fcn.140017a50
movdqa xmmword [rbp], xmm7
lea rax, [rbp + 0x1e10]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
lea r9, [rbp]
mov edx, 0xa
mov r8d, 0x1e
movss xmm0, dword [0x14013aa94]
movd ecx, xmm0
call fcn.14004a7f0
movss xmm6, dword [0x14005c244]
movss dword [rsp + 0x7c], xmm6
cmp byte [0x14013aac4], sil
je 0x14004cf63
call fcn.14000b500
mov rbx, rax
movups xmmword [rbp + 0x6d0], xmm7
lea rcx, [rbp + 0x6d0]
call fcn.140008330
mov r9d, eax
mov eax, dword [0x14013b0b4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14013b0b0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x278], xmm0
movss dword [rbp + 0x27c], xmm1
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x40
movss xmm2, dword [0x14013aa9c]
lea rdx, [rbp + 0x278]
mov rcx, rbx
call fcn.14001e900
mov r12, qword [0x14013afd8]
mov qword [rbp - 0x48], r12
mov rax, qword [0x14013afe0]
mov qword [rbp + 0x2f0], rax
mov edi, 1
movss xmm11, dword [0x14005c250]
movss dword [rbp - 0x80], xmm11
xorps xmm6, xmm6
movsd qword [rbp + 0x260], xmm6
cmp r12, rax
je 0x14005080e
mov eax, dword [0x14013ab90]
mov dword [rbp - 0x10], eax
movzx esi, byte [rsp + 0x40]
movzx r14d, byte [rsp + 0x40]
movzx r15d, byte [rsp + 0x40]
movzx ebx, byte [rsp + 0x40]
movzx edi, byte [rsp + 0x40]
movdqa xmm13, xmmword [0x1400800e0]
movdqa xmm0, xmmword [0x140060200]
movups xmmword [rbp + 0x268], xmm0
movdqa xmm0, xmmword [0x1400801f0]
movdqa xmmword [rbp + 0x6c0], xmm0
movdqa xmm14, xmmword [0x1400800d0]
movdqa xmm12, xmmword [0x1400800f0]
movdqa xmm15, xmmword [0x1400600c0]
nop dword [rax + rax]
mov r13, qword [r12 + 8]
lea rcx, [r13 + 0x5b8]
call fcn.140048e70
test rax, rax
jne 0x14004d032
lea rcx, [r13 + 0x5c0]
call fcn.140048e70
mov rdx, rax
lea rcx, [rbp + 0x7b0]
call fcn.140048d70
lea rdx, [r13 + 0x1c0]
lea rcx, [rbp + 0x750]
call fcn.140048d70
lea rdx, [rbp + 0x540]
lea rcx, [rbp + 0x750]
call fcn.14004c780
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x810]
lea rcx, [rbp + 0x7b0]
call fcn.14004c780
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 + 0x8e0], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x8f0], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x900], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x910], xmm1
lea r8, [rbp + 0x890]
lea rdx, [rbp + 0x8e0]
lea rcx, [rbp + 0x850]
call fcn.14004bd60
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 + 0x110], xmm6
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movsd qword [rbp + 0x118], xmm7
shufps xmm1, xmm1, 0xaa
xorps xmm10, xmm10
cvtss2sd xmm10, xmm1
movsd qword [rbp - 0x60], xmm10
movsd qword [rsp + 0x50], xmm6
movsd qword [rsp + 0x58], xmm7
movsd qword [rsp + 0x60], xmm10
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x740]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
movsd xmm0, qword [rax]
movsd qword [0x14013aed8], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14013aee0], xmm1
movaps xmm1, xmm10
addsd xmm1, qword [0x140080018]
movaps xmm0, xmm6
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x8f0], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x700]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
movsd xmm0, qword [rax]
movsd qword [0x14013afb8], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14013afc0], xmm1
movaps xmm1, xmm10
subsd xmm1, qword [0x140080000]
movaps xmm0, xmm6
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x8f0], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x710]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
movsd xmm0, qword [rax]
movsd qword [0x14013afc8], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14013afd0], xmm1
mov r13, qword [r12 + 8]
lea rcx, [r13 + 0x5b8]
call fcn.140048e70
test rax, rax
jne 0x14004d25e
lea rcx, [r13 + 0x5c0]
call fcn.140048e70
lea rdx, [rax + 0x2940]
lea rcx, [rbp + 0x750]
call fcn.140048d70
lea rdx, [r13 + 0x1c0]
lea rcx, [rbp + 0x7b0]
call fcn.140048d70
lea rdx, [rbp + 0x850]
lea rcx, [rbp + 0x7b0]
call fcn.14004c780
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rbp + 0x810]
lea rcx, [rbp + 0x750]
call fcn.14004c780
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 + 0x8e0], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x8f0], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x900], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x910], xmm1
lea r8, [rbp + 0x890]
lea rdx, [rbp + 0x8e0]
lea rcx, [rbp + 0x540]
call fcn.14004bd60
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 + 0x360], xmm7
shufps xmm1, xmm1, 0xaa
xorps xmm6, xmm6
cvtss2sd xmm6, xmm1
movsd qword [rbp + 0x580], xmm6
movsd qword [rsp + 0x50], xmm9
movsd qword [rsp + 0x58], xmm7
movsd qword [rsp + 0x60], xmm6
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x720]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
movsd xmm0, qword [rax]
movsd qword [0x14013aec8], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14013aed0], xmm1
movaps xmm1, xmm6
addsd xmm1, qword [0x140080000]
movaps xmm0, xmm9
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x8f0], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x730]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
movsd xmm0, qword [rax]
movsd qword [0x14013afa8], xmm0
movsd xmm1, qword [rax + 8]
movsd qword [0x14013afb0], xmm1
movsd xmm0, qword [0x14013aed0]
subsd xmm0, qword [0x14013afd0]
andps xmm0, xmmword [0x140061070]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x44], xmm0
movaps xmm8, xmm0
mulss xmm8, dword [0x14007ffac]
mov r12, qword [0x14013aeb8]
movsd xmm0, qword [rbp + 0x118]
subsd xmm0, qword [r12 + 0x68]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
movsd xmm0, qword [rbp + 0x110]
subsd xmm0, qword [r12 + 0x60]
cvtpd2ps xmm0, xmm0
movaps xmm1, xmm11
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, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm6, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm6
ja 0x14004d4ad
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x14004d4b5
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x140060ff0]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movss dword [rsp + 0x74], xmm6
mov ecx, 0x5b8
call fcn.140048e70
comiss xmm6, dword [0x14013a5d0]
jbe 0x14004d4f3
mov rax, qword [0x14013aeb8]
cmp qword [rax + 0x28], 0
jne 0x1400507e1
cmp byte [0x14013aa90], 0
je 0x14004d5cc
mov eax, dword [0x14013b0b0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [0x14013aec8]
subsd xmm2, xmm0
mov eax, dword [0x14013b0b4]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd xmm1, qword [0x14013aed0]
subsd xmm1, xmm0
mulsd xmm1, xmm1
mulsd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm3, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x14004d55f
xorps xmm6, xmm6
sqrtss xmm6, xmm3
jmp 0x14004d56a
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
cmp byte [0x14013b099], 0
je 0x14004d59e
mov r12, qword [rbp - 0x48]
mov rcx, qword [r12 + 8]
call fcn.140052aa0
test al, al
je 0x14004d5c6
movss xmm1, dword [0x14013aa9c]
comiss xmm1, xmm6
jbe 0x14004d5c6
movss xmm0, dword [rbp - 0x50]
comiss xmm0, xmm6
jbe 0x14004d5c6
jmp 0x14004d5b9
movss xmm0, dword [0x14013aa9c]
comiss xmm0, xmm6
jbe 0x14004d5c6
movss xmm0, dword [rbp - 0x50]
comiss xmm0, xmm6
jbe 0x14004d5c6
mov r12, qword [rbp - 0x48]
mov rax, qword [r12]
mov qword [rbp - 8], rax
movss dword [rbp - 0x50], xmm6
movss xmm6, dword [rsp + 0x74]
lea r10, [rbp + 0x1e05]
xor r13d, r13d
mov r8d, r13d
nop dword [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 0x14004d5e0
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x1e05]
mov rdx, r10
lea rcx, [rbp + 0xa00]
call fcn.140047da0
nop
movups xmm0, xmmword [0x14007fa68]
movups xmmword [rsp + 0x50], xmm0
movzx eax, word [0x14007fa78]
mov word [rsp + 0x60], ax
movzx eax, byte [0x14007fa7a]
mov byte [rsp + 0x62], al
mov r8d, r13d
mov r12d, dword [rbp - 0x10]
movdqa xmm7, xmmword [0x140080100]
cmp r12d, 2
jl 0x14004d771
movdqa xmmword [rbp + 0x1df0], xmm7
lea rcx, [rsp + 0x54]
mov edx, dword [rbp + 0x1df0]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm15
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm14
psubd xmm2, xmm0
andps xmm2, xmm13
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, xmm15
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm14
psubd xmm2, xmm0
andps xmm2, xmm13
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, 0x10
jl 0x14004d680
cmp r8d, 0x13
jge 0x14004d7af
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x14004d780
xorps xmm0, xmm0
movups xmmword [rbp + 0x968], xmm0
mov qword [rbp + 0x978], r13
mov qword [rbp + 0x980], r13
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14004d7d3
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x968]
call fcn.140047ee0
nop
lea r9, [rbp + 0xa00]
lea r8, [rbp + 0x968]
movzx edx, sil
lea rcx, [rbp + 0x988]
call fcn.140049210
nop
mov rdx, qword [rbp + 0x980]
cmp rdx, 0xf
jbe 0x14004d850
inc rdx
mov rcx, qword [rbp + 0x968]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d84a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400509ee
call fcn.140056908
nop
mov rdx, qword [rbp + 0xa18]
cmp rdx, 0xf
jbe 0x14004d891
inc rdx
mov rcx, qword [rbp + 0xa00]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d88c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400509f5
call fcn.140056908
lea rdx, [rbp + 0x988]
cmp qword [rbp + 0x9a0], 0xf
cmova rdx, qword [rbp + 0x988]
movss xmm0, dword [rbp - 0x4c]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa20]
call fcn.1400072d0
cmp byte [0x14013b0a5], 0
je 0x14004e044
mov r8d, r13d
movss xmm0, dword [0x14013aaa4]
comiss xmm0, xmm6
mov eax, 1
cmovae r8d, eax
movss xmm0, dword [rbp + 0xa24]
addss xmm0, dword [0x14005c270]
movss xmm6, dword [0x140080050]
addss xmm0, xmm6
mov dword [rbp + 0x920], 0x41200000
movss dword [rbp + 0x924], xmm0
lea r10, [rbp + 0x1e05]
nop
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 0x14004d920
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x1e05]
mov rdx, r10
lea rcx, [rbp + 0x8e0]
call fcn.140047da0
nop
movups xmm0, xmmword [str.v_ID]
movups xmmword [rsp + 0x50], xmm0
movzx eax, word [0x14007fa90]
mov word [rsp + 0x60], ax
cmp byte [0x14007fa91], 0
je 0x14004dadf
mov r8d, r13d
cmp r12d, 2
jl 0x14004daa1
movdqa xmmword [rbp + 0x1df0], xmm7
lea rcx, [rsp + 0x54]
mov edx, dword [rbp + 0x1df0]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm15
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm14
psubd xmm2, xmm0
andps xmm2, xmm13
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, xmm15
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm14
psubd xmm2, xmm0
andps xmm2, xmm13
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, 0x10
jl 0x14004d9b0
cmp r8d, 0x12
jge 0x14004dadf
movsxd rax, r8d
lea r9, [rsp + 0x50]
add r9, rax
nop dword [rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x14004dab0
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
inc r8
cmp byte [rax + r8], 0
jne 0x14004db03
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x890]
call fcn.140047ee0
nop
lea r9, [rbp + 0x8e0]
lea r8, [rbp + 0x890]
movzx edx, r14b
lea rcx, [rbp + 0x968]
call fcn.140049210
nop
mov rdx, qword [rbp + 0x8a8]
cmp rdx, 0xf
jbe 0x14004db80
inc rdx
mov rcx, qword [rbp + 0x890]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004db7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400509fc
call fcn.140056908
nop
mov rdx, qword [rbp + 0x8f8]
cmp rdx, 0xf
jbe 0x14004dbc1
inc rdx
mov rcx, qword [rbp + 0x8e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dbbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050a11
call fcn.140056908
movss xmm1, dword [rbp + 0x924]
addss xmm1, dword [rbp + 0xa24]
addss xmm1, xmm6
movss xmm0, dword [rbp + 0x920]
movss dword [rbp + 0xa28], xmm0
movss dword [rbp + 0xa2c], xmm1
movss xmm6, dword [0x14013aaa4]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x140060bd4]
call fcn.1400566b0
movsxd r13, eax
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp + 0x890]
call fcn.140049400
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, [0x140060bd4]
call fcn.140056730
nop
movups xmm0, xmmword [str.LHIYSJ]
movups xmmword [rbp + 0x540], xmm0
movups xmm1, xmmword [str.___o]
movups xmmword [rbp + 0x550], xmm1
movzx eax, word [0x14007fab8]
mov word [rbp + 0x560], ax
movzx eax, byte [0x14007faba]
mov byte [rbp + 0x562], al
xor r13d, r13d
mov r8d, r13d
cmp r12d, 2
jl 0x14004dda1
movdqa xmmword [rbp + 0x1df0], xmm7
lea rcx, [rbp + 0x544]
mov edx, dword [rbp + 0x1df0]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm15
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm14
psubd xmm2, xmm0
andps xmm2, xmm13
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, xmm15
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm12
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm12
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm14
psubd xmm2, xmm0
andps xmm2, xmm13
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 0x14004dcb0
cmp r8d, 0x23
jge 0x14004dddf
movsxd rax, r8d
lea r9, [rbp + 0x540]
add r9, rax
nop
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x38
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x23
jl 0x14004ddb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x8e0], xmm0
mov qword [rbp + 0x8f0], r13
mov qword [rbp + 0x8f8], r13
lea rax, [rbp + 0x540]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x14004de05
lea rdx, [rbp + 0x540]
lea rcx, [rbp + 0x8e0]
call fcn.140047ee0
nop
lea r9, [rbp + 0x890]
lea r8, [rbp + 0x8e0]
movzx edx, r15b
lea rcx, [rbp + 0xa00]
call fcn.140049210
nop
mov rdx, qword [rbp + 0x8f8]
cmp rdx, 0xf
jbe 0x14004de83
inc rdx
mov rcx, qword [rbp + 0x8e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004de7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050a03
call fcn.140056908
nop
mov rdx, qword [rbp + 0x8a8]
cmp rdx, 0xf
jbe 0x14004dec4
inc rdx
mov rcx, qword [rbp + 0x890]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004debf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050a0a
call fcn.140056908
mov qword [rbp + 0x8a0], r13
mov qword [rbp + 0x8a8], 0xf
mov byte [rbp + 0x890], 0
call fcn.14000b220
mov r13, rax
lea r12, [rbp + 0x968]
cmp qword [rbp + 0x980], 0xf
cmova r12, qword [rbp + 0x968]
movdqa xmm0, xmmword [rbp + 0x6c0]
movups xmmword [rbp + 0x6f0], xmm0
lea rcx, [rbp + 0x6f0]
call fcn.140008330
mov qword [rsp + 0x20], 0
mov r9, r12
mov r8d, eax
lea rdx, [rbp + 0x920]
mov rcx, r13
call fcn.140021410
call fcn.14000b220
mov r13, rax
lea r12, [rbp + 0xa00]
cmp qword [rbp + 0xa18], 0xf
cmova r12, qword [rbp + 0xa00]
movups xmm0, xmmword [rbp + 0x378]
movups xmmword [rbp + 0x6e0], xmm0
lea rcx, [rbp + 0x6e0]
call fcn.140008330
mov qword [rsp + 0x20], 0
mov r9, r12
mov r8d, eax
lea rdx, [rbp + 0xa28]
mov rcx, r13
call fcn.140021410
nop
mov rdx, qword [rbp + 0xa18]
cmp rdx, 0xf
jbe 0x14004dfce
inc rdx
mov rcx, qword [rbp + 0xa00]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dfc9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050a11
call fcn.140056908
xor r13d, r13d
mov qword [rbp + 0xa10], r13
mov qword [rbp + 0xa18], 0xf
mov byte [rbp + 0xa00], r13b
mov rdx, qword [rbp + 0x980]
cmp rdx, 0xf
jbe 0x14004e02b
inc rdx
mov rcx, qword [rbp + 0x968]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e026
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050a18
call fcn.140056908
mov qword [rbp + 0x978], r13
mov qword [rbp + 0x980], 0xf
mov byte [rbp + 0x968], 0
movss xmm6, dword [0x14013a5d8]
movss xmm7, dword [0x14013a5dc]
movss xmm10, dword [0x14013a5e0]
movss xmm11, dword [0x14013a5e8]
movss xmm0, dword [0x14013a5ec]
movss dword [rbp - 0xc], xmm0
movss xmm0, dword [0x14013a5f0]
movss dword [rbp + 0x1df0], xmm0
movss xmm0, dword [0x14013a5f8]
movss dword [rbp + 0x290], xmm0
movss xmm1, dword [0x14013a5fc]
movss dword [rbp + 0x294], xmm1
movss xmm0, dword [0x14013a600]
movss dword [rbp + 0x298], xmm0
mov dword [rbp + 0x29c], 0x3f800000
xorps xmm1, xmm1
movups xmmword [rbp + 0x8d0], xmm1
cmp byte [0x14013b099], 0
je 0x14004e139
cmp byte [0x14013aaa2], 0
je 0x14004e139
mov r13, qword [rbp - 0x48]
mov rcx, qword [r13 + 8]
call fcn.140052aa0
test al, al
je 0x14004e10b
movss dword [rbp - 0x20], xmm6
movss dword [rbp - 0x1c], xmm7
movss dword [rbp - 0x18], xmm10
movss xmm0, dword [rsp + 0x7c]
movss dword [rbp - 0x14], xmm0
movups xmm0, xmmword [rbp - 0x20]
jmp 0x14004e144
movss dword [rbp - 0x20], xmm11
movss xmm0, dword [rbp - 0xc]
movss dword [rbp - 0x1c], xmm0
movss xmm1, dword [rbp + 0x1df0]
movss dword [rbp - 0x18], xmm1
movss xmm0, dword [rsp + 0x7c]
movss dword [rbp - 0x14], xmm0
movups xmm0, xmmword [rbp - 0x20]
jmp 0x14004e144
movups xmm0, xmmword [rbp + 0x290]
mov r13, qword [rbp - 0x48]
movups xmmword [rbp + 0x8d0], xmm0
cmp byte [0x14013b09a], 0
je 0x14004e303
cmp byte [0x14013aaa2], 0
je 0x14004e303
mov ecx, dword [0x14013b09c]
test ecx, ecx
je 0x14004e28d
sub ecx, 1
je 0x14004e207
cmp ecx, 1
jne 0x14004e303
movd xmm6, dword [0x14013aab8]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.140008330
mov r9d, eax
movsd xmm1, qword [0x14013afc0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14013afb8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
movd xmm2, dword [0x14013b0b4]
cvtdq2ps xmm2, xmm2
mov eax, dword [0x14013b0b0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x18], xmm0
movss dword [rbp + 0x1c], xmm2
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
mov r12, qword [rbp - 0x40]
mov rcx, r12
call fcn.14001ff80
jmp 0x14004e307
movd xmm6, dword [0x14013aab8]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.140008330
mov r9d, eax
movsd xmm1, qword [0x14013afb0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14013afa8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
mov eax, dword [0x14013b0b4]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [0x14013b0b0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x28]
mov r12, qword [rbp - 0x40]
mov rcx, r12
call fcn.14001ff80
jmp 0x14004e307
movd xmm6, dword [0x14013aab8]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.140008330
mov r9d, eax
movsd xmm1, qword [0x14013afb0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14013afa8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm1
mov eax, dword [0x14013b0b0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x38], xmm0
mov dword [rbp + 0x3c], 0
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x38]
mov r12, qword [rbp - 0x40]
mov rcx, r12
call fcn.14001ff80
jmp 0x14004e307
mov r12, qword [rbp - 0x40]
cmp byte [0x14013aaa1], 0
je 0x14004ec51
cmp byte [0x14013aaa2], 0
je 0x14004ec51
mov ecx, dword [0x14013aaac]
test ecx, ecx
je 0x14004e809
sub ecx, 1
je 0x14004e678
sub ecx, 1
je 0x14004e550
sub ecx, 1
je 0x14004e46b
cmp ecx, 1
jne 0x14004ec51
movss xmm10, dword [0x14005c21c]
movss xmm7, dword [rsp + 0x70]
cmp byte [0x14013aab0], 0
je 0x14004e3ea
movsd xmm2, qword [0x14013aee0]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm8
mulss xmm0, xmm10
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
movaps xmm1, xmm3
addsd xmm1, qword [0x14013aed8]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm2
movsd xmm1, qword [0x14013afb0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14013afa8]
subsd xmm0, xmm3
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x48], xmm0
movss dword [rbp + 0x4c], xmm1
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm7
mov r9d, 0x7f0000ff
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
mov rcx, r12
call fcn.140021080
movsd xmm1, qword [0x14013aee0]
cvtpd2ps xmm1, xmm1
mulss xmm8, xmm10
xorps xmm2, xmm2
cvtss2sd xmm2, xmm8
movaps xmm0, xmm2
addsd xmm0, qword [0x14013aed8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x50], xmm0
movss dword [rbp + 0x54], xmm1
movsd xmm1, qword [0x14013afb0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [0x14013afa8]
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x58], xmm0
movss dword [rbp + 0x5c], xmm1
mov dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm7
mov r9d, 0x800000ff
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x58]
mov rcx, r12
call fcn.140021080
jmp 0x14004ec60
movss xmm10, dword [0x14005c21c]
movss xmm7, dword [rsp + 0x44]
cmp byte [0x14013aab0], 0
je 0x14004e4f0
movss xmm0, dword [0x14013aab4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x14007ffd8]
cvttsd2si eax, xmm0
cvttsd2si edx, qword [0x14013afb0]
movaps xmm0, xmm8
mulss xmm0, xmm10
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x14013afa8]
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
movups xmm0, xmmword [rbp + 0x268]
movdqa xmmword [rbp + 0x1df0], xmm0
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x1df0]
mov qword [rsp + 0x20], rax
call fcn.14004c9a0
movups xmm0, xmmword [rbp + 0x8d0]
movdqa xmmword [rbp + 0x1df0], xmm0
cvttss2si eax, dword [0x14013aab4]
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
cvttsd2si edx, qword [0x14013afb0]
mulss xmm8, xmm10
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
movsd xmm1, qword [0x14013afa8]
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x1df0]
mov qword [rsp + 0x20], rax
call fcn.14004c9a0
jmp 0x14004ec5a
cmp byte [0x14013aab0], 0
je 0x14004e5f7
movss xmm0, dword [0x14013aab4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x14007ffd0]
cvttsd2si r12d, xmm0
movups xmm0, xmmword [rbp + 0x268]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140008330
mov dword [rbp + 0x1df0], eax
movss xmm7, dword [rsp + 0x44]
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
cvttsd2si edx, qword [0x14013afb0]
movaps xmm0, xmm8
movss xmm10, dword [0x14005c21c]
mulss xmm0, xmm10
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x14013aed8]
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0x1df0]
mov qword [rsp + 0x20], rax
call fcn.14004a0f0
jmp 0x14004e606
movss xmm10, dword [0x14005c21c]
movss xmm7, dword [rsp + 0x44]
cvttss2si r12d, dword [0x14013aab4]
lea rcx, [rbp + 0x8d0]
call fcn.140008330
mov dword [rbp + 0x1df0], eax
cvttss2si r9d, xmm7
cvttss2si r8d, xmm8
cvttsd2si edx, qword [0x14013afb0]
mulss xmm8, xmm10
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
movsd xmm1, qword [0x14013aed8]
subsd xmm1, xmm0
cvttsd2si ecx, xmm1
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0x1df0]
mov qword [rsp + 0x20], rax
call fcn.14004a0f0
jmp 0x14004ec5a
cmp byte [0x14013aab0], 0
je 0x14004e74f
movss xmm0, dword [0x14013aab4]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x14007ffd0]
cvtpd2ps xmm6, xmm0
movups xmm0, xmmword [rbp + 0x268]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.140008330
movss xmm7, dword [rsp + 0x44]
cvtps2pd xmm0, xmm7
movsd xmm4, qword [0x14013afb0]
addsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
movaps xmm0, xmm8
movss xmm10, dword [0x14005c21c]
mulss xmm0, xmm10
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x14013afa8]
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 xmm11, dword [0x14005c270]
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x60]
lea rdx, [rbp + 0x68]
mov rcx, r12
call fcn.140020f70
jmp 0x14004e767
movss xmm10, dword [0x14005c21c]
movss xmm7, dword [rsp + 0x44]
movss xmm11, dword [0x14005c270]
movss xmm6, dword [0x14013aab4]
lea rcx, [rbp + 0x8d0]
call fcn.140008330
cvtps2pd xmm0, xmm7
movsd xmm4, qword [0x14013afb0]
addsd xmm0, xmm4
cvtpd2ps xmm3, xmm0
movaps xmm0, xmm8
mulss xmm0, xmm10
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd xmm2, qword [0x14013afa8]
subsd xmm2, xmm1
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x70], xmm0
movss dword [rbp + 0x74], xmm3
cvtpd2ps xmm1, xmm4
cvtpd2ps xmm0, xmm2
movss dword [rbp + 0x78], xmm0
movss dword [rbp + 0x7c], xmm1
movss dword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x78]
mov rcx, r12
call fcn.140020f70
movss xmm7, dword [rsp + 0x70]
jmp 0x14004ec69
cmp byte [0x14013aab0], 0
je 0x14004ea4b
movss xmm6, dword [0x14013aab4]
addss xmm6, dword [rbp - 0x80]
movups xmm11, xmmword [rbp + 0x268]
movups xmmword [rsp + 0x50], xmm11
lea rcx, [rsp + 0x50]
call fcn.140008330
movsd xmm2, qword [0x14013afb0]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm8
movss xmm10, dword [0x14005c21c]
mulss xmm0, xmm10
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm1, xmm7
addsd xmm1, qword [0x14013aed8]
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x80], xmm0
movss dword [rbp + 0x84], xmm2
movsd xmm1, qword [0x14013afa8]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x88]
mov rcx, r12
call fcn.14001ff80
movss xmm6, dword [0x14013aab4]
addss xmm6, dword [rbp - 0x80]
movups xmmword [rsp + 0x50], xmm11
lea rcx, [rsp + 0x50]
call fcn.140008330
movsd xmm2, qword [0x14013aee0]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x14013afa8]
subsd xmm0, xmm7
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0x90], xmm1
movss dword [rbp + 0x94], xmm2
movsd xmm0, qword [0x14013afb0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x98], xmm1
movss dword [rbp + 0x9c], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x98]
mov rcx, r12
call fcn.14001ff80
movss xmm6, dword [0x14013aab4]
addss xmm6, dword [rbp - 0x80]
movups xmmword [rsp + 0x50], xmm11
lea rcx, [rsp + 0x50]
call fcn.140008330
movsd xmm2, qword [0x14013aee0]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm7
addsd xmm0, qword [0x14013aed8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm2
movsd xmm1, qword [0x14013afa8]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0xa8], xmm0
movss dword [rbp + 0xac], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0xa8]
mov rcx, r12
call fcn.14001ff80
movss xmm6, dword [0x14013aab4]
addss xmm6, dword [rbp - 0x80]
movups xmmword [rsp + 0x50], xmm11
lea rcx, [rsp + 0x50]
call fcn.140008330
movsd xmm0, qword [0x14013aee0]
cvtpd2ps xmm0, xmm0
addsd xmm7, qword [0x14013aed8]
cvtpd2ps xmm1, xmm7
movss dword [rbp + 0xb0], xmm1
movss dword [rbp + 0xb4], xmm0
movsd xmm0, qword [0x14013afb0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb8], xmm1
movss dword [rbp + 0xbc], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xb8]
mov rcx, r12
call fcn.14001ff80
jmp 0x14004ea54
movss xmm10, dword [0x14005c21c]
movss xmm6, dword [0x14013aab4]
lea rcx, [rbp + 0x8d0]
call fcn.140008330
movsd xmm2, qword [0x14013afb0]
cvtpd2ps xmm2, xmm2
mulss xmm8, xmm10
xorps xmm7, xmm7
cvtss2sd xmm7, xmm8
movaps xmm0, xmm7
addsd xmm0, qword [0x14013aed8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm2
movsd xmm1, qword [0x14013afa8]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0xc8], xmm0
movss dword [rbp + 0xcc], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0xc8]
mov rcx, r12
call fcn.14001ff80
movss xmm6, dword [0x14013aab4]
lea rcx, [rbp + 0x8d0]
call fcn.140008330
movsd xmm2, qword [0x14013aee0]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [0x14013afa8]
subsd xmm0, xmm7
cvtpd2ps xmm1, xmm0
movss dword [rbp + 0xd0], xmm1
movss dword [rbp + 0xd4], xmm2
movsd xmm0, qword [0x14013afb0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd8], xmm1
movss dword [rbp + 0xdc], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xd8]
mov rcx, r12
call fcn.14001ff80
movss xmm6, dword [0x14013aab4]
lea rcx, [rbp + 0x8d0]
call fcn.140008330
movsd xmm2, qword [0x14013aee0]
cvtpd2ps xmm2, xmm2
movaps xmm0, xmm7
addsd xmm0, qword [0x14013aed8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe0], xmm0
movss dword [rbp + 0xe4], xmm2
movsd xmm1, qword [0x14013afa8]
subsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0xe8], xmm0
movss dword [rbp + 0xec], xmm2
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0xe8]
mov rcx, r12
call fcn.14001ff80
movss xmm6, dword [0x14013aab4]
lea rcx, [rbp + 0x8d0]
call fcn.140008330
movsd xmm0, qword [0x14013aee0]
cvtpd2ps xmm0, xmm0
addsd xmm7, qword [0x14013aed8]
cvtpd2ps xmm1, xmm7
movss dword [rbp + 0xf0], xmm1
movss dword [rbp + 0xf4], xmm0
movsd xmm0, qword [0x14013afb0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf8], xmm1
movss dword [rbp + 0xfc], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xf8]
mov rcx, r12
call fcn.14001ff80
jmp 0x14004ec5a
movss xmm10, dword [0x14005c21c]
movss xmm7, dword [rsp + 0x70]
movss xmm11, dword [0x14005c270]
cmp byte [0x14013aaa8], 0
je 0x14004ed99
cmp byte [0x14013aaa2], 0
je 0x14004ed99
cmp dword [0x14013b08c], 0
jne 0x14004ed99
mov r8, qword [r13 + 0x18]
lea rdx, [rbp + 0x9c0]
mov rcx, qword [0x14013aea0]
call fcn.140052180
nop
lea rdx, [rbp + 0x9c0]
cmp qword [rbp + 0x9d8], 0xf
cmova rdx, qword [rbp + 0x9c0]
movss xmm0, dword [rbp - 0x4c]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa30]
call fcn.1400072d0
lea rax, [rbp + 0x9c0]
cmp qword [rbp + 0x9d8], 0xf
cmova rax, qword [rbp + 0x9c0]
movsd xmm0, qword [0x14013afb0]
subsd xmm0, qword [0x140080020]
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0xa30]
mulss xmm1, xmm10
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x14013afa8]
subsd xmm2, xmm0
cvttsd2si edx, xmm2
movups xmm0, xmmword [rbp + 0x378]
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x14013aa94]
movd ecx, xmm0
call fcn.14004a7f0
nop
mov r8, qword [rbp + 0x9d8]
cmp r8, 0xf
jbe 0x14004ed7b
mov rdx, qword [rbp + 0x9c0]
lea rcx, [rbp + 0x9c0]
call fcn.14004cbb0
xor r12d, r12d
mov qword [rbp + 0x9d0], r12
mov qword [rbp + 0x9d8], 0xf
mov byte [rbp + 0x9c0], r12b
jmp 0x14004ed9c
xor r12d, r12d
cmp byte [0x14013aaa9], 0
je 0x14004f291
cmp byte [0x14013aaa3], 0
je 0x14004f291
mov rcx, qword [r13 + 0x18]
add rcx, 0x9f0
call fcn.140048e70
lea rcx, [rax + 0xc8]
call fcn.140048b90
mov r13d, eax
mov r8d, eax
lea rdx, [rbp + 0x948]
mov rcx, qword [0x14013aea0]
call fcn.1400524f0
nop
cmp qword [rbp + 0x958], 0
jne 0x14004ee23
xorps xmm0, xmm0
movups xmmword [rbp + 0x928], xmm0
mov rax, r12
mov qword [rbp + 0x938], rax
mov ecx, 7
mov qword [rbp + 0x940], rcx
mov word [rbp + 0x928], r12w
jmp 0x14004ef04
lea r8, [rbp + 0x948]
cmp qword [rbp + 0x960], 0xf
cmova r8, qword [rbp + 0x948]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, dword [rbp + 0x958]
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.140048110
lea rcx, [rbp + 0x890]
cmp qword [rbp + 0x8a8], 7
cmova rcx, qword [rbp + 0x890]
lea r8, [rbp + 0x948]
cmp qword [rbp + 0x960], 0xf
cmova r8, qword [rbp + 0x948]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0x958]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movups xmm0, xmmword [rbp + 0x890]
movups xmmword [rbp + 0x928], xmm0
movups xmm1, xmmword [rbp + 0x8a0]
movups xmmword [rbp + 0x938], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
movq rax, xmm1
xor r12d, r12d
test rax, rax
jne 0x14004ef40
xorps xmm0, xmm0
movups xmmword [rbp + 0x8e0], xmm0
mov qword [rbp + 0x8f0], r12
mov r12d, 0xf
mov qword [rbp + 0x8f8], r12
mov byte [rbp + 0x8e0], al
movups xmm1, xmmword [rbp + 0x8f0]
movups xmm6, xmmword [rbp + 0x8e0]
jmp 0x14004f012
lea r8, [rbp + 0x928]
cmp rcx, 7
cmova r8, qword [rbp + 0x928]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, dword [rbp + 0x938]
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.140049400
lea rcx, [rbp + 0x890]
cmp qword [rbp + 0x8a8], 0xf
cmova rcx, qword [rbp + 0x890]
lea r8, [rbp + 0x928]
cmp qword [rbp + 0x940], 7
cmova r8, qword [rbp + 0x928]
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 + 0x938]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmm6, xmmword [rbp + 0x890]
movups xmmword [rbp + 0x8e0], xmm6
movups xmm1, xmmword [rbp + 0x8a0]
movups xmmword [rbp + 0x8f0], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r12, xmm0
movzx eax, word [0x14007fabc]
mov word [rsp + 0x78], ax
movzx eax, byte [0x14007fabe]
mov byte [rsp + 0x78], 0x25
xor byte [rsp + 0x79], 0x39
xor al, 0x3a
mov byte [rsp + 0x7a], al
movaps xmmword [rbp + 0x890], xmm6
movaps xmmword [rbp + 0x8a0], xmm1
lea r8, [rbp + 0x890]
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x1e50]
call fcn.140049090
cmp r13d, 2
jbe 0x14004f14e
lea eax, [r13 - 3]
cmp eax, 2
jbe 0x14004f13b
lea eax, [r13 - 6]
cmp eax, 2
jbe 0x14004f128
lea eax, [r13 - 9]
cmp eax, 2
jbe 0x14004f115
lea eax, [r13 - 0xc]
cmp eax, 2
jbe 0x14004f0fb
cmp r13d, 0xf
jne 0x14004f0b5
movss xmm8, dword [0x14005c22c]
movaps xmm2, xmm8
movaps xmm3, xmm8
movaps xmm4, xmm8
jmp 0x14004f166
cmp r13d, 0x10
jne 0x14004f0d1
movaps xmm2, xmm7
movss xmm3, dword [0x14005c220]
movss xmm4, dword [rsp + 0x7c]
jmp 0x14004f166
cmp r13d, 0x11
jne 0x14004f0ea
movss xmm0, dword [0x14005c220]
movaps xmm2, xmm0
movaps xmm3, xmm7
movaps xmm4, xmm0
jmp 0x14004f166
movss xmm0, dword [rsp + 0x7c]
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
jmp 0x14004f166
movss xmm2, dword [0x14007ffb4]
movss xmm3, dword [0x14007ffa8]
movss xmm4, dword [0x14007ffa0]
jmp 0x14004f166
movss xmm0, dword [0x14005c22c]
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm7
jmp 0x14004f166
movaps xmm2, xmm7
movss xmm3, dword [0x14007ffbc]
movss xmm4, dword [rsp + 0x7c]
jmp 0x14004f166
movss xmm0, dword [0x14007ffb8]
movaps xmm2, xmm0
movaps xmm3, xmm0
movaps xmm4, xmm0
jmp 0x14004f166
movss xmm2, dword [0x14007ffa4]
movss xmm3, dword [0x14007ffb0]
movss xmm4, dword [0x14007ffc0]
mov dword [rbp + 0x2ac], 0x3f800000
movsd xmm0, qword [0x14013afb0]
movsd xmm7, qword [0x140080008]
subsd xmm0, xmm7
cvttsd2si r8d, xmm0
movsd xmm1, qword [0x14013afa8]
subsd xmm1, qword [rbp + 0x260]
subsd xmm1, qword [0x140080010]
cvttsd2si edx, xmm1
movups xmm0, xmmword [rbp + 0x2a0]
movss xmm0, xmm4
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm3
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm2
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp + 0x2a0], xmm0
movdqa xmmword [rsp + 0x50], xmm0
lea rax, [rbp + 0x1e50]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x14013aa94]
movd ecx, xmm0
call fcn.14004a7f0
nop
cmp r12, 0xf
jbe 0x14004f219
mov r8, r12
movq rdx, xmm6
lea rcx, [rbp + 0x8e0]
call fcn.14004cbb0
nop
mov r8, qword [rbp + 0x940]
cmp r8, 7
jbe 0x14004f239
mov rdx, qword [rbp + 0x928]
lea rcx, [rbp + 0x928]
call fcn.14004cbf0
xor r12d, r12d
mov qword [rbp + 0x938], r12
mov qword [rbp + 0x940], 7
mov word [rbp + 0x928], r12w
mov r8, qword [rbp + 0x960]
cmp r8, 0xf
jbe 0x14004f276
mov rdx, qword [rbp + 0x948]
lea rcx, [rbp + 0x948]
call fcn.14004cbb0
mov qword [rbp + 0x958], r12
mov qword [rbp + 0x960], 0xf
mov byte [rbp + 0x948], 0
jmp 0x14004f299
movsd xmm7, qword [0x140080008]
cmp byte [0x14013b0a6], 0
je 0x14004f481
movsd xmm6, qword [rbp + 0x580]
movaps xmm1, xmm6
addsd xmm1, xmm7
movaps xmm0, xmm9
movsd xmm7, qword [rbp + 0x360]
unpcklpd xmm0, xmm7
movaps xmmword [rsp + 0x50], xmm0
movsd qword [rbp + 0x8f0], xmm1
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x368]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
subsd xmm6, qword [0x14013aad8]
subsd xmm7, qword [0x14013aad0]
subsd xmm9, qword [0x14013aac8]
mulsd xmm9, xmm9
mulsd xmm7, xmm7
addsd xmm9, xmm7
mulsd xmm6, xmm6
addsd xmm9, xmm6
xorps xmm0, xmm0
ucomisd xmm0, xmm9
ja 0x14004f334
xorps xmm0, xmm0
sqrtsd xmm0, xmm9
jmp 0x14004f33d
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 [0x14013b0b4]
movss xmm0, dword [0x14013aaf8]
mulss xmm0, dword [0x140060078]
divss xmm0, dword [0x140060ffc]
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 [0x14007ffc8]
cvtpd2ps xmm8, xmm0
movsd xmm1, qword [rbp + 0x370]
addsd xmm1, qword [0x140080038]
movsd qword [rbp + 0x370], xmm1
cvtpd2ps xmm7, xmm1
movsd xmm9, qword [rbp + 0x368]
cmp byte [0x14013aab0], 0
je 0x14004f426
call fcn.14000b220
mov r12, rax
mov ecx, dword [0x14013aabc]
add ecx, 2
movd xmm6, ecx
cvtdq2ps xmm6, xmm6
movups xmm0, xmmword [rbp + 0x268]
movups xmmword [rbp + 0x470], xmm0
lea rcx, [rbp + 0x470]
call fcn.140008330
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0x100], xmm0
movss dword [rbp + 0x104], xmm7
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x32
mov r9d, eax
movaps xmm2, xmm8
lea rdx, [rbp + 0x100]
mov rcx, r12
call fcn.14001e900
call fcn.14000b220
mov r12, rax
movd xmm6, dword [0x14013aabc]
cvtdq2ps xmm6, xmm6
lea rcx, [rbp + 0x8d0]
call fcn.140008330
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0x108], xmm0
movss dword [rbp + 0x10c], xmm7
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], 0x32
mov r9d, eax
movaps xmm2, xmm8
lea rdx, [rbp + 0x108]
mov rcx, r12
call fcn.14001e900
xor r12d, r12d
cmp byte [0x14013b0a8], 0
je 0x14004f624
movzx r9d, byte [0x1400fe5ad]
movss xmm2, dword [0x14013a594]
movss xmm1, dword [0x14013a590]
movss xmm0, dword [0x14013a58c]
call fcn.140051c80
cmp byte [0x1400fe5ac], 0
je 0x14004f624
xor edx, edx
mov r8d, 0x209f
lea rcx, str.radar
call fcn.140003d80
mov dword [rsp + 0x44], r12d
call fcn.14000c1c0
call fcn.14000c1c0
mov r12, rax
movsd xmm0, qword [rbp + 0x110]
movsd xmm1, qword [rbp + 0x118]
unpcklpd xmm0, xmm1
movaps xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [rbp - 0x60]
movsd qword [rsp + 0x60], xmm0
lea r8, [rsp + 0x44]
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x50]
call fcn.140049e90
cmp byte [0x14013b099], 0
je 0x14004f596
movss xmm0, dword [0x14013a5d8]
movss dword [rbp + 0x2b0], xmm0
movss xmm1, dword [0x14013a5dc]
movss dword [rbp + 0x2b4], xmm1
movss xmm0, dword [0x14013a5e0]
movss dword [rbp + 0x2b8], xmm0
mov dword [rbp + 0x2bc], 0x3f800000
lea rcx, [rbp + 0x2b0]
call fcn.14000b3b0
movd xmm1, dword [rsp + 0x44]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbp - 0x38]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x120], xmm0
movss dword [rbp + 0x124], xmm1
lea rdx, [rbp + 0x120]
jmp 0x14004f604
movss xmm0, dword [0x14013a5e8]
movss dword [rbp + 0x2c0], xmm0
movss xmm1, dword [0x14013a5ec]
movss dword [rbp + 0x2c4], xmm1
movss xmm0, dword [0x14013a5f0]
movss dword [rbp + 0x2c8], xmm0
mov dword [rbp + 0x2cc], 0x3f800000
lea rcx, [rbp + 0x2c0]
call fcn.14000b3b0
movd xmm1, dword [rsp + 0x44]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbp - 0x38]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x128], xmm0
movss dword [rbp + 0x12c], xmm1
lea rdx, [rbp + 0x128]
mov dword [rsp + 0x20], 7
mov r9d, eax
movss xmm2, dword [0x14005c264]
mov rcx, r12
call fcn.14001e9f0
call fcn.140009380
cmp byte [0x14013b0a7], 0
je 0x14004f91c
cmp byte [0x14013aaa2], 0
je 0x14004f91c
cmp dword [0x14013b0ac], 0
jne 0x14004f91c
xorps xmm0, xmm0
movups xmmword [rbp + 0x890], xmm0
xor r13d, r13d
mov qword [rbp + 0x8a0], r13
mov qword [rbp + 0x8a8], r13
mov r8d, 2
lea rdx, [0x14007fad8]
lea rcx, [rbp + 0x890]
call fcn.140047ee0
nop
cvttss2si edx, dword [rsp + 0x74]
lea rcx, [rbp - 0x70]
call fcn.1400561e0
mov r12, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14004f753
lea r8, [rcx + 1]
mov qword [r12 + 0x10], r8
mov r13, r12
cmp rdx, 0xf
jbe 0x14004f6c0
mov r13, qword [r12]
lea rax, [0x140060be9]
cmp rax, r13
jbe 0x14004f6fb
lea rax, [rcx + r13]
lea rcx, [0x140060be8]
cmp rcx, rax
ja 0x14004f6fb
cmp r13, rcx
ja 0x14004f6ec
xor eax, eax
mov qword [rbp + 0x1df0], rax
jmp 0x14004f706
mov rax, r13
sub rax, rcx
mov qword [rbp + 0x1df0], rax
jmp 0x14004f706
mov qword [rbp + 0x1df0], 1
lea rcx, [r13 + 1]
mov rdx, r13
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rbp + 0x1df0]
lea rdx, [0x140060be8]
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov r8d, 1
mov rax, qword [rbp + 0x1df0]
sub r8, rax
lea rdx, [0x140060be8]
inc rdx
add rdx, rax
lea rcx, [rax + r13]
call sub.VCRUNTIME140.dll_memcpy
xor r13d, r13d
jmp 0x14004f77d
mov eax, 1
mov qword [rsp + 0x28], rax
lea rcx, [0x140060be8]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
movzx r8d, bl
mov edx, eax
mov rcx, r12
call fcn.140048900
mov r12, rax
movups xmm0, xmmword [r12]
movups xmmword [rbp + 0x8e0], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rbp + 0x8f0], xmm1
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
lea r9, [rbp + 0x890]
lea r8, [rbp + 0x8e0]
movzx edx, dil
lea rcx, [rbp + 0x9e0]
call fcn.140049210
nop
mov r8, qword [rbp + 0x8f8]
cmp r8, 0xf
jbe 0x14004f7e9
mov rdx, qword [rbp + 0x8e0]
lea rcx, [rbp + 0x8e0]
call fcn.14004cbb0
nop
mov r8, qword [rbp - 0x58]
cmp r8, 0xf
jbe 0x14004f800
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.14004cbb0
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
mov r8, qword [rbp + 0x8a8]
cmp r8, 0xf
jbe 0x14004f830
mov rdx, qword [rbp + 0x890]
lea rcx, [rbp + 0x890]
call fcn.14004cbb0
lea rdx, [rbp + 0x9e0]
cmp qword [rbp + 0x9f8], 0xf
cmova rdx, qword [rbp + 0x9e0]
movss xmm0, dword [rbp - 0x4c]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
lea rcx, [rbp + 0xa38]
call fcn.1400072d0
lea rax, [rbp + 0x9e0]
cmp qword [rbp + 0x9f8], 0xf
cmova rax, qword [rbp + 0x9e0]
movsd xmm0, qword [0x14013aee0]
addsd xmm0, qword [0x14007fff0]
cvttsd2si r8d, xmm0
movss xmm1, dword [rbp + 0xa38]
mulss xmm1, xmm10
cvtps2pd xmm0, xmm1
movsd xmm2, qword [0x14013aed8]
subsd xmm2, xmm0
cvttsd2si edx, xmm2
movups xmm0, xmmword [rbp + 0x378]
movdqa xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x50]
movss xmm0, dword [0x14013aa94]
movd ecx, xmm0
call fcn.14004a7f0
nop
mov r8, qword [rbp + 0x9f8]
cmp r8, 0xf
jbe 0x14004f903
mov rdx, qword [rbp + 0x9e0]
lea rcx, [rbp + 0x9e0]
call fcn.14004cbb0
mov qword [rbp + 0x9f0], r13
mov qword [rbp + 0x9f8], 0xf
mov byte [rbp + 0x9e0], 0
cmp byte [0x14013aaa0], 0
je 0x140050780
cmp byte [0x14013aaa2], 0
je 0x140050780
mov r12, qword [rbp - 0x48]
mov r12, qword [r12 + 8]
mov r13, qword [0x14013aea0]
movss xmm0, dword [0x14013a5f8]
movss dword [rbp + 0x280], xmm0
movss xmm1, dword [0x14013a5fc]
movss dword [rbp + 0x284], xmm1
movss xmm0, dword [0x14013a600]
movss dword [rbp + 0x288], xmm0
mov dword [rbp + 0x28c], 0x3f800000
lea rcx, [rbp + 0x280]
call fcn.140008330
mov dword [rbp + 0x1df0], eax
mov r8d, 0x43
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.140049d20
mov r8d, 3
mov rdx, r12
lea rcx, [rbp + 0x390]
call fcn.140049d20
mov r8d, 0x42
mov rdx, r12
lea rcx, [rbp + 0x450]
call fcn.140049d20
mov r8d, 9
mov rdx, r12
lea rcx, [rbp + 0x410]
call fcn.140049d20
mov r8d, 0x26
mov rdx, r12
lea rcx, [rbp + 0x3f0]
call fcn.140049d20
mov r8d, 0xa
mov rdx, r12
lea rcx, [rbp + 0x3d0]
call fcn.140049d20
mov r8d, 0x27
mov rdx, r12
lea rcx, [rbp + 0x480]
call fcn.140049d20
mov r8d, 0x21
mov rdx, r12
lea rcx, [rbp + 0x3b0]
call fcn.140049d20
mov r8d, 0x3e
mov rdx, r12
lea rcx, [rbp + 0x340]
call fcn.140049d20
mov r8d, 0x21
mov rdx, r12
lea rcx, [rbp + 0x320]
call fcn.140049d20
mov r8d, 0x3e
mov rdx, r12
lea rcx, [rbp + 0x300]
call fcn.140049d20
mov r8d, 0x4e
mov rdx, r12
lea rcx, [rbp + 0x4c0]
call fcn.140049d20
mov r8d, 0x47
mov rdx, r12
lea rcx, [rbp + 0x430]
call fcn.140049d20
mov r8d, 0x4f
mov rdx, r12
lea rcx, [rbp + 0x4e0]
call fcn.140049d20
mov r8d, 0x48
mov rdx, r12
lea rcx, [rbp + 0x500]
call fcn.140049d20
mov r8d, 0x49
mov rdx, r12
lea rcx, [rbp + 0x520]
call fcn.140049d20
mov r8d, 0x50
mov rdx, r12
lea rcx, [rbp + 0x540]
call fcn.140049d20
mov r8d, 0x4b
mov rdx, r12
lea rcx, [rbp + 0x2d0]
call fcn.140049d20
mov r8d, 0x52
mov rdx, r12
lea rcx, [rbp + 0x4a0]
call fcn.140049d20
mov r8d, 0x4c
mov rdx, r12
lea rcx, [rbp + 0x8e0]
call fcn.140049d20
mov r8d, 0x53
mov rdx, r12
lea rcx, [rbp - 0x70]
call fcn.140049d20
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 - 0x30]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x390]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rbp + 0x3a0]
movsd qword [rsp + 0x60], xmm1
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x658]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x450]
movaps xmmword [rbp + 0x390], xmm0
movsd xmm1, qword [rbp + 0x460]
movsd qword [rbp + 0x3a0], xmm1
lea r8, [rbp + 0x390]
lea rdx, [rbp + 0x648]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x410]
movaps xmmword [rbp + 0x450], xmm0
movsd xmm1, qword [rbp + 0x420]
movsd qword [rbp + 0x460], xmm1
lea r8, [rbp + 0x450]
lea rdx, [rbp + 0x668]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x3f0]
movaps xmmword [rbp + 0x410], xmm0
movsd xmm1, qword [rbp + 0x400]
movsd qword [rbp + 0x420], xmm1
lea r8, [rbp + 0x410]
lea rdx, [rbp + 0x678]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x3d0]
movaps xmmword [rbp + 0x3f0], xmm0
movsd xmm1, qword [rbp + 0x3e0]
movsd qword [rbp + 0x400], xmm1
lea r8, [rbp + 0x3f0]
lea rdx, [rbp + 0x688]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x480]
movaps xmmword [rbp + 0x3d0], xmm0
movsd xmm1, qword [rbp + 0x490]
movsd qword [rbp + 0x3e0], xmm1
lea r8, [rbp + 0x3d0]
lea rdx, [rbp + 0x698]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x3b0]
movaps xmmword [rbp + 0x480], xmm0
movsd xmm1, qword [rbp + 0x3c0]
movsd qword [rbp + 0x490], xmm1
lea r8, [rbp + 0x480]
lea rdx, [rbp + 0x6a8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x340]
movaps xmmword [rbp + 0x3b0], xmm0
movsd xmm1, qword [rbp + 0x350]
movsd qword [rbp + 0x3c0], xmm1
lea r8, [rbp + 0x3b0]
lea rdx, [rbp + 0x588]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x320]
movaps xmmword [rbp + 0x340], xmm0
movsd xmm1, qword [rbp + 0x330]
movsd qword [rbp + 0x350], xmm1
lea r8, [rbp + 0x340]
lea rdx, [rbp + 0x598]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x300]
movaps xmmword [rbp + 0x320], xmm0
movsd xmm1, qword [rbp + 0x310]
movsd qword [rbp + 0x330], xmm1
lea r8, [rbp + 0x320]
lea rdx, [rbp + 0x5a8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x2d0]
movaps xmmword [rbp + 0x300], xmm0
movsd xmm1, qword [rbp + 0x2e0]
movsd qword [rbp + 0x310], xmm1
lea r8, [rbp + 0x300]
lea rdx, [rbp + 0x618]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x4a0]
movaps xmmword [rbp + 0x2d0], xmm0
movsd xmm1, qword [rbp + 0x4b0]
movsd qword [rbp + 0x2e0], xmm1
lea r8, [rbp + 0x2d0]
lea rdx, [rbp + 0x638]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x4c0]
movaps xmmword [rbp + 0x4a0], xmm0
movsd xmm1, qword [rbp + 0x4d0]
movsd qword [rbp + 0x4b0], xmm1
lea r8, [rbp + 0x4a0]
lea rdx, [rbp + 0x5c8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x430]
movaps xmmword [rbp + 0x4c0], xmm0
movsd xmm1, qword [rbp + 0x440]
movsd qword [rbp + 0x4d0], xmm1
lea r8, [rbp + 0x4c0]
lea rdx, [rbp + 0x5b8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x4e0]
movaps xmmword [rbp + 0x430], xmm0
movsd xmm1, qword [rbp + 0x4f0]
movsd qword [rbp + 0x440], xmm1
lea r8, [rbp + 0x430]
lea rdx, [rbp + 0x5e8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x500]
movaps xmmword [rbp + 0x4e0], xmm0
movsd xmm1, qword [rbp + 0x510]
movsd qword [rbp + 0x4f0], xmm1
lea r8, [rbp + 0x4e0]
lea rdx, [rbp + 0x5d8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x520]
movaps xmmword [rbp + 0x500], xmm0
movsd xmm1, qword [rbp + 0x530]
movsd qword [rbp + 0x510], xmm1
lea r8, [rbp + 0x500]
lea rdx, [rbp + 0x5f8]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x520], xmm0
movsd xmm1, qword [rbp + 0x550]
movsd qword [rbp + 0x530], xmm1
lea r8, [rbp + 0x520]
lea rdx, [rbp + 0x608]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp + 0x8e0]
movaps xmmword [rbp + 0x540], xmm0
movsd xmm1, qword [rbp + 0x8f0]
movsd qword [rbp + 0x550], xmm1
lea r8, [rbp + 0x540]
lea rdx, [rbp + 0x628]
mov rcx, r13
call fcn.1400562b0
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x8e0], xmm0
movsd xmm1, qword [rbp - 0x60]
movsd qword [rbp + 0x8f0], xmm1
lea r8, [rbp + 0x8e0]
lea rdx, [rbp]
mov rcx, r13
call fcn.1400562b0
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movsd xmm8, qword [rbp + 0x650]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x648]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x130], xmm6
movss dword [rbp + 0x134], xmm8
movsd xmm11, qword [rbp + 0x660]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x658]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x138], xmm10
movss dword [rbp + 0x13c], xmm11
movss dword [rsp + 0x20], xmm0
mov r12d, dword [rbp + 0x1df0]
mov r9d, r12d
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x138]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x140], xmm6
movss dword [rbp + 0x144], xmm8
movsd xmm9, qword [rbp + 0x670]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x668]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x148], xmm7
movss dword [rbp + 0x14c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x148]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x150], xmm6
movss dword [rbp + 0x154], xmm8
movsd xmm8, qword [rbp + 0x680]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x678]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x158], xmm6
movss dword [rbp + 0x15c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x158]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x160], xmm7
movss dword [rbp + 0x164], xmm9
movsd xmm9, qword [rbp + 0x690]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x688]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x168], xmm7
movss dword [rbp + 0x16c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x168]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x170], xmm6
movss dword [rbp + 0x174], xmm8
movsd xmm8, qword [rbp + 0x6a0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x698]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x178], xmm6
movss dword [rbp + 0x17c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x170]
lea rdx, [rbp + 0x178]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x180], xmm7
movss dword [rbp + 0x184], xmm9
movsd xmm9, qword [rbp + 0x6b0]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x6a8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x188], xmm7
movss dword [rbp + 0x18c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x180]
lea rdx, [rbp + 0x188]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x190], xmm6
movss dword [rbp + 0x194], xmm8
movsd xmm8, qword [rbp + 0x590]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x588]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x198], xmm6
movss dword [rbp + 0x19c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x198]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm2, dword [0x14013aabc]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x5a0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x598]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x1a0], xmm0
movss dword [rbp + 0x1a4], xmm1
movss dword [rbp + 0x1a8], xmm7
movss dword [rbp + 0x1ac], xmm9
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x1a8]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm2, dword [0x14013aabc]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x5b0]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x5a8]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x1b0], xmm0
movss dword [rbp + 0x1b4], xmm1
movss dword [rbp + 0x1b8], xmm6
movss dword [rbp + 0x1bc], xmm8
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x1b8]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1c0], xmm10
movss dword [rbp + 0x1c4], xmm11
movsd xmm9, qword [rbp + 0x5c0]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x5b8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x1c8], xmm7
movss dword [rbp + 0x1cc], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1c0]
lea rdx, [rbp + 0x1c8]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1d0], xmm10
movss dword [rbp + 0x1d4], xmm11
movsd xmm8, qword [rbp + 0x5d0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x5c8]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x1d8], xmm6
movss dword [rbp + 0x1dc], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x1d8]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1e0], xmm7
movss dword [rbp + 0x1e4], xmm9
movsd xmm9, qword [rbp + 0x5e0]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x5d8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x1e8], xmm7
movss dword [rbp + 0x1ec], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1e0]
lea rdx, [rbp + 0x1e8]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x1f0], xmm6
movss dword [rbp + 0x1f4], xmm8
movsd xmm8, qword [rbp + 0x5f0]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x5e8]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x1f8], xmm6
movss dword [rbp + 0x1fc], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0x1f8]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x200], xmm7
movss dword [rbp + 0x204], xmm9
movsd xmm9, qword [rbp + 0x600]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x5f8]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x208], xmm7
movss dword [rbp + 0x20c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x200]
lea rdx, [rbp + 0x208]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x210], xmm6
movss dword [rbp + 0x214], xmm8
movsd xmm8, qword [rbp + 0x610]
cvtpd2ps xmm8, xmm8
movsd xmm6, qword [rbp + 0x608]
cvtpd2ps xmm6, xmm6
movss dword [rbp + 0x218], xmm6
movss dword [rbp + 0x21c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x210]
lea rdx, [rbp + 0x218]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movsd xmm11, qword [rbp + 0x620]
cvtpd2ps xmm11, xmm11
movsd xmm10, qword [rbp + 0x618]
cvtpd2ps xmm10, xmm10
movss dword [rbp + 0x220], xmm10
movss dword [rbp + 0x224], xmm11
movss dword [rbp + 0x228], xmm7
movss dword [rbp + 0x22c], xmm9
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x228]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm0, dword [0x14013aabc]
cvtdq2ps xmm0, xmm0
movsd xmm9, qword [rbp + 0x640]
cvtpd2ps xmm9, xmm9
movsd xmm7, qword [rbp + 0x638]
cvtpd2ps xmm7, xmm7
movss dword [rbp + 0x230], xmm7
movss dword [rbp + 0x234], xmm9
movss dword [rbp + 0x238], xmm6
movss dword [rbp + 0x23c], xmm8
movss dword [rsp + 0x20], xmm0
mov r9d, r12d
lea r8, [rbp + 0x230]
lea rdx, [rbp + 0x238]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm2, dword [0x14013aabc]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 0x630]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x628]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x240], xmm0
movss dword [rbp + 0x244], xmm1
movss dword [rbp + 0x248], xmm10
movss dword [rbp + 0x24c], xmm11
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x240]
lea rdx, [rbp + 0x248]
mov rcx, rax
call fcn.14001ff80
call fcn.14000b220
movd xmm2, dword [0x14013aabc]
cvtdq2ps xmm2, xmm2
movsd xmm1, qword [rbp + 8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x250], xmm0
movss dword [rbp + 0x254], xmm1
movss dword [rbp + 0x258], xmm7
movss dword [rbp + 0x25c], xmm9
movss dword [rsp + 0x20], xmm2
mov r9d, r12d
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x258]
mov rcx, rax
call fcn.14001ff80
nop
mov rdx, qword [rbp + 0x9a0]
cmp rdx, 0xf
jbe 0x1400507c1
inc rdx
mov rcx, qword [rbp + 0x988]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400507bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140050a1f
call fcn.140056908
xor eax, eax
mov qword [rbp + 0x998], rax
mov qword [rbp + 0x9a0], 0xf
mov byte [rbp + 0x988], al
movss xmm11, dword [rbp - 0x80]
mov r12, qword [rbp - 0x48]
add r12, 0x48
mov qword [rbp - 0x48], r12
cmp r12, qword [rbp + 0x2f0]
jne 0x14004d010
movsd xmm6, qword [rbp + 0x260]
mov edi, 1
mov rsi, qword [rbp - 8]
xor r14d, r14d
mov rax, qword [0x14013aeb8]
mov rcx, qword [rax + 0x48]
add rcx, 0x168
xorps xmm0, xmm0
movups xmmword [rbp + 0xa40], xmm0
movsd qword [rbp + 0xa50], xmm6
mov dword [rbp + 0x98c], r14d
mov dword [rbp + 0x9a9], r14d
mov word [rbp + 0x9ad], r14w
mov byte [rbp + 0x9af], 0
mov qword [rbp + 0x990], rcx
lea rax, [rbp + 0xa40]
mov qword [rbp + 0x998], rax
mov qword [rbp + 0x9a0], 0x18
mov eax, dword [0x14013ace0]
mov dword [rbp + 0x988], eax
mov byte [rbp + 0x9a8], 0
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x28
lea r8, [rbp + 0x988]
mov edx, 0x2204e8
mov rcx, qword [0x14013acd8]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rcx, [rsi + 0x198]
call fcn.140048e70
test rsi, rsi
je 0x140050cc3
cmp byte [0x14013aa90], 0
je 0x140050cc3
lea rcx, [rsi + 0x318]
call fcn.140048e70
mov rbx, rax
xorps xmm8, xmm8
movsd qword [rbp - 0x60], xmm6
movaps xmm9, xmm6
movaps xmm10, xmm6
mov eax, dword [0x14013b0a0]
test eax, eax
je 0x140050af9
sub eax, 1
je 0x140050ab0
sub eax, 1
je 0x140050a6b
cmp eax, 1
jne 0x140050af2
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [rbp + 0x1de4], 0xffffffff
mov dword [rbp + 0xa64], eax
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul ecx, ecx, 0x6c078965
add ecx, edi
mov dword [rbp + rdi*4 + 0xa64], ecx
mov eax, ecx
inc rdi
cmp rdi, 0x270
jb 0x140050940
mov dword [rbp + 0xa60], 0x270
lea rcx, [rbp + 0xa60]
call fcn.140049b40
shr eax, 0x1e
test eax, eax
je 0x140050af9
sub eax, 1
je 0x140050ab0
sub eax, 1
je 0x140050a6b
sub eax, 1
je 0x140050a26
cmp eax, 1
jne 0x140050af2
mov r8d, 9
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.140049d20
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x60], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
mov r8d, 9
jmp 0x140050b39
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
mov r8d, 0x26
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.140049d20
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x60], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
mov r8d, 0x26
jmp 0x140050b39
mov r8d, 0x42
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.140049d20
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x60], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
mov r8d, 0x42
jmp 0x140050b39
mov r8d, 0x43
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.140049d20
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x70], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x60], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
mov r8d, 0x43
jmp 0x140050b39
movsd xmm2, qword [rbp - 0x60]
jmp 0x140050b5c
mov r8d, 0x6e
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.140049d20
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmmword [rbp - 0x70], xmm0
movsd qword [rbp - 0x60], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
mov r8d, 0x6e
movsd xmm9, qword [rax]
movsd xmm10, qword [rax + 8]
mov rdx, rbx
lea rcx, [rbp + 0x890]
call fcn.140049d20
movsd xmm2, qword [rax + 0x10]
movups xmm8, xmmword [rax]
xorps xmm0, xmm0
movups xmmword [rbp + 0x988], xmm0
movdqa xmm1, xmmword [0x1400800b0]
movdqu xmmword [rbp + 0x998], xmm1
mov byte [rbp + 0x988], 0
movaps xmmword [rbp - 0x70], xmm8
movsd qword [rbp - 0x60], xmm2
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
mov rcx, qword [0x14013aea0]
call fcn.1400562b0
ucomisd xmm8, xmm6
jp 0x140050c47
jne 0x140050c47
movaps xmm3, xmm8
unpckhpd xmm3, xmm8
ucomisd xmm3, xmm6
jp 0x140050bc1
je 0x140050cc3
mov eax, dword [0x14013b0b4]
cdq
sub eax, edx
sar eax, 1
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
mov eax, dword [0x14013b0b0]
cdq
sub eax, edx
sar eax, 1
xorps xmm7, xmm7
cvtsi2sd xmm7, eax
xorps xmm1, xmm1
movss xmm1, xmm11
subsd xmm2, xmm3
cvtpd2ps xmm0, xmm2
call fcn.140057000
movaps xmm6, xmm0
subsd xmm7, xmm8
cvtpd2ps xmm0, xmm7
movaps xmm1, xmm11
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 0x140050c27
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140050c2f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [0x14013aa9c]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x140050cc3
mov rcx, rbx
call fcn.140052aa0
test al, al
je 0x140050cc3
cmp byte [0x14013b098], 0
je 0x140050cb6
movdqa xmm0, xmmword [0x140060210]
movdqa xmmword [rbp + 0x470], xmm0
subsd xmm10, qword [0x140080028]
cvttsd2si r8d, xmm10
subsd xmm9, qword [0x14007fff8]
cvttsd2si edx, xmm9
lea rax, [0x14007fadc]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [rbp + 0x470]
movss xmm0, dword [0x14005c280]
movd ecx, xmm0
call fcn.14004a7f0
mov ecx, dword [0x14013b0b8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
call fcn.140014040
mov rcx, qword [rbp + 0x1e90]
xor rcx, rsp
call fcn.140056a20
lea r11, [rsp + 0x2040]
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