Function at 0x1401e9110
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x220
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
mov rax, qword [0x14045d5f0]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x188]
mov r15, rcx
mov r12, qword [r9 + 8]
mov r13, r8
movss xmm6, dword [rbp + 0x180]
mov r14, rdx
mov qword [rbp - 0x78], rcx
mov ecx, dword [rax + 0xc]
mov r10d, dword [rax + 4]
mov ebx, dword [rax]
mov edi, dword [rax + 8]
mov rdx, qword [r13 + 8]
mov dword [rsp + 0x68], ecx
lea esi, [r10 + 1]
mov qword [rsp + 0x70], r8
lea eax, [rbx*4]
mov r8d, dword [r8 + 0x30]
mov ecx, r8d
movsxd r11, eax
imul ecx, r10d
mov dword [rsp + 0x58], ebx
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x78], r11
mov dword [rsp + 0x64], esi
lea rax, [rdx + rcx]
movzx r9d, byte [rax + r11 + 3]
lea eax, [rbx*4 + 4]
movsxd r13, eax
mov dword [rsp + 0x3c], r9d
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov qword [rbp - 0x48], r13
lea rax, [rdx + r13]
movzx ebx, byte [rax + rcx + 3]
mov eax, esi
imul eax, r8d
mov r8d, dword [rsp + 0x58]
mov dword [rsp + 0x34], ebx
mov ecx, eax
add rax, rdx
movzx eax, byte [rax + r11 + 3]
mov dword [rsp + 0x30], eax
lea rax, [rcx + rdx]
movzx r13d, byte [rax + r13 + 3]
lea rdx, [rbp - 0x10]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
movss xmm13, dword [0x1403c2a4c]
mov eax, ebx
sub eax, dword [rsp + 0x3c]
movss xmm7, dword [0x1403bc8f0]
add eax, eax
sub eax, dword [rsp + 0x30]
movss xmm8, dword [0x1403b2e0c]
add eax, r13d
mov dword [rsp + 0x50], 0x3f800000
movd xmm4, eax
mov eax, dword [rsp + 0x30]
sub eax, dword [rsp + 0x3c]
cvtdq2ps xmm4, xmm4
add eax, eax
sub eax, ebx
add eax, r13d
mulss xmm4, xmm13
movd xmm1, eax
mov eax, dword [rsp + 0x50]
cvtdq2ps xmm1, xmm1
mov dword [rbp - 0x18], eax
mulss xmm4, xmm6
mulss xmm1, xmm13
xorps xmm4, xmm7
movaps xmm0, xmm4
mulss xmm1, xmm6
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp - 0x20], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm1
movss xmm9, dword [0x1403bcb58]
addss xmm1, xmm0
movss xmm0, dword [rbp - 0x18]
lea r8, [rbp - 0x10]
mov rbx, qword [r15]
lea rdx, [rbp + 0x10]
xorps xmm3, xmm3
mov rcx, r14
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rbp - 0x1c]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rbp - 0x18], xmm0
mov eax, dword [rbp - 0x18]
mulss xmm1, xmm3
movaps xmm0, xmm2
mov dword [rbp - 0x28], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x10]
mov rcx, r15
mov r9, rax
lea rdx, [rbp - 0x30]
call qword [rbx + 8]
movss xmm11, dword [0x1403c2a38]
movss xmm12, dword [0x1403afbd0]
mov dword [r12], eax
add r12, 4
mov eax, dword [rsp + 0x58]
inc eax
movsxd r10, eax
mov dword [rsp + 0x60], eax
lea eax, [rdi - 1]
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x5c], eax
cmp r10d, eax
jge 0x1401e9501
mov r15, qword [rsp + 0x70]
lea r9, [r10*4]
mov qword [rbp - 0x80], r9
mov dword [rbp + 8], 0x3f800000
nop word [rax + rax]
mov r11d, dword [rsp + 0x34]
lea rdx, [rbp + 0x10]
mov r8d, dword [r15 + 0x30]
mov ecx, r8d
imul ecx, dword [rsp + 0x38]
mov edi, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x3c]
imul r8d, esi
mov dword [rsp + 0x30], r13d
add rcx, qword [r15 + 8]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x3c], r11d
mov dword [rsp + 0x20], r11d
movzx eax, byte [rcx + r9 + 7]
mov rcx, r14
mov dword [rsp + 0x34], eax
mov eax, r8d
mov r8d, r10d
add rax, qword [r15 + 8]
movzx r13d, byte [rax + r9 + 7]
mov rax, qword [r14]
mov r9d, dword [rsp + 0x38]
call qword [rax + 0x38]
xorps xmm2, xmm2
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x40]
mov rcx, r14
movsd xmm0, qword [rax]
movsd qword [rbp - 0x10], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 8], eax
mov eax, dword [rsp + 0x34]
sub eax, ebx
add eax, eax
sub eax, edi
add eax, r13d
movd xmm3, eax
mov eax, dword [rsp + 0x30]
sub eax, dword [rsp + 0x3c]
add eax, eax
sub eax, ebx
sub eax, dword [rsp + 0x34]
cvtdq2ps xmm3, xmm3
add eax, edi
mov rdi, qword [rbp - 0x78]
add eax, r13d
mov rbx, qword [rdi]
mulss xmm3, xmm11
movd xmm1, eax
mov eax, dword [rbp + 8]
cvtdq2ps xmm1, xmm1
mov dword [rbp - 0x18], eax
mulss xmm3, xmm6
mulss xmm1, xmm12
xorps xmm3, xmm7
movaps xmm0, xmm3
mulss xmm1, xmm6
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp - 0x20], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm1
addss xmm0, xmm1
movss xmm1, dword [rbp - 0x1c]
addss xmm0, xmm8
addss xmm0, xmm9
movss xmm2, xmm0
movss xmm0, dword [rbp - 0x18]
rsqrtss xmm2, xmm2
mulss xmm0, xmm2
mulss xmm3, xmm2
movss dword [rbp - 0x18], xmm0
mov eax, dword [rbp - 0x18]
mulss xmm1, xmm2
movaps xmm0, xmm3
mov dword [rbp - 0x28], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
call qword [rax + 0x40]
mov r9, rax
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [rbx + 8]
mov r10d, dword [rsp + 0x40]
mov r9, qword [rbp - 0x80]
inc r10d
add r9, 4
mov dword [r12], eax
add r12, 4
mov dword [rsp + 0x40], r10d
mov qword [rbp - 0x80], r9
cmp r10d, dword [rsp + 0x5c]
jl 0x1401e9390
jmp 0x1401e9509
mov rdi, r15
mov r15, qword [rsp + 0x70]
mov rax, qword [r14]
lea rdx, [rbp + 0x10]
mov ebx, dword [rsp + 0x34]
mov r8d, r10d
mov r9d, dword [rsp + 0x38]
mov rcx, r14
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], ebx
call qword [rax + 0x38]
xorps xmm3, xmm3
mov dword [rsp + 0x50], 0x3f800000
lea r8, [rbp - 0x10]
mov rcx, r14
lea rdx, [rbp + 0x10]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x10], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 8], eax
mov eax, ebx
sub eax, dword [rsp + 0x3c]
add eax, eax
sub eax, dword [rsp + 0x30]
add eax, r13d
sub r13d, ebx
mov rbx, qword [rdi]
add r13d, r13d
sub r13d, dword [rsp + 0x3c]
add r13d, dword [rsp + 0x30]
movd xmm4, eax
mov eax, dword [rsp + 0x50]
cvtdq2ps xmm4, xmm4
mov dword [rbp - 0x18], eax
movd xmm1, r13d
cvtdq2ps xmm1, xmm1
mulss xmm4, xmm13
mulss xmm1, xmm13
mulss xmm4, xmm6
mulss xmm1, xmm6
xorps xmm4, xmm7
movaps xmm0, xmm4
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp - 0x20], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rbp - 0x18]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rbp - 0x1c]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rbp - 0x18], xmm0
mov eax, dword [rbp - 0x18]
mulss xmm1, xmm3
movaps xmm0, xmm2
mov dword [rbp - 0x28], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x10]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp - 0x30]
call qword [rbx + 8]
mov r8d, dword [rsp + 0x68]
mov dword [r12], eax
add r12, 4
lea eax, [r8 - 1]
cmp esi, eax
jge 0x1401e9aee
movsxd r10, dword [rsp + 0x58]
lea r9d, [rsi + 1]
movaps xmmword [rsp + 0x1d0], xmm10
movss xmm10, dword [0x1403c17fc]
mov qword [rbp - 0x10], r10
mov dword [rsp + 0x40], r9d
mov dword [rbp - 0x38], 0x3f800000
mov dword [rbp + 0x18], 0x3f800000
nop
mov rdx, qword [r15 + 8]
lea ecx, [rsi - 1]
mov r8d, dword [r15 + 0x30]
mov eax, r8d
mov r13, qword [rsp + 0x78]
imul eax, ecx
mov dword [rbp - 0x80], ecx
movss dword [rsp + 0x28], xmm6
mov ecx, eax
add rax, rdx
movzx eax, byte [rax + r13 + 3]
mov dword [rsp + 0x3c], eax
lea rax, [rdx + r10*4]
movzx ebx, byte [rax + rcx + 7]
mov eax, r8d
imul eax, esi
imul r8d, r9d
mov r9d, esi
mov dword [rsp + 0x38], ebx
mov ecx, eax
add rax, rdx
movzx r11d, byte [rax + r13 + 3]
lea rax, [rcx + r10*4]
movzx r15d, byte [rax + rdx + 7]
mov rcx, r14
lea rax, [rdx + r8]
mov dword [rsp + 0x30], r11d
movzx eax, byte [rax + r13 + 3]
mov dword [rsp + 0x34], eax
lea rax, [rdx + r10*4]
movzx r13d, byte [rax + r8 + 7]
lea rdx, [rbp - 0x30]
mov rax, qword [r14]
mov r8d, dword [rsp + 0x58]
mov dword [rsp + 0x20], r11d
call qword [rax + 0x38]
mov eax, r15d
xorps xmm3, xmm3
sub eax, dword [rsp + 0x30]
add eax, eax
sub eax, dword [rsp + 0x3c]
sub eax, dword [rsp + 0x34]
add eax, ebx
add eax, r13d
movd xmm4, eax
mov eax, dword [rsp + 0x34]
sub eax, dword [rsp + 0x3c]
cvtdq2ps xmm4, xmm4
add eax, eax
sub eax, ebx
add eax, r13d
mulss xmm4, xmm12
movd xmm1, eax
mov eax, dword [rbp - 0x38]
cvtdq2ps xmm1, xmm1
mov dword [rbp - 0x50], eax
mulss xmm4, xmm6
mulss xmm1, xmm11
xorps xmm4, xmm7
movaps xmm0, xmm4
mulss xmm1, xmm6
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp - 0x58], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rbp - 0x50]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rbp - 0x54]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rbp - 0x50], xmm0
mulss xmm1, xmm3
movaps xmm0, xmm2
unpcklps xmm0, xmm1
mov eax, dword [rbp - 0x50]
lea r8, [rbp - 0x30]
mov rbx, qword [rdi]
lea rdx, [rbp + 0x60]
mov dword [rbp + 0x28], eax
mov rcx, r14
mov rax, qword [r14]
movsd qword [rbp + 0x20], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp + 0x20]
call qword [rbx + 8]
mov r11d, dword [rsp + 0x60]
mov dword [r12], eax
add r12, 4
mov dword [rsp + 0x6c], r11d
cmp r11d, dword [rsp + 0x5c]
jge 0x1401e99a0
mov r10, qword [rbp - 0x10]
mov dword [rbp + 0x48], 0x3f800000
lea r10, [r10*4 + 4]
mov qword [rbp - 0x60], r10
nop dword [rax]
mov eax, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x64]
mov edi, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x30]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x34], r13d
movss dword [rsp + 0x28], xmm6
mov r8d, dword [rax + 0x30]
mov ecx, r8d
mov rdx, qword [rax + 8]
imul ecx, dword [rbp - 0x80]
add rcx, rdx
movzx eax, byte [rcx + r10 + 7]
mov ecx, r8d
imul r8d, dword [rsp + 0x40]
imul ecx, r9d
mov dword [rsp + 0x38], eax
mov eax, r8d
mov r8d, r11d
add rcx, rdx
add rax, rdx
lea rdx, [rbp + 0x70]
movzx r15d, byte [rcx + r10 + 7]
movzx r13d, byte [rax + r10 + 7]
mov ecx, dword [rsp + 0x30]
mov rax, qword [r14]
mov dword [rsp + 0x20], ecx
mov rcx, r14
call qword [rax + 0x38]
xorps xmm3, xmm3
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x28], eax
mov eax, r15d
sub eax, ebx
add eax, eax
sub eax, esi
sub eax, edi
add eax, dword [rsp + 0x38]
add eax, r13d
movd xmm4, eax
mov eax, dword [rsp + 0x34]
sub eax, dword [rsp + 0x3c]
add eax, eax
sub eax, dword [rsp + 0x38]
cvtdq2ps xmm4, xmm4
sub eax, edi
add eax, esi
add eax, r13d
mulss xmm4, xmm10
movd xmm1, eax
mov eax, dword [rbp + 0x48]
cvtdq2ps xmm1, xmm1
mov dword [rbp - 0x68], eax
mulss xmm4, xmm6
mulss xmm1, xmm10
xorps xmm4, xmm7
movaps xmm0, xmm4
mulss xmm1, xmm6
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rbp - 0x70], xmm0
movaps xmm0, xmm4
mulss xmm1, xmm1
mulss xmm0, xmm4
addss xmm1, xmm0
movss xmm0, dword [rbp - 0x68]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rbp - 0x6c]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rbp - 0x68], xmm0
mulss xmm1, xmm3
mov eax, dword [rbp - 0x68]
lea r8, [rbp - 0x30]
mov rdi, qword [rbp - 0x78]
lea rdx, [rbp + 0x80]
mov dword [rbp + 0x38], eax
movaps xmm0, xmm2
mov rax, qword [r14]
mov rcx, r14
unpcklps xmm0, xmm1
mov rbx, qword [rdi]
movsd qword [rbp + 0x30], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp + 0x30]
call qword [rbx + 8]
mov r11d, dword [rsp + 0x6c]
mov r10, qword [rbp - 0x60]
inc r11d
add r10, 4
mov dword [r12], eax
add r12, 4
mov dword [rsp + 0x6c], r11d
mov qword [rbp - 0x60], r10
cmp r11d, dword [rsp + 0x5c]
jl 0x1401e9800
mov esi, dword [rsp + 0x64]
mov rax, qword [r14]
lea rdx, [rbp + 0x50]
movss dword [rsp + 0x28], xmm6
mov r9d, esi
mov r8d, r11d
mov dword [rsp + 0x20], r15d
mov rcx, r14
call qword [rax + 0x38]
sub r15d, dword [rsp + 0x30]
lea r8, [rbp - 0x30]
mov rbx, qword [rdi]
lea rdx, [rbp - 0x20]
add r15d, r15d
xorps xmm3, xmm3
movsd xmm0, qword [rax]
mov rcx, r14
sub r15d, dword [rsp + 0x3c]
sub r15d, dword [rsp + 0x34]
add r15d, dword [rsp + 0x38]
movsd qword [rbp - 0x30], xmm0
add r15d, r13d
sub r13d, dword [rsp + 0x38]
mov eax, dword [rax + 8]
add r13d, r13d
sub r13d, dword [rsp + 0x3c]
add r13d, dword [rsp + 0x34]
movd xmm4, r15d
cvtdq2ps xmm4, xmm4
mov dword [rbp - 0x28], eax
mov eax, dword [rbp + 0x18]
mov dword [rsp + 0x50], eax
movd xmm1, r13d
cvtdq2ps xmm1, xmm1
mulss xmm4, xmm12
mulss xmm1, xmm11
mulss xmm4, xmm6
mulss xmm1, xmm6
xorps xmm4, xmm7
movaps xmm0, xmm4
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rsp + 0x4c]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x50]
mulss xmm1, xmm3
movaps xmm0, xmm2
mov dword [rbp + 8], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp]
call qword [rbx + 8]
mov r9d, dword [rsp + 0x40]
inc esi
mov r8d, dword [rsp + 0x68]
inc r9d
mov r15, qword [rsp + 0x70]
mov r10, qword [rbp - 0x10]
mov dword [r12], eax
add r12, 4
lea eax, [r8 - 1]
mov dword [rsp + 0x64], esi
cmp esi, eax
mov dword [rsp + 0x40], r9d
jl 0x1401e9660
movaps xmm10, xmmword [rsp + 0x1d0]
mov r13, qword [rsp + 0x70]
lea ecx, [r8 - 2]
mov r10, qword [rsp + 0x78]
lea rdx, [rbp - 0x30]
mov r11, qword [rbp - 0x48]
movss dword [rsp + 0x28], xmm6
mov r9, qword [r13 + 8]
mov eax, dword [r13 + 0x30]
imul eax, ecx
mov ecx, eax
add rax, r9
movzx eax, byte [rax + r10 + 3]
mov dword [rsp + 0x34], eax
lea rax, [r9 + rcx]
movzx eax, byte [rax + r11 + 3]
mov dword [rsp + 0x30], eax
lea eax, [r8 - 1]
imul eax, dword [r13 + 0x30]
mov r8d, dword [rsp + 0x58]
mov ecx, eax
add rax, r9
movzx ebx, byte [rax + r10 + 3]
lea rax, [rcx + r9]
movzx r15d, byte [rax + r11 + 3]
mov r9d, esi
mov rax, qword [r14]
mov rcx, r14
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x20], ebx
call qword [rax + 0x38]
mov eax, r15d
mov dword [rbp - 0x68], 0x3f800000
sub eax, ebx
lea r8, [rbp - 0x30]
add eax, eax
lea rdx, [rbp - 0x20]
sub eax, dword [rsp + 0x34]
xorps xmm2, xmm2
add eax, dword [rsp + 0x30]
mov rcx, r14
movd xmm3, eax
mov eax, ebx
sub eax, dword [rsp + 0x34]
mov rbx, qword [rdi]
add eax, eax
sub eax, dword [rsp + 0x30]
cvtdq2ps xmm3, xmm3
add eax, r15d
movd xmm1, eax
mov eax, dword [rbp - 0x68]
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x50], eax
mulss xmm3, xmm13
mulss xmm1, xmm13
mulss xmm3, xmm6
mulss xmm1, xmm6
xorps xmm3, xmm7
movaps xmm0, xmm3
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm2, xmm1
movss xmm1, dword [rsp + 0x4c]
rsqrtss xmm2, xmm2
mulss xmm0, xmm2
mulss xmm3, xmm2
movss dword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x50]
mulss xmm1, xmm2
movaps xmm0, xmm3
mov dword [rbp + 8], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp]
call qword [rbx + 8]
movsxd r11, dword [rsp + 0x60]
mov dword [r12], eax
add r12, 4
cmp r11d, dword [rsp + 0x5c]
jge 0x1401e9ded
lea r10, [r11*4]
mov dword [rbp + 0x18], 0x3f800000
mov qword [rsp + 0x78], r10
nop dword [rax]
mov edx, dword [rsp + 0x30]
mov r9d, r15d
mov edi, dword [rsp + 0x38]
mov r8d, r11d
mov ebx, dword [rsp + 0x34]
mov dword [rsp + 0x38], r15d
mov r15d, dword [rsp + 0x68]
mov dword [rsp + 0x34], edx
lea rdx, [rbp - 0x20]
movss dword [rsp + 0x28], xmm6
mov dword [rsp + 0x20], r9d
mov r9d, esi
lea ecx, [r15 - 2]
imul ecx, dword [r13 + 0x30]
add rcx, qword [r13 + 8]
movzx eax, byte [rcx + r10 + 7]
mov rcx, r14
mov dword [rsp + 0x30], eax
lea eax, [r15 - 1]
imul eax, dword [r13 + 0x30]
add rax, qword [r13 + 8]
movzx r15d, byte [rax + r10 + 7]
mov rax, qword [r14]
call qword [rax + 0x38]
xorps xmm3, xmm3
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x50]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x28], eax
mov eax, r15d
sub eax, edi
add eax, eax
sub eax, ebx
add eax, dword [rsp + 0x30]
movd xmm4, eax
mov eax, dword [rsp + 0x38]
sub eax, dword [rsp + 0x34]
add eax, eax
sub eax, ebx
sub eax, dword [rsp + 0x30]
add eax, edi
mov rdi, qword [rbp - 0x78]
cvtdq2ps xmm4, xmm4
add eax, r15d
mov rbx, qword [rdi]
movd xmm1, eax
mov eax, dword [rbp + 0x18]
cvtdq2ps xmm1, xmm1
mov dword [rsp + 0x50], eax
mulss xmm4, xmm11
mulss xmm1, xmm12
mulss xmm4, xmm6
mulss xmm1, xmm6
xorps xmm4, xmm7
movaps xmm0, xmm4
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rsp + 0x4c]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x50]
mulss xmm1, xmm3
movaps xmm0, xmm2
mov dword [rbp + 8], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp], xmm0
mov rcx, r14
call qword [rax + 0x40]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp]
call qword [rbx + 8]
mov r11d, dword [rsp + 0x60]
mov r10, qword [rsp + 0x78]
inc r11d
add r10, 4
mov dword [r12], eax
add r12, 4
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x78], r10
cmp r11d, dword [rsp + 0x5c]
jl 0x1401e9c70
mov rax, qword [r14]
lea rdx, [rbp - 0x20]
movss dword [rsp + 0x28], xmm6
mov r9d, esi
mov r8d, r11d
mov dword [rsp + 0x20], r15d
mov rcx, r14
call qword [rax + 0x38]
mov rbx, qword [rdi]
lea r8, [rbp - 0x30]
xorps xmm3, xmm3
mov dword [rbp - 0x68], 0x3f800000
lea rdx, [rbp - 0x20]
mov rcx, r14
movsd xmm0, qword [rax]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x28], eax
mov eax, r15d
sub eax, dword [rsp + 0x38]
sub r15d, dword [rsp + 0x30]
add eax, eax
sub eax, dword [rsp + 0x34]
add r15d, r15d
add eax, dword [rsp + 0x30]
sub r15d, dword [rsp + 0x34]
add r15d, dword [rsp + 0x38]
movd xmm4, eax
mov eax, dword [rbp - 0x68]
cvtdq2ps xmm4, xmm4
mov dword [rsp + 0x50], eax
movd xmm1, r15d
cvtdq2ps xmm1, xmm1
mulss xmm4, xmm13
mulss xmm1, xmm13
mulss xmm4, xmm6
mulss xmm1, xmm6
xorps xmm4, xmm7
movaps xmm0, xmm4
xorps xmm1, xmm7
unpcklps xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm8
addss xmm1, xmm9
movss xmm3, xmm1
movss xmm1, dword [rsp + 0x4c]
rsqrtss xmm3, xmm3
mulss xmm0, xmm3
movaps xmm2, xmm3
mulss xmm2, xmm4
movss dword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x50]
mulss xmm1, xmm3
movaps xmm0, xmm2
mov dword [rbp + 8], eax
mov rax, qword [r14]
unpcklps xmm0, xmm1
movsd qword [rbp], xmm0
call qword [rax + 0x40]
lea r8, [rbp - 0x30]
mov rcx, rdi
mov r9, rax
lea rdx, [rbp]
call qword [rbx + 8]
mov dword [r12], eax
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.1402e0100
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret