Function at 0x140052bb0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Hide graphical window
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x8f8]
sub rsp, 0x9d0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140072040]
xor rax, rsp
mov qword [rbp + 0x820], rax
xor esi, esi
xorps xmm0, xmm0
movups xmmword [rbp + 0x470], xmm0
lea r13, [rbp + 0x8f8]
movabs r12, 0xff00ff00ff00ff00
mov qword [rbp + 0x478], r12
mov qword [rbp + 0x480], r13
mov rax, qword [r13]
xor rax, r12
mov qword [rbp + 0x470], rax
mov qword [r13], rsi
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Foreground
lea edx, [rsi + 1]
mov rcx, qword [rax]
call fcn.140007670
mov rdi, rax
mov qword [rbp + 0x10], rax
lea r14d, [rsi + 0xf]
lea r15, [rsi - 1]
movss xmm6, dword [0x1400685ac]
mov rcx, qword [0x1402ae260]
cmp byte [rcx + 5], sil
je 0x1400530e0
mov r9d, esi
cmp byte [rcx + 9], sil
je 0x140052ecc
mov rax, qword [0x1402ae0c0]
movss xmm2, dword [rax + 0xe0]
cvtps2pd xmm2, xmm2
mov byte [rbp - 0x78], 0x77
mov byte [rbp - 0x77], 0x4c
mov byte [rbp - 0x76], 0x40
mov byte [rbp - 0x75], 0x5d
mov byte [rbp - 0x74], 0x1c
mov byte [rbp - 0x73], 0x1e
mov byte [rbp - 0x72], 0x7c
mov byte [rbp - 0x71], 0x6b
mov byte [rbp - 0x70], 0x6d
mov byte [rbp - 0x6f], 7
mov byte [rbp - 0x6e], 0x13
mov byte [rbp - 0x6d], 0x1d
mov byte [rbp - 0x6c], 0x12
mov byte [rbp - 0x6b], 4
mov byte [rbp - 0x6a], 0x52
mov byte [rbp - 0x69], 0x59
mov byte [rbp - 0x68], 0x3a
mov byte [rbp - 0x67], 0x3d
movzx eax, byte [rbp - 0x78]
movabs r11, 0xa8e61ba8eede962e
mov r10, r11
lea rax, [rbp - 0x78]
sub r10, rax
nop word [rax + rax]
lea rdx, [rbp - 0x78]
add rdx, r9
movsx r8, byte [rdx]
mov rcx, r9
and ecx, r14d
cmp rcx, r14
cmovae rcx, r14
shl cl, 2
mov rax, r11
shr rax, cl
and al, r14b
add dl, r10b
xor al, dl
xor al, r8b
mov byte [rbp + r9 - 0x78], al
inc r9
cmp r9, 0x12
jb 0x140052d30
movq r8, xmm2
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x720]
call fcn.14004be10
mov byte [rbp - 0x80], 0x67
mov byte [rbp - 0x7f], 0x5f
mov byte [rbp - 0x7e], 0x48
mov byte [rbp - 0x7d], 0x56
mov byte [rbp - 0x7c], 0x42
movzx eax, byte [rbp - 0x80]
mov r9, rsi
movabs rbx, 0x4dc1bc287f42c03c
mov r10, rbx
lea rax, [rbp - 0x80]
sub r10, rax
nop
lea rdx, [rbp - 0x80]
add rdx, r9
movsx r8, byte [rdx]
mov rcx, r9
and ecx, r14d
cmp rcx, r14
cmovae rcx, r14
shl cl, 2
mov rax, rbx
shr rax, cl
and al, r14b
add dl, r10b
xor al, dl
xor al, r8b
mov byte [rbp + r9 - 0x80], al
inc r9
cmp r9, 5
jb 0x140052db0
mov rbx, qword [0x1402ae0c0]
mov qword [rsp + 0x30], rsi
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1400685c8]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm6
movss xmm2, dword [rbx + 0x3c20]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x3c18]
call fcn.140030290
mov dword [rbp - 0x60], 0x41200000
mov dword [rbp - 0x5c], 0x41300000
movaps xmm0, xmmword [0x1400687f0]
movups xmmword [rsp + 0x50], xmm0
mov rax, qword [rbx + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov r10, rax
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r9d, eax
mov rcx, qword [0x1402ae0c0]
mov r8, qword [rcx + 0x3c18]
test eax, 0xff000000
je 0x1400530e0
lea rax, [rbp + 0x720]
mov rcx, r15
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x140052e90
lea rdx, [rbp + 0x720]
add rdx, rcx
lea rax, [rbp + 0x720]
cmp rax, rdx
je 0x1400530e0
test r8, r8
jne 0x140052ec0
mov rax, qword [r10 + 0x38]
mov r8, qword [rax + 8]
lea rax, [rbp + 0x720]
jmp 0x140053093
mov byte [rsp + 0x78], 0x67
mov byte [rsp + 0x79], 0x5f
mov byte [rsp + 0x7a], 0x48
mov byte [rsp + 0x7b], 0x56
mov byte [rsp + 0x7c], 0x42
movzx eax, byte [rsp + 0x78]
movabs rbx, 0x4dc1bc287f42c03c
mov r10, rbx
lea rax, [rsp + 0x78]
sub r10, rax
nop
lea rdx, [rsp + 0x78]
add rdx, r9
movsx r8, byte [rdx]
mov rcx, r9
and ecx, r14d
cmp rcx, r14
cmovae rcx, r14
shl cl, 2
mov rax, rbx
shr rax, cl
and al, r14b
add dl, r10b
xor al, dl
xor al, r8b
mov byte [rsp + r9 + 0x78], al
inc r9
cmp r9, 5
jb 0x140052f00
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x760]
call fcn.14004be10
mov byte [rsp + 0x70], 0x67
mov byte [rsp + 0x71], 0x5f
mov byte [rsp + 0x72], 0x48
mov byte [rsp + 0x73], 0x56
mov byte [rsp + 0x74], 0x42
movzx eax, byte [rsp + 0x70]
mov r9, rsi
mov r10, rbx
lea rax, [rsp + 0x70]
sub r10, rax
nop dword [rax + rax]
lea rdx, [rsp + 0x70]
add rdx, r9
movsx r8, byte [rdx]
mov rcx, r9
and ecx, r14d
cmp rcx, r14
cmovae rcx, r14
shl cl, 2
mov rax, rbx
shr rax, cl
and al, r14b
add dl, r10b
xor al, dl
xor al, r8b
mov byte [rsp + r9 + 0x70], al
inc r9
cmp r9, 5
jb 0x140052f80
mov rbx, qword [0x1402ae0c0]
mov qword [rsp + 0x30], rsi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
movss xmm0, dword [0x1400685c8]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm6
movss xmm2, dword [rbx + 0x3c20]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x3c18]
call fcn.140030290
mov dword [rbp - 0x60], 0x41200000
mov dword [rbp - 0x5c], 0x41300000
movaps xmm0, xmmword [0x1400687f0]
movups xmmword [rsp + 0x50], xmm0
mov rax, qword [rbx + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov r10, rax
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r9d, eax
mov rcx, qword [0x1402ae0c0]
mov r8, qword [rcx + 0x3c18]
test eax, 0xff000000
je 0x1400530e0
lea rax, [rbp + 0x760]
mov rcx, r15
inc rcx
cmp byte [rax + rcx], 0
jne 0x140053060
lea rdx, [rbp + 0x760]
add rdx, rcx
lea rax, [rbp + 0x760]
cmp rax, rdx
je 0x1400530e0
test r8, r8
jne 0x14005308c
mov rax, qword [r10 + 0x38]
mov r8, qword [rax + 8]
lea rax, [rbp + 0x760]
mov byte [rsp + 0x48], 0
xorps xmm14, xmm14
movss dword [rsp + 0x40], xmm14
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r10 + 0x88]
mov dword [rsp + 0x20], r9d
movups xmmword [rsp + 0x50], xmm0
lea r9, [rbp - 0x60]
movss xmm2, dword [0x1400684a8]
mov rdx, r10
mov rcx, r8
call fcn.1400304b0
movss xmm7, dword [0x1400683bc]
mov rax, qword [0x1402ae278]
cmp byte [rax + 0xc], 0
je 0x1400532c1
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rbx, rax
movaps xmm0, xmmword [0x1400687e0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov edi, eax
mov rcx, qword [0x1402ae278]
movd xmm2, dword [rcx + 0x10]
cvtdq2ps xmm2, xmm2
mov rcx, qword [0x1402ae2b8]
mov eax, dword [rcx + 0x10]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rcx + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm1
movss xmm8, dword [0x140068474]
movss xmm6, dword [0x140068388]
test edi, 0xff000000
je 0x1400531d8
comiss xmm6, xmm2
ja 0x1400531d8
subss xmm2, xmm6
mov dword [rsp + 0x28], 0x20
movss dword [rsp + 0x20], xmm8
xorps xmm3, xmm3
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.140027a00
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140025fb0
mov dword [rbx + 0x78], esi
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rbx, rax
movaps xmm0, xmmword [0x1400687e0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov edi, eax
mov rcx, qword [0x1402ae278]
mov edx, dword [rcx + 0x10]
inc edx
movd xmm2, edx
cvtdq2ps xmm2, xmm2
mov r8, qword [0x1402ae2b8]
mov eax, dword [r8 + 0x10]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [r8 + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x3d8], xmm0
movss dword [rbp + 0x3dc], xmm1
test edi, 0xff000000
je 0x1400536f6
comiss xmm6, xmm2
ja 0x1400536f6
subss xmm2, xmm6
mov dword [rsp + 0x28], 0x20
movss dword [rsp + 0x20], xmm8
xorps xmm3, xmm3
lea rdx, [rbp + 0x3d8]
mov rcx, rbx
call fcn.140027a00
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 1
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140025fb0
mov dword [rbx + 0x78], esi
mov rdi, qword [rbp + 0x10]
mov r8, qword [0x1402ae2b8]
mov rax, qword [0x1402ae260]
cmp byte [rax + 4], 0
je 0x1400536c3
movaps xmm0, xmmword [0x140068710]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r9d, eax
mov eax, dword [r8 + 0x10]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [r8 + 0xc]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax - 9]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
add eax, 0xfffffffe
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x3d0], xmm0
movss dword [rbp + 0x3d4], xmm1
movss xmm6, dword [0x1400683e8]
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x3d0]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x140068710]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r9d, eax
mov rcx, qword [0x1402ae2b8]
mov eax, dword [rcx + 0x10]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rcx + 0xc]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + 9]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
add eax, 2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x20]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x140068710]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r10d, eax
mov r8, qword [0x1402ae2b8]
mov eax, dword [r8 + 0x10]
cdq
sub eax, edx
sar eax, 1
mov r9d, eax
lea ecx, [rax - 9]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [r8 + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x18], xmm1
movss dword [rbp - 0x14], xmm0
lea eax, [r9 - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x10], xmm1
movss dword [rbp - 0xc], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, r10d
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x140068710]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r10d, eax
mov r8, qword [0x1402ae2b8]
mov eax, dword [r8 + 0x10]
cdq
sub eax, edx
sar eax, 1
mov r9d, eax
lea ecx, [rax + 9]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [r8 + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 8], xmm1
movss dword [rbp - 4], xmm0
lea eax, [r9 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp], xmm1
movss dword [rbp + 4], xmm0
movss dword [rsp + 0x20], xmm6
mov r9d, r10d
lea r8, [rbp - 8]
lea rdx, [rbp]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x1400687e0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r9d, eax
mov rcx, qword [0x1402ae2b8]
mov eax, dword [rcx + 0x10]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rcx + 0xc]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax - 8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 8], xmm0
movss dword [rbp + 0xc], xmm1
add eax, 0xfffffffd
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x24], xmm1
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 8]
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x1400687e0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r9d, eax
mov rcx, qword [0x1402ae2b8]
mov eax, dword [rcx + 0x10]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [rcx + 0xc]
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + 8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm1
add eax, 3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x2c], xmm1
movss dword [rsp + 0x20], xmm7
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x1400687e0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r10d, eax
mov r8, qword [0x1402ae2b8]
mov eax, dword [r8 + 0x10]
cdq
sub eax, edx
sar eax, 1
mov r9d, eax
lea ecx, [rax - 8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [r8 + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x58], xmm1
movss dword [rbp - 0x54], xmm0
lea eax, [r9 - 3]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x48], xmm1
movss dword [rbp - 0x44], xmm0
movss dword [rsp + 0x20], xmm7
mov r9d, r10d
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x48]
mov rcx, rdi
call fcn.1400283a0
movaps xmm0, xmmword [0x1400687e0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov r10d, eax
mov r8, qword [0x1402ae2b8]
mov eax, dword [r8 + 0x10]
cdq
sub eax, edx
sar eax, 1
mov r9d, eax
lea ecx, [rax + 8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [r8 + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x3c8], xmm1
movss dword [rbp + 0x3cc], xmm0
lea eax, [r9 + 3]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x250], xmm1
movss dword [rbp + 0x254], xmm0
movss dword [rsp + 0x20], xmm7
mov r9d, r10d
lea r8, [rbp + 0x3c8]
lea rdx, [rbp + 0x250]
mov rcx, rdi
call fcn.1400283a0
mov rax, qword [0x1402ae260]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
mov rax, qword [0x1402ae260]
mov rcx, qword [0x1402ae150]
cmp byte [rax + 7], 0
je 0x1400536ff
mov edx, 0x11
jmp 0x140053701
mov rdi, qword [rbp + 0x10]
jmp 0x1400532c8
xor edx, edx
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
mov rax, qword [0x1402ae280]
mov rcx, qword [rax]
mov rax, qword [0x1402ae2b8]
add rcx, qword [rax]
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx], rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 8]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx + 8], rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x10]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx + 0x10], rax
mov rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx + 0x18], rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x30]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx + 0x20], rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x28]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx + 0x28], rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x18]
add rcx, rax
call fcn.14005d0b0
mov rdx, qword [0x1402ae2e8]
mov qword [rdx + 0x40], rax
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0x38]
add rcx, qword [rdx + 0x28]
call fcn.14005d0b0
mov rdx, qword [0x1402ae2e8]
mov qword [rdx + 0x68], rax
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0x20]
add rcx, qword [rdx]
call fcn.14005d0b0
mov rdx, qword [0x1402ae2e8]
mov qword [rdx + 0x38], rax
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0x40]
add rcx, qword [rdx]
call fcn.14005d0b0
mov rcx, qword [0x1402ae2e8]
mov qword [rcx + 0x58], rax
mov rax, qword [0x1402ae280]
mov rdx, qword [rax + 0x60]
add rdx, qword [rcx + 0x68]
xorps xmm9, xmm9
movups xmmword [rbp + 0x280], xmm9
movsd qword [rbp + 0x278], xmm9
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x2b0], eax
mov qword [rbp + 0x2c0], rdx
lea rax, [rbp + 0x278]
mov qword [rbp + 0x2b8], rax
mov dword [rbp + 0x2c8], 0x18
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x2cc], eax
lea r8, [rbp + 0x2b0]
mov edx, 1
call fcn.14004c630
mov rcx, qword [0x1402ae2e8]
movsd xmm0, qword [rbp + 0x278]
movsd qword [rcx + 0x78], xmm0
movsd xmm1, qword [rbp + 0x280]
movsd qword [rcx + 0x80], xmm1
movsd xmm0, qword [rbp + 0x288]
movsd qword [rcx + 0x88], xmm0
mov rax, qword [0x1402ae280]
mov rdx, qword [rax + 0x78]
add rdx, qword [rcx + 0x40]
mov dword [rbp + 0x3d0], esi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x230], eax
mov qword [rbp + 0x240], rdx
lea rax, [rbp + 0x3d0]
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x248], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x24c], eax
lea r8, [rbp + 0x230]
mov edx, 1
call fcn.14004c630
mov rdx, qword [0x1402ae2e8]
movzx eax, byte [rbp + 0x3d0]
mov byte [rdx + 0x94], al
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0x58]
add rcx, qword [rdx + 0x58]
call fcn.14005d0b0
mov rdx, qword [0x1402ae2e8]
mov qword [rdx + 0x30], rax
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0x58]
mov rdx, qword [rdx + 0x58]
add rcx, 8
add rdx, rcx
mov dword [rbp + 0x3d0], esi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x2e0], eax
mov qword [rbp + 0x2f0], rdx
lea rax, [rbp + 0x3d0]
mov qword [rbp + 0x2e8], rax
mov dword [rbp + 0x2f8], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x2fc], eax
lea r8, [rbp + 0x2e0]
mov edx, 1
call fcn.14004c630
mov rcx, qword [0x1402ae2e8]
mov eax, dword [rbp + 0x3d0]
mov dword [rcx + 0x70], eax
mov eax, dword [rbp + 0x3d0]
mov dword [rcx + 0x90], 0x7f7fffff
mov qword [rcx + 0x60], rsi
mov edx, esi
mov dword [rsp + 0x70], edx
test eax, eax
je 0x140057230
lea r13, [rbp + 0x8f8]
movsd xmm11, qword [0x140068430]
movsd xmm10, qword [0x1400685d8]
movsd xmm12, qword [0x1400683f0]
movsd xmm13, qword [0x140068450]
nop
unpcklpd xmm9, xmm9
mov rax, qword [0x1402ae280]
imul rdx, qword [rax + 0x70]
add rdx, qword [rcx + 0x30]
mov qword [rbp + 0x250], rsi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x230], eax
mov qword [rbp + 0x240], rdx
lea rax, [rbp + 0x250]
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x248], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x24c], eax
lea r8, [rbp + 0x230]
mov edx, 1
call fcn.14004c630
mov rbx, qword [rbp + 0x250]
mov qword [rbp - 0x30], rbx
mov rax, qword [0x1402ae280]
mov rdx, qword [rax + 0x50]
add rdx, rbx
mov qword [rbp + 0x3c8], rsi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x3e0], eax
mov qword [rbp + 0x3f0], rdx
lea rax, [rbp + 0x3c8]
mov qword [rbp + 0x3e8], rax
mov dword [rbp + 0x3f8], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x3fc], eax
lea r8, [rbp + 0x3e0]
mov edx, 1
call fcn.14004c630
mov rdi, qword [rbp + 0x3c8]
mov qword [rbp - 0x20], rdi
mov rax, qword [0x1402ae280]
mov rdx, qword [rax + 0x78]
add rdx, rbx
mov dword [rbp + 0x3d8], esi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x230], eax
mov qword [rbp + 0x240], rdx
lea rax, [rbp + 0x3d8]
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x248], 4
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x24c], eax
lea r8, [rbp + 0x230]
mov edx, 1
call fcn.14004c630
mov qword [rbp + 0x448], rsi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x300], eax
lea rax, [rdi + 0xa20]
mov qword [rbp + 0x310], rax
lea rax, [rbp + 0x448]
mov qword [rbp + 0x308], rax
mov dword [rbp + 0x318], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x31c], eax
lea r8, [rbp + 0x300]
mov edx, 1
call fcn.14004c630
mov rax, qword [rbp + 0x448]
mov qword [rbp - 0x18], rax
test rdi, rdi
je 0x14005720f
mov rax, qword [0x1402ae280]
mov rdx, qword [rax + 0x68]
add rdx, rdi
mov qword [rbp + 0x420], rsi
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x320], eax
mov qword [rbp + 0x330], rdx
lea rax, [rbp + 0x420]
mov qword [rbp + 0x328], rax
mov dword [rbp + 0x338], 8
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x33c], eax
lea r8, [rbp + 0x320]
mov edx, 1
call fcn.14004c630
mov rcx, qword [0x1402ae2e8]
cmp rdi, qword [rcx + 0x28]
je 0x140057216
mov r9d, 0x6d
mov r15, qword [rbp + 0x420]
mov r8, r15
lea rdx, [rbp + 0x278]
call fcn.14004c920
movsd xmm0, qword [rbp + 0x288]
addsd xmm0, qword [0x140068410]
movsd qword [rbp + 0x3c8], xmm0
movsd xmm0, qword [rbp + 0x278]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp + 0x280]
movsd qword [rbp - 0x48], xmm1
xorps xmm0, xmm0
movups xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3e8], r12
mov qword [rbp + 0x3f0], r13
mov r14, qword [r13]
mov rax, r14
xor rax, r12
mov qword [rbp + 0x3e0], rax
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x238], r12
mov qword [rbp + 0x240], r13
mov qword [rbp + 0x230], r12
mov qword [r13], rsi
mov rax, qword [0x1402ae280]
mov rcx, qword [rax]
mov rax, qword [0x1402ae2b8]
add rcx, qword [rax]
call fcn.14005d0b0
mov rbx, rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 8]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x10]
add rcx, rax
call fcn.14005d0b0
mov rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x30]
add rcx, rax
call fcn.14005d0b0
mov rsi, rax
lea rcx, [rbx + 0x110]
call fcn.14005d0b0
mov rdi, rax
lea rcx, [rbx + 0x120]
call fcn.14005d0b0
mov rbx, rax
mov rcx, rax
call fcn.14005d130
movaps xmm8, xmm0
lea rcx, [rbx + 0x20]
call fcn.14005d130
movaps xmm7, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.14005d130
movaps xmm6, xmm0
movups xmmword [rsp + 0x58], xmm9
movsd qword [rsp + 0x50], xmm9
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x258], eax
mov qword [rbp + 0x268], rdi
lea rax, [rsp + 0x50]
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x270], 0x18
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x274], eax
lea r8, [rbp + 0x258]
mov edx, 1
call fcn.14004c630
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm6, xmm0
mulsd xmm6, xmm11
mulsd xmm8, xmm10
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm8, xmm0
mulsd xmm8, xmm11
mulsd xmm8, xmm10
mulsd xmm8, xmm10
lea rcx, [rsi + 0x394]
call fcn.14005cfc0
movaps xmm15, xmm0
mulss xmm15, dword [0x140068510]
mulsd xmm6, xmm12
divsd xmm6, xmm13
mulsd xmm8, xmm12
divsd xmm8, xmm13
cvtsd2ss xmm6, xmm6
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm12, xmm12
cvtss2sd xmm12, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
xorps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movsd qword [rsp + 0x78], xmm6
xorps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm14, xmm14
cvtss2sd xmm14, xmm0
movsd qword [rbp - 0x80], xmm14
movaps xmm3, xmm6
mulsd xmm3, xmm7
movaps xmm4, xmm6
xorps xmm4, xmmword [0x140068830]
movsd qword [rbp + 0x250], xmm4
movaps xmm5, xmm14
mulsd xmm5, xmm7
xor r12d, r12d
mov qword [r13], r12
cvtpd2ps xmm0, xmm7
cvtps2pd xmm11, xmm0
movaps xmm1, xmm12
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm6, xmm0
movaps xmm2, xmm8
mulsd xmm2, xmm9
cvtpd2ps xmm0, xmm2
cvtps2pd xmm7, xmm0
movaps xmm1, xmm4
mulsd xmm1, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
cvtps2pd xmm13, xmm0
movaps xmm2, xmm14
mulsd xmm2, xmm8
movaps xmm0, xmm3
mulsd xmm0, xmm12
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm10, xmm0
mulsd xmm3, xmm8
movaps xmm0, xmm14
mulsd xmm0, xmm12
subsd xmm3, xmm0
cvtpd2ps xmm0, xmm3
cvtps2pd xmm14, xmm0
movsd xmm1, qword [rbp - 0x80]
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm4, xmm0
movsd xmm1, qword [rsp + 0x78]
movaps xmm2, xmm1
mulsd xmm2, xmm8
movaps xmm0, xmm5
mulsd xmm0, xmm12
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm3, xmm0
mulsd xmm1, xmm12
mulsd xmm5, xmm8
addsd xmm1, xmm5
xorps xmm1, xmmword [0x140068830]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
cvtps2pd xmm8, xmm0
movsd xmm12, qword [rbp + 0x3c8]
subsd xmm12, qword [rsp + 0x60]
movsd xmm9, qword [rbp - 0x48]
subsd xmm9, qword [rsp + 0x58]
movsd xmm5, qword [rbp - 0x58]
subsd xmm5, qword [rsp + 0x50]
movaps xmm2, xmm9
mulsd xmm2, xmm6
mulsd xmm7, xmm5
addsd xmm2, xmm7
movaps xmm0, xmm12
mulsd xmm0, xmm11
addsd xmm2, xmm0
mulsd xmm8, xmm5
movaps xmm0, xmm9
mulsd xmm0, xmm3
addsd xmm8, xmm0
movaps xmm1, xmm12
mulsd xmm1, xmm4
addsd xmm8, xmm1
mulsd xmm14, xmm5
mulsd xmm9, xmm10
addsd xmm14, xmm9
mulsd xmm12, xmm13
addsd xmm14, xmm12
movsd xmm7, qword [0x1400683e0]
maxsd xmm7, xmm2
mov rbx, qword [0x1402ae2b8]
movd xmm6, dword [rbx + 0xc]
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [0x140068388]
mulss xmm15, dword [0x140068428]
divss xmm15, dword [0x140068568]
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm1, xmm6
divss xmm1, xmm0
cvtps2pd xmm3, xmm1
movd xmm2, dword [rbx + 0x10]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x140068388]
cvtps2pd xmm1, xmm2
movaps xmm0, xmm3
mulsd xmm0, xmm8
divsd xmm0, xmm7
subsd xmm1, xmm0
movsd qword [rbp - 0x48], xmm1
mulsd xmm3, xmm14
divsd xmm3, xmm7
cvtps2pd xmm0, xmm6
addsd xmm3, xmm0
movsd qword [rbp - 0x50], xmm3
mov qword [r13], r14
xor r9d, r9d
mov r8, r15
lea rdx, [rbp + 0x2b0]
call fcn.14004c920
movsd xmm15, qword [rbp + 0x2b0]
movsd xmm0, qword [rbp + 0x2b8]
movsd qword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp + 0x2c0]
movsd qword [rbp + 0x3c8], xmm1
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
movabs rcx, 0xff00ff00ff00ff00
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], r13
mov r14, qword [r13]
mov rax, r14
xor rax, rcx
mov qword [rbp + 0x230], rax
movups xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3e8], rcx
mov qword [rbp + 0x3f0], r13
mov qword [rbp + 0x3e0], rcx
mov qword [r13], r12
mov rax, qword [0x1402ae280]
mov rcx, qword [rax]
mov rax, qword [0x1402ae2b8]
add rcx, qword [rax]
call fcn.14005d0b0
mov rbx, rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 8]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x10]
add rcx, rax
call fcn.14005d0b0
mov rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x30]
add rcx, rax
call fcn.14005d0b0
mov rsi, rax
lea rcx, [rbx + 0x110]
call fcn.14005d0b0
mov rdi, rax
lea rcx, [rbx + 0x120]
call fcn.14005d0b0
mov rbx, rax
mov rcx, rax
call fcn.14005d130
movaps xmm8, xmm0
lea rcx, [rbx + 0x20]
call fcn.14005d130
movaps xmm7, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.14005d130
movaps xmm6, xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movsd qword [rsp + 0x50], xmm0
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x258], eax
mov qword [rbp + 0x268], rdi
lea rax, [rsp + 0x50]
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x270], 0x18
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x274], eax
lea r8, [rbp + 0x258]
lea edx, [r12 + 1]
call fcn.14004c630
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm6, xmm0
mulsd xmm6, qword [0x140068430]
movsd xmm9, qword [0x1400685d8]
mulsd xmm8, xmm9
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm8, xmm0
mulsd xmm8, qword [0x140068430]
mulsd xmm8, xmm9
mulsd xmm8, xmm9
lea rcx, [rsi + 0x394]
call fcn.14005cfc0
movaps xmm14, xmm0
mulss xmm14, dword [0x140068510]
mulsd xmm6, qword [0x1400683f0]
divsd xmm6, qword [0x140068450]
mulsd xmm8, qword [0x1400683f0]
divsd xmm8, qword [0x140068450]
cvtsd2ss xmm6, xmm6
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm4, xmm4
cvtss2sd xmm4, xmm0
movsd xmm3, qword [rsp + 0x78]
mulsd xmm3, xmm7
movsd xmm5, qword [rbp - 0x80]
mulsd xmm5, xmm7
mov qword [r13], r12
cvtpd2ps xmm0, xmm7
cvtps2pd xmm10, xmm0
movaps xmm1, xmm8
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm6, xmm0
movaps xmm2, xmm4
mulsd xmm2, xmm9
cvtpd2ps xmm0, xmm2
cvtps2pd xmm12, xmm0
movsd xmm1, qword [rbp + 0x250]
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm11, xmm0
movaps xmm2, xmm3
mulsd xmm2, xmm8
movsd xmm1, qword [rbp - 0x80]
movaps xmm0, xmm1
mulsd xmm0, xmm4
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm7, xmm0
mulsd xmm3, xmm4
movaps xmm0, xmm1
mulsd xmm0, xmm8
subsd xmm3, xmm0
cvtpd2ps xmm0, xmm3
cvtps2pd xmm13, xmm0
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm3, xmm0
movsd xmm2, qword [rsp + 0x78]
mulsd xmm2, xmm4
movaps xmm0, xmm5
mulsd xmm0, xmm8
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm1, xmm0
mulsd xmm5, xmm4
movsd xmm0, qword [rsp + 0x78]
mulsd xmm0, xmm8
addsd xmm5, xmm0
xorps xmm5, xmmword [0x140068830]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm5
cvtps2pd xmm8, xmm0
movsd xmm4, qword [rbp + 0x3c8]
subsd xmm4, qword [rsp + 0x60]
movsd xmm2, qword [rbp - 0x58]
subsd xmm2, qword [rsp + 0x58]
subsd xmm15, qword [rsp + 0x50]
mulsd xmm12, xmm15
movaps xmm0, xmm2
mulsd xmm0, xmm6
addsd xmm12, xmm0
mulsd xmm10, xmm4
addsd xmm12, xmm10
mulsd xmm8, xmm15
movaps xmm0, xmm2
mulsd xmm0, xmm1
addsd xmm8, xmm0
movaps xmm1, xmm4
mulsd xmm1, xmm3
addsd xmm8, xmm1
mulsd xmm13, xmm15
mulsd xmm2, xmm7
addsd xmm13, xmm2
mulsd xmm4, xmm11
addsd xmm13, xmm4
movsd xmm7, qword [0x1400683e0]
maxsd xmm7, xmm12
mov rbx, qword [0x1402ae2b8]
movd xmm6, dword [rbx + 0xc]
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [0x140068388]
mulss xmm14, dword [0x140068428]
divss xmm14, dword [0x140068568]
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm1, xmm6
divss xmm1, xmm0
cvtps2pd xmm1, xmm1
movd xmm2, dword [rbx + 0x10]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x140068388]
cvtps2pd xmm0, xmm2
mulsd xmm8, xmm1
divsd xmm8, xmm7
subsd xmm0, xmm8
movsd qword [rbp - 0x58], xmm0
mulsd xmm1, xmm13
divsd xmm1, xmm7
cvtps2pd xmm0, xmm6
addsd xmm1, xmm0
movsd qword [rbp - 0x60], xmm1
mov qword [r13], r14
movsd xmm15, qword [rbp + 0x278]
movsd xmm0, qword [rbp + 0x280]
movsd qword [rbp - 0x40], xmm0
movsd xmm1, qword [rbp + 0x288]
movsd qword [rbp + 0x3c8], xmm1
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
movabs rcx, 0xff00ff00ff00ff00
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], r13
mov rax, r14
xor rax, rcx
mov qword [rbp + 0x230], rax
movups xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3e8], rcx
mov qword [rbp + 0x3f0], r13
mov qword [rbp + 0x3e0], rcx
mov qword [r13], r12
mov rax, qword [0x1402ae280]
mov rcx, qword [rax]
add rcx, qword [rbx]
call fcn.14005d0b0
mov rbx, rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 8]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x10]
add rcx, rax
call fcn.14005d0b0
mov rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x30]
add rcx, rax
call fcn.14005d0b0
mov rsi, rax
lea rcx, [rbx + 0x110]
call fcn.14005d0b0
mov rdi, rax
lea rcx, [rbx + 0x120]
call fcn.14005d0b0
mov rbx, rax
mov rcx, rax
call fcn.14005d130
movaps xmm8, xmm0
lea rcx, [rbx + 0x20]
call fcn.14005d130
movaps xmm7, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.14005d130
movaps xmm6, xmm0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movsd qword [rsp + 0x50], xmm0
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x258], eax
mov qword [rbp + 0x268], rdi
lea rax, [rsp + 0x50]
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x270], 0x18
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x274], eax
lea r8, [rbp + 0x258]
lea edx, [r12 + 1]
call fcn.14004c630
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm6, xmm0
mulsd xmm6, qword [0x140068430]
movsd xmm9, qword [0x1400685d8]
mulsd xmm8, xmm9
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm8, xmm0
mulsd xmm8, qword [0x140068430]
mulsd xmm8, xmm9
mulsd xmm8, xmm9
lea rcx, [rsi + 0x394]
call fcn.14005cfc0
movaps xmm14, xmm0
mulss xmm14, dword [0x140068510]
mulsd xmm6, qword [0x1400683f0]
divsd xmm6, qword [0x140068450]
mulsd xmm8, qword [0x1400683f0]
divsd xmm8, qword [0x140068450]
cvtsd2ss xmm6, xmm6
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm5, xmm5
cvtss2sd xmm5, xmm0
movsd xmm3, qword [rsp + 0x78]
mulsd xmm3, xmm7
movsd xmm4, qword [rbp - 0x80]
mulsd xmm4, xmm7
xor esi, esi
lea rdi, [rbp + 0x8f8]
mov qword [rdi], rsi
cvtpd2ps xmm0, xmm7
cvtps2pd xmm10, xmm0
movaps xmm1, xmm8
mulsd xmm1, xmm9
cvtpd2ps xmm0, xmm1
cvtps2pd xmm6, xmm0
movaps xmm2, xmm5
mulsd xmm2, xmm9
cvtpd2ps xmm0, xmm2
cvtps2pd xmm12, xmm0
movsd xmm0, qword [rbp + 0x250]
mulsd xmm0, xmm9
cvtpd2ps xmm0, xmm0
cvtps2pd xmm11, xmm0
movsd xmm2, qword [rbp - 0x80]
movaps xmm1, xmm2
mulsd xmm1, xmm5
movaps xmm0, xmm3
mulsd xmm0, xmm8
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm7, xmm0
mulsd xmm3, xmm5
movaps xmm0, xmm2
mulsd xmm0, xmm8
subsd xmm3, xmm0
cvtpd2ps xmm0, xmm3
cvtps2pd xmm13, xmm0
mulsd xmm2, xmm9
cvtpd2ps xmm0, xmm2
cvtps2pd xmm3, xmm0
movsd xmm9, qword [rsp + 0x78]
movaps xmm1, xmm9
mulsd xmm1, xmm5
movaps xmm0, xmm4
mulsd xmm0, xmm8
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm2, xmm0
mulsd xmm9, xmm8
mulsd xmm4, xmm5
addsd xmm9, xmm4
xorps xmm9, xmmword [0x140068830]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm9
cvtps2pd xmm8, xmm0
movsd xmm5, qword [rbp + 0x3c8]
subsd xmm5, qword [rsp + 0x60]
movsd xmm4, qword [rbp - 0x40]
subsd xmm4, qword [rsp + 0x58]
subsd xmm15, qword [rsp + 0x50]
mulsd xmm12, xmm15
movaps xmm0, xmm4
mulsd xmm0, xmm6
addsd xmm12, xmm0
movaps xmm1, xmm5
mulsd xmm1, xmm10
addsd xmm12, xmm1
mulsd xmm8, xmm15
movaps xmm0, xmm4
mulsd xmm0, xmm2
addsd xmm8, xmm0
movaps xmm1, xmm5
mulsd xmm1, xmm3
addsd xmm8, xmm1
mulsd xmm13, xmm15
mulsd xmm4, xmm7
addsd xmm13, xmm4
mulsd xmm5, xmm11
addsd xmm13, xmm5
movsd xmm7, qword [0x1400683e0]
maxsd xmm7, xmm12
mov rbx, qword [0x1402ae2b8]
movd xmm6, dword [rbx + 0xc]
cvtdq2ps xmm6, xmm6
movss xmm9, dword [0x140068388]
mulss xmm6, xmm9
mulss xmm14, dword [0x140068428]
divss xmm14, dword [0x140068568]
movaps xmm0, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm1, xmm6
divss xmm1, xmm0
cvtps2pd xmm14, xmm1
movd xmm2, dword [rbx + 0x10]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm9
cvtps2pd xmm11, xmm2
movaps xmm0, xmm14
mulsd xmm0, xmm8
divsd xmm0, xmm7
subsd xmm11, xmm0
movsd qword [rbp - 8], xmm11
mulsd xmm14, xmm13
divsd xmm14, xmm7
cvtps2pd xmm0, xmm6
addsd xmm14, xmm0
movsd qword [rbp - 0x10], xmm14
mov qword [rdi], r14
movsd xmm12, qword [rbp - 0x48]
movaps xmm0, xmm12
movsd xmm15, qword [rbp - 0x58]
subsd xmm0, xmm15
andps xmm0, xmmword [0x140068820]
cvtpd2ps xmm8, xmm0
cvtps2pd xmm0, xmm8
mulsd xmm0, qword [0x1400683d0]
cvtpd2ps xmm7, xmm0
mov rax, qword [0x1402ae2e8]
movsd xmm1, qword [rbp + 0x280]
subsd xmm1, qword [rax + 0x80]
movsd xmm2, qword [rbp + 0x278]
subsd xmm2, qword [rax + 0x78]
movsd xmm0, qword [rbp + 0x288]
subsd xmm0, qword [rax + 0x88]
mulsd xmm2, xmm2
mulsd xmm1, xmm1
addsd xmm2, xmm1
mulsd xmm0, xmm0
addsd xmm2, xmm0
cvtpd2ps xmm1, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140054952
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14005495a
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
cvtss2sd xmm0, xmm0
divsd xmm0, qword [0x140068438]
xorps xmm13, xmm13
cvtsd2ss xmm13, xmm0
movss dword [rbp - 0x80], xmm13
mov rax, qword [0x1402ae2c8]
cmp byte [rax + 0xc], 0
je 0x1400570a5
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
movabs rcx, 0xff00ff00ff00ff00
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rdi
mov rax, r14
xor rax, rcx
mov qword [rbp + 0x230], rax
mov qword [rdi], rsi
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0xc0]
add rcx, r15
call fcn.14005cfc0
movaps xmm6, xmm0
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0xc8]
add rcx, r15
call fcn.14005cfc0
addss xmm0, dword [0x140068344]
comiss xmm0, xmm6
setae al
mov qword [rdi], r14
mov r9, qword [0x1402ae0c0]
test al, al
mov rax, qword [0x1402ae290]
je 0x140054a4a
movss xmm2, dword [rax + 8]
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
movss dword [rbp + 0x168], xmm0
movss dword [rbp + 0x16c], xmm1
movss dword [rbp + 0x170], xmm2
movss xmm0, dword [r9 + 0x37d0]
movss dword [rbp + 0x174], xmm0
lea rcx, [rbp + 0x168]
jmp 0x140054a89
movss xmm2, dword [rax + 0x18]
movss xmm1, dword [rax + 0x14]
movss xmm0, dword [rax + 0x10]
movss dword [rbp + 0x158], xmm0
movss dword [rbp + 0x15c], xmm1
movss dword [rbp + 0x160], xmm2
movss xmm0, dword [r9 + 0x37d0]
movss dword [rbp + 0x164], xmm0
lea rcx, [rbp + 0x158]
call fcn.1400039d0
xorps xmm3, xmm3
movzx ecx, al
cvtsi2ss xmm3, rcx
mov ecx, eax
shr ecx, 8
xorps xmm0, xmm0
movzx ecx, cl
cvtsi2ss xmm0, rcx
mov ecx, eax
movss xmm4, dword [0x14006833c]
shr ecx, 0x10
mulss xmm3, xmm4
xorps xmm1, xmm1
movzx ecx, cl
mulss xmm0, xmm4
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm1, rcx
movss xmm3, xmm0
xorps xmm2, xmm2
shr eax, 0x18
mulss xmm1, xmm4
shufps xmm3, xmm3, 0xc6
cvtsi2ss xmm2, rax
movss xmm3, xmm1
mulss xmm2, xmm4
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [0x1402ae3e8], xmm3
movups xmmword [rsp + 0x50], xmm3
mov r8, qword [0x1402ae2c8]
cmp byte [r8 + 0xc], 0
je 0x14005709e
cmp byte [r8 + 0x10], 0
je 0x140054eed
mov eax, dword [r8 + 8]
test eax, eax
jne 0x140054d0e
mov rax, qword [r9 + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov r10, rax
mov rcx, qword [0x1402ae2c8]
movss xmm6, dword [rcx]
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
cvtpd2ps xmm10, xmm12
mulss xmm7, xmm9
cvtps2pd xmm1, xmm7
movsd xmm0, qword [rbp - 0x60]
addsd xmm0, xmm1
cvtpd2ps xmm9, xmm0
movss dword [rbp + 0x48], xmm9
movss dword [rbp + 0x4c], xmm10
movsd xmm0, qword [rbp - 0x50]
subsd xmm0, xmm1
cvtpd2ps xmm7, xmm0
movss dword [rbp + 0x50], xmm7
movss dword [rbp + 0x54], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x48]
lea rdx, [rbp + 0x50]
mov rcx, r10
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov r10, rax
mov rcx, qword [0x1402ae2c8]
movss xmm6, dword [rcx]
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
cvtpd2ps xmm8, xmm15
movss dword [rbp + 0x58], xmm7
movss dword [rbp + 0x5c], xmm8
movss dword [rbp + 0x60], xmm7
movss dword [rbp + 0x64], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
mov rcx, r10
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov r10, rax
mov rcx, qword [0x1402ae2c8]
movss xmm6, dword [rcx]
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
movss dword [rbp + 0x68], xmm9
movss dword [rbp + 0x6c], xmm8
movss dword [rbp + 0x70], xmm7
movss dword [rbp + 0x74], xmm8
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x70]
mov rcx, r10
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov r10, rax
mov rcx, qword [0x1402ae2c8]
movss xmm6, dword [rcx]
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
movss dword [rbp + 0x78], xmm9
movss dword [rbp + 0x7c], xmm8
movss dword [rbp + 0x80], xmm9
movss dword [rbp + 0x84], xmm10
movss dword [rsp + 0x20], xmm6
mov r9d, eax
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x80]
mov rcx, r10
call fcn.1400283a0
movss xmm9, dword [0x140068388]
jmp 0x140054ee6
cmp eax, 1
jne 0x140054ea5
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
mov ebx, eax
mov dword [rbp - 0x38], eax
cvttss2si r13d, dword [r8]
cvttss2si ecx, xmm8
cvttss2si esi, xmm7
mov dword [rsp + 0x78], esi
cvttsd2si r14d, xmm12
mulss xmm7, xmm9
cvtps2pd xmm0, xmm7
movsd xmm1, qword [rbp - 0x50]
subsd xmm1, xmm0
cvttsd2si edi, xmm1
mov dword [rbp + 0x3d8], edi
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
cmp r13d, eax
jge 0x140054d75
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp r13d, eax
jl 0x140054d86
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov r13d, eax
cmp r8d, eax
cmovl r13d, r8d
mov eax, 0x55555556
imul esi
mov r12d, edx
shr r12d, 0x1f
add r12d, edx
lea r15d, [rdi + r13]
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov r8d, r12d
mov edx, r14d
mov ecx, r15d
call fcn.140050e20
mov eax, edi
sub eax, r12d
add esi, eax
mov dword [rsp + 0x20], ebx
mov r9d, r13d
mov r8d, r12d
mov edx, r14d
mov ecx, esi
call fcn.140050e20
mov eax, 0x55555556
cvttss2si ecx, xmm8
imul ecx
mov r14d, edx
shr r14d, 0x1f
add r14d, edx
mov dword [rsp + 0x20], ebx
mov r9d, r14d
mov r8d, r13d
cvttsd2si edx, xmm12
mov ecx, edi
call fcn.140050e20
cvttsd2si edi, xmm12
sub edi, r14d
cvttss2si ecx, xmm8
add edi, ecx
mov dword [rsp + 0x20], ebx
mov r9d, r14d
mov r8d, r13d
mov edx, edi
mov ecx, dword [rbp + 0x3d8]
call fcn.140050e20
cvttsd2si ebx, xmm12
sub ebx, r13d
cvttss2si ecx, xmm8
add ebx, ecx
mov eax, dword [rbp - 0x38]
mov dword [rsp + 0x20], eax
mov r9d, r13d
mov r8d, r12d
mov edx, ebx
mov ecx, r15d
call fcn.140050e20
mov r15d, dword [rbp - 0x38]
mov dword [rsp + 0x20], r15d
mov r9d, r13d
mov r8d, r12d
mov edx, ebx
mov ecx, esi
call fcn.140050e20
mov ebx, dword [rbp + 0x3d8]
sub ebx, r13d
add ebx, dword [rsp + 0x78]
mov dword [rsp + 0x20], r15d
mov r9d, r14d
mov r8d, r13d
cvttsd2si edx, xmm12
mov ecx, ebx
call fcn.140050e20
mov dword [rsp + 0x20], r15d
mov r9d, r14d
mov r8d, r13d
mov edx, edi
mov ecx, ebx
call fcn.140050e20
mov r15, qword [rbp + 0x420]
xor esi, esi
lea rdi, [rbp + 0x8f8]
jmp 0x140054ee6
cmp eax, 2
jne 0x140054eed
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
movss xmm0, dword [r8]
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm0
movss xmm0, dword [0x140068514]
movaps xmm3, xmm0
movaps xmm2, xmm0
lea rdx, [rbp + 0x278]
lea rcx, [rbp + 0x2b0]
call fcn.14004ebc0
mov r8, qword [0x1402ae2c8]
cmp byte [r8 + 0xf], 0
je 0x140055d22
movaps xmm0, xmmword [0x1400687f0]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400039d0
mov dword [rbp + 0x3d8], eax
mov r9d, 0x6d
mov r8, r15
lea rdx, [rbp + 0x5b0]
call fcn.14004c920
mov r9d, 2
mov r8, r15
lea rdx, [rbp + 0x5c8]
call fcn.14004c920
mov r9d, 0x43
mov r8, r15
lea rdx, [rbp + 0x5e0]
call fcn.14004c920
mov r9d, 9
mov r8, r15
lea rdx, [rbp + 0x5f8]
call fcn.14004c920
mov r9d, 0x26
mov r8, r15
lea rdx, [rbp + 0x610]
call fcn.14004c920
mov r9d, 0xa
mov r8, r15
lea rdx, [rbp + 0x628]
call fcn.14004c920
mov r9d, 0x27
mov r8, r15
lea rdx, [rbp + 0x640]
call fcn.14004c920
mov r9d, 0xb
mov r8, r15
lea rdx, [rbp + 0x658]
call fcn.14004c920
mov r9d, 0x28
mov r8, r15
lea rdx, [rbp + 0x670]
call fcn.14004c920
mov r9d, 0x4e
mov r8, r15
lea rdx, [rbp + 0x688]
call fcn.14004c920
mov r9d, 0x47
mov r8, r15
lea rdx, [rbp + 0x6a0]
call fcn.14004c920
mov r9d, 0x4f
mov r8, r15
lea rdx, [rbp + 0x6b8]
call fcn.14004c920
mov r9d, 0x48
mov r8, r15
lea rdx, [rbp + 0x6d0]
call fcn.14004c920
mov r9d, 0x4a
mov r8, r15
lea rdx, [rbp + 0x6e8]
call fcn.14004c920
mov r9d, 0x51
mov r8, r15
lea rdx, [rbp + 0x700]
call fcn.14004c920
lea rax, [fcn.140001a40]
mov qword [rsp + 0x20], rax
lea r9, [0x14001c6c0]
mov edx, 0x10
mov r8d, edx
lea rcx, [rbp + 0x4b0]
call fcn.14005e454
nop
xorps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm10, xmm10
cvtss2sd xmm10, xmm0
movsd qword [rbp + 0x3c8], xmm10
xorps xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm14, xmm14
cvtss2sd xmm14, xmm0
movsd qword [rbp + 0x250], xmm14
movaps xmm11, xmm10
xorps xmm11, xmmword [0x140068830]
movsd qword [rbp], xmm11
lea r12, [rbp + 0x4b0]
lea r13, [rbp + 0x5b0]
mov r15d, 0x10
mov rbx, qword [0x1402ae2b8]
nop dword [rax + rax]
movsd xmm1, qword [r13 + 0x10]
movsd qword [rbp - 0x40], xmm1
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
movabs rcx, 0xff00ff00ff00ff00
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rdi
mov r14, qword [rdi]
mov rax, r14
xor rax, rcx
mov qword [rbp + 0x230], rax
movups xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3e8], rcx
mov qword [rbp + 0x3f0], rdi
mov qword [rbp + 0x3e0], rcx
mov qword [rdi], rsi
mov rax, qword [0x1402ae280]
mov rcx, qword [rax]
add rcx, qword [rbx]
call fcn.14005d0b0
mov rbx, rax
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 8]
add rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x10]
add rcx, rax
call fcn.14005d0b0
mov rcx, rax
call fcn.14005d0b0
mov rcx, qword [0x1402ae280]
mov rcx, qword [rcx + 0x30]
add rcx, rax
call fcn.14005d0b0
mov rsi, rax
lea rcx, [rbx + 0x110]
call fcn.14005d0b0
mov rdi, rax
lea rcx, [rbx + 0x120]
call fcn.14005d0b0
mov rbx, rax
mov rcx, rax
call fcn.14005d130
movaps xmm8, xmm0
lea rcx, [rbx + 0x20]
call fcn.14005d130
movaps xmm7, xmm0
lea rcx, [rbx + 0x1d0]
call fcn.14005d130
movaps xmm6, xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
movsd qword [rbp + 0x178], xmm0
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x340], eax
mov qword [rbp + 0x350], rdi
lea rax, [rbp + 0x178]
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x358], 0x18
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x35c], eax
lea r8, [rbp + 0x340]
mov edx, 1
call fcn.14004c630
movsd xmm0, qword [rbp + 0x178]
movsd qword [rbp + 8], xmm0
movsd xmm0, qword [rbp + 0x180]
movsd qword [rbp - 0x28], xmm0
movsd xmm15, qword [rbp + 0x188]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm6, xmm0
mulsd xmm6, qword [0x140068430]
movsd xmm9, qword [0x1400685d8]
mulsd xmm8, xmm9
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
movaps xmm8, xmm0
mulsd xmm8, qword [0x140068430]
mulsd xmm8, xmm9
mulsd xmm8, xmm9
lea rcx, [rsi + 0x394]
call fcn.14005cfc0
mulss xmm0, dword [0x140068510]
movss dword [rsp + 0x78], xmm0
mulsd xmm6, qword [0x1400683f0]
divsd xmm6, qword [0x140068450]
mulsd xmm8, qword [0x1400683f0]
divsd xmm8, qword [0x140068450]
cvtsd2ss xmm6, xmm6
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm9, xmm9
cvtss2sd xmm9, xmm0
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movaps xmm3, xmm10
mulsd xmm3, xmm7
movaps xmm4, xmm7
mulsd xmm4, xmm14
xor esi, esi
lea rdi, [rbp + 0x8f8]
mov qword [rdi], rsi
cvtpd2ps xmm0, xmm7
cvtps2pd xmm12, xmm0
movaps xmm1, xmm9
mulsd xmm1, xmm8
cvtpd2ps xmm0, xmm1
cvtps2pd xmm7, xmm0
movaps xmm2, xmm9
mulsd xmm2, xmm6
cvtpd2ps xmm0, xmm2
cvtps2pd xmm10, xmm0
mulsd xmm11, xmm9
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm11
cvtps2pd xmm13, xmm0
movaps xmm2, xmm3
mulsd xmm2, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm14
addsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm11, xmm0
mulsd xmm3, xmm6
movaps xmm0, xmm8
mulsd xmm0, xmm14
subsd xmm3, xmm0
cvtpd2ps xmm0, xmm3
cvtps2pd xmm14, xmm0
mulsd xmm9, qword [rbp + 0x250]
cvtpd2ps xmm0, xmm9
cvtps2pd xmm5, xmm0
movsd xmm1, qword [rbp + 0x3c8]
mulsd xmm1, xmm6
movaps xmm0, xmm4
mulsd xmm0, xmm8
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm3, xmm0
mulsd xmm8, qword [rbp + 0x3c8]
mulsd xmm4, xmm6
addsd xmm8, xmm4
xorps xmm8, xmmword [0x140068830]
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
cvtps2pd xmm1, xmm0
movsd xmm9, qword [rbp - 0x40]
subsd xmm9, xmm15
movups xmm6, xmmword [r13]
movaps xmm4, xmm6
unpckhpd xmm4, xmm6
subsd xmm4, qword [rbp - 0x28]
subsd xmm6, qword [rbp + 8]
movaps xmm2, xmm4
mulsd xmm2, xmm7
mulsd xmm10, xmm6
addsd xmm2, xmm10
mulsd xmm12, xmm9
addsd xmm2, xmm12
movaps xmm8, xmm4
mulsd xmm8, xmm3
mulsd xmm1, xmm6
addsd xmm8, xmm1
movaps xmm0, xmm9
mulsd xmm0, xmm5
addsd xmm8, xmm0
mulsd xmm14, xmm6
mulsd xmm4, xmm11
addsd xmm14, xmm4
mulsd xmm9, xmm13
addsd xmm14, xmm9
movsd xmm7, qword [0x1400683e0]
maxsd xmm7, xmm2
mov rbx, qword [0x1402ae2b8]
movd xmm6, dword [rbx + 0xc]
cvtdq2ps xmm6, xmm6
movss xmm9, dword [0x140068388]
mulss xmm6, xmm9
movss xmm0, dword [rsp + 0x78]
mulss xmm0, dword [0x140068428]
divss xmm0, dword [0x140068568]
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movaps xmm1, xmm6
divss xmm1, xmm0
cvtps2pd xmm3, xmm1
movd xmm2, dword [rbx + 0x10]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm9
cvtps2pd xmm1, xmm2
mulsd xmm8, xmm3
divsd xmm8, xmm7
subsd xmm1, xmm8
mulsd xmm14, xmm3
divsd xmm14, xmm7
cvtps2pd xmm0, xmm6
addsd xmm14, xmm0
mov qword [rdi], r14
movsd qword [r12], xmm14
movsd qword [r12 + 8], xmm1
add r13, 0x18
add r12, 0x10
sub r15, 1
movsd xmm14, qword [rbp + 0x250]
movsd xmm10, qword [rbp + 0x3c8]
movsd xmm11, qword [rbp]
jne 0x1400550e0
mov r15, qword [rbp + 0x420]
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4d8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4d0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x88], xmm0
movss dword [rbp + 0x8c], xmm1
movsd xmm2, qword [rbp + 0x4c8]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x4c0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x90], xmm0
movss dword [rbp + 0x94], xmm2
movss dword [rsp + 0x20], xmm3
mov ebx, dword [rbp + 0x3d8]
mov r9d, ebx
lea r8, [rbp + 0x88]
lea rdx, [rbp + 0x90]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4d8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4d0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x98], xmm0
movss dword [rbp + 0x9c], xmm1
movsd xmm2, qword [rbp + 0x4e8]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x4e0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0xa4], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0x98]
lea rdx, [rbp + 0xa0]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4d8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4d0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xa8], xmm0
movss dword [rbp + 0xac], xmm1
movsd xmm2, qword [rbp + 0x4f8]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x4f0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb0], xmm0
movss dword [rbp + 0xb4], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xb0]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4e8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4e0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xb8], xmm0
movss dword [rbp + 0xbc], xmm1
movsd xmm2, qword [rbp + 0x508]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x500]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xc0]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4f8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4f0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xc8], xmm0
movss dword [rbp + 0xcc], xmm1
movsd xmm2, qword [rbp + 0x518]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x510]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd0], xmm0
movss dword [rbp + 0xd4], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0xd0]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x528]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x520]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xd8], xmm0
movss dword [rbp + 0xdc], xmm1
movsd xmm2, qword [rbp + 0x508]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x500]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe0], xmm0
movss dword [rbp + 0xe4], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0xe0]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x538]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x530]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xe8], xmm0
movss dword [rbp + 0xec], xmm1
movsd xmm2, qword [rbp + 0x518]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x510]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf0], xmm0
movss dword [rbp + 0xf4], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0xe8]
lea rdx, [rbp + 0xf0]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4c8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4c0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0xf8], xmm0
movss dword [rbp + 0xfc], xmm1
movsd xmm2, qword [rbp + 0x558]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x550]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x100], xmm0
movss dword [rbp + 0x104], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0x100]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x4c8]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x4c0]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x28], xmm0
movss dword [rbp + 0x2c], xmm1
movsd xmm2, qword [rbp + 0x548]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x540]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x40], xmm0
movss dword [rbp + 0x44], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x40]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x558]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x550]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x38], xmm0
movss dword [rbp + 0x3c], xmm1
movsd xmm2, qword [rbp + 0x578]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x570]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x548]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x540]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x18], xmm0
movss dword [rbp + 0x1c], xmm1
movsd xmm2, qword [rbp + 0x568]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x560]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x150], xmm0
movss dword [rbp + 0x154], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0x18]
lea rdx, [rbp + 0x150]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x578]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x570]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x148], xmm0
movss dword [rbp + 0x14c], xmm1
movsd xmm2, qword [rbp + 0x588]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x580]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x108], xmm0
movss dword [rbp + 0x10c], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0x148]
lea rdx, [rbp + 0x108]
mov rcx, rax
call fcn.1400283a0
mov rax, qword [0x1402ae0c0]
mov rax, qword [rax + 0x48d0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140007670
mov rcx, qword [0x1402ae2c8]
movss xmm3, dword [rcx + 4]
movsd xmm1, qword [rbp + 0x568]
cvtpd2ps xmm1, xmm1
movsd xmm0, qword [rbp + 0x560]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x110], xmm0
movss dword [rbp + 0x114], xmm1
movsd xmm2, qword [rbp + 0x598]
cvtpd2ps xmm2, xmm2
movsd xmm0, qword [rbp + 0x590]
cvtpd2ps xmm0, xmm0
movss dword [rbp + 0x118], xmm0
movss dword [rbp + 0x11c], xmm2
movss dword [rsp + 0x20], xmm3
mov r9d, ebx
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x118]
mov rcx, rax
call fcn.1400283a0
nop
lea r9, [fcn.140001a40]
mov edx, 0x10
mov r8d, edx
lea rcx, [rbp + 0x4b0]
call fcn.14005e108
mov r8, qword [0x1402ae2c8]
movsd xmm11, qword [rbp - 8]
movsd xmm12, qword [rbp - 0x48]
movsd xmm14, qword [rbp - 0x10]
movsd xmm15, qword [rbp - 0x58]
movss xmm13, dword [rbp - 0x80]
cmp byte [r8 + 0x12], 0
je 0x140055fa4
xorps xmm0, xmm0
movups xmmword [rbp + 0x230], xmm0
movabs rax, 0xff00ff00ff00ff00
mov qword [rbp + 0x238], rax
mov qword [rbp + 0x240], rdi
mov r12, qword [rdi]
xor r12, rax
mov qword [rbp + 0x230], r12
mov qword [rdi], rsi
mov r13, qword [rbp - 0x30]
lea rcx, [r13 + 0x498]
call fcn.14005d0b0
mov rsi, rax
lea rcx, [rax + 0x98]
call fcn.14005d0b0
mov rbx, rax
lea rcx, [rax + 0x40]
call fcn.14005d040
mov edi, eax
mov ecx, eax
inc rcx
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14005e4c4
mov r14, rax
mov qword [rbp + 0x250], rax
lea rcx, [rbx + 0x38]
call fcn.14005d410
mov rcx, qword [0x1402ae2f0]
mov edx, dword [rcx]
mov dword [rbp + 0x258], edx
mov qword [rbp + 0x268], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x260], rax
lea edx, [rdi + rdi]
mov dword [rbp + 0x270], edx
mov edx, dword [rcx + 0x20]
mov dword [rbp + 0x274], edx
lea r8, [rbp + 0x258]
mov edx, 1
call fcn.14004c630
mov byte [rbp + 0x3a0], 0
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x290], eax
lea rax, [rsi + 0x73]
mov qword [rbp + 0x2a0], rax
lea rax, [rbp + 0x3a0]
mov qword [rbp + 0x298], rax
mov dword [rbp + 0x2a8], 1
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x2ac], eax
lea r8, [rbp + 0x290]
mov edx, 1
call fcn.14004c630
xor esi, esi
mov ecx, esi
cmp byte [r14], sil
je 0x140055e70
mov rax, r14
inc ecx
lea rax, [rax + 2]
cmp byte [rax], sil
jne 0x140055e65
lea edi, [rcx + 1]
movsxd rbx, edi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, rax
mov rdx, rsi
test edi, edi
jle 0x140055ea3
nop dword [rax]
movzx ecx, byte [r14 + rdx*2]
mov byte [r8], cl
inc r8
inc rdx
cmp rdx, rbx
jl 0x140055e90
movsxd rax, edi
sub r8, rax
mov rdx, r8
lea rcx, [rbp + 0x488]
call fcn.140046be0
nop
lea rax, [rbp + 0x488]
cmp qword [rbp + 0x4a0], 0xf
cmova rax, qword [rbp + 0x488]
movaps xmm0, xmmword [0x1400687c0]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm1, xmm12
subsd xmm1, qword [0x140068418]
cvttsd2si r8d, xmm1
movsd xmm8, qword [rbp - 0x50]
movaps xmm0, xmm8
subsd xmm0, qword [0x140068408]
cvttsd2si edx, xmm0
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x50]
movss xmm0, dword [0x1400684cc]
movd ecx, xmm0
call fcn.14004e300
nop
mov rdx, qword [rbp + 0x4a0]
cmp rdx, 0xf
jbe 0x140055f6b
inc rdx
mov rcx, qword [rbp + 0x488]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055f66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400572db
call fcn.14005e420
mov qword [rbp + 0x498], rsi
mov qword [rbp + 0x4a0], 0xf
mov byte [rbp + 0x488], 0
movabs rcx, 0xff00ff00ff00ff00
xor r12, rcx
lea rax, [rbp + 0x8f8]
mov qword [rax], r12
mov r8, qword [0x1402ae2c8]
jmp 0x140055fae
movsd xmm8, qword [rbp - 0x50]
mov r13, qword [rbp - 0x30]
movzx eax, byte [r8 + 0x16]
test al, al
je 0x140056868
cmp byte [r8 + 0x15], 0
je 0x140056545
lea rcx, [r13 + 0x2b0]
call fcn.14005d0b0
mov rdi, rax
test rax, rax
je 0x140056164
lea rcx, [rax + 0x10]
call fcn.14005d040
movsxd rbx, eax
mov r14, rbx
test eax, eax
je 0x140056164
lea rcx, [rdi + 8]
call fcn.14005d0b0
mov rsi, rax
test rax, rax
je 0x140056162
mov eax, 2
mul r14
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14005e4c4
mov rdi, rax
mov qword [rbp + 0x2d0], rax
mov rcx, qword [0x1402ae2f0]
mov edx, dword [rcx]
mov dword [rbp + 0x360], edx
mov qword [rbp + 0x370], rsi
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x368], rax
lea edx, [rbx + rbx]
mov dword [rbp + 0x378], edx
mov edx, dword [rcx + 0x20]
mov dword [rbp + 0x37c], edx
lea r8, [rbp + 0x360]
mov edx, 1
call fcn.14004c630
xor esi, esi
mov r8d, esi
mov rcx, rdi
lea eax, [rbx - 1]
mov edx, esi
movzx eax, al
test ebx, ebx
cmovne edx, eax
and edx, 3
lea eax, [rbx - 1]
cmp r8d, eax
jge 0x1400560ac
add edx, 3
inc r8d
movzx eax, dx
and ax, 7
add word [rcx], ax
add rcx, 2
jmp 0x14005608e
mov rdx, rdi
lea rcx, [rbp + 0x3a8]
call fcn.14005c950
nop
mov rcx, rdi
call fcn.14005e420
lea rcx, [rbp + 0x3a8]
mov rax, qword [rbp + 0x3b8]
cmp qword [rbp + 0x3c0], 7
jbe 0x1400560e9
mov rdx, qword [rbp + 0x3a8]
lea r8, [rdx + rax*2]
jmp 0x1400560f4
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x3e0]
call fcn.14005d2e0
nop
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 7
jbe 0x140056147
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056142
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400572e2
call fcn.14005e420
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3c0], 7
mov word [rbp + 0x3a8], si
jmp 0x140056178
xor esi, esi
lea rdx, str.ANGELKING
lea rcx, [rbp + 0x3e0]
call fcn.140046be0
nop
lea rcx, [r13 + 0x438]
call fcn.14005d0b0
lea rcx, [rbp + 0x7a0]
mov qword [rbp + 0x250], rcx
mov rcx, qword [0x1402ae2f0]
mov edx, dword [rcx]
mov dword [rbp + 0x258], edx
mov qword [rbp + 0x268], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x270], 0x80
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x274], eax
lea r8, [rbp + 0x258]
mov edx, 1
call fcn.14004c630
lea rdx, [rbp + 0x7a0]
lea rcx, [rbp + 0x230]
call fcn.14005c950
nop
lea rcx, [rbp + 0x230]
mov rax, qword [rbp + 0x240]
cmp qword [rbp + 0x248], 7
jbe 0x140056213
mov rdx, qword [rbp + 0x230]
lea r8, [rdx + rax*2]
jmp 0x14005621e
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x450]
call fcn.14005d2e0
nop
mov rdx, qword [rbp + 0x248]
cmp rdx, 7
jbe 0x140056271
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005626c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400572e9
call fcn.14005e420
mov qword [rbp + 0x240], rsi
mov qword [rbp + 0x248], 7
mov word [rbp + 0x230], si
mov ecx, 0x1e
mov rax, qword [0x1402ae2c8]
cmp byte [rax + 0x12], 0
mov r12d, 0xf
cmove ecx, r12d
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm12
subsd xmm1, xmm0
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm1
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x3a8]
call fcn.140046d80
nop
lea rdx, [rbp + 0x450]
cmp qword [rbp + 0x468], r12
cmova rdx, qword [rbp + 0x450]
mov r8, qword [rbp + 0x460]
mov rcx, rax
call fcn.140046d00
xorps xmm0, xmm0
movups xmmword [rbp + 0x400], xmm0
mov qword [rbp + 0x410], rsi
mov qword [rbp + 0x418], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x400], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x410], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r12
mov byte [rax], 0
lea r8d, [r12 - 0xe]
lea rdx, [0x1400681a4]
lea rcx, [rbp + 0x400]
call fcn.140046d00
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x2a0], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r12
mov byte [rax], 0
mov rdx, qword [rbp + 0x418]
cmp rdx, r12
jbe 0x1400563ac
inc rdx
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400563a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400572f0
call fcn.14005e420
mov qword [rbp + 0x410], rsi
mov qword [rbp + 0x418], r12
mov byte [rbp + 0x400], 0
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 0xf
jbe 0x140056402
inc rdx
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400563fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400572f7
call fcn.14005e420
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3c0], r12
mov byte [rbp + 0x3a8], 0
lea rdx, [rbp + 0x290]
cmp qword [rbp + 0x2a8], 0xf
cmova rdx, qword [rbp + 0x290]
lea rcx, [rbp + 0x190]
call fcn.140046be0
movups xmm0, xmmword [0x1402ae3e8]
movdqa xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.140052350
nop
mov rdx, qword [rbp + 0x2a8]
cmp rdx, 0xf
jbe 0x1400564a2
inc rdx
mov rcx, qword [rbp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005649c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400572fe
call fcn.14005e420
nop
mov rdx, qword [rbp + 0x468]
cmp rdx, 0xf
jbe 0x1400564e3
inc rdx
mov rcx, qword [rbp + 0x450]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400564de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057305
call fcn.14005e420
mov qword [rbp + 0x460], rsi
mov qword [rbp + 0x468], r12
mov byte [rbp + 0x450], 0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 0xf
jbe 0x140056539
inc rdx
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056534
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005730c
call fcn.14005e420
mov r8, qword [0x1402ae2c8]
jmp 0x14005686e
test al, al
je 0x140056868
lea rcx, [r13 + 0x2b0]
call fcn.14005d0b0
mov rdi, rax
test rax, rax
je 0x1400566eb
lea rcx, [rax + 0x10]
call fcn.14005d040
movsxd rbx, eax
mov r14, rbx
test eax, eax
je 0x1400566eb
lea rcx, [rdi + 8]
call fcn.14005d0b0
mov rsi, rax
test rax, rax
je 0x1400566e9
mov eax, 2
mul r14
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14005e4c4
mov rdi, rax
mov qword [rbp + 0x2d8], rax
mov rcx, qword [0x1402ae2f0]
mov edx, dword [rcx]
mov dword [rbp + 0x380], edx
mov qword [rbp + 0x390], rsi
lea rax, [rbp + 0x2d8]
mov qword [rbp + 0x388], rax
lea edx, [rbx + rbx]
mov dword [rbp + 0x398], edx
mov edx, dword [rcx + 0x20]
mov dword [rbp + 0x39c], edx
lea r8, [rbp + 0x380]
mov edx, 1
call fcn.14004c630
xor esi, esi
mov r8d, esi
mov rcx, rdi
lea eax, [rbx - 1]
mov edx, esi
movzx eax, al
test ebx, ebx
cmovne edx, eax
and edx, 3
lea eax, [rbx - 1]
cmp r8d, eax
jge 0x140056633
add edx, 3
inc r8d
movzx eax, dx
and ax, 7
add word [rcx], ax
add rcx, 2
jmp 0x140056615
mov rdx, rdi
lea rcx, [rbp + 0x3a8]
call fcn.14005c950
nop
mov rcx, rdi
call fcn.14005e420
lea rcx, [rbp + 0x3a8]
mov rax, qword [rbp + 0x3b8]
cmp qword [rbp + 0x3c0], 7
jbe 0x140056670
mov rdx, qword [rbp + 0x3a8]
lea r8, [rdx + rax*2]
jmp 0x14005667b
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x428]
call fcn.14005d2e0
nop
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 7
jbe 0x1400566ce
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400566c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057313
call fcn.14005e420
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3c0], 7
mov word [rbp + 0x3a8], si
jmp 0x1400566ff
xor esi, esi
lea rdx, str.ANGELKING
lea rcx, [rbp + 0x428]
call fcn.140046be0
nop
lea rdx, [rbp + 0x428]
mov r8, qword [rbp + 0x428]
mov r9, qword [rbp + 0x440]
cmp r9, 0xf
cmova rdx, r8
mov rax, qword [0x1402ae0c0]
test rdx, rdx
je 0x140056794
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdx
movss xmm0, dword [0x1400685c8]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400685ac]
movss xmm2, dword [rax + 0x3c20]
lea rdx, [rbp + 0x120]
mov rcx, qword [rax + 0x3c18]
call fcn.140030290
movss xmm0, dword [rbp + 0x120]
addss xmm0, dword [0x1400683b4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x120], xmm0
mov r9, qword [rbp + 0x440]
mov r8, qword [rbp + 0x428]
mov ecx, 0x1e
mov rax, qword [0x1402ae2c8]
cmp byte [rax + 0x12], 0
mov r12d, 0xf
cmove ecx, r12d
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm12
subsd xmm1, xmm0
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm1
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
lea rdx, [rbp + 0x428]
cmp r9, r12
cmova rdx, r8
lea rcx, [rbp + 0x1b0]
call fcn.140046be0
movups xmm0, xmmword [0x1402ae3e8]
movdqa xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
unpcklps xmm6, xmm7
movq rcx, xmm6
call fcn.140052350
nop
mov rdx, qword [rbp + 0x440]
cmp rdx, r12
jbe 0x14005684a
inc rdx
mov rcx, qword [rbp + 0x428]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056845
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005731a
call fcn.14005e420
mov qword [rbp + 0x438], rsi
mov qword [rbp + 0x440], r12
mov byte [rbp + 0x428], 0
mov r8, qword [0x1402ae2c8]
jmp 0x14005686e
mov r12d, 0xf
cmp byte [r8 + 0x15], 0
je 0x140056a61
lea rcx, [r13 + 0x438]
call fcn.14005d0b0
lea rcx, [rbp + 0x7a0]
mov qword [rbp + 0x250], rcx
mov rcx, qword [0x1402ae2f0]
mov edx, dword [rcx]
mov dword [rbp + 0x258], edx
mov qword [rbp + 0x268], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x260], rax
mov dword [rbp + 0x270], 0x80
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x274], eax
lea r8, [rbp + 0x258]
mov edx, 1
call fcn.14004c630
lea rdx, [rbp + 0x7a0]
lea rcx, [rbp + 0x3a8]
call fcn.14005c950
nop
lea rcx, [rbp + 0x3a8]
mov rax, qword [rbp + 0x3b8]
cmp qword [rbp + 0x3c0], 7
jbe 0x140056914
mov rdx, qword [rbp + 0x3a8]
lea r8, [rdx + rax*2]
jmp 0x14005691f
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x290]
call fcn.14005d2e0
nop
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 7
jbe 0x140056972
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005696d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057321
call fcn.14005e420
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3c0], 7
mov word [rbp + 0x3a8], si
mov ecx, 0x1e
mov rax, qword [0x1402ae2c8]
cmp byte [rax + 0x15], 0
cmove ecx, r12d
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm12
subsd xmm1, xmm0
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm1
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm8
lea rdx, [rbp + 0x290]
cmp qword [rbp + 0x2a8], 0xf
cmova rdx, qword [rbp + 0x290]
lea rcx, [rbp + 0x1d0]
call fcn.140046be0
movups xmm0, xmmword [0x1402ae3e8]
movdqa xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
unpcklps xmm6, xmm7
movq rcx, xmm6
call fcn.140052350
nop
mov rdx, qword [rbp + 0x2a8]
cmp rdx, 0xf
jbe 0x140056a45
inc rdx
mov rcx, qword [rbp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056a40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057328
call fcn.14005e420
mov qword [rbp + 0x2a0], rsi
mov qword [rbp + 0x2a8], r12
mov byte [rbp + 0x290], 0
mov r8, qword [0x1402ae2c8]
cmp byte [r8 + 0x14], 0
je 0x140056d3c
cvttss2si edx, xmm13
lea rcx, [rbp + 0x400]
call fcn.14005cde0
nop
lea r8, [rbp + 0x400]
lea rcx, [rbp + 0x258]
call fcn.140046eb0
nop
mov r8d, 2
lea rdx, [0x1400681b0]
mov rcx, rax
call fcn.140046d00
xorps xmm0, xmm0
movups xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3c0], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x3a8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x3b8], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r12
mov byte [rax], 0
mov rdx, qword [rbp + 0x270]
cmp rdx, 0xf
jbe 0x140056b20
inc rdx
mov rcx, qword [rbp + 0x258]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056b1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005732f
call fcn.14005e420
mov qword [rbp + 0x268], rsi
mov qword [rbp + 0x270], r12
mov byte [rbp + 0x258], 0
mov rdx, qword [rbp + 0x418]
cmp rdx, 0xf
jbe 0x140056b76
inc rdx
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056b71
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057336
call fcn.14005e420
mov qword [rbp + 0x410], rsi
mov qword [rbp + 0x418], r12
mov byte [rbp + 0x400], 0
lea rcx, [rbp + 0x3a8]
mov r8, qword [rbp + 0x3a8]
mov r9, qword [rbp + 0x3c0]
cmp r9, 0xf
cmova rcx, r8
mov rax, qword [0x1402ae0c0]
test rcx, rcx
jne 0x140056bb9
xorps xmm6, xmm6
jmp 0x140056c25
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x1400685c8]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400685ac]
movss xmm2, dword [rax + 0x3c20]
lea rdx, [rbp + 0x128]
mov rcx, qword [rax + 0x3c18]
call fcn.140030290
movss xmm0, dword [rbp + 0x128]
addss xmm0, dword [0x1400683b4]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x128], xmm6
mov r9, qword [rbp + 0x3c0]
mov r8, qword [rbp + 0x3a8]
xorps xmm13, xmm13
lea rdx, [rbp + 0x3a8]
cmp r9, 0xf
cmova rdx, r8
lea rcx, [rbp + 0x230]
call fcn.140046be0
movaps xmm2, xmmword [0x140068710]
addsd xmm15, qword [0x1400683f8]
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm15
mulss xmm6, xmm9
cvtps2pd xmm0, xmm6
movsd xmm10, qword [rbp - 0x60]
movaps xmm1, xmm10
subsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
movdqa xmmword [rsp + 0x50], xmm2
mov r8, rax
lea rdx, [rsp + 0x50]
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.140052350
lea rdx, [rbp + 0x3a8]
cmp qword [rbp + 0x3c0], 0xf
cmova rdx, qword [rbp + 0x3a8]
lea rcx, [rbp + 0x1f0]
call fcn.140046be0
movups xmm0, xmmword [0x1402ae3e8]
movdqa xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.140052350
nop
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 0xf
jbe 0x140056d1e
inc rdx
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056d19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005733d
call fcn.14005e420
mov qword [rbp + 0x3b8], rsi
mov qword [rbp + 0x3c0], r12
mov byte [rbp + 0x3a8], 0
mov r8, qword [0x1402ae2c8]
jmp 0x140056d46
movsd xmm10, qword [rbp - 0x60]
xorps xmm13, xmm13
cmp byte [r8 + 0x12], 0
je 0x14005701b
mov rcx, qword [rbp - 0x18]
add rcx, 0x498
call fcn.14005d0b0
mov rsi, rax
lea rcx, [rax + 0x98]
call fcn.14005d0b0
mov rbx, rax
lea rcx, [rax + 0x40]
call fcn.14005d040
mov edi, eax
mov ecx, eax
inc rcx
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.14005e4c4
mov r14, rax
mov qword [rbp + 0x250], rax
lea rcx, [rbx + 0x38]
call fcn.14005d410
mov rcx, qword [0x1402ae2f0]
mov edx, dword [rcx]
mov dword [rbp + 0x258], edx
mov qword [rbp + 0x268], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x260], rax
lea edx, [rdi + rdi]
mov dword [rbp + 0x270], edx
mov edx, dword [rcx + 0x20]
mov dword [rbp + 0x274], edx
lea r8, [rbp + 0x258]
mov edx, 1
call fcn.14004c630
mov byte [rbp + 0x3a0], 0
mov rcx, qword [0x1402ae2f0]
mov eax, dword [rcx]
mov dword [rbp + 0x230], eax
lea rax, [rsi + 0x73]
mov qword [rbp + 0x240], rax
lea rax, [rbp + 0x3a0]
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x248], 1
mov eax, dword [rcx + 0x20]
mov dword [rbp + 0x24c], eax
lea r8, [rbp + 0x230]
mov edx, 1
call fcn.14004c630
xor esi, esi
mov ecx, esi
cmp byte [r14], sil
je 0x140056e6b
mov rax, r14
nop word [rax + rax]
inc ecx
lea rax, [rax + 2]
cmp byte [rax], sil
jne 0x140056e60
lea edi, [rcx + 1]
movsxd rbx, edi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, rax
mov rdx, rsi
test edi, edi
jle 0x140056ea3
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r14 + rdx*2]
mov byte [r8], cl
inc r8
inc rdx
cmp rdx, rbx
jl 0x140056e90
movsxd rax, edi
sub r8, rax
mov rdx, r8
lea rcx, [rbp + 0x400]
call fcn.140046be0
nop
lea rcx, [rbp + 0x400]
mov r8, qword [rbp + 0x400]
mov r9, qword [rbp + 0x418]
cmp r9, 0xf
cmova rcx, r8
mov rax, qword [0x1402ae0c0]
test rcx, rcx
jne 0x140056ee8
movaps xmm6, xmm13
jmp 0x140056f54
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x1400685c8]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1400685ac]
movss xmm2, dword [rax + 0x3c20]
lea rdx, [rbp + 0x130]
mov rcx, qword [rax + 0x3c18]
call fcn.140030290
movss xmm0, dword [rbp + 0x130]
addss xmm0, dword [0x1400683b4]
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rbp + 0x130], xmm6
mov r9, qword [rbp + 0x418]
mov r8, qword [rbp + 0x400]
lea rdx, [rbp + 0x400]
cmp r9, 0xf
cmova rdx, r8
lea rcx, [rbp + 0x210]
call fcn.140046be0
movaps xmm0, xmm12
subsd xmm0, qword [0x140068410]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm6, xmm9
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
subsd xmm10, xmm0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm10
movups xmm0, xmmword [0x1402ae3e8]
movdqa xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
unpcklps xmm1, xmm2
movq rcx, xmm1
call fcn.140052350
nop
mov rdx, qword [rbp + 0x418]
cmp rdx, 0xf
jbe 0x140056fff
inc rdx
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140056ffa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057344
call fcn.14005e420
mov qword [rbp + 0x410], rsi
mov qword [rbp + 0x418], r12
mov byte [rbp + 0x400], 0
mov r8, qword [0x1402ae2c8]
cmp byte [r8 + 0x11], 0
je 0x14005709e
lea rcx, [0x1402ae3e8]
call fcn.1400039d0
mov r9d, eax
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm12
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm8
movss dword [rbp + 0x138], xmm0
movss dword [rbp + 0x13c], xmm1
mov rax, qword [0x1402ae2b8]
mov eax, dword [rax + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x140], xmm0
mov dword [rbp + 0x144], 0
movss xmm0, dword [0x1400683e8]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x140]
mov rcx, qword [rbp + 0x10]
call fcn.1400283a0
mov rbx, qword [0x1402ae2b8]
mov eax, dword [rbx + 0xc]
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm14, xmm0
mov eax, dword [rbx + 0x10]
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
subsd xmm11, xmm0
mulsd xmm11, xmm11
mulsd xmm14, xmm14
addsd xmm11, xmm14
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm11
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400570f5
xorps xmm7, xmm7
sqrtss xmm7, xmm1
jmp 0x140057100
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm7, xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x230], xmm1
movabs r12, 0xff00ff00ff00ff00
mov qword [rbp + 0x238], r12
lea r13, [rbp + 0x8f8]
mov qword [rbp + 0x240], r13
mov rbx, qword [r13]
mov rax, rbx
xor rax, r12
mov qword [rbp + 0x230], rax
mov qword [r13], rsi
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0xc0]
add rcx, r15
call fcn.14005cfc0
movaps xmm6, xmm0
mov rax, qword [0x1402ae280]
mov rcx, qword [rax + 0xc8]
add rcx, r15
call fcn.14005cfc0
addss xmm0, dword [0x140068344]
comiss xmm0, xmm6
setae al
mov qword [r13], rbx
mov rcx, qword [0x1402ae2e8]
test al, al
je 0x1400571e5
mov rax, qword [0x1402ae278]
movd xmm0, dword [rax + 0x10]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm7
jbe 0x1400571e5
movss xmm0, dword [rcx + 0x90]
xorps xmm9, xmm9
movsd xmm10, qword [0x1400685d8]
movsd xmm11, qword [0x140068430]
movsd xmm12, qword [0x1400683f0]
movsd xmm13, qword [0x140068450]
comiss xmm0, xmm7
jbe 0x140057216
movss dword [rcx + 0x90], xmm7
mov rax, qword [rbp - 0x20]
mov qword [rcx + 0x60], rax
jmp 0x140057216
xorps xmm9, xmm9
movsd xmm10, qword [0x1400685d8]
movsd xmm11, qword [0x140068430]
movsd xmm12, qword [0x1400683f0]
movsd xmm13, qword [0x140068450]
jmp 0x140057216
mov rcx, qword [0x1402ae2e8]
mov edx, dword [rsp + 0x70]
inc edx
mov dword [rsp + 0x70], edx
cmp edx, dword [rcx + 0x70]
jb 0x140053a20
lea r13, [rbp + 0x8f8]
mov rax, qword [0x1402ae278]
cmp byte [rax], 0
je 0x140057265
cmp qword [rcx + 0x60], 0
je 0x140057265
mov ecx, dword [0x1402ad390]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140057265
mov rcx, qword [0x1402ae2e8]
mov rcx, qword [rcx + 0x60]
call fcn.14004dc10
nop
mov rax, qword [rbp + 0x470]
xor rax, r12
mov qword [r13], rax
mov rcx, qword [rbp + 0x820]
xor rcx, rsp
call fcn.14005de10
lea r11, [rsp + 0x9d0]
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
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3