Function at 0x1401a7cf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x250
lea rbp, [rsp + 0x70]
mov qword [rbp + 0x210], rbx
mov qword [rbp + 0x218], rsi
mov qword [rbp + 0x220], rdi
movaps xmmword [rbp + 0x1d0], xmm6
movaps xmmword [rbp + 0x1c0], xmm7
movaps xmmword [rbp + 0x1b0], xmm8
movaps xmmword [rbp + 0x1a0], xmm9
movaps xmmword [rbp + 0x190], xmm10
movaps xmmword [rbp + 0x180], xmm11
movaps xmmword [rbp + 0x170], xmm12
movaps xmmword [rbp + 0x160], xmm13
movaps xmmword [rbp + 0x150], xmm14
movaps xmmword [rbp + 0x140], xmm15
mov rax, qword [0x1402e0068]
xor rax, rbp
mov qword [rbp + 0x130], rax
mov r12, qword [rcx]
movsxd r11, dword [rcx + 0xc]
movsxd r14, edx
movsxd r15, dword [r12 + 4]
mov rbx, qword [r12 + 0x20]
movsxd rdi, dword [r12 + 8]
mov r13d, 0x800
mov dword [rbp], r8d
xor r9d, r9d
sub r13, r14
mov dword [rbp + 8], r14d
mov r10, rcx
lea r8d, [r15 + 0x800]
mov qword [rbp + 0x18], rcx
mov dword [rbp + 0xc], r11d
mov qword [rbp + 0x60], r12
mov dword [rbp + 0x10], r15d
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x38], r11
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x68], r13
xor edx, edx
movsxd rax, edx
inc r9
add edx, r8d
cmp r9, r11
lea rcx, [r10 + rax*4 + 0x60]
lea rax, [rcx + r13*4]
mov qword [rbp + r9*8 + 0xa0], rcx
mov qword [rbp + r9*8 + 0x88], rax
jl 0x1401a7dd3
movsxd r13, dword [r10 + 0x18]
imul r8d, r11d
movsxd r14, r14d
movsxd rax, r8d
mov dword [rbp + 0x48], r13d
lea rcx, [r10 + rax*4 + 0x60]
lea eax, [r11 + r11*2]
shl eax, 3
mov qword [rbp + 0x80], rcx
cdqe
lea r9, [rcx + rax*4]
lea eax, [rdi + rdi]
movsxd rcx, eax
mov qword [rbp + 0x50], r9
lea rax, [rcx + rcx*2]
lea rcx, [r9 + rax*4]
mov eax, dword [r10 + 0x38]
cmp eax, 5
mov qword [rbp + 0x58], rcx
mov dword [rbp + 0x14], eax
jge 0x1401a89a2
test r13d, r13d
jne 0x1401a89a2
cmp dword [r10 + 0x3c], r13d
jne 0x1401a89a2
movss xmm7, dword [0x1402ab594]
mov rbx, r10
movaps xmm13, xmm7
test eax, eax
jne 0x1401a7e8c
mov r8d, dword [rbx + 0x28]
lea rcx, [rbp + 0xa8]
mov edx, r11d
call fcn.1401a7c50
mov r9d, eax
mov dword [rbx + 0x34], eax
jmp 0x1401a7e99
mov r9d, dword [rbx + 0x34]
movss xmm13, dword [0x140281410]
lea eax, [r9 + r9]
mov r8d, 0x400
movabs rdx, 0xffffffffffffff0
cmp eax, r8d
cmovl r8d, eax
lea rax, [r15*4]
lea rcx, [rax + 0xf]
mov dword [rbp + 0xc], r8d
cmp rcx, rax
ja 0x1401a7ecc
mov rcx, rdx
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140232c50
sub rsp, rcx
lea rax, [rsp + 0x70]
mov qword [rbp + 0x20], rax
mov eax, 0x1060
call fcn.140232c50
sub rsp, rax
movsxd r8, r8d
lea r10, [r8*4]
lea rcx, [rsp + 0x70]
lea rax, [r10 + 0xf]
mov qword [rbp + 0xa0], r10
cmp rax, r10
ja 0x1401a7f14
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.140232c50
movsxd rdx, dword [rbp + 0x14]
mov r13, qword [r12 + 0x48]
xorps xmm12, xmm12
movss xmm14, dword [0x140281bc8]
movss xmm15, dword [0x1402811c8]
sub rsp, rax
lea r10, [rcx + 0x60]
mov qword [rbp + 0x58], rdx
lea rax, [rsp + 0x70]
movsxd r12, r9d
mov r9, rdx
mov qword [rbp + 0xb8], rax
mov eax, 0x400
xor ecx, ecx
sub rax, r8
sar r8, 1
mov edx, 0x7fe
lea rax, [r10 + rax*4]
sub rdx, r14
mov qword [rbp + 0x88], r8
mov qword [rbp + 0x50], rax
mov eax, 0x800
mov qword [rbp + 0x60], rdx
sub eax, r14d
mov qword [rbp + 0x70], r10
mov qword [rbp + 0x48], r13
cdqe
mov qword [rbp + 0x28], rcx
lea r11, [r10 - 0x5c]
shl rax, 2
mov r8d, r15d
mov qword [rbp + 0x90], rax
mov eax, 0x400
sub rax, r12
mov qword [rbp + 0x40], rax
lea eax, [r15 + r14]
movsxd rdi, eax
mov dword [rbp + 8], eax
mov eax, r15d
cdq
mov qword [rbp + 0x78], rdi
sub eax, edx
sar eax, 1
xor r14d, r14d
mov dword [rbp + 4], r14d
mov dword [rbp], eax
nop word [rax + rax]
mov rsi, qword [rbp + rcx*8 + 0xa8]
movaps xmm11, xmm12
mov r8d, 0x83
lea rdx, [rsi + 0xfa4]
mov rcx, r11
nop dword [rax]
mov eax, dword [rdx - 4]
add rcx, 0x20
add rdx, 0x20
sub r8, 1
mov dword [rcx - 0x24], eax
mov eax, dword [rdx - 0x20]
mov dword [rcx - 0x20], eax
mov eax, dword [rdx - 0x1c]
mov dword [rcx - 0x1c], eax
mov eax, dword [rdx - 0x18]
mov dword [rcx - 0x18], eax
mov eax, dword [rdx - 0x14]
mov dword [rcx - 0x14], eax
mov eax, dword [rdx - 0x10]
mov dword [rcx - 0x10], eax
mov eax, dword [rdx - 0xc]
mov dword [rcx - 0xc], eax
mov eax, dword [rdx - 8]
mov dword [rcx - 8], eax
jne 0x1401a8000
test r9, r9
jne 0x1401a81fa
mov eax, dword [rbx + 0x28]
lea rdx, [rbp + 0xc0]
mov r9d, r15d
mov dword [rsp + 0x30], eax
mov r8, r13
mov rcx, r10
mov dword [rsp + 0x28], 0x400
mov dword [rsp + 0x20], 0x18
call fcn.1401bc380
movss xmm5, dword [rbp + 0xc0]
mulss xmm5, dword [0x140281bc4]
mov edx, 3
lea rcx, [rbp + 0xc8]
movss dword [rbp + 0xc0], xmm5
nop word [rax + rax]
movss xmm1, dword [rcx - 4]
movss xmm2, dword [rcx]
lea eax, [rdx - 2]
add rcx, 0x20
movd xmm0, eax
lea eax, [rdx - 1]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm14
subss xmm1, xmm0
movd xmm0, eax
lea eax, [rdx + 1]
movss dword [rcx - 0x24], xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm2
mulss xmm0, xmm14
subss xmm2, xmm0
movd xmm0, edx
movss dword [rcx - 0x20], xmm2
movss xmm2, dword [rcx - 0x1c]
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
mulss xmm1, xmm0
movd xmm0, eax
lea eax, [rdx + 2]
mulss xmm1, xmm14
cvtdq2ps xmm0, xmm0
subss xmm2, xmm1
movss xmm1, dword [rcx - 0x18]
mulss xmm0, xmm0
mulss xmm0, xmm1
movss dword [rcx - 0x1c], xmm2
movss xmm2, dword [rcx - 0x14]
mulss xmm0, xmm14
subss xmm1, xmm0
movd xmm0, eax
lea eax, [rdx + 3]
movss dword [rcx - 0x18], xmm1
movss xmm1, dword [rcx - 0x10]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm2
mulss xmm0, xmm14
subss xmm2, xmm0
movd xmm0, eax
lea eax, [rdx + 4]
movss dword [rcx - 0x14], xmm2
movss xmm2, dword [rcx - 0xc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm14
subss xmm1, xmm0
movd xmm0, eax
lea eax, [rdx + 5]
movss dword [rcx - 0x10], xmm1
movss xmm1, dword [rcx - 8]
add edx, 8
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm2
mulss xmm0, xmm14
subss xmm2, xmm0
movd xmm0, eax
lea eax, [rdx - 2]
cmp eax, 0x18
movss dword [rcx - 0xc], xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, xmm14
subss xmm1, xmm0
movss dword [rcx - 8], xmm1
jle 0x1401a80a0
mov rcx, qword [rbp + 0x80]
movsxd rax, r14d
lea rdx, [rbp + 0xc0]
lea rcx, [rcx + rax*4]
mov r8d, 0x18
call fcn.1401bb910
mov rcx, qword [rbp + 0x80]
mov r9d, dword [rbp + 0xc]
movsxd rax, r14d
movaps xmm9, xmm12
movaps xmm6, xmm12
movaps xmm10, xmm12
lea r14, [rcx + rax*4]
mov eax, dword [rbx + 0x28]
mov rbx, qword [rbp + 0xb8]
movaps xmm8, xmm12
mov rcx, qword [rbp + 0x50]
mov dword [rsp + 0x28], eax
mov r8, rbx
mov rdx, r14
mov dword [rsp + 0x20], 0x18
call fcn.1401bbbc0
mov r8, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x50]
mov rdx, rbx
call fcn.1401e75a0
mov r9, qword [rbp + 0x88]
mov rbx, qword [rbp + 0x70]
movaps xmm5, xmm7
movaps xmm2, xmm7
xor r8d, r8d
cmp r9, 2
jl 0x1401a82d6
mov rax, r9
neg rax
lea rcx, [rbx + rax*8 + 0x1000]
lea rdx, [rbx + rax*4 + 0x1004]
lea rax, [r9 - 2]
shr rax, 1
inc rax
lea r8, [rax + rax]
movss xmm0, dword [rdx - 4]
movss xmm1, dword [rcx]
add rcx, 8
add rdx, 8
sub rax, 1
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm10, xmm0
movss xmm0, dword [rdx - 8]
addss xmm9, xmm1
mulss xmm0, xmm0
movss xmm1, dword [rcx - 4]
addss xmm8, xmm0
mulss xmm1, xmm1
addss xmm6, xmm1
jne 0x1401a8292
cmp r8, r9
jge 0x1401a830b
mov rax, r8
sub rax, r9
movss xmm5, dword [rbx + rax*4 + 0x1000]
mov eax, 0x200
sub rax, r9
mulss xmm5, xmm5
lea rax, [r8 + rax*2]
addss xmm5, xmm7
movss xmm2, dword [rbx + rax*4]
mulss xmm2, xmm2
addss xmm2, xmm7
addss xmm6, xmm9
addss xmm8, xmm10
addss xmm2, xmm6
addss xmm5, xmm8
comiss xmm5, xmm2
jb 0x1401a8326
movaps xmm5, xmm2
mov rax, qword [rbp + 0x30]
mov r8, qword [rbp + 0x90]
divss xmm5, xmm2
lea rdx, [rsi + rax*4]
mov rcx, rsi
movaps xmm9, xmm12
movaps xmm6, xmm12
sqrtss xmm8, xmm5
call fcn.1401e75a0
movaps xmm5, xmm8
xor ecx, ecx
xor r11d, r11d
mulss xmm5, xmm13
test rdi, rdi
jle 0x1401a847e
cmp rdi, 2
jl 0x1401a842f
mov r8, qword [rbp + 0x30]
mov r11, qword [rbp + 0x40]
mov eax, 0x801
sub rax, r8
lea rdx, [rbx + r11*4]
lea r9, [r12*4]
lea r10, [rsi + rax*4]
mov rax, r11
sub rax, r8
lea r8, [rsi + rax*4 + 0x1000]
lea rax, [rdi - 2]
shr rax, 1
inc rax
lea r11, [rax + rax]
nop dword [rax + rax]
cmp rcx, r12
jl 0x1401a83c3
sub rcx, r12
sub rdx, r9
mulss xmm5, xmm8
sub r8, r9
movaps xmm0, xmm5
inc rcx
add rdx, 4
add r8, 4
cmp rcx, r12
mulss xmm0, dword [rdx - 4]
movss dword [r10 - 4], xmm0
movss xmm1, dword [r8 - 4]
mulss xmm1, xmm1
addss xmm9, xmm1
jl 0x1401a83fe
sub rcx, r12
sub rdx, r9
mulss xmm5, xmm8
sub r8, r9
movaps xmm0, xmm5
inc rcx
add rdx, 4
add r8, 4
add r10, 8
sub rax, 1
mulss xmm0, dword [rdx - 4]
movss dword [r10 - 8], xmm0
movss xmm1, dword [r8 - 4]
mulss xmm1, xmm1
addss xmm6, xmm1
jne 0x1401a83b0
cmp r11, rdi
jge 0x1401a8474
cmp rcx, r12
jl 0x1401a8441
sub rcx, r12
mulss xmm5, xmm8
mov rdx, qword [rbp + 0x40]
lea rax, [rcx + rdx]
mulss xmm5, dword [rbx + rax*4]
mov rax, qword [rbp + 0x30]
sub r11, rax
sub rcx, rax
add rcx, rdx
movss dword [rsi + r11*4 + 0x2000], xmm5
movss xmm11, dword [rsi + rcx*4 + 0x1000]
mulss xmm11, xmm11
addss xmm6, xmm9
addss xmm11, xmm6
mov rax, qword [rbp + 0x60]
xor ecx, ecx
lea r8, [rsi + rax*4]
nop dword [rax + rax]
mov eax, dword [r8 + 4]
add rcx, 8
sub r8, 0x20
cmp rcx, 0x18
mov dword [rbp + rcx*4 + 0xa0], eax
mov eax, dword [r8 + 0x20]
mov dword [rbp + rcx*4 + 0xa4], eax
mov eax, dword [r8 + 0x1c]
mov dword [rbp + rcx*4 + 0xa8], eax
mov eax, dword [r8 + 0x18]
mov dword [rbp + rcx*4 + 0xac], eax
mov eax, dword [r8 + 0x14]
mov dword [rbp + rcx*4 + 0xb0], eax
mov eax, dword [r8 + 0x10]
mov dword [rbp + rcx*4 + 0xb4], eax
mov eax, dword [r8 + 0xc]
mov dword [rbp + rcx*4 + 0xb8], eax
mov eax, dword [r8 + 8]
mov dword [rbp + rcx*4 + 0xbc], eax
jl 0x1401a8490
mov rax, qword [rbp + 0x68]
mov r9d, dword [rbp + 8]
mov rdx, r14
movaps xmm8, xmm12
movaps xmm6, xmm12
lea rbx, [rsi + rax*4]
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x28]
mov r8, rbx
mov rcx, rbx
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x18
call fcn.1401bbea0
movaps xmm5, xmm12
mov r9, qword [rbp + 0x30]
xor r14d, r14d
cmp rdi, 2
mov rdx, r14
jl 0x1401a8594
mov eax, 0x801
sub rax, r9
lea rcx, [rsi + rax*4]
lea rax, [rdi - 2]
shr rax, 1
inc rax
lea rdx, [rax + rax]
nop word [rax + rax]
movss xmm0, dword [rcx - 4]
movss xmm1, dword [rcx]
add rcx, 8
sub rax, 1
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm8, xmm0
addss xmm6, xmm1
jne 0x1401a8570
cmp rdx, rdi
jge 0x1401a85a9
sub rdx, r9
movss xmm5, dword [rsi + rdx*4 + 0x2000]
mulss xmm5, xmm5
addss xmm6, xmm8
addss xmm5, xmm6
movaps xmm0, xmm5
mulss xmm0, xmm15
comiss xmm11, xmm0
ja 0x1401a85df
test rdi, rdi
jle 0x1401a879e
mov r8, rdi
xor edx, edx
mov rcx, rbx
shl r8, 2
call fcn.1401e6750
jmp 0x1401a879e
comiss xmm11, xmm5
jae 0x1401a879e
cmp r15, 4
addss xmm11, xmm7
addss xmm5, xmm7
mov r8, r14
divss xmm11, xmm5
sqrtss xmm2, xmm11
jl 0x1401a86b2
mov eax, 0x801
movaps xmm3, xmm7
lea rdx, [r13 + 8]
sub rax, r9
subss xmm3, xmm2
lea rcx, [rsi + rax*4]
lea rax, [r15 - 4]
shr rax, 2
inc rax
lea r8, [rax*4]
nop word [rax + rax]
movaps xmm0, xmm3
movaps xmm1, xmm7
add rcx, 0x10
add rdx, 0x10
sub rax, 1
mulss xmm0, dword [rdx - 0x18]
subss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm1, dword [rcx - 0x14]
movss dword [rcx - 0x14], xmm1
mulss xmm0, dword [rdx - 0x14]
movaps xmm1, xmm7
subss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm1, dword [rcx - 0x10]
movss dword [rcx - 0x10], xmm1
mulss xmm0, dword [rdx - 0x10]
movaps xmm1, xmm7
subss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm1, dword [rcx - 0xc]
movss dword [rcx - 0xc], xmm1
mulss xmm0, dword [rdx - 0xc]
movaps xmm1, xmm7
subss xmm1, xmm0
mulss xmm1, dword [rcx - 8]
movss dword [rcx - 8], xmm1
jne 0x1401a8640
cmp r8, r15
jge 0x1401a86f3
mov rax, r8
movaps xmm3, xmm7
sub rax, r9
subss xmm3, xmm2
lea rcx, [rsi + rax*4 + 0x2000]
movaps xmm0, xmm3
movaps xmm1, xmm7
inc r8
add rcx, 4
cmp r8, r15
mulss xmm0, dword [r13 + r8*4 - 4]
subss xmm1, xmm0
mulss xmm1, dword [rcx - 4]
movss dword [rcx - 4], xmm1
jl 0x1401a86cc
cmp r15, rdi
mov rdx, r15
jge 0x1401a879e
mov rax, rdi
sub rax, r15
cmp rax, 4
jl 0x1401a876e
mov rax, r15
sub rax, r9
lea rcx, [rsi + rax*4 + 0x2004]
mov rax, rdi
sub rax, r15
sub rax, 4
shr rax, 2
inc rax
lea rdx, [r15 + rax*4]
nop
movaps xmm0, xmm2
movaps xmm1, xmm2
add rcx, 0x10
sub rax, 1
mulss xmm0, dword [rcx - 0x14]
mulss xmm1, dword [rcx - 0x10]
movss dword [rcx - 0x14], xmm0
movss dword [rcx - 0x10], xmm1
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, dword [rcx - 0xc]
mulss xmm1, dword [rcx - 8]
movss dword [rcx - 0xc], xmm0
movss dword [rcx - 8], xmm1
jne 0x1401a8730
cmp rdx, rdi
jge 0x1401a879e
mov rax, rdx
sub rax, r9
lea rcx, [rsi + rax*4 + 0x2000]
mov rax, rdi
sub rax, rdx
movaps xmm0, xmm2
add rcx, 4
sub rax, 1
mulss xmm0, dword [rcx - 4]
movss dword [rcx - 4], xmm0
jne 0x1401a8787
mov rbx, qword [rbp + 0x18]
lea rdx, [rsi + 0x2000]
mov ecx, dword [rbx + 0x50]
mov eax, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x40]
movss xmm0, dword [rbx + 0x48]
xorps xmm0, xmmword [0x1402abc60]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp + 0x20]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm0
mov eax, r15d
mov r9d, r8d
mov dword [rsp + 0x20], eax
call fcn.1401ad280
mov r11d, dword [rbp]
xor r13d, r13d
cmp r11d, 4
jl 0x1401a88f9
mov rax, qword [rbp + 0x20]
mov rdi, qword [rbp + 0x48]
lea r8, [rsi + 0x2004]
mov rbx, rax
lea rcx, [rax + 4]
lea r10, [rax + r15*4 - 0xc]
sub rbx, rdi
lea r9, [rdi + 0xc]
lea rdx, [rdi + r15*4 - 4]
sub rdi, rax
lea eax, [r11 - 4]
shr eax, 2
inc eax
mov r11d, eax
lea r14d, [rax*4]
lea r13, [rax*4]
nop dword [rax + rax]
movss xmm1, dword [rbx + rdx]
movss xmm0, dword [rcx - 4]
add r8, 0x10
add rcx, 0x10
add r9, 0x10
sub rdx, 0x10
sub r10, 0x10
sub r11, 1
mulss xmm0, dword [rdx + 0x10]
mulss xmm1, dword [r9 - 0x1c]
addss xmm1, xmm0
movss dword [r8 - 0x14], xmm1
movss xmm2, dword [rdi + rcx - 0x10]
movss xmm0, dword [rdx + 0xc]
mulss xmm0, dword [rcx - 0x10]
mulss xmm2, dword [r10 + 0x14]
addss xmm2, xmm0
movss dword [r8 - 0x10], xmm2
movss xmm1, dword [rdx + 8]
movss xmm0, dword [r9 - 0x14]
mulss xmm0, dword [r10 + 0x10]
mulss xmm1, dword [rcx - 0xc]
addss xmm1, xmm0
movss dword [r8 - 0xc], xmm1
movss xmm2, dword [rdx + 4]
movss xmm0, dword [r10 + 0xc]
mulss xmm2, dword [rcx - 8]
mulss xmm0, dword [r9 - 0x10]
addss xmm2, xmm0
movss dword [r8 - 8], xmm2
jne 0x1401a8850
mov rdi, qword [rbp + 0x78]
mov rbx, qword [rbp + 0x18]
mov r11d, dword [rbp]
cmp r14d, r11d
jge 0x1401a8964
mov r9, qword [rbp + 0x20]
mov rax, r15
lea r8, [rsi + r13*4 + 0x2000]
lea rcx, [r9 + r13*4]
sub rax, r13
mov r13, qword [rbp + 0x48]
mov r10, r9
mov r11, r13
lea rdx, [r13 + rax*4 - 4]
sub r11, r9
mov r9d, dword [rbp]
sub r10, r13
sub r9d, r14d
movss xmm1, dword [r10 + rdx]
movss xmm0, dword [rcx]
add r8, 4
sub rdx, 4
add rcx, 4
sub r9, 1
mulss xmm1, dword [r11 + rcx - 4]
mulss xmm0, dword [rdx + 4]
addss xmm1, xmm0
movss dword [r8 - 4], xmm1
jne 0x1401a8930
jmp 0x1401a8968
mov r13, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x28]
mov r14d, dword [rbp + 4]
mov r10, qword [rbp + 0x70]
mov r9, qword [rbp + 0x58]
inc rcx
add r14d, 0x18
cmp rcx, qword [rbp + 0x38]
mov dword [rbp + 4], r14d
mov qword [rbp + 0x28], rcx
lea r11, [r10 - 0x5c]
jl 0x1401a7fe0
mov eax, dword [rbp + 0x14]
inc eax
mov dword [rbx + 0x38], eax
jmp 0x1401a8d1b
movsxd r8, dword [r10 + 0x1c]
mov r9d, dword [r12 + 0xc]
cmp r8d, r9d
mov eax, r9d
cmovl eax, r8d
cmp r13d, eax
jle 0x1401a89c0
mov dword [rbp + 4], r13d
jmp 0x1401a89cb
cmp r8d, r9d
cmovl r9d, r8d
mov dword [rbp + 4], r9d
mov eax, r11d
imul eax, r14d
movsxd rcx, eax
shl rcx, 2
lea rdx, [rcx + 0xf]
cmp rdx, rcx
ja 0x1401a89ec
movabs rdx, 0xffffffffffffff0
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.140232c50
sub rsp, rdx
cmp dword [rbp + 0x14], 0
lea r9, [rsp + 0x70]
mov qword [rbp + 0x20], r9
jne 0x1401a8a14
movss xmm1, dword [0x1402813cc]
jmp 0x1401a8a1c
movss xmm1, dword [0x1402ab5b0]
mov rbx, qword [rbp + 0x50]
mov rsi, qword [rbp + 0x58]
mov rax, qword [rbp + 0x38]
mov rcx, rdi
mov r11, r13
mov rdi, r8
lea r8, [rcx*4]
xor r12d, r12d
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x28], rcx
xor r13d, r13d
lea r14, [rbx + r11*4 + 4]
mov qword [rbp + 0x78], r8
lea r15, [rsi + r11*4 + 8]
nop word [rax + rax]
cmp r11, rdi
mov r10, r11
jge 0x1401a8b65
mov rax, rdi
sub rax, r11
cmp rax, 4
jl 0x1401a8b20
mov rdx, rdi
mov r8, rsi
mov rcx, r15
sub rdx, r11
sub r8, rbx
mov rax, r14
sub rdx, 4
shr rdx, 2
inc rdx
lea r10, [r11 + rdx*4]
nop dword [rax]
movss xmm0, dword [rax - 4]
movss xmm2, dword [rcx - 8]
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1401a8ab6
movaps xmm2, xmm0
movss xmm0, dword [rax]
movss dword [rax - 4], xmm2
movss xmm3, dword [r8 + rax]
subss xmm0, xmm1
comiss xmm3, xmm0
ja 0x1401a8ad1
movaps xmm3, xmm0
movss xmm0, dword [rax + 4]
movss dword [rax], xmm3
movss xmm2, dword [rcx]
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1401a8aea
movaps xmm2, xmm0
movss xmm0, dword [rax + 8]
movss dword [rax + 4], xmm2
movss xmm2, dword [rcx + 4]
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1401a8b05
movaps xmm2, xmm0
movss dword [rax + 8], xmm2
add rax, 0x10
add rcx, 0x10
sub rdx, 1
jne 0x1401a8aa0
mov r8, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x28]
cmp r10, rdi
jge 0x1401a8b61
lea rax, [r13 + r10]
mov rdx, rsi
lea rcx, [rbx + rax*4]
mov rax, rdi
sub rdx, rbx
sub rax, r10
movss xmm0, dword [rcx]
movss xmm2, dword [rcx + rdx]
subss xmm0, xmm1
comiss xmm2, xmm0
ja 0x1401a8b4f
movaps xmm2, xmm0
movss dword [rcx], xmm2
add rcx, 4
sub rax, 1
jne 0x1401a8b3a
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
inc r12
add r13, rcx
add r15, r8
add r14, r8
cmp r12, rax
jl 0x1401a8a60
mov r12, qword [rbp + 0x18]
mov r13d, dword [rbp + 0xc]
movsxd r14, dword [rbp + 4]
mov edi, dword [r12 + 0x2c]
mov esi, dword [rbp]
mov rbx, qword [rbp + 0x40]
mov rax, r14
test r13d, r13d
jle 0x1401a8c6b
movss xmm6, dword [0x1402ab594]
mov edx, dword [rbp + 8]
mov rcx, r13
mov qword [rbp + 0x28], rcx
xor r15d, r15d
cmp r11, rax
mov r13, r11
jge 0x1401a8c56
nop
movsx eax, word [rbx + r13*2]
movsx r12d, word [rbx + r13*2 + 2]
mov ecx, esi
sub r12d, eax
mov edx, eax
shl edx, cl
shl r12d, cl
add edx, r15d
movsxd rsi, r12d
movsxd r14, edx
test r12d, r12d
jle 0x1401a8c1a
lea rbx, [r9 + r14*4]
nop dword [rax]
mov ecx, edi
call fcn.1401adbd0
add rbx, 4
mov edi, eax
sar eax, 0x14
sub rsi, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx - 4], xmm0
jne 0x1401a8bf0
mov r9, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x18]
lea rcx, [r9 + r14*4]
movaps xmm2, xmm6
mov r9d, dword [rax + 0x28]
mov edx, r12d
call fcn.1401bb650
movsxd r14, dword [rbp + 4]
mov r9, qword [rbp + 0x20]
mov esi, dword [rbp]
inc r13
mov rax, r14
cmp r13, r14
jl 0x1401a8bc0
mov r11, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x28]
mov edx, dword [rbp + 8]
add r15d, edx
sub rcx, 1
mov qword [rbp + 0x28], rcx
jne 0x1401a8bb3
mov r12, qword [rbp + 0x18]
mov eax, dword [rbp + 0x10]
mov r13, qword [rbp + 0x30]
mov rsi, qword [rbp + 0x38]
sar eax, 1
mov dword [r12 + 0x2c], edi
xor r15d, r15d
sub eax, dword [rbp + 8]
mov rbx, r15
add eax, 0x800
movsxd rdi, eax
shl rdi, 2
nop word [rax + rax]
mov rcx, qword [rbp + rbx*8 + 0xa8]
mov r8, rdi
lea rdx, [rcx + r13*4]
call fcn.1401e75a0
inc rbx
cmp rbx, rsi
jl 0x1401a8ca0
mov eax, dword [r12 + 0x28]
mov r13d, dword [rbp + 0xc]
mov esi, dword [rbp]
mov r9, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x60]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + 0x14]
mov dword [rsp + 0x58], r15d
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
lea r8, [rbp + 0x90]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.1401a74d0
mov eax, dword [rbp + 0x14]
inc eax
mov dword [r12 + 0x38], eax
mov rcx, qword [rbp + 0x130]
xor rcx, rbp
call fcn.1401e6720
mov rbx, qword [rbp + 0x210]
mov rsi, qword [rbp + 0x218]
mov rdi, qword [rbp + 0x220]
movaps xmm6, xmmword [rbp + 0x1d0]
movaps xmm7, xmmword [rbp + 0x1c0]
movaps xmm8, xmmword [rbp + 0x1b0]
movaps xmm9, xmmword [rbp + 0x1a0]
movaps xmm10, xmmword [rbp + 0x190]
movaps xmm11, xmmword [rbp + 0x180]
movaps xmm12, xmmword [rbp + 0x170]
movaps xmm13, xmmword [rbp + 0x160]
movaps xmm14, xmmword [rbp + 0x150]
movaps xmm15, xmmword [rbp + 0x140]
lea rsp, [rbp + 0x1e0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret