Function at 0x1400659f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x200
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x140cf0080]
xor rax, rsp
mov qword [rbp + 0x50], rax
cmp dword [0x1411de1c0], 0
jbe 0x1400668f7
movd xmm1, dword [0x1411d758c]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [0x1411d75dc]
cvtdq2ps xmm0, xmm0
mov rdi, qword [0x1411df5e0]
or dword [rdi + 0x1ce8], 2
movss dword [rdi + 0x1d08], xmm0
movss dword [rdi + 0x1d0c], xmm1
mov dword [rdi + 0x1cf0], 1
mov rax, qword [rdi + 0x1df8]
lea r8, [0x140ccfdc8]
xor edx, edx
mov rcx, qword [rax]
call fcn.140084790
mov r14, rax
movdqa xmm6, xmmword [0x140cd4480]
mov rbx, qword [0x1411df5e0]
mov dword [rsp + 0x60], 2
movups xmm0, xmmword [rbx + 0x1644]
movups xmmword [rsp + 0x64], xmm0
lea rcx, [rbx + 0x1d70]
lea rdx, [rsp + 0x60]
call fcn.1400954d0
movups xmmword [rbx + 0x1644], xmm6
movss xmm0, dword [rdi + 0x14]
movss xmm15, dword [0x140cd1f8c]
mulss xmm0, xmm15
addss xmm0, dword [0x140cd2184]
mov rax, qword [0x1411df5e0]
or dword [rax + 0x1ce8], 1
mov dword [rax + 0x1cf8], 0x42480000
movss dword [rax + 0x1cfc], xmm0
mov dword [rax + 0x1d00], 0x3f000000
mov dword [rax + 0x1d04], 0x3dcccccd
mov dword [rax + 0x1cec], 4
xor edx, edx
mov r8d, 0x49
lea rcx, [0x140ccf9a8]
call fcn.14008ade0
test al, al
je 0x1400668c1
mov rcx, qword [0x1411df5e0]
mov rdx, qword [rcx + 0x1c10]
movss xmm8, dword [rdx + 0x288]
movss xmm7, dword [rdx + 0x28c]
cmp qword [rdx + 0x1c0], 0
jne 0x140065ba5
cmp qword [rcx + 0x2028], 0
je 0x140065bae
movss xmm8, dword [rdx + 0x258]
movss xmm12, dword [rdx + 0xec]
movss dword [rbp - 0x74], xmm12
subss xmm7, xmm12
movss xmm6, dword [rdx + 0xe8]
movss dword [rbp - 0x70], xmm6
subss xmm8, xmm6
movaps xmm0, xmm8
mulss xmm0, xmm15
movss dword [rbp - 0x6c], xmm0
movaps xmm11, xmm0
addss xmm11, xmm6
movaps xmm0, xmm7
mulss xmm0, xmm15
movss dword [rbp - 0x68], xmm0
movaps xmm10, xmm0
addss xmm10, xmm12
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
movss xmm14, dword [0x140cd1fdc]
movaps xmm2, xmm14
movaps xmm1, xmm14
xorps xmm9, xmm9
xorps xmm0, xmm0
call fcn.140081ec0
movss xmm0, dword [rbp - 0x80]
movss dword [rsp + 0x60], xmm0
movss xmm1, dword [rbp - 0x7c]
movss dword [rsp + 0x64], xmm1
movss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x68], xmm0
mov dword [rsp + 0x6c], 0x3f800000
lea rcx, [rsp + 0x60]
call fcn.140081d60
addss xmm7, xmm12
movss dword [rbp - 0x80], xmm7
addss xmm8, xmm6
movss dword [rbp - 0x7c], xmm8
movss dword [rbp - 0x78], xmm7
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm12
movss xmm0, dword [0x140cd201c]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0xffffffff
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea r8, [rbp - 0x7c]
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.14009fb70
mov dword [rsp + 0x50], 0x6d3035
mov byte [rsp + 0x54], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x40], xmm1
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140065cf0
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.14002f420
nop
mov dword [rsp + 0x50], 0x25e5d5e
mov word [rsp + 0x54], 0x100
movdqa xmm6, xmmword [0x140cd2380]
xor r15d, r15d
mov ecx, r15d
movdqa xmm7, xmmword [0x140cd2500]
movdqa xmm8, xmmword [0x140cd2530]
nop word [rax + rax]
movq xmm0, rcx
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm7
paddd xmm1, xmm0
movzx eax, word [rsp + rcx + 0x50]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov word [rsp + rcx + 0x50], ax
add rcx, 2
cmp rcx, 4
jb 0x140065d40
mov byte [rsp + 0x55], r15b
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x20], xmm1
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r15b
jne 0x140065db2
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x10]
call fcn.14002f420
nop
mov dword [rsp + 0x50], 0x25e5d5f
mov word [rsp + 0x54], 0x100
mov rcx, r15
nop dword [rax]
movq xmm0, rcx
punpcklqdq xmm0, xmm0
paddq xmm0, xmm6
pshufd xmm1, xmm0, 0xd8
movq xmm0, xmm7
paddd xmm1, xmm0
movzx eax, word [rsp + rcx + 0x50]
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm8
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd eax, xmm1
mov word [rsp + rcx + 0x50], ax
add rcx, 2
cmp rcx, 4
jb 0x140065de0
mov byte [rsp + 0x55], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140065e52
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x10]
call fcn.14002f420
nop
movdqa xmm0, xmmword [0x140cd4530]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140081d60
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x54], xmm10
mov dword [rsp + 0x20], r15d
mov r9d, eax
movss xmm2, dword [0x140cd20c0]
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.1400a03e0
mov rax, qword [0x1411df5e0]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140ccfdc8]
xor edx, edx
mov rcx, qword [rax]
call fcn.140084790
mov r10, rax
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova r8, qword [rbp + 0x30]
movdqa xmm7, xmmword [0x140cd46c0]
movups xmmword [rsp + 0x60], xmm7
lea rcx, [rsp + 0x60]
call fcn.140081d60
mov r9d, eax
movaps xmm1, xmm10
addss xmm1, dword [0x140cd2108]
mov rcx, qword [0x1411de540]
movss xmm6, dword [0x140cd20f4]
test eax, 0xff000000
je 0x140065f88
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x140065f20
add rdx, r8
cmp r8, rdx
je 0x140065f88
test rcx, rcx
jne 0x140065f3f
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm11
unpcklps xmm0, xmm1
movq r9, xmm0
movaps xmm2, xmm6
mov rdx, r10
call fcn.1400a4cf0
mov rax, qword [0x1411df5e0]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140ccfdc8]
xor edx, edx
mov rcx, qword [rax]
call fcn.140084790
mov r10, rax
lea r8, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova r8, qword [rbp + 0x10]
movups xmmword [rsp + 0x60], xmm7
lea rcx, [rsp + 0x60]
call fcn.140081d60
mov r9d, eax
movaps xmm1, xmm10
addss xmm1, dword [0x140cd2140]
mov rcx, qword [0x1411de540]
test eax, 0xff000000
je 0x140066058
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x140065ff0
add rdx, r8
cmp r8, rdx
je 0x140066058
test rcx, rcx
jne 0x14006600f
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm11
unpcklps xmm0, xmm1
movq r9, xmm0
movaps xmm2, xmm6
mov rdx, r10
call fcn.1400a4cf0
mov rax, qword [0x1411df5e0]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140ccfdc8]
xor edx, edx
mov rcx, qword [rax]
call fcn.140084790
mov r10, rax
lea r8, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova r8, qword [rbp - 0x10]
movups xmmword [rsp + 0x60], xmm7
lea rcx, [rsp + 0x60]
call fcn.140081d60
mov r9d, eax
addss xmm10, dword [0x140cd2174]
mov rcx, qword [0x1411de540]
test eax, 0xff000000
je 0x140066129
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1400660c0
add rdx, r8
cmp r8, rdx
je 0x140066129
test rcx, rcx
jne 0x1400660df
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm11
unpcklps xmm0, xmm10
movq r9, xmm0
movaps xmm2, xmm6
mov rdx, r10
call fcn.1400a4cf0
mov rdi, qword [0x1411dfdd8]
mov rsi, qword [0x1411dfde0]
movss xmm13, dword [0x140cd21e4]
movsd xmm8, qword [0x140cd1fe8]
movss xmm11, dword [0x140cd20c8]
cmp rdi, rsi
je 0x140066658
nop dword [rax + rax]
mov ecx, dword [rdi + 0x150]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
movzx eax, r8b
movd xmm10, eax
cvtdq2ps xmm10, xmm10
divss xmm10, xmm13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
movzx eax, r8b
movd xmm11, eax
cvtdq2ps xmm11, xmm11
divss xmm11, xmm13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
movzx eax, r8b
movd xmm12, eax
cvtdq2ps xmm12, xmm12
divss xmm12, xmm13
mov ebx, dword [rdi + 0x154]
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
xor r8d, r8d
lea rdx, [0x140ccdc7a]
lea rcx, [rbp - 0x30]
call fcn.14002f420
nop
mov edx, ebx
lea rcx, [rbp - 0x50]
call fcn.14000fb80
nop
mov r8d, 1
lea rdx, [0x140ccf770]
mov rcx, rax
call fcn.14002f2c0
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x14006626f
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.14002f2c0
nop
lea rcx, [rbp - 0x50]
call fcn.14002f260
movsd xmm7, qword [rdi + 0xc]
mov eax, dword [rdi + 0x14]
mov dword [rsp + 0x68], eax
movss xmm6, dword [0x1411de1f4]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm2, xmm7
subss xmm2, dword [0x1411de1d8]
movaps xmm3, xmm7
shufps xmm3, xmm3, 0x55
movsd qword [rsp + 0x60], xmm7
subss xmm3, dword [0x1411de1dc]
movaps xmm6, xmm3
mulss xmm6, xmm8
movaps xmm0, xmm2
mulss xmm0, xmm1
subss xmm6, xmm0
divss xmm6, dword [0x140cd21b0]
movss xmm4, dword [rbp - 0x70]
addss xmm6, xmm4
addss xmm6, dword [rbp - 0x6c]
mulss xmm3, xmm1
mulss xmm2, xmm8
addss xmm3, xmm2
divss xmm3, dword [0x140cd21b0]
movss xmm0, dword [rbp - 0x74]
movaps xmm7, xmm0
subss xmm7, xmm3
addss xmm7, dword [rbp - 0x68]
movss xmm1, dword [rbp - 0x7c]
comiss xmm6, xmm1
seta al
test al, al
je 0x140066344
movaps xmm6, xmm1
jmp 0x140066351
comiss xmm4, xmm6
seta al
test al, al
je 0x140066351
movaps xmm6, xmm4
movss xmm8, dword [rbp - 0x80]
comiss xmm7, xmm8
seta al
test al, al
je 0x140066368
movaps xmm7, xmm8
jmp 0x140066375
comiss xmm0, xmm7
seta al
test al, al
je 0x140066375
movaps xmm7, xmm0
movss xmm0, dword [rdi + 0x24]
comiss xmm0, xmm9
jbe 0x140066627
cmp byte [rdi + 4], 0
je 0x1400663d4
movdqa xmm0, xmmword [0x140cd46c0]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140081d60
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
mov dword [rsp + 0x20], r15d
mov r9d, eax
movss xmm11, dword [0x140cd20c8]
movaps xmm2, xmm11
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.1400a03e0
jmp 0x140066630
cmp dword [0x1411dfd08], 0
jne 0x1400665e3
mov rax, qword [0x1411df5e0]
mov rax, qword [rax + 0x1df8]
lea r8, [0x140ccfdc8]
xor edx, edx
mov rcx, qword [rax]
call fcn.140084790
mov r10, rax
lea r8, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova r8, qword [rbp - 0x30]
movdqa xmm0, xmmword [0x140cd4540]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140081d60
mov r9d, eax
mov rcx, qword [0x1411de548]
test eax, 0xff000000
je 0x1400664ac
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x140066440
add rdx, r8
cmp r8, rdx
je 0x1400664ac
test rcx, rcx
jne 0x14006645f
mov rax, qword [r10 + 0x38]
mov rcx, qword [rax + 8]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movq r9, xmm0
movss xmm2, dword [0x140cd20fc]
mov rdx, r10
call fcn.1400a4cf0
comiss xmm10, xmm14
jb 0x1400664b9
mov ecx, 0xff
jmp 0x1400664d3
comiss xmm9, xmm10
jb 0x1400664c4
mov ecx, r15d
jmp 0x1400664d3
mulss xmm10, xmm13
addss xmm10, xmm15
cvttss2si rcx, xmm10
comiss xmm11, xmm14
jb 0x1400664e0
mov edx, 0xff
jmp 0x1400664fa
comiss xmm9, xmm11
jb 0x1400664eb
mov edx, r15d
jmp 0x1400664fa
mulss xmm11, xmm13
addss xmm11, xmm15
cvttss2si rdx, xmm11
comiss xmm12, xmm14
jb 0x140066507
mov eax, 0xff
jmp 0x140066521
comiss xmm9, xmm12
jb 0x140066512
mov eax, r15d
jmp 0x140066521
mulss xmm12, xmm13
addss xmm12, xmm15
cvttss2si rax, xmm12
or ecx, 0xffffff00
shl ecx, 8
or ecx, edx
shl ecx, 8
or ecx, eax
movzx eax, cl
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
movss xmm8, dword [0x140cd1f2c]
mulss xmm3, xmm8
mov eax, ecx
shr eax, 8
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm8
mov eax, ecx
shr eax, 0x10
movzx eax, al
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm8
shr ecx, 0x18
mov eax, ecx
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
mulss xmm2, xmm8
shufps xmm3, xmm3, 0xe1
movss xmm3, xmm0
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rsp + 0x60], xmm3
movups xmmword [rsp + 0x60], xmm3
lea rcx, [rsp + 0x60]
call fcn.140081d60
movss dword [rbp - 0x5c], xmm6
movss dword [rbp - 0x58], xmm7
mov dword [rsp + 0x20], r15d
mov r9d, eax
movss xmm11, dword [0x140cd20c8]
movaps xmm2, xmm11
lea rdx, [rbp - 0x5c]
mov rcx, r14
call fcn.1400a03e0
jmp 0x140066630
movdqa xmm0, xmmword [0x140cd4540]
movups xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140081d60
movss dword [rbp - 0x64], xmm6
movss dword [rbp - 0x60], xmm7
mov dword [rsp + 0x20], r15d
mov r9d, eax
movss xmm11, dword [0x140cd20c8]
movaps xmm2, xmm11
lea rdx, [rbp - 0x64]
mov rcx, r14
call fcn.1400a03e0
jmp 0x140066630
movss xmm11, dword [0x140cd20c8]
lea rcx, [rbp - 0x30]
call fcn.14002f260
add rdi, 0x298
cmp rdi, rsi
movsd xmm8, qword [0x140cd1fe8]
jne 0x140066160
movss xmm12, dword [rbp - 0x74]
mov rsi, qword [0x1411dfd98]
mov rdi, qword [0x1411dfd90]
cmp rdi, rsi
je 0x14006689e
lea rbx, [rdi + 0x58]
movss xmm10, dword [rbp - 0x7c]
nop dword [rax]
movss xmm0, dword [rbx - 4]
movss xmm2, dword [rbx - 8]
movss xmm1, dword [rbx]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400666b3
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1400666bb
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, dword [0x140cd2184]
jbe 0x14006687e
movss xmm6, dword [0x1411de1f4]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movsd xmm3, qword [rbx - 0x28]
subss xmm3, dword [0x1411de1d8]
movsd xmm1, qword [rbx - 0x28]
shufps xmm1, xmm1, 0x55
subss xmm1, dword [0x1411de1dc]
movaps xmm4, xmm1
mulss xmm4, xmm8
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm4, xmm0
divss xmm4, dword [0x140cd21b0]
movss xmm0, dword [rbp - 0x70]
addss xmm4, xmm0
addss xmm4, dword [rbp - 0x6c]
mulss xmm3, xmm8
mulss xmm1, xmm2
addss xmm3, xmm1
divss xmm3, dword [0x140cd21b0]
movaps xmm1, xmm12
subss xmm1, xmm3
addss xmm1, dword [rbp - 0x68]
comiss xmm4, xmm10
seta al
test al, al
je 0x140066772
movaps xmm4, xmm10
jmp 0x14006677f
comiss xmm0, xmm4
seta al
test al, al
je 0x14006677f
movaps xmm4, xmm0
movss xmm8, dword [rbp - 0x80]
comiss xmm1, xmm8
seta al
test al, al
je 0x140066796
movaps xmm1, xmm8
jmp 0x1400667a5
comiss xmm12, xmm1
seta al
test al, al
je 0x1400667a5
movaps xmm1, xmm12
movss xmm2, dword [0x1411d8b10]
comiss xmm9, xmm2
jbe 0x1400667b9
movaps xmm0, xmm9
jmp 0x1400667c1
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si ecx, xmm0
movss xmm2, dword [0x1411d8b14]
comiss xmm9, xmm2
jbe 0x1400667e3
movaps xmm0, xmm9
jmp 0x1400667eb
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
movss xmm2, dword [0x1411d8b18]
comiss xmm9, xmm2
jbe 0x140066812
movaps xmm0, xmm9
jmp 0x14006681a
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
movss xmm2, dword [0x1411d8b1c]
comiss xmm9, xmm2
jbe 0x140066841
movaps xmm0, xmm9
jmp 0x140066849
movaps xmm0, xmm14
minss xmm0, xmm2
mulss xmm0, xmm13
addss xmm0, xmm15
cvttss2si r9d, xmm0
shl r9d, 0x18
or r9d, ecx
movss dword [rbp - 0x64], xmm4
movss dword [rbp - 0x60], xmm1
mov dword [rsp + 0x20], r15d
movaps xmm2, xmm11
lea rdx, [rbp - 0x64]
mov rcx, r14
call fcn.1400a03e0
add rdi, 0x98
add rbx, 0x98
cmp rdi, rsi
movsd xmm8, qword [0x140cd1fe8]
jne 0x140066680
call fcn.14008d150
nop
lea rcx, [rbp - 0x10]
call fcn.14002f260
nop
lea rcx, [rbp + 0x10]
call fcn.14002f260
nop
lea rcx, [rbp + 0x30]
call fcn.14002f260
mov r8, qword [0x1411df5e0]
movsxd rax, dword [r8 + 0x1d70]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d78]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1624], xmm0
dec dword [r8 + 0x1d70]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14013f230
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
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 rbp
ret