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

Disassembly:
sub esp, 0x68
movss xmm1, dword [0x52a124]
push ebx
push ebp
mov ebp, dword [esp + 0x78]
push esi
push edi
push ecx
movd xmm0, ebp
cvtdq2ps xmm0, xmm0
push ecx
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x78], xmm0
movsd qword [esp], xmm0
call fcn.004d7270
movsd xmm0, qword [esp + 0x78]
fstp dword [esp + 0x54]
movsd qword [esp], xmm0
call fcn.004d72c0
mov ebx, dword [esp + 0x84]
lea esi, [ebp + 1]
mov edi, dword [esp + 0x8c]
and dword [esp + 0x40], 0
pop ecx
lea eax, [ebx - 1]
sar esi, 1
sar eax, 1
pop ecx
mov dword [esp + 0x34], eax
mov ecx, ebx
mov eax, ebx
imul ecx, edi
imul eax, ebp
mov dword [esp + 0x1c], esi
fstp dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
cmp ebx, 1
je 0x44bf6b
mov eax, dword [esp + 0x88]
test eax, eax
jle 0x44b9b8
mov edx, dword [esp + 0x94]
mov esi, eax
mov ecx, dword [esp + 0x9c]
sub edx, ecx
mov eax, dword [edx + ecx]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub esi, 1
jne 0x44b9a7
mov ecx, dword [esp + 0x18]
cmp ebp, 1
jle 0x44ba1e
mov esi, dword [esp + 0x98]
lea eax, [ebp - 1]
mov edx, ecx
mov dword [esp + 0x20], eax
shl edx, 2
mov ebp, eax
mov dword [esp + 0x14], edx
mov eax, ebx
add esi, edx
shl eax, 2
mov dword [esp + 0x10], eax
test edi, edi
jle 0x44ba17
mov edx, dword [esp + 0x90]
mov ecx, esi
sub edx, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [edx + ecx]
mov dword [ecx], eax
add ecx, ebx
sub edi, 1
jne 0x44b9f7
mov ebx, dword [esp + 0x7c]
mov eax, ebx
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x14]
shl eax, 2
sub ebp, 1
jne 0x44b9d6
jmp 0x44ba37
mov eax, ecx
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [ebp - 1]
mov dword [esp + 0x20], eax
mov eax, ebx
shl eax, 2
mov dword [esp + 0x10], eax
mov ecx, ebx
xor ebp, ebp
neg ecx
cmp dword [esp + 0x80], 1
mov dword [esp + 0x28], ecx
jle 0x44bc76
mov eax, dword [esp + 0xa0]
cmp dword [esp + 0x34], edi
jle 0x44bb67
mov edi, dword [esp + 0x98]
sub eax, 4
mov ebp, dword [esp + 0x20]
mov edx, ebx
shl edx, 2
sub edi, edx
mov dword [esp + 0x3c], edx
lea esi, [eax + ecx*4]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x84]
sub ecx, edx
sub ecx, 4
add edi, dword [esp + 0x14]
add esi, edx
add ecx, dword [esp + 0x14]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x2c], esi
test eax, eax
jle 0x44bb55
mov ebp, edi
mov dword [esp + 0x30], eax
mov edi, ecx
add ebp, edx
add edi, edx
cmp ebx, 2
jle 0x44bb35
mov eax, dword [esp + 0x98]
mov edx, edi
sub eax, dword [esp + 0x90]
mov ecx, ebp
mov dword [esp + 0x44], eax
lea eax, [ebx - 3]
mov ebx, dword [esp + 0x44]
shr eax, 1
mov dword [esp + 0x40], ebp
inc eax
movss xmm1, dword [edx + 0xc]
add edx, 8
add esi, 8
add ecx, 8
movss xmm0, dword [edx]
mulss xmm1, dword [esi]
mulss xmm0, dword [esi - 4]
addss xmm1, xmm0
movss dword [ebx + edx], xmm1
movss xmm1, dword [esi - 4]
movss xmm0, dword [edx]
mulss xmm1, dword [edx + 4]
mulss xmm0, dword [esi]
subss xmm1, xmm0
movss dword [ecx], xmm1
sub eax, 1
jne 0x44bae2
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
sub eax, 1
mov dword [esp + 0x30], eax
jne 0x44bab5
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x20]
sub ebp, 1
mov dword [esp + 0x20], ebp
jne 0x44ba8f
jmp 0x44bc71
lea eax, [eax + ecx*4]
mov esi, ebx
add eax, 0xfffffffc
lea edx, [ecx - 1]
shl esi, 2
add ebp, dword [esp + 0x18]
add ecx, ebx
mov edi, dword [esp + 0x20]
add edx, ebx
add eax, esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebp
cmp ebx, 2
jle 0x44bc64
mov esi, dword [esp + 0x98]
mov edi, eax
mov eax, edx
sub eax, ecx
mov ecx, dword [esp + 0x90]
add eax, ebp
lea ebp, [esi + 4]
lea ebp, [ebp + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x54], eax
lea eax, [ebx - 3]
mov ebx, dword [esp + 0x54]
shr eax, 1
inc eax
add ebp, 8
lea edi, [edi + 8]
add ebx, 8
test ecx, ecx
jle 0x44bc43
sub esi, dword [esp + 0x90]
mov edx, ebx
mov dword [esp + 0x30], ecx
mov ecx, ebp
mov dword [esp + 0x54], ebp
movss xmm1, dword [edx + 4]
movss xmm0, dword [edx]
mulss xmm1, dword [edi]
mulss xmm0, dword [edi - 4]
addss xmm1, xmm0
movss dword [esi + edx], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [edi]
mulss xmm0, dword [edx]
add edx, dword [esp + 0x10]
mulss xmm1, dword [edi - 4]
subss xmm1, xmm0
movss dword [ecx], xmm1
add ecx, dword [esp + 0x10]
sub dword [esp + 0x30], 1
jne 0x44bbf1
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x98]
sub eax, 1
jne 0x44bbd1
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
sub edi, 1
mov dword [esp + 0x20], edi
jne 0x44bb75
mov eax, ebx
shl eax, 2
mov edx, dword [esp + 0x18]
xor ebp, ebp
imul edx, dword [esp + 0x80]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
cmp esi, 1
jle 0x44bf64
cmp dword [esp + 0x34], edi
jge 0x44be28
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
sub edi, eax
sub ecx, eax
lea eax, [esi - 1]
mov esi, dword [esp + 0x14]
sub ecx, 4
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x18]
add edi, esi
add dword [esp + 0x28], ebx
add ebp, ebx
sub edx, ebx
mov dword [esp + 0x70], ebp
mov ebx, dword [esp + 0x7c]
add ecx, esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x2c], ebp
cmp ebx, 2
jle 0x44be0f
sub edx, ebp
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x28]
lea esi, [ebx - 3]
mov ebx, dword [esp + 0x84]
mov eax, ecx
mov ecx, dword [esp + 0x20]
mov ebp, edx
shr esi, 1
mov dword [esp + 0x40], edx
inc esi
mov edx, dword [esp + 0x2c]
add edx, 2
lea edi, [edi + 2]
add ecx, 8
mov dword [esp + 0x2c], edx
add eax, 8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x3c], eax
test ebx, ebx
jle 0x44bdea
lea eax, [edi + ebp]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x98]
lea edx, [eax*4]
mov ebp, dword [esp + 0x90]
lea eax, [eax - 1]
add edx, ebp
sub ebp, ecx
mov dword [esp + 0x60], edx
mov edx, ebp
mov ebp, dword [esp + 0x5c]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x10]
add ebx, dword [esp + 0x10]
add ebp, dword [esp + 0x10]
add ecx, dword [esp + 0x10]
sub dword [esp + 0x30], 1
movss xmm0, dword [eax]
addss xmm0, dword [ebx]
movss dword [eax + edx], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, dword [ebx + 4]
movss dword [ebx + edx], xmm0
movss xmm0, dword [ebx + 4]
addss xmm0, dword [eax + 4]
movss dword [ebp], xmm0
movss xmm0, dword [ebx]
subss xmm0, dword [eax]
movss dword [ecx], xmm0
jne 0x44bd85
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x84]
sub esi, 1
jne 0x44bd1a
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
sub eax, 1
mov dword [esp + 0x44], eax
jne 0x44bcc2
mov edi, dword [esp + 0x84]
jmp 0x44bf64
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x98]
lea eax, [ecx + edx*4]
dec edx
lea ebp, [esi - 4]
lea edx, [esi + edx*4]
mov esi, dword [esp + 0x1c]
dec esi
mov dword [esp + 0x2c], esi
add ecx, dword [esp + 0x14]
add ebp, dword [esp + 0x14]
sub eax, dword [esp + 0x14]
sub edx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], edx
test edi, edi
jle 0x44bf57
mov edi, ecx
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x84]
mov esi, ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
shl esi, 2
cmp ebx, 2
jle 0x44bf1b
mov esi, dword [esp + 0x90]
mov ecx, ebp
sub esi, dword [esp + 0x98]
mov dword [esp + 0x6c], eax
lea eax, [ebx - 3]
shr eax, 1
mov ebx, edi
mov dword [esp + 0x70], edi
inc eax
mov edi, dword [esp + 0x6c]
add edx, 8
add ecx, 8
add ebx, 8
add edi, 8
movss xmm0, dword [edx]
addss xmm0, dword [ecx]
movss dword [esi + ecx], xmm0
movss xmm0, dword [ecx + 4]
subss xmm0, dword [edx + 4]
movss dword [esi + edx], xmm0
movss xmm0, dword [ecx + 4]
addss xmm0, dword [edx + 4]
movss dword [ebx], xmm0
movss xmm0, dword [edx]
subss xmm0, dword [ecx]
movss dword [edi], xmm0
sub eax, 1
jne 0x44bebc
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
add edi, esi
add eax, esi
add edx, esi
mov dword [esp + 0x44], edi
add ebp, esi
mov dword [esp + 0x40], eax
sub ecx, 1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], ecx
jne 0x44be8f
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x84]
sub esi, 1
mov dword [esp + 0x2c], esi
jne 0x44be49
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x88]
test eax, eax
jle 0x44bf9c
mov edx, dword [esp + 0x9c]
mov esi, eax
mov ecx, dword [esp + 0x94]
sub edx, ecx
mov eax, dword [edx + ecx]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub esi, 1
jne 0x44bf88
mov eax, dword [esp + 0x88]
and dword [esp + 0x70], 0
imul ebp, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], ebp
cmp eax, 1
jle 0x44c074
mov esi, dword [esp + 0x98]
mov eax, ebx
mov ecx, dword [esp + 0x18]
mov edx, ebx
mov ebx, dword [esp + 0x70]
neg edx
shl eax, 2
mov dword [esp + 0x14], eax
sub esi, eax
mov eax, dword [esp + 0x1c]
shl ecx, 2
dec eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], eax
add ebx, dword [esp + 0x18]
add esi, ecx
add edx, dword [esp + 0x18]
sub ebp, dword [esp + 0x18]
mov dword [esp + 0x70], esi
test edi, edi
jle 0x44c05d
mov edi, dword [esp + 0x90]
mov eax, edx
sub eax, ebx
mov ecx, esi
mov esi, dword [esp + 0x98]
add eax, ebp
sub edi, esi
lea eax, [esi + eax*4]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x44], esi
mov esi, ecx
add eax, dword [esp + 0x14]
add ecx, dword [esp + 0x14]
sub dword [esp + 0x44], 1
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [edi + ecx], xmm0
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [edi + eax], xmm0
jne 0x44c025
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x84]
sub eax, 1
mov dword [esp + 0x40], eax
jne 0x44bfe7
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
jmp 0x44c082
dec eax
mov ecx, ebx
shl ecx, 2
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x80]
xorps xmm4, xmm4
mov ecx, dword [esp + 0x88]
dec edx
movss xmm6, dword [0x4fa418]
imul edx, ecx
cmp dword [esp + 0x1c], 1
mov dword [esp + 0x6c], edx
jle 0x44c2ea
mov ebx, dword [esp + 0x9c]
mov esi, ecx
mov dword [esp + 0x28], eax
mov edi, ebx
shl esi, 2
mov dword [esp + 0x44], esi
lea ebp, [ebx + ebp*4]
mov ebx, eax
mov eax, dword [esp + 0x80]
lea eax, [eax*4 - 4]
imul eax, ecx
movaps xmm2, xmm6
mov dword [esp + 0x2c], eax
mulss xmm2, dword [esp + 0x4c]
movaps xmm0, xmm4
add edi, esi
sub ebp, esi
mulss xmm0, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp + 0x20], edi
mulss xmm6, dword [esp + 0x48]
mov dword [esp + 0x30], ebp
subss xmm2, xmm0
mulss xmm4, dword [esp + 0x4c]
addss xmm4, xmm6
movaps xmm6, xmm2
cmp dword [esp + 0x88], ecx
jle 0x44c190
mov ebx, dword [esp + 0x94]
mov esi, ebp
mov ebp, dword [esp + 0x88]
mov eax, edx
mov edx, dword [esp + 0x94]
shl eax, 2
mov dword [esp + 0x2c], eax
add edx, eax
mov eax, dword [esp + 0x94]
lea ebp, [ebx + ebp*4]
mov ebx, dword [esp + 0x28]
movaps xmm0, xmm2
mulss xmm0, dword [ebp]
add ebp, 4
addss xmm0, dword [eax + ecx*4]
movss dword [edi], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [edx]
add edi, 4
add edx, 4
movss dword [esi], xmm0
add esi, 4
inc ecx
cmp ecx, dword [esp + 0x88]
jl 0x44c14e
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x94]
mov ecx, esi
add ecx, edx
movaps xmm5, xmm2
mov dword [esp + 0x70], ecx
movaps xmm3, xmm4
mov ecx, dword [esp + 0x1c]
cmp ecx, 2
jle 0x44c263
lea ebx, [eax + edx]
add ecx, 0xfffffffe
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x40], ecx
movaps xmm1, xmm5
movaps xmm0, xmm3
mulss xmm1, xmm2
add eax, esi
sub ebx, esi
mulss xmm0, xmm4
mulss xmm5, xmm4
mulss xmm3, xmm2
subss xmm1, xmm0
addss xmm3, xmm5
movaps xmm5, xmm1
test edx, edx
jle 0x44c23d
mov ecx, ebp
mov edx, edi
mov ebp, dword [esp + 0x88]
mov esi, ebx
mov edi, eax
movaps xmm0, xmm1
mulss xmm0, dword [edi]
add edi, 4
addss xmm0, dword [edx]
movss dword [edx], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [esi]
add edx, 4
add esi, 4
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
add ecx, 4
sub ebp, 1
jne 0x44c1ff
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
sub ecx, 1
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
jne 0x44c1c7
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x88]
jmp 0x44c27b
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
lea eax, [eax*4 - 4]
imul eax, ecx
mov edx, dword [esp + 0x6c]
sub ebx, 1
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
jne 0x44c0da
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x94]
add edi, esi
xor eax, eax
mov dword [esp + 0x94], edi
test ecx, ecx
jle 0x44c2e5
mov ebp, dword [esp + 0x88]
mov ecx, edi
mov edi, dword [esp + 0x9c]
movss xmm0, dword [ecx]
add ecx, 4
addss xmm0, dword [edi + eax*4]
movss dword [edi + eax*4], xmm0
inc eax
cmp eax, ebp
jl 0x44c2c2
mov ebx, dword [esp + 0x7c]
mov ecx, ebp
mov edi, dword [esp + 0x94]
sub edx, 1
jne 0x44c2a3
mov ecx, dword [esp + 0x84]
cmp ebx, ecx
jge 0x44c37c
test ebx, ebx
jle 0x44c3e4
mov edx, dword [esp + 0x8c]
mov eax, ebx
mov ecx, dword [esp + 0x98]
sub edx, ecx
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], eax
test ebp, ebp
jle 0x44c36b
mov eax, dword [esp + 0x24]
lea esi, [edx + ecx]
shl eax, 2
mov edi, ecx
mov dword [esp + 0x70], eax
mov eax, ebx
mov ebx, dword [esp + 0x70]
shl eax, 2
mov dword [esp + 0x6c], eax
mov edx, eax
mov eax, dword [edi]
add edi, edx
mov dword [esi], eax
add esi, ebx
sub ebp, 1
jne 0x44c348
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
add ecx, 4
sub eax, 1
mov dword [esp + 0x88], eax
jne 0x44c325
jmp 0x44c3e4
test ecx, ecx
jle 0x44c3e4
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x8c]
shl eax, 2
mov dword [esp + 0x88], eax
mov eax, ecx
mov edx, dword [esp + 0x88]
mov ecx, ebx
mov dword [esp + 0x4c], eax
shl ecx, 2
test ebx, ebx
jle 0x44c3d7
mov ecx, edi
mov edx, esi
mov ebp, ebx
mov eax, dword [edx]
lea edx, [edx + 4]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub ebp, 1
jne 0x44c3b8
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov edx, dword [esp + 0x88]
shl ecx, 2
add esi, ecx
add edi, edx
sub eax, 1
mov dword [esp + 0x4c], eax
jne 0x44c3ae
mov ebp, dword [esp + 0x8c]
mov eax, dword [esp + 0x18]
lea edx, [ebx + ebx]
mov edi, dword [esp + 0x1c]
mov ecx, eax
imul ecx, dword [esp + 0x80]
mov esi, eax
shl esi, 2
mov dword [esp + 0x5c], edx
mov dword [esp + 0x88], esi
mov dword [esp + 0x60], ecx
cmp edi, 1
jle 0x44c4cb
mov ebx, edx
mov edx, dword [esp + 0x98]
shl ebx, 2
mov edi, edx
mov dword [esp + 0x64], ebx
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x4c], edx
add ebp, ebx
add edi, esi
sub eax, esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x80], edi
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x44c4b3
mov edx, dword [esp + 0x24]
mov edi, ebp
mov ebp, dword [esp + 0x14]
mov esi, ecx
shl edx, 2
mov ebx, eax
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x70]
mov eax, dword [edx]
add edx, ebp
mov dword [edi - 4], eax
mov eax, dword [ebx]
add ebx, ebp
mov dword [edi], eax
add edi, ecx
sub esi, 1
jne 0x44c47a
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x68]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x84]
sub edx, 1
mov dword [esp + 0x4c], edx
jne 0x44c441
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x1c]
lea edx, [ebx + ebx]
cmp ebx, 1
je 0x44c7ac
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x84]
jge 0x44c666
cmp edi, 1
jle 0x44c7ac
mov esi, dword [esp + 0x98]
add ecx, 2
push 0xfffffffffffffffe
pop eax
push 4
lea ebp, [esi + ecx*4]
lea ecx, [esi + 8]
mov esi, dword [esp + 0x90]
add esi, 0xfffffff8
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x8c]
pop edi
add dword [esp + 0x38], edx
mov ebx, edx
shl ebx, 2
add eax, edx
add dword [esp + 0x80], ebx
sub edi, edx
mov ebx, dword [esp + 0x7c]
add ecx, esi
sub ebp, esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ebp
cmp ebx, 2
jle 0x44c656
mov esi, dword [esp + 0x80]
mov edx, ecx
lea ecx, [ebx - 3]
mov dword [esp + 0x30], edi
mov ebx, dword [esp + 0x84]
shr ecx, 1
mov dword [esp + 0x34], eax
inc ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x44], esi
test ebx, ebx
jle 0x44c617
mov eax, dword [esp + 0x24]
mov edi, edx
shl eax, 2
mov ebx, ebp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x38]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x8c]
lea esi, [esi + eax*4]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x70]
movss xmm0, dword [ebx - 4]
addss xmm0, dword [edi - 4]
movss dword [esi - 4], xmm0
movss xmm0, dword [edi - 4]
subss xmm0, dword [ebx - 4]
movss dword [eax - 4], xmm0
movss xmm0, dword [ebx]
addss xmm0, dword [edi]
movss dword [esi], xmm0
movss xmm0, dword [ebx]
subss xmm0, dword [edi]
add esi, dword [esp + 0x4c]
add ebx, dword [esp + 0x14]
add edi, dword [esp + 0x14]
movss dword [eax], xmm0
add eax, dword [esp + 0x4c]
sub dword [esp + 0x48], 1
jne 0x44c5b7
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x84]
sub eax, 2
sub esi, 8
add edi, 4
mov dword [esp + 0x34], eax
add edx, 8
mov dword [esp + 0x44], esi
add ebp, 8
mov dword [esp + 0x30], edi
sub ecx, 1
jne 0x44c577
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
sub dword [esp + 0x10], 1
jne 0x44c51c
jmp 0x44c7ac
cmp edi, 1
jle 0x44c7ac
mov eax, dword [esp + 0x98]
mov edi, edx
mov edx, dword [esp + 0x8c]
add eax, 8
shl edi, 2
mov dword [esp + 0x58], edi
lea ebp, [eax + ecx*4]
mov ecx, dword [esp + 0x98]
lea eax, [edx + 8]
add ecx, 8
add edx, 0xfffffff8
add edx, edi
add eax, edi
add ecx, esi
mov dword [esp + 0x5c], edx
sub ebp, esi
mov dword [esp + 0x64], eax
cmp dword [esp + 0x84], 0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], ebp
jle 0x44c7a1
mov edi, dword [esp + 0x24]
mov esi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x70], edx
mov edx, ebp
mov ebp, dword [esp + 0x70]
shl edi, 2
mov dword [esp + 0x6c], edi
mov dword [esp + 0x80], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
cmp ebx, 2
jle 0x44c762
mov edi, eax
mov ecx, esi
mov eax, dword [esp + 0x7c]
mov ebx, ebp
add eax, 0xfffffffd
shr eax, 1
inc eax
movss xmm0, dword [ecx - 4]
addss xmm0, dword [edx - 4]
movss dword [edi - 4], xmm0
movss xmm0, dword [ecx - 4]
subss xmm0, dword [edx - 4]
movss dword [ebx - 4], xmm0
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [edi], xmm0
add edi, 8
movss xmm0, dword [edx]
add edx, 8
subss xmm0, dword [ecx]
add ecx, 8
movss dword [ebx], xmm0
sub ebx, 8
sub eax, 1
jne 0x44c704
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x48]
add edx, dword [esp + 0x14]
add eax, edi
add esi, dword [esp + 0x14]
add ebp, edi
sub ecx, 1
mov dword [esp + 0x80], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ecx
jne 0x44c6ef
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
sub dword [esp + 0x10], 1
jne 0x44c69c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret