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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x1406836b8]
xor rax, rsp
mov qword [rsp + 0xe8], rax
movsxd r14, r8d
mov rbp, r9
mov r8, qword [rsp + 0x1d8]
mov rsi, rdx
mov r12, rcx
test r8, r8
je 0x1403d00ff
mov rax, qword [rsp + 0x1e8]
test rax, rax
jne 0x1403cec44
movups xmm0, xmmword [r8]
jmp 0x1403cec47
movups xmm0, xmmword [rax]
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0xa8]
movups xmmword [rsp + 0xc8], xmm0
call qword [0x140449c40]
mov edi, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xa8]
mov r15d, dword [rsp + 0x1e0]
mov ebx, dword [rsp + 0xb4]
mov rcx, qword [rsp + 0xac]
sub edi, edx
jne 0x1403cec98
cmp ebx, ecx
jne 0x1403cec98
mov ebx, dword [rsp + 0x50]
jmp 0x1403cecbc
imul edx, dword [rsp + 0x1f0]
sub ebx, ecx
imul ecx, r15d
movsxd rdx, edx
movsxd rcx, ecx
add rcx, qword [rsp + 0x1d0]
add rdx, rcx
mov qword [rsp + 0x28], rdx
test rsi, rsi
je 0x1403d00ff
test rbp, rbp
jne 0x1403ceccf
movups xmm0, xmmword [rsi]
jmp 0x1403cecd3
movups xmm0, xmmword [rbp]
mov r8, rsi
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0xb8]
movups xmmword [rsp + 0xd8], xmm0
call qword [0x140449c40]
mov edx, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0xbc]
sub edx, r8d
jne 0x1403ced34
cmp r9d, ecx
jne 0x1403ced34
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x1f0]
jmp 0x1403ced5b
mov r10d, dword [rsp + 0x1f0]
sub r9d, ecx
imul r8d, r10d
imul ecx, r14d
movsxd rax, r8d
add rax, r12
movsxd r11, ecx
add r11, rax
mov qword [rsp + 0x88], r11
mov dword [rsp + 0x4c], r9d
cmp edx, edi
jg 0x1403d00f8
cmp r9d, ebx
jg 0x1403d00f8
xorps xmm1, xmm1
mov qword [rsp + 0x1c8], r13
cvtsi2sd xmm1, edi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm12
movsd xmm12, qword [0x1404538b8]
xorps xmm3, xmm3
cvtsi2sd xmm0, edx
movaps xmmword [rsp + 0xf0], xmm13
movsd xmm13, qword [0x14045dee0]
divsd xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, qword [0x14045df18]
cvtsi2sd xmm0, r9d
xor r9d, r9d
mov dword [rsp + 0x6c], r9d
cvttsd2si r13d, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, ebx
movsxd rbx, edx
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0xa0], rbx
cvtsi2sd xmm3, r13d
divsd xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm3, xmm13
mulsd xmm1, qword [0x14045df18]
cvttsd2si eax, xmm1
mov dword [rsp + 0x68], eax
cvtsi2sd xmm0, eax
mulsd xmm3, xmm0
mulsd xmm3, xmm13
divsd xmm12, xmm3
cmp dword [rsp + 0x4c], r9d
jle 0x1403d00da
movaps xmmword [rsp + 0x160], xmm6
mov rcx, r14
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmmword [rsp + 0x120], xmm10
movaps xmmword [rsp + 0x110], xmm11
mov qword [rsp + 0x98], r14
imul r9d, eax
lea edi, [r9 + rax]
cmp r10d, 4
jne 0x1403cf4d0
xor r10d, r10d
mov dword [rsp + 0x20], r10d
test rbx, rbx
jle 0x1403d007b
mov ecx, edi
mov qword [rsp + 0x80], rbx
and ecx, 0xffffc000
lea r8d, [r9 - 1]
or r8d, 0x3fff
mov eax, ecx
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov dword [rsp + 0x64], eax
lea eax, [r8 + 1]
cdq
sub r8d, r9d
and edx, 0x3fff
inc r8d
add eax, edx
mov dword [rsp + 0x3c], r8d
sar eax, 0xe
mov ebp, eax
mov dword [rsp + 0x48], eax
mov eax, r9d
and eax, 0xffffc000
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
mov dword [rsp + 0x34], eax
lea eax, [rdi - 1]
or eax, 0x3fff
inc eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
sub edi, ecx
mov dword [rsp + 0x40], eax
lea rcx, [r11 + 2]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x78], rcx
nop word [rax + rax]
mov r14d, r10d
xor ebx, ebx
imul r14d, r13d
xor edi, edi
xor r10d, r10d
mov qword [rsp + 0x90], rbx
xor r11d, r11d
mov qword [rsp + 0x70], rdi
lea r12d, [r14 + r13]
lea r13d, [r14 - 1]
or r13d, 0x3fff
lea eax, [r13 + 1]
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movsxd rcx, eax
mov eax, r12d
and eax, 0xffffc000
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x24], eax
cdq
and edx, 0x3fff
add eax, edx
mov edx, dword [rsp + 0x64]
sar eax, 0xe
mov dword [rsp + 0x58], eax
movsxd rsi, eax
cmp ebp, edx
jge 0x1403cf00c
mov eax, ebp
movsxd r15, r15d
imul eax, dword [rsp + 0x1e0]
mov r9, rcx
movsxd r8, eax
mov eax, edx
add r8, qword [rsp + 0x28]
sub eax, ebp
mov ebp, eax
nop dword [rax]
cmp r9, rsi
jge 0x1403cf003
lea rcx, [r9*4 + 2]
mov rdx, rsi
add rcx, r8
sub rdx, r9
nop word [rax + rax]
movzx eax, byte [rcx - 2]
lea rcx, [rcx + 4]
add r10, rax
movzx eax, byte [rcx - 5]
add r11, rax
movzx eax, byte [rcx - 4]
add rbx, rax
movzx eax, byte [rcx - 3]
add rdi, rax
sub rdx, 1
jne 0x1403cefd0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x90], rbx
add r8, r15
sub rbp, 1
jne 0x1403cefb0
sub r13d, r14d
mov eax, r14d
and eax, 0xffffc000
inc r13d
cdq
mov dword [rsp + 0x50], r13d
and edx, 0x3fff
xor esi, esi
add eax, edx
xor ebp, ebp
sar eax, 0xe
xor r14d, r14d
movsxd r8, eax
xor r15d, r15d
lea eax, [r12 - 1]
mov dword [rsp + 0x60], r8d
sub r12d, dword [rsp + 0x24]
or eax, 0x3fff
inc eax
mov dword [rsp + 0x24], r12d
cdq
and edx, 0x3fff
add eax, edx
movsxd rdx, dword [rsp + 0x3c]
sar eax, 0xe
mov dword [rsp + 0x44], eax
test edx, edx
je 0x1403cf148
test r13d, r13d
je 0x1403cf0da
mov eax, dword [rsp + 0x34]
mov r9, r8
imul eax, dword [rsp + 0x1e0]
mov r8, qword [rsp + 0x28]
movsxd rcx, eax
mov rax, rdx
add r8, rcx
movsxd rcx, r13d
imul rax, rcx
movzx esi, byte [r8 + r9*4]
movzx ebp, byte [r8 + r9*4 + 1]
cqo
movzx r14d, byte [r8 + r9*4 + 2]
and edx, 0x3fff
movzx r15d, byte [r8 + r9*4 + 3]
add rax, rdx
mov edx, dword [rsp + 0x3c]
sar rax, 0xe
movsxd rcx, eax
mov eax, dword [rsp + 0x44]
imul rsi, rcx
imul rbp, rcx
imul r14, rcx
imul r15, rcx
test r12d, r12d
je 0x1403cf148
mov r8, qword [rsp + 0x28]
movsxd r9, eax
mov eax, dword [rsp + 0x34]
imul eax, dword [rsp + 0x1e0]
movsxd rcx, r12d
cdqe
add r8, rax
movsxd rax, edx
imul rax, rcx
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
movsxd rcx, eax
movzx eax, byte [r8 + r9*4 - 4]
imul rax, rcx
add rsi, rax
movzx eax, byte [r8 + r9*4 - 3]
imul rax, rcx
add rbp, rax
movzx eax, byte [r8 + r9*4 - 2]
imul rax, rcx
add r14, rax
movzx eax, byte [r8 + r9*4 - 1]
imul rax, rcx
add r15, rax
movsxd rdx, dword [rsp + 0x38]
test edx, edx
je 0x1403cf23e
test r13d, r13d
je 0x1403cf1cb
movsxd r9, dword [rsp + 0x60]
mov eax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
dec eax
imul eax, dword [rsp + 0x1e0]
movsxd rcx, eax
mov rax, rdx
add r8, rcx
movsxd rcx, r13d
imul rax, rcx
cqo
and edx, 0x3fff
add rax, rdx
mov edx, dword [rsp + 0x38]
sar rax, 0xe
movsxd rcx, eax
movzx eax, byte [r8 + r9*4]
imul rax, rcx
add rsi, rax
movzx eax, byte [r8 + r9*4 + 1]
imul rax, rcx
add rbp, rax
movzx eax, byte [r8 + r9*4 + 2]
imul rax, rcx
add r14, rax
movzx eax, byte [r8 + r9*4 + 3]
imul rax, rcx
add r15, rax
test r12d, r12d
je 0x1403cf23e
movsxd r9, dword [rsp + 0x44]
mov eax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
dec eax
imul eax, dword [rsp + 0x1e0]
movsxd rcx, eax
add r8, rcx
movsxd rax, edx
movsxd rcx, r12d
imul rax, rcx
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
movsxd rcx, eax
movzx eax, byte [r8 + r9*4 - 4]
imul rax, rcx
add rsi, rax
movzx eax, byte [r8 + r9*4 - 3]
imul rax, rcx
add rbp, rax
movzx eax, byte [r8 + r9*4 - 2]
imul rax, rcx
add r14, rax
movzx eax, byte [r8 + r9*4 - 1]
imul rax, rcx
add r15, rax
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x1e0]
mov r9, qword [rsp + 0x28]
imul eax, ecx
movsxd r12, eax
movsxd rax, dword [rsp + 0x5c]
mov rdx, rax
lea r13, [r12 + rax*4]
add r13, r9
cmp eax, dword [rsp + 0x58]
jge 0x1403cf31f
mov eax, dword [rsp + 0x40]
lea rdx, [rdx*4 + 2]
mov edi, dword [rsp + 0x58]
dec eax
movsxd r8, dword [rsp + 0x38]
movsxd r9, dword [rsp + 0x3c]
imul eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
sub r12, rcx
add rax, rcx
add rdx, rax
sub edi, dword [rsp + 0x5c]
movzx eax, byte [r13]
lea r13, [r13 + 4]
movzx ecx, byte [rdx - 2]
lea rdx, [rdx + 4]
imul rax, r9
imul rcx, r8
add rsi, rax
movzx eax, byte [rdx - 5]
imul rax, r8
add rsi, rcx
movzx ecx, byte [r12 + rdx - 5]
imul rcx, r9
add rbp, rax
movzx eax, byte [rdx - 4]
add rbp, rcx
movzx ecx, byte [r12 + rdx - 4]
imul rax, r8
imul rcx, r9
add r14, rax
movzx eax, byte [rdx - 3]
imul rax, r8
add r14, rcx
movzx ecx, byte [r12 + rdx - 3]
imul rcx, r9
add r15, rax
add r15, rcx
sub rdi, 1
jne 0x1403cf2a1
mov rdi, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x1e0]
mov r9, qword [rsp + 0x28]
mov eax, dword [rsp + 0x48]
imul eax, ecx
movsxd rdx, eax
movsxd rax, dword [rsp + 0x60]
lea r8, [rdx + rax*4]
movsxd rax, dword [rsp + 0x44]
add r8, r9
add r9, 0xfffffffffffffffc
lea rcx, [rdx + rax*4]
mov edx, dword [rsp + 0x64]
add r9, rcx
mov ecx, dword [rsp + 0x48]
cmp ecx, edx
jge 0x1403cf3e9
movsxd rax, dword [rsp + 0x1e0]
sub r9, r8
movsxd r12, dword [rsp + 0x24]
mov edi, edx
movsxd r13, dword [rsp + 0x50]
sub edi, ecx
mov rbx, rax
movzx eax, byte [r8]
movzx ecx, byte [r9 + r8]
movzx edx, byte [r8 + 2]
imul rcx, r12
imul rax, r13
imul rdx, r13
add rsi, rax
movzx eax, byte [r9 + r8 + 1]
add rsi, rcx
movzx ecx, byte [r8 + 1]
imul rcx, r13
imul rax, r12
add rbp, rax
add rbp, rcx
movzx ecx, byte [r9 + r8 + 2]
imul rcx, r12
add r14, rcx
movzx ecx, byte [r9 + r8 + 3]
add r14, rdx
movzx edx, byte [r8 + 3]
imul rcx, r12
imul rdx, r13
add r15, rcx
add r8, rbx
add r15, rdx
sub rdi, 1
jne 0x1403cf371
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
xorps xmm0, xmm0
mov r13d, dword [rsp + 0x30]
mov rax, rsi
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
add rax, r10
mov r10d, dword [rsp + 0x20]
inc r10d
mov dword [rsp + 0x20], r10d
cvtsi2sd xmm0, rax
mulsd xmm0, xmm12
cvttsd2si eax, xmm0
xorps xmm0, xmm0
mov byte [r8 - 2], al
mov rax, rbp
mov ebp, dword [rsp + 0x48]
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
add rax, r11
cvtsi2sd xmm0, rax
mulsd xmm0, xmm12
cvttsd2si eax, xmm0
xorps xmm0, xmm0
mov byte [r8 - 1], al
mov rax, r14
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
add rax, rbx
cvtsi2sd xmm0, rax
mulsd xmm0, xmm12
cvttsd2si eax, xmm0
xorps xmm0, xmm0
mov byte [r8], al
mov rax, r15
mov r15d, dword [rsp + 0x1e0]
cqo
and edx, 0x3fff
add rax, rdx
sar rax, 0xe
add rax, rdi
cvtsi2sd xmm0, rax
mulsd xmm0, xmm12
cvttsd2si eax, xmm0
mov byte [r8 + 1], al
add r8, 4
sub qword [rsp + 0x80], 1
mov qword [rsp + 0x78], r8
jne 0x1403cef20
jmp 0x1403d005f
xor ebp, ebp
mov dword [rsp + 0x20], ebp
test rbx, rbx
jle 0x1403d0083
lea ecx, [r9 - 1]
mov qword [rsp + 0x78], rbx
or ecx, 0x3fff
mov r8d, edi
and r8d, 0xffffc000
mov eax, r8d
cdq
and edx, 0x3fff
lea r12d, [rdx + rax]
lea eax, [rcx + 1]
sar r12d, 0xe
cdq
sub ecx, r9d
and edx, 0x3fff
inc ecx
and r9d, 0xffffc000
lea r14d, [rdx + rax]
movd xmm8, ecx
mov ecx, edi
sar r14d, 0xe
sub ecx, r8d
mov eax, r9d
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
imul eax, r15d
movd xmm9, ecx
cvtdq2pd xmm8, xmm8
movsxd rcx, eax
lea eax, [rdi - 1]
or eax, 0x3fff
mov qword [rsp + 0x90], rcx
inc eax
cdq
and edx, 0x3fff
mulsd xmm8, xmm13
add eax, edx
sar eax, 0xe
dec eax
imul eax, r15d
cvtdq2pd xmm9, xmm9
add r11, 8
mov qword [rsp + 0x80], r11
movsxd rcx, eax
mov qword [rsp + 0x70], rcx
mulsd xmm9, xmm13
nop dword [rax]
mov esi, ebp
xorps xmm6, xmm6
imul esi, r13d
xorps xmm4, xmm4
xorps xmm5, xmm5
xorps xmm7, xmm7
lea r8d, [rsi + r13]
lea r13d, [rsi - 1]
mov dword [rsp + 0x50], r8d
or r13d, 0x3fff
lea eax, [r13 + 1]
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movsxd rbx, eax
mov eax, r8d
and eax, 0xffffc000
mov dword [rsp + 0x24], eax
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movsxd rdi, eax
cmp r14d, r12d
jge 0x1403cf79d
mov ecx, r14d
movsxd rbp, r15d
imul ecx, r15d
mov r11d, r12d
movsxd r10, ecx
add r10, qword [rsp + 0x28]
sub r11d, r14d
nop word [rax + rax]
mov r8, rbx
cmp rbx, rdi
jge 0x1403cf77f
mov rax, rdi
sub rax, rbx
cmp rax, 4
jl 0x1403cf72d
mov rcx, rbx
mov rax, rdi
shl rcx, 4
sub rax, rbx
add rcx, 0x18
sub rax, 4
add rcx, r10
shr rax, 2
inc rax
lea r8, [rbx + rax*4]
nop
movss xmm0, dword [rcx - 0x18]
movss xmm1, dword [rcx - 0x14]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rcx - 0x10]
addsd xmm4, xmm1
movss xmm1, dword [rcx - 0xc]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [rcx - 8]
addsd xmm7, xmm1
movss xmm1, dword [rcx - 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rcx]
addsd xmm4, xmm1
movss xmm1, dword [rcx + 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [rcx + 8]
addsd xmm7, xmm1
movss xmm1, dword [rcx + 0xc]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rcx + 0x10]
addsd xmm4, xmm1
movss xmm1, dword [rcx + 0x14]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [rcx + 0x18]
addsd xmm7, xmm1
movss xmm1, dword [rcx + 0x1c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rcx + 0x20]
addsd xmm4, xmm1
movss xmm1, dword [rcx + 0x24]
cvtps2pd xmm0, xmm0
add rcx, 0x40
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
addsd xmm7, xmm1
sub rax, 1
jne 0x1403cf660
cmp r8, rdi
jge 0x1403cf77f
mov rcx, r8
mov rax, rdi
shl rcx, 4
add rcx, 8
add rcx, r10
sub rax, r8
movss xmm0, dword [rcx - 8]
movss xmm1, dword [rcx - 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rcx]
addsd xmm4, xmm1
movss xmm1, dword [rcx + 4]
cvtps2pd xmm0, xmm0
add rcx, 0x10
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
addsd xmm7, xmm1
sub rax, 1
jne 0x1403cf746
add r10, rbp
sub r11, 1
jne 0x1403cf620
mov r11, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x20]
sub r13d, esi
xorps xmm10, xmm10
inc r13d
xorps xmm11, xmm11
and esi, 0xffffc000
mov ecx, r8d
sub ecx, dword [rsp + 0x24]
mov eax, esi
cdq
and edx, 0x3fff
add eax, edx
sar eax, 0xe
movsxd r9, eax
cvtsi2sd xmm10, r13d
mov r13, qword [rsp + 0x28]
add r9, r9
cvtsi2sd xmm11, ecx
mov rcx, qword [rsp + 0x90]
mulsd xmm10, xmm13
lea rax, [rcx + r9*8]
add rax, r13
mulsd xmm11, xmm13
movss xmm0, dword [rax]
movaps xmm2, xmm10
movss xmm1, dword [rax + 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm2, xmm8
movaps xmm3, xmm11
mulsd xmm3, xmm8
mulsd xmm0, xmm2
mulsd xmm1, xmm2
addsd xmm6, xmm0
movss xmm0, dword [rax + 8]
cvtps2pd xmm0, xmm0
addsd xmm4, xmm1
movss xmm1, dword [rax + 0xc]
mulsd xmm0, xmm2
lea eax, [r8 - 1]
or eax, 0x3fff
cvtps2pd xmm1, xmm1
inc eax
cdq
and edx, 0x3fff
add eax, edx
mov rdx, qword [rsp + 0x70]
sar eax, 0xe
addsd xmm5, xmm0
movsxd r10, eax
mulsd xmm1, xmm2
lea rax, [rcx - 0x10]
shl r10, 4
add rax, r10
movaps xmm2, xmm10
add rax, r13
mulsd xmm2, xmm9
addsd xmm7, xmm1
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm3
mulsd xmm1, xmm3
addsd xmm6, xmm0
movss xmm0, dword [rax + 8]
cvtps2pd xmm0, xmm0
addsd xmm4, xmm1
movss xmm1, dword [rax + 0xc]
mulsd xmm0, xmm3
lea rax, [rdx + r9*8]
add rax, r13
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [rax]
mulsd xmm1, xmm3
cvtps2pd xmm0, xmm0
addsd xmm7, xmm1
movss xmm1, dword [rax + 4]
mulsd xmm0, xmm2
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rax + 8]
movaps xmm3, xmm11
mulsd xmm1, xmm2
cvtps2pd xmm0, xmm0
addsd xmm4, xmm1
mulsd xmm3, xmm9
movss xmm1, dword [rax + 0xc]
lea rax, [rdx - 0x10]
cvtps2pd xmm1, xmm1
add rax, r10
add rax, r13
mulsd xmm0, xmm2
mulsd xmm1, xmm2
addsd xmm5, xmm0
movss xmm0, dword [rax]
cvtps2pd xmm0, xmm0
addsd xmm7, xmm1
movss xmm1, dword [rax + 4]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm3
mulsd xmm1, xmm3
addsd xmm6, xmm0
movss xmm0, dword [rax + 8]
cvtps2pd xmm0, xmm0
addsd xmm4, xmm1
movss xmm1, dword [rax + 0xc]
cvtps2pd xmm1, xmm1
mov rax, rbx
shl rax, 4
add rcx, rax
add rcx, r13
mulsd xmm0, xmm3
lea r8, [rax + rdx]
add r8, r13
mulsd xmm1, xmm3
addsd xmm5, xmm0
addsd xmm7, xmm1
cmp ebx, edi
jge 0x1403cfc99
mov eax, edi
sub eax, ebx
cmp eax, 4
jl 0x1403cfbdc
mov eax, edi
sub eax, ebx
sub eax, 4
shr eax, 2
inc eax
mov edx, eax
lea ebx, [rbx + rax*4]
nop dword [rax]
movss xmm1, dword [rcx]
movss xmm0, dword [r8]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm1, xmm6
movaps xmm6, xmm1
movss xmm1, dword [rcx + 0x10]
addsd xmm6, xmm0
movss xmm0, dword [r8 + 0x10]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm6, xmm1
movss xmm1, dword [rcx + 0x20]
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [r8 + 0x20]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm6, xmm1
movss xmm1, dword [rcx + 0x30]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm9
mulsd xmm1, xmm8
addsd xmm6, xmm0
movss xmm0, dword [r8 + 0x30]
cvtps2pd xmm0, xmm0
addsd xmm6, xmm1
movss xmm1, dword [rcx + 4]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm9
mulsd xmm1, xmm8
addsd xmm6, xmm0
movss xmm0, dword [r8 + 4]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm4
mulsd xmm0, xmm9
movaps xmm4, xmm1
movss xmm1, dword [rcx + 0x14]
addsd xmm4, xmm0
movss xmm0, dword [r8 + 0x14]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm4, xmm1
movss xmm1, dword [rcx + 0x24]
cvtps2pd xmm1, xmm1
addsd xmm4, xmm0
movss xmm0, dword [r8 + 0x24]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm4, xmm1
movss xmm1, dword [rcx + 0x34]
mulsd xmm0, xmm9
cvtps2pd xmm1, xmm1
addsd xmm4, xmm0
movss xmm0, dword [r8 + 0x34]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm4, xmm1
movss xmm1, dword [rcx + 8]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm9
mulsd xmm1, xmm8
addsd xmm4, xmm0
movss xmm0, dword [r8 + 8]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm5
mulsd xmm0, xmm9
movaps xmm5, xmm1
movss xmm1, dword [rcx + 0x18]
addsd xmm5, xmm0
movss xmm0, dword [r8 + 0x18]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
addsd xmm5, xmm1
movss xmm1, dword [rcx + 0x28]
mulsd xmm0, xmm9
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [r8 + 0x28]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm5, xmm1
movss xmm1, dword [rcx + 0x38]
mulsd xmm0, xmm9
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [r8 + 0x38]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm5, xmm1
movss xmm1, dword [rcx + 0xc]
mulsd xmm0, xmm9
cvtps2pd xmm1, xmm1
addsd xmm5, xmm0
movss xmm0, dword [r8 + 0xc]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm1, xmm7
mulsd xmm0, xmm9
movaps xmm7, xmm1
movss xmm1, dword [rcx + 0x1c]
addsd xmm7, xmm0
movss xmm0, dword [r8 + 0x1c]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm7, xmm1
movss xmm1, dword [rcx + 0x2c]
cvtps2pd xmm1, xmm1
addsd xmm7, xmm0
movss xmm0, dword [r8 + 0x2c]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm7, xmm1
movss xmm1, dword [rcx + 0x3c]
cvtps2pd xmm1, xmm1
add rcx, 0x40
addsd xmm7, xmm0
movss xmm0, dword [r8 + 0x3c]
cvtps2pd xmm0, xmm0
add r8, 0x40
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm7, xmm1
addsd xmm7, xmm0
sub rdx, 1
jne 0x1403cf990
cmp ebx, edi
jge 0x1403cfc99
lea rdx, [rcx + 8]
sub rcx, r8
sub edi, ebx
lea rax, [r8 + 8]
movsxd r8, edi
movss xmm1, dword [rcx + rax - 8]
movss xmm0, dword [rax - 8]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm8
mulsd xmm0, xmm9
addsd xmm1, xmm6
movaps xmm6, xmm1
movss xmm1, dword [rdx - 4]
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [rax - 4]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm1, xmm4
mulsd xmm0, xmm9
movaps xmm4, xmm1
movss xmm1, dword [rdx]
cvtps2pd xmm1, xmm1
addsd xmm4, xmm0
movss xmm0, dword [rax]
mulsd xmm1, xmm8
cvtps2pd xmm0, xmm0
addsd xmm1, xmm5
mulsd xmm0, xmm9
movaps xmm5, xmm1
movss xmm1, dword [rdx + 4]
cvtps2pd xmm1, xmm1
add rdx, 0x10
addsd xmm5, xmm0
movss xmm0, dword [rax + 4]
mulsd xmm1, xmm8
add rax, 0x10
cvtps2pd xmm0, xmm0
addsd xmm1, xmm7
mulsd xmm0, xmm9
movaps xmm7, xmm1
addsd xmm7, xmm0
sub r8, 1
jne 0x1403cfbf4
mov eax, r14d
lea r8, [r10 - 0x10]
imul eax, r15d
movsxd rcx, eax
add r8, rcx
add r8, r13
lea rdx, [rcx + r9*8]
mov r9d, r14d
add rdx, r13
cmp r14d, r12d
jge 0x1403cfff5
mov eax, r12d
sub eax, r14d
cmp eax, 4
jl 0x1403cff3a
mov eax, r12d
movsxd rcx, r15d
sub eax, r14d
sub eax, 4
shr eax, 2
inc eax
mov r10d, eax
lea r9d, [r14 + rax*4]
nop word [rax + rax]
movss xmm1, dword [rdx]
movss xmm0, dword [r8]
movss xmm2, dword [rdx + 4]
movss xmm3, dword [rdx + 8]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm11
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
mulsd xmm1, xmm10
mulsd xmm2, xmm10
mulsd xmm3, xmm10
addsd xmm1, xmm6
addsd xmm2, xmm4
movss xmm4, dword [rdx + 0xc]
cvtps2pd xmm4, xmm4
add rdx, rcx
addsd xmm3, xmm5
movss xmm5, dword [rdx]
addsd xmm1, xmm0
mulsd xmm4, xmm10
movss xmm0, dword [r8 + 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm5, xmm5
mulsd xmm0, xmm11
addsd xmm4, xmm7
mulsd xmm5, xmm10
addsd xmm2, xmm0
movss xmm0, dword [r8 + 8]
cvtps2pd xmm0, xmm0
addsd xmm5, xmm1
movss xmm1, dword [rdx + 4]
mulsd xmm0, xmm11
cvtps2pd xmm1, xmm1
addsd xmm3, xmm0
movss xmm0, dword [r8 + 0xc]
cvtps2pd xmm0, xmm0
add r8, rcx
mulsd xmm1, xmm10
mulsd xmm0, xmm11
addsd xmm1, xmm2
movss xmm2, dword [rdx + 8]
cvtps2pd xmm2, xmm2
addsd xmm4, xmm0
movss xmm0, dword [r8]
cvtps2pd xmm0, xmm0
mulsd xmm2, xmm10
mulsd xmm0, xmm11
addsd xmm2, xmm3
movss xmm3, dword [rdx + 0xc]
cvtps2pd xmm3, xmm3
add rdx, rcx
addsd xmm5, xmm0
movss xmm0, dword [r8 + 4]
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm10
mulsd xmm0, xmm11
addsd xmm3, xmm4
movss xmm4, dword [rdx]
cvtps2pd xmm4, xmm4
addsd xmm1, xmm0
movss xmm0, dword [r8 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm4, xmm10
mulsd xmm0, xmm11
addsd xmm4, xmm5
movss xmm5, dword [rdx + 4]
cvtps2pd xmm5, xmm5
addsd xmm2, xmm0
movss xmm0, dword [r8 + 0xc]
cvtps2pd xmm0, xmm0
add r8, rcx
mulsd xmm5, xmm10
mulsd xmm0, xmm11
addsd xmm5, xmm1
addsd xmm3, xmm0
movss xmm0, dword [r8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm11
addsd xmm4, xmm0
movss xmm0, dword [r8 + 4]
movss xmm1, dword [rdx + 8]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm11
mulsd xmm1, xmm10
addsd xmm5, xmm0
movss xmm0, dword [r8 + 8]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm2
movss xmm2, dword [rdx + 0xc]
mulsd xmm0, xmm11
add rdx, rcx
cvtps2pd xmm2, xmm2
movss xmm6, dword [rdx]
addsd xmm1, xmm0
movss xmm0, dword [r8 + 0xc]
add r8, rcx
movss xmm7, dword [rdx + 0xc]
cvtps2pd xmm0, xmm0
cvtps2pd xmm6, xmm6
mulsd xmm0, xmm11
mulsd xmm2, xmm10
mulsd xmm6, xmm10
cvtps2pd xmm7, xmm7
addsd xmm6, xmm4
movss xmm4, dword [rdx + 4]
cvtps2pd xmm4, xmm4
addsd xmm2, xmm3
mulsd xmm7, xmm10
mulsd xmm4, xmm10
addsd xmm2, xmm0
movss xmm0, dword [r8]
cvtps2pd xmm0, xmm0
addsd xmm4, xmm5
movss xmm5, dword [rdx + 8]
mulsd xmm0, xmm11
addsd xmm7, xmm2
add rdx, rcx
cvtps2pd xmm5, xmm5
addsd xmm6, xmm0
movss xmm0, dword [r8 + 4]
cvtps2pd xmm0, xmm0
mulsd xmm5, xmm10
mulsd xmm0, xmm11
addsd xmm5, xmm1
addsd xmm4, xmm0
movss xmm0, dword [r8 + 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm11
addsd xmm5, xmm0
movss xmm0, dword [r8 + 0xc]
cvtps2pd xmm0, xmm0
add r8, rcx
mulsd xmm0, xmm11
addsd xmm7, xmm0
sub r10, 1
jne 0x1403cfcf0
cmp r9d, r12d
jge 0x1403cfff5
mov eax, r12d
movsxd rcx, r15d
sub eax, r9d
movsxd r9, eax
movss xmm1, dword [rdx]
movss xmm0, dword [r8]
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm10
mulsd xmm0, xmm11
addsd xmm1, xmm6
movaps xmm6, xmm1
movss xmm1, dword [rdx + 4]
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
movss xmm0, dword [r8 + 4]
mulsd xmm1, xmm10
cvtps2pd xmm0, xmm0
addsd xmm1, xmm4
mulsd xmm0, xmm11
movaps xmm4, xmm1
movss xmm1, dword [rdx + 8]
cvtps2pd xmm1, xmm1
addsd xmm4, xmm0
movss xmm0, dword [r8 + 8]
mulsd xmm1, xmm10
cvtps2pd xmm0, xmm0
addsd xmm1, xmm5
mulsd xmm0, xmm11
movaps xmm5, xmm1
movss xmm1, dword [rdx + 0xc]
cvtps2pd xmm1, xmm1
add rdx, rcx
addsd xmm5, xmm0
movss xmm0, dword [r8 + 0xc]
mulsd xmm1, xmm10
add r8, rcx
cvtps2pd xmm0, xmm0
addsd xmm1, xmm7
mulsd xmm0, xmm11
movaps xmm7, xmm1
addsd xmm7, xmm0
sub r9, 1
jne 0x1403cff4f
mov r13d, dword [rsp + 0x30]
xorps xmm0, xmm0
mulsd xmm6, xmm12
inc ebp
mov dword [rsp + 0x20], ebp
mulsd xmm4, xmm12
mulsd xmm5, xmm12
cvtsd2ss xmm0, xmm6
mulsd xmm7, xmm12
movss dword [r11 - 8], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm4
movss dword [r11 - 4], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm5
movss dword [r11], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movss dword [r11 + 4], xmm0
add r11, 0x10
sub qword [rsp + 0x78], 1
mov qword [rsp + 0x80], r11
jne 0x1403cf5a0
mov rcx, qword [rsp + 0x98]
mov eax, dword [rsp + 0x68]
mov rbx, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x1f0]
mov r9d, dword [rsp + 0x6c]
add r11, rcx
inc r9d
mov qword [rsp + 0x88], r11
mov dword [rsp + 0x6c], r9d
cmp r9d, dword [rsp + 0x4c]
jl 0x1403cee63
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0xf0]
xor eax, eax
movaps xmm12, xmmword [rsp + 0x100]
mov r13, qword [rsp + 0x1c8]
jmp 0x1403d0104
mov eax, 0x80070057
jmp 0x1403d0104
mov eax, 0x80004003
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.14039bbb0
add rsp, 0x170
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret