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

Disassembly:
sub esp, 0x50
movd xmm0, dword [esp + 0x58]
movss xmm1, dword [0x102a0508]
cvtdq2ps xmm0, xmm0
push ebx
mov ebx, dword [esp + 0x58]
push ebp
push esi
push edi
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x54], xmm0
call fcn.10096b80
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm0
movsd xmm0, qword [esp + 0x54]
call fcn.10096d40
mov ecx, dword [esp + 0x68]
mov edi, ebx
imul edi, dword [esp + 0x6c]
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
lea eax, [ecx + 1]
sar eax, 1
mov dword [esp + 0x10], eax
lea eax, [ebx - 1]
sar eax, 1
mov dword [esp + 0x28], eax
mov eax, ebx
imul eax, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
cmp ebx, 1
je 0x1007636e
mov edx, dword [esp + 0x7c]
xor ebp, ebp
mov ecx, dword [esp + 0x84]
mov esi, edx
mov eax, dword [esp + 0x70]
sub esi, ecx
cmp eax, 4
jl 0x10075fe3
lea edi, [eax - 4]
add edx, 0xc
shr edi, 2
add ecx, 4
inc edi
lea ebp, [edi*4]
nop dword [eax + eax]
mov eax, dword [edx - 0xc]
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x14], eax
lea edx, [edx + 0x10]
mov eax, dword [esi + ecx - 0x10]
mov dword [ecx - 0x10], eax
mov eax, dword [edx - 0x14]
mov dword [ecx - 0xc], eax
mov eax, dword [edx - 0x10]
mov dword [ecx - 8], eax
sub edi, 1
jne 0x10075fb0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
cmp ebp, eax
jge 0x10075ffe
mov edx, eax
lea ecx, [ecx + ebp*4]
sub edx, ebp
nop
mov eax, dword [ecx + esi]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
sub edx, 1
jne 0x10075ff0
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp ecx, 1
jle 0x100760c9
lea edx, [ecx - 1]
mov dword [esp + 0x1c], edx
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x80]
add eax, edi
mov dword [esp + 0x38], eax
mov ecx, eax
mov eax, dword [esp + 0x6c]
xor ebp, ebp
cmp eax, 4
jl 0x1007607d
mov edi, dword [esp + 0x78]
lea edx, [eax - 4]
shr edx, 2
inc edx
lea ebp, [edx*4]
nop dword [eax]
mov eax, dword [edi + ecx*4]
mov dword [esi + ecx*4], eax
add ecx, ebx
mov eax, dword [edi + ecx*4]
mov dword [esi + ecx*4], eax
add ecx, ebx
mov eax, dword [edi + ecx*4]
mov dword [esi + ecx*4], eax
add ecx, ebx
mov eax, dword [edi + ecx*4]
mov dword [esi + ecx*4], eax
add ecx, ebx
sub edx, 1
jne 0x10076050
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
cmp ebp, eax
jge 0x100760b0
lea ecx, [esi + ecx*4]
mov edx, eax
mov esi, dword [esp + 0x78]
lea edi, [ebx*4]
sub esi, dword [esp + 0x80]
sub edx, ebp
nop word [eax + eax]
mov eax, dword [esi + ecx]
mov dword [ecx], eax
add ecx, edi
sub edx, 1
jne 0x100760a0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
sub edx, 1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
jne 0x10076020
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov edi, ebx
neg edi
xor ebp, ebp
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x28], eax
jle 0x10076ad8
cmp ecx, 1
jle 0x1007620e
mov eax, dword [esp + 0x14]
lea esi, [ebx*4]
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x68]
sub edx, esi
lea ecx, [eax*4]
mov eax, dword [esp + 0x88]
sub eax, 4
mov dword [esp + 0x1c], ecx
lea edi, [eax + edi*4]
mov eax, dword [esp + 0x78]
sub eax, esi
sub eax, 4
dec ebp
mov dword [esp + 0x20], ebp
mov ebx, dword [esp + 0x64]
add edx, ecx
add eax, ecx
mov dword [esp + 0x2c], edx
add edi, esi
mov dword [esp + 0x30], eax
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x34], edi
jle 0x100761fd
mov ebp, edx
lea ecx, [ebx*4]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
nop word [eax + eax]
add eax, ecx
add ebp, ecx
mov dword [esp + 0x38], eax
cmp ebx, 2
jle 0x100761d9
mov ecx, edi
lea edx, [ebx - 3]
mov edi, dword [esp + 0x80]
mov esi, ebp
sub edi, dword [esp + 0x78]
shr edx, 1
inc edx
movss xmm1, dword [eax + 8]
add eax, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
add esi, 8
movss xmm0, dword [eax + 4]
mulss xmm0, dword [ecx]
addss xmm1, xmm0
movss dword [edi + eax], xmm1
movss xmm1, dword [ecx - 4]
movss xmm0, dword [eax]
mulss xmm1, dword [eax + 4]
mulss xmm0, dword [ecx]
subss xmm1, xmm0
movss dword [esi], xmm1
sub edx, 1
jne 0x10076182
mov eax, dword [esp + 0x38]
lea ecx, [ebx*4]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
sub edx, 1
mov dword [esp + 0x24], edx
jne 0x10076160
mov eax, dword [esp + 0x30]
lea esi, [ebx*4]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
sub ebp, 1
mov dword [esp + 0x20], ebp
jne 0x10076128
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov edi, edx
imul edi, ecx
cmp dword [esp + 0x10], 1
jle 0x1007636e
mov ecx, dword [esp + 0x78]
lea eax, [edx*4]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x54], eax
lea ebp, [ecx + edi*4]
dec edi
lea esi, [edx + edi*4]
mov edi, dword [esp + 0x10]
add edx, 0xfffffffc
dec edi
mov dword [esp + 0x24], edi
nop dword [eax + eax]
mov ebx, dword [esp + 0x64]
add ecx, eax
add edx, eax
mov dword [esp + 0x4c], ecx
sub ebp, eax
mov dword [esp + 0x44], edx
sub esi, eax
mov dword [esp + 0x50], ebp
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x48], esi
jle 0x10076361
mov edi, dword [esp + 0x6c]
lea eax, [ebx*4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], edi
cmp ebx, 2
jle 0x10076324
mov eax, edx
mov edi, ebp
mov ebp, dword [esp + 0x78]
lea edx, [ebx - 3]
sub ebp, dword [esp + 0x80]
mov esi, ecx
mov ecx, dword [esp + 0x1c]
shr edx, 1
inc edx
nop word [eax + eax]
movss xmm0, dword [ecx + 8]
add ecx, 8
addss xmm0, dword [eax + 8]
add eax, 8
add esi, 8
add edi, 8
movss dword [eax + ebp], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, dword [ecx + 4]
movss dword [ecx + ebp], xmm0
movss xmm0, dword [ecx + 4]
addss xmm0, dword [eax + 4]
movss dword [esi], xmm0
movss xmm0, dword [ecx]
subss xmm0, dword [eax]
movss dword [edi], xmm0
sub edx, 1
jne 0x100762c0
mov ecx, dword [esp + 0x38]
lea eax, [ebx*4]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
add ecx, eax
add edx, eax
add ebp, eax
mov dword [esp + 0x38], ecx
add esi, eax
mov dword [esp + 0x34], edx
sub edi, 1
mov dword [esp + 0x30], ebp
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], edi
jne 0x10076296
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x24]
sub edi, 1
mov dword [esp + 0x24], edi
jne 0x10076250
mov eax, dword [esp + 0x70]
xor ebp, ebp
cmp eax, 4
jl 0x100763c8
mov esi, dword [esp + 0x84]
mov edi, esi
mov ebp, dword [esp + 0x7c]
sub edi, ebp
lea edx, [esi + 0xc]
lea esi, [eax - 4]
shr esi, 2
lea ecx, [ebp + 4]
inc esi
lea ebp, [esi*4]
nop dword [eax]
mov eax, dword [edx - 0xc]
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x14], eax
lea edx, [edx + 0x10]
mov eax, dword [edi + ecx - 0x10]
mov dword [ecx - 0x10], eax
mov eax, dword [edx - 0x14]
mov dword [ecx - 0xc], eax
mov eax, dword [edx - 0x10]
mov dword [ecx - 8], eax
sub esi, 1
jne 0x100763a0
mov eax, dword [esp + 0x70]
cmp ebp, eax
jge 0x100763ee
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x84]
sub esi, edx
lea ecx, [edx + ebp*4]
mov edx, eax
sub edx, ebp
mov eax, dword [esi + ecx]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
sub edx, 1
jne 0x100763e0
mov eax, dword [esp + 0x68]
xor edx, edx
imul eax, dword [esp + 0x70]
cmp dword [esp + 0x10], 1
mov dword [esp + 0x44], eax
mov edi, eax
jle 0x1007675d
mov eax, dword [esp + 0x14]
mov ebp, ebx
mov ecx, dword [esp + 0x80]
neg ebp
lea esi, [eax*4]
lea eax, [ebx*4]
mov dword [esp + 0x48], esi
sub ecx, eax
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x14]
add ecx, esi
add edx, ebx
mov dword [esp + 0x54], ecx
sub edi, ebx
mov dword [esp + 0x50], edx
add ebp, ebx
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x6c], 0
mov ebx, dword [esp + 0x64]
jle 0x100764b9
mov eax, ebp
lea esi, [ebx*4]
sub eax, edx
mov edx, dword [esp + 0x78]
add eax, edi
mov edi, dword [esp + 0x80]
sub edx, edi
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x6c]
nop word [eax + eax]
movss xmm0, dword [eax + esi]
add eax, esi
addss xmm0, dword [ecx + esi]
add ecx, esi
movss dword [edx + ecx], xmm0
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [edx + eax], xmm0
sub edi, 1
jne 0x10076480
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
sub eax, 1
mov dword [esp + 0x38], eax
jne 0x10076436
mov eax, dword [esp + 0x70]
xorps xmm4, xmm4
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
dec edi
movss xmm6, dword [0x1028a2d8]
mov esi, ecx
imul edi, eax
lea ebp, [eax*4]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], ebp
lea edx, [ecx + eax*4]
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x10]
dec ecx
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
movaps xmm3, xmm6
movaps xmm0, xmm4
mulss xmm3, dword [esp + 0x5c]
add esi, ebp
sub edx, ebp
xor eax, eax
mulss xmm4, dword [esp + 0x5c]
mov dword [esp + 0x20], esi
mulss xmm0, xmm7
mov dword [esp + 0x24], edx
mulss xmm6, xmm7
subss xmm3, xmm0
addss xmm4, xmm6
movaps xmm6, xmm3
cmp dword [esp + 0x70], eax
jle 0x100765a3
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x7c]
mov ebp, ebx
lea ecx, [ecx + edi*4]
mov edi, dword [esp + 0x70]
lea edi, [ebx + edi*4]
nop dword [eax]
movaps xmm0, xmm3
mulss xmm0, dword [edi]
add edi, 4
addss xmm0, dword [ebp + eax*4]
inc eax
movss dword [esi], xmm0
movaps xmm0, xmm4
mulss xmm0, dword [ecx]
add esi, 4
add ecx, 4
movss dword [edx], xmm0
add edx, 4
cmp eax, dword [esp + 0x70]
jl 0x10076560
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
cmp dword [esp + 0x10], 2
movaps xmm5, xmm3
movaps xmm1, xmm4
jle 0x10076665
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
lea ecx, [eax*4]
lea ebp, [ebx + eax*4]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x10]
lea ebx, [ebx + edi*4]
mov edi, dword [esp + 0x70]
add eax, 0xfffffffe
mov dword [esp + 0x38], eax
nop dword [eax]
movaps xmm2, xmm5
movaps xmm0, xmm1
mulss xmm2, xmm3
add ebp, ecx
sub ebx, ecx
mulss xmm0, xmm4
mulss xmm5, xmm4
mulss xmm1, xmm3
subss xmm2, xmm0
addss xmm1, xmm5
movaps xmm5, xmm2
test edi, edi
jle 0x1007664c
mov eax, edx
mov ecx, esi
mov edx, ebx
mov esi, ebp
movaps xmm0, xmm2
mulss xmm0, dword [esi]
add esi, 4
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [edx]
add ecx, 4
add edx, 4
addss xmm0, dword [eax]
movss dword [eax], xmm0
add eax, 4
sub edi, 1
jne 0x10076611
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
sub eax, 1
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
jne 0x100765e0
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
sub ecx, 1
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
jne 0x10076510
mov esi, dword [esp + 0x70]
xor edi, edi
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x10]
add ebx, 8
dec edx
lea eax, [esi*4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x5c], eax
nop
add edi, esi
add ebx, eax
xor ecx, ecx
mov ebp, edi
cmp esi, 4
jl 0x1007671c
mov eax, dword [esp + 0x84]
add esi, 0xfffffffc
shr esi, 2
add eax, 8
inc esi
mov edx, ebx
lea ecx, [esi*4]
lea ebp, [ecx + edi]
nop word [eax + eax]
movss xmm0, dword [edx - 8]
addss xmm0, dword [eax - 8]
movss dword [eax - 8], xmm0
movss xmm0, dword [edx - 4]
addss xmm0, dword [eax - 4]
movss dword [eax - 4], xmm0
movss xmm0, dword [edx]
addss xmm0, dword [eax]
movss dword [eax], xmm0
movss xmm0, dword [edx + 4]
add edx, 0x10
addss xmm0, dword [eax + 4]
movss dword [eax + 4], xmm0
add eax, 0x10
sub esi, 1
jne 0x100766d0
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x70]
cmp ecx, esi
jge 0x10076748
mov eax, dword [esp + 0x7c]
lea eax, [eax + ebp*4]
mov ebp, dword [esp + 0x84]
nop
movss xmm0, dword [eax]
add eax, 4
addss xmm0, dword [ebp + ecx*4]
movss dword [ebp + ecx*4], xmm0
inc ecx
cmp ecx, esi
jl 0x10076730
mov eax, dword [esp + 0x5c]
sub edx, 1
mov dword [esp + 0x38], edx
jne 0x100766a0
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
cmp ebx, esi
jge 0x10076da2
xor ebp, ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x1007684a
nop word [eax + eax]
mov edi, dword [esp + 0x74]
xor eax, eax
mov dword [esp + 0x70], eax
mov ecx, ebp
mov edx, ebp
cmp esi, 4
jl 0x100767f5
mov ebp, dword [esp + 0x80]
add esi, 0xfffffffc
shr esi, 2
inc esi
lea eax, [esi*4]
mov dword [esp + 0x70], eax
nop dword [eax]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [edi + edx*4], eax
add edx, dword [esp + 0x18]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [edi + edx*4], eax
add edx, dword [esp + 0x18]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [edi + edx*4], eax
add edx, dword [esp + 0x18]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [edi + edx*4], eax
add edx, dword [esp + 0x18]
sub esi, 1
jne 0x100767b0
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp eax, esi
jge 0x1007683d
mov eax, dword [esp + 0x18]
lea edx, [edi + edx*4]
shl eax, 2
sub esi, dword [esp + 0x70]
mov dword [esp + 0x5c], eax
lea eax, [ebx*4]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
add ecx, ebx
mov dword [edx], eax
add edx, edi
sub esi, 1
jne 0x10076828
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
inc ebp
mov dword [esp + 0x38], ebp
cmp ebp, ebx
jl 0x10076780
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x14]
lea edx, [ebx + ebx]
mov edi, dword [esp + 0x10]
mov ecx, ebp
imul ecx, dword [esp + 0x68]
mov dword [esp + 0x70], edx
mov dword [esp + 0x44], ecx
cmp edi, 1
jle 0x1007691d
shl edx, 2
lea eax, [ebp*4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x68], edx
dec ebp
mov edx, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebp
lea edi, [edx + ecx*4]
mov ecx, esi
mov esi, dword [esp + 0x68]
nop dword [eax]
mov ebx, dword [esp + 0x64]
add ecx, esi
add edx, eax
mov dword [esp + 0x4c], ecx
sub edi, eax
mov dword [esp + 0x50], edx
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x54], edi
jle 0x10076901
mov eax, dword [esp + 0x18]
lea ebp, [ebx*4]
mov esi, dword [esp + 0x6c]
shl eax, 2
mov ebx, eax
mov eax, dword [edx]
add edx, ebp
mov dword [ecx - 4], eax
mov eax, dword [edi]
add edi, ebp
mov dword [ecx], eax
add ecx, ebx
sub esi, 1
jne 0x100768d1
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x68]
sub ebp, 1
mov dword [esp + 0x38], ebp
jne 0x100768a0
mov esi, dword [esp + 0x74]
lea edx, [ebx + ebx]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp ebx, 1
je 0x10076fe1
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jge 0x10076ea5
xor eax, eax
cmp edi, 1
jle 0x10076fe1
mov ebx, dword [esp + 0x10]
lea edi, [eax - 2]
shl edx, 2
add ecx, 2
mov dword [esp + 0x5c], edx
add esi, 0xfffffff8
mov edx, dword [esp + 0x80]
shl ebp, 2
mov dword [esp + 0x38], ebp
lea ebp, [edx + ecx*4]
add edx, 8
dec ebx
lea ecx, [eax + 4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x64]
add edi, dword [esp + 0x70]
add esi, dword [esp + 0x5c]
sub ecx, dword [esp + 0x70]
add eax, dword [esp + 0x70]
add edx, dword [esp + 0x38]
sub ebp, dword [esp + 0x38]
mov dword [esp + 0x50], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], ebp
cmp ebx, 2
jle 0x10076ac5
lea eax, [ebx - 3]
mov dword [esp + 0x1c], ecx
shr eax, 1
mov esi, edi
mov edi, dword [esp + 0x14]
inc eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], eax
cmp dword [esp + 0x6c], 0
mov edx, dword [esp + 0x24]
jle 0x10076a7d
mov eax, dword [esp + 0x18]
lea ebp, [ebx*4]
mov ebx, dword [esp + 0x74]
mov ecx, edx
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
lea edi, [eax*4]
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x68]
add eax, dword [esp + 0x2c]
lea eax, [ebx + eax*4]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x64]
nop word [eax + eax]
movss xmm0, dword [edx - 4]
addss xmm0, dword [ecx - 4]
movss dword [eax - 4], xmm0
movss xmm0, dword [ecx - 4]
subss xmm0, dword [edx - 4]
movss dword [esi - 4], xmm0
movss xmm0, dword [edx]
addss xmm0, dword [ecx]
movss dword [eax], xmm0
add eax, edi
movss xmm0, dword [edx]
add edx, ebp
subss xmm0, dword [ecx]
add ecx, ebp
movss dword [esi], xmm0
add esi, edi
sub dword [esp + 0x34], 1
jne 0x10076a20
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
sub esi, 2
sub edi, 8
add edx, 8
mov dword [esp + 0x68], esi
add ebp, 8
mov dword [esp + 0x28], edi
add ecx, 4
mov dword [esp + 0x24], edx
sub eax, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], eax
jne 0x100769d0
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
sub dword [esp + 0x10], 1
jne 0x10076973
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
cmp ecx, 1
jle 0x10076c16
mov eax, dword [esp + 0x88]
lea edx, [edi - 1]
lea esi, [ebx*4]
lea eax, [eax + edi*4]
add eax, 0xfffffffc
dec ecx
mov dword [esp + 0x20], ecx
nop dword [eax]
add ebp, dword [esp + 0x14]
add edi, ebx
add edx, ebx
mov dword [esp + 0x1c], edi
add eax, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ebp
cmp ebx, 2
jle 0x10076bfd
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov eax, edx
sub eax, edi
mov edi, dword [esp + 0x80]
add eax, ebp
mov ebp, dword [esp + 0x78]
shl eax, 2
add ebp, eax
lea edx, [edi + 4]
add edx, eax
lea eax, [ebx - 3]
shr eax, 1
inc eax
mov dword [esp + 0x24], eax
nop
add edx, 8
lea ecx, [ecx + 8]
add ebp, 8
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebp
test esi, esi
jle 0x10076bd5
mov eax, ebp
lea esi, [ebx*4]
mov ebp, edi
mov edi, dword [esp + 0x6c]
sub ebp, dword [esp + 0x78]
nop dword [eax + eax]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
mulss xmm1, dword [ecx - 4]
mulss xmm0, dword [ecx]
addss xmm1, xmm0
movss dword [eax + ebp], xmm1
movss xmm0, dword [eax]
movss xmm1, dword [ecx - 4]
mulss xmm1, dword [eax + 4]
add eax, esi
mulss xmm0, dword [ecx]
subss xmm1, xmm0
movss dword [edx], xmm1
add edx, esi
sub edi, 1
jne 0x10076b80
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x6c]
sub eax, 1
mov dword [esp + 0x24], eax
jne 0x10076b50
mov edx, dword [esp + 0x30]
lea esi, [ebx*4]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
sub ecx, 1
mov dword [esp + 0x20], ecx
jne 0x10076b00
mov eax, dword [esp + 0x6c]
mov ecx, ebx
neg ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov edi, edx
imul edi, dword [esp + 0x68]
cmp dword [esp + 0x28], eax
jge 0x10076217
cmp dword [esp + 0x10], 1
jle 0x1007636e
mov ebp, dword [esp + 0x78]
lea esi, [edx*4]
mov edx, dword [esp + 0x80]
lea eax, [ebx*4]
sub edx, eax
mov dword [esp + 0x54], esi
sub ebp, eax
sub edx, 4
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x38], eax
add ecx, dword [esp + 0x14]
add ebp, esi
add edx, esi
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x14]
sub edi, esi
add dword [esp + 0x1c], esi
mov esi, ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], edi
cmp ebx, 2
jle 0x10076d8c
mov ecx, dword [esp + 0x1c]
lea eax, [ebx - 3]
sub edi, esi
shr eax, 1
inc eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x2c]
add esi, 2
add ecx, 2
mov dword [esp + 0x44], esi
add ebp, 8
mov dword [esp + 0x3c], ecx
add edx, 8
mov dword [esp + 0x40], ebp
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x20], edx
jle 0x10076d6b
mov esi, ebp
lea eax, [ecx + edi]
mov ebp, dword [esp + 0x80]
lea edx, [ebx*4]
mov edi, dword [esp + 0x78]
add ebp, 0xfffffffc
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
shl eax, 2
add edi, eax
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x64]
add eax, ebp
mov ebp, dword [esp + 0x78]
sub ebp, dword [esp + 0x80]
nop dword [eax]
movss xmm0, dword [eax + edx]
add eax, edx
addss xmm0, dword [ecx + edx]
add ecx, edx
add esi, edx
add edi, edx
sub dword [esp + 0x24], 1
movss dword [ecx + ebp], xmm0
movss xmm0, dword [ecx + 4]
subss xmm0, dword [eax + 4]
movss dword [eax + ebp], xmm0
movss xmm0, dword [ecx + 4]
addss xmm0, dword [eax + 4]
movss dword [esi], xmm0
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [edi], xmm0
jne 0x10076d10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x44]
sub eax, 1
mov dword [esp + 0x30], eax
jne 0x10076ca6
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x54]
sub eax, 1
mov dword [esp + 0x38], eax
jne 0x10076c65
jmp 0x1007636e
xor eax, eax
xor ecx, ecx
test esi, esi
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x74]
mov dword [esp + 0x70], ecx
jle 0x1007684e
mov edx, dword [esp + 0x80]
add edx, 8
mov dword [esp + 0x20], edx
lea edx, [esi + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x38], edx
xor ebp, ebp
mov edx, eax
mov edi, ecx
cmp ebx, 4
jl 0x10076e43
mov ecx, dword [esp + 0x1c]
lea edi, [ebx - 4]
mov edx, dword [esp + 0x20]
shr edi, 2
inc edi
lea ebp, [edi*4]
add eax, ebp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x70]
add eax, ebp
mov dword [esp + 0x54], eax
nop dword [eax + eax]
mov eax, dword [edx - 8]
lea ecx, [ecx + 0x10]
mov dword [ecx - 0x18], eax
lea edx, [edx + 0x10]
mov eax, dword [edx - 0x14]
mov dword [ecx - 0x14], eax
mov eax, dword [edx - 0x10]
mov dword [ecx - 0x10], eax
mov eax, dword [edx - 0xc]
mov dword [ecx - 0xc], eax
sub edi, 1
jne 0x10076e10
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
cmp ebp, ebx
jge 0x10076e6f
mov eax, dword [esp + 0x80]
lea ecx, [esi + edi*4]
mov edi, ebx
sub edi, ebp
lea edx, [eax + edx*4]
mov eax, dword [edx]
lea edx, [edx + 4]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub edi, 1
jne 0x10076e58
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x18]
lea edx, [ebx*4]
add dword [esp + 0x20], edx
add eax, ebx
add ecx, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x70], ecx
lea edx, [ebp*4]
add dword [esp + 0x1c], edx
sub dword [esp + 0x38], 1
jne 0x10076dd7
jmp 0x1007684e
cmp edi, 1
jle 0x10076fe1
mov ebx, dword [esp + 0x80]
lea eax, [ebp*4]
add ecx, 2
mov dword [esp + 0x48], eax
lea edi, [edx*4]
lea edx, [esi + 8]
mov dword [esp + 0x44], edi
lea ebp, [ebx + 8]
add esi, 0xfffffff8
lea ecx, [ebx + ecx*4]
mov ebx, dword [esp + 0x10]
dec ebx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x64]
add esi, edi
add edx, edi
add ebp, eax
mov dword [esp + 0x4c], esi
sub ecx, eax
mov dword [esp + 0x34], edx
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ecx
jle 0x10076fd6
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x68], ecx
lea edi, [eax*4]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], eax
lea eax, [ebx*4]
mov dword [esp + 0x5c], edi
cmp ebx, 2
jle 0x10076f9f
lea edi, [ebx - 3]
mov eax, ebp
shr edi, 1
inc edi
movss xmm0, dword [eax - 4]
addss xmm0, dword [ecx - 4]
movss dword [edx - 4], xmm0
movss xmm0, dword [eax - 4]
subss xmm0, dword [ecx - 4]
movss dword [esi - 4], xmm0
movss xmm0, dword [ecx]
addss xmm0, dword [eax]
movss dword [edx], xmm0
add edx, 8
movss xmm0, dword [ecx]
add ecx, 8
subss xmm0, dword [eax]
add eax, 8
movss dword [esi], xmm0
sub esi, 8
sub edi, 1
jne 0x10076f41
mov esi, dword [esp + 0x64]
lea eax, [ebx*4]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
add edx, edi
add esi, edi
add ecx, eax
mov dword [esp + 0x70], edx
add ebp, eax
mov dword [esp + 0x64], esi
sub dword [esp + 0x38], 1
mov dword [esp + 0x68], ecx
jne 0x10076f34
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
sub dword [esp + 0x30], 1
jne 0x10076ee7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret