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

Disassembly:
sub esp, 0x50
movd xmm0, dword [esp + 0x58]
movss xmm1, dword [0x10259ab8]
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.100b1690
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm0
movsd xmm0, qword [esp + 0x54]
call fcn.100b1dc0
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 0x10091a8e
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 0x100916f3
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 0x100916c0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
cmp ebp, eax
jge 0x1009170e
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 0x10091700
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp ecx, 1
jle 0x100917d9
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 + 0x3c], eax
mov ecx, eax
mov eax, dword [esp + 0x6c]
xor ebp, ebp
cmp eax, 4
jl 0x1009178d
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 0x10091760
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
cmp ebp, eax
jge 0x100917c0
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 [ecx + esi]
mov dword [ecx], eax
add ecx, edi
sub edx, 1
jne 0x100917b0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
sub edx, 1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
jne 0x10091730
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 0x10092217
cmp ecx, 1
jle 0x1009192c
mov eax, dword [esp + 0x14]
lea esi, [ebx*4]
mov ebp, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
sub ebp, esi
sub edx, esi
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x68]
lea ecx, [eax*4]
mov eax, dword [esp + 0x88]
sub edx, 4
mov dword [esp + 0x2c], ecx
lea eax, [eax + edi*4]
add eax, 0xfffffffc
dec esi
mov dword [esp + 0x1c], esi
nop dword [eax]
add eax, dword [esp + 0x3c]
add ebp, ecx
mov edi, dword [esp + 0x80]
add edx, ecx
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], eax
jle 0x1009191b
mov eax, edx
lea ecx, [ebx*4]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
add eax, ecx
add ebp, ecx
mov dword [esp + 0x38], eax
cmp ebx, 2
jle 0x100918fa
sub edi, dword [esp + 0x78]
lea edx, [ebx - 3]
mov ecx, dword [esp + 0x20]
mov esi, ebp
shr edx, 1
inc edx
nop dword [eax]
nop dword [eax + eax]
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 [eax + 4]
movss xmm0, dword [eax]
mulss xmm1, dword [ecx - 4]
mulss xmm0, dword [ecx]
subss xmm1, xmm0
movss dword [esi], xmm1
sub edx, 1
jne 0x100918a0
mov eax, dword [esp + 0x38]
lea ecx, [ebx*4]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x80]
sub edx, 1
mov dword [esp + 0x24], edx
jne 0x10091877
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
sub esi, 1
mov dword [esp + 0x1c], esi
jne 0x10091840
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov edi, edx
imul edi, ecx
cmp dword [esp + 0x10], 1
jle 0x10091a8e
mov eax, dword [esp + 0x78]
lea ecx, [edx*4]
mov edx, eax
mov dword [esp + 0x54], ecx
lea ebp, [eax + edi*4]
mov eax, dword [esp + 0x80]
dec edi
lea esi, [eax + edi*4]
lea edi, [eax - 4]
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x24], eax
nop dword [eax + eax]
mov ebx, dword [esp + 0x64]
add edx, ecx
add edi, ecx
mov dword [esp + 0x4c], edx
sub ebp, ecx
mov dword [esp + 0x44], edi
sub esi, ecx
mov dword [esp + 0x50], ebp
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x48], esi
jle 0x10091a81
mov ecx, edx
mov dword [esp + 0x30], ebp
mov edx, edi
mov dword [esp + 0x38], ecx
mov edi, dword [esp + 0x6c]
lea eax, [ebx*4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], edi
nop word [eax + eax]
cmp ebx, 2
jle 0x10091a44
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
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 0x100919e0
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 0x100919c0
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
sub eax, 1
mov dword [esp + 0x24], eax
jne 0x10091970
mov eax, dword [esp + 0x70]
xor ebp, ebp
cmp eax, 4
jl 0x10091ae8
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 0x10091ac0
mov eax, dword [esp + 0x70]
cmp ebp, eax
jge 0x10091b0e
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 0x10091b00
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 0x10091e7d
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 0x10091bd9
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 [ecx + edx], xmm0
movss xmm0, dword [eax]
subss xmm0, dword [ecx]
movss dword [eax + edx], xmm0
sub edi, 1
jne 0x10091ba0
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 0x10091b56
mov eax, dword [esp + 0x70]
xorps xmm4, xmm4
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
dec edi
movss xmm6, dword [0x101f71fc]
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 0x10091cc3
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 0x10091c80
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 0x10091d85
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 0x10091d6c
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 0x10091d31
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 0x10091d00
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 0x10091c30
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 0x10091e3c
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 0x10091df0
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x70]
cmp ecx, esi
jge 0x10091e68
mov eax, dword [esp + 0x7c]
lea eax, [eax + ebp*4]
mov ebp, dword [esp + 0x84]
nop
movss xmm0, dword [ebp + ecx*4]
addss xmm0, dword [eax]
add eax, 4
movss dword [ebp + ecx*4], xmm0
inc ecx
cmp ecx, esi
jl 0x10091e50
mov eax, dword [esp + 0x5c]
sub edx, 1
mov dword [esp + 0x38], edx
jne 0x10091dc0
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
cmp ebx, edi
jge 0x100924e2
xor ebp, ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x10091f6a
nop word [eax + eax]
mov esi, dword [esp + 0x74]
xor eax, eax
mov dword [esp + 0x70], eax
mov ecx, ebp
mov edx, ebp
cmp edi, 4
jl 0x10091f15
mov ebp, dword [esp + 0x80]
add edi, 0xfffffffc
shr edi, 2
inc edi
lea eax, [edi*4]
mov dword [esp + 0x70], eax
nop dword [eax]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [esi + edx*4], eax
add edx, dword [esp + 0x18]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [esi + edx*4], eax
add edx, dword [esp + 0x18]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [esi + edx*4], eax
add edx, dword [esp + 0x18]
mov eax, dword [ebp + ecx*4]
add ecx, ebx
mov dword [esi + edx*4], eax
add edx, dword [esp + 0x18]
sub edi, 1
jne 0x10091ed0
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp eax, edi
jge 0x10091f5d
mov eax, dword [esp + 0x18]
lea edx, [esi + edx*4]
mov esi, dword [esp + 0x6c]
sub esi, dword [esp + 0x70]
lea edi, [eax*4]
lea eax, [ebx*4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x5c]
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
add ecx, ebx
mov dword [edx], eax
add edx, edi
sub esi, 1
jne 0x10091f48
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
inc ebp
mov dword [esp + 0x38], ebp
cmp ebp, ebx
jl 0x10091ea0
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 + 0x44], ecx
cmp edi, 1
jle 0x1009203c
shl edx, 2
lea eax, [ebp*4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x70], edx
dec ebp
mov edx, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], ebp
lea edi, [edx + ecx*4]
mov ecx, esi
mov esi, dword [esp + 0x70]
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 0x10092020
mov eax, dword [esp + 0x18]
lea ebp, [ebx*4]
mov esi, dword [esp + 0x6c]
shl eax, 2
mov ebx, eax
nop dword [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 0x10091ff0
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 + 0x68]
mov esi, dword [esp + 0x70]
sub ebp, 1
mov dword [esp + 0x68], ebp
jne 0x10091fb8
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 0x10092720
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jge 0x100925dd
xor eax, eax
cmp edi, 1
jle 0x10092720
mov edi, dword [esp + 0x80]
add esi, 0xfffffff8
add edi, 8
shl ebp, 2
mov dword [esp + 0x38], ebp
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x10]
lea ebp, [edi + ecx*4]
mov dword [esp + 0x14], 4
mov ecx, dword [esp + 0x80]
lea edi, [eax - 2]
add ecx, 8
dec esi
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x14]
nop dword [eax + eax]
add ecx, dword [esp + 0x38]
lea ebx, [edx*4]
add dword [esp + 0x70], ebx
add edi, edx
sub ebp, dword [esp + 0x38]
sub esi, edx
mov ebx, dword [esp + 0x64]
add eax, edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x5c], ebp
cmp ebx, 2
jle 0x10092204
mov edx, dword [esp + 0x10]
lea eax, [ebx - 3]
mov ecx, esi
shr eax, 1
mov esi, edi
mov dword [esp + 0x1c], ecx
mov edi, dword [esp + 0x70]
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
nop dword [eax]
nop dword [eax + eax]
cmp dword [esp + 0x6c], 0
mov edx, dword [esp + 0x24]
jle 0x100921bd
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 [ecx - 4]
addss xmm0, dword [edx - 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 0x10092160
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 0x10092110
mov eax, dword [esp + 0x2c]
lea edx, [ebx + ebx]
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
sub dword [esp + 0x3c], 1
jne 0x100920a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
cmp ecx, 1
jle 0x10092356
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 + 0x34], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
cmp ebx, 2
jle 0x1009233d
mov esi, dword [esp + 0x6c]
mov ecx, eax
mov eax, edx
sub eax, edi
mov edi, dword [esp + 0x80]
add eax, ebp
lea ebp, [ebx - 3]
shl eax, 2
shr ebp, 1
lea edx, [edi + 4]
add edx, eax
add eax, dword [esp + 0x78]
inc ebp
mov dword [esp + 0x24], ebp
nop dword [eax]
add edx, 8
lea ecx, [ecx + 8]
add eax, 8
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
test esi, esi
jle 0x10092315
mov ebp, edi
lea esi, [ebx*4]
sub ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x6c]
nop word [eax + eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm1, dword [ecx]
mulss xmm0, dword [ecx - 4]
addss xmm1, xmm0
movss dword [eax + ebp], xmm1
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
add eax, esi
mulss xmm1, dword [ecx - 4]
mulss xmm0, dword [ecx]
subss xmm1, xmm0
movss dword [edx], xmm1
add edx, esi
sub edi, 1
jne 0x100922c0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x6c]
sub ebp, 1
mov dword [esp + 0x24], ebp
jne 0x10092290
mov edx, dword [esp + 0x34]
lea esi, [ebx*4]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
sub ecx, 1
mov dword [esp + 0x20], ecx
jne 0x10092240
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 0x10091935
cmp dword [esp + 0x10], 1
jle 0x10091a8e
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 0x100924cc
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 0x100924ab
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 0x10092450
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 0x100923e6
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 0x100923a5
jmp 0x10091a8e
mov esi, dword [esp + 0x74]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x70], ecx
test edi, edi
jle 0x10091f6e
mov edx, dword [esp + 0x80]
add edx, 8
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], edx
lea edx, [esi + 8]
mov dword [esp + 0x1c], edx
xor ebp, ebp
mov edx, eax
mov edi, ecx
cmp ebx, 4
jl 0x10092577
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
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 0x10092544
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
cmp ebp, ebx
jge 0x100925a7
mov eax, dword [esp + 0x80]
lea ecx, [esi + edi*4]
mov edi, ebx
sub edi, ebp
lea edx, [eax + edx*4]
nop dword [eax]
mov eax, dword [edx]
lea edx, [edx + 4]
mov dword [ecx], eax
lea ecx, [ecx + 4]
sub edi, 1
jne 0x10092590
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 0x10092513
jmp 0x10091f6e
cmp edi, 1
jle 0x10092720
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 + 0x34], ebx
mov ebx, dword [esp + 0x64]
nop
add esi, edi
add edx, edi
add ebp, eax
mov dword [esp + 0x4c], esi
sub ecx, eax
mov dword [esp + 0x38], edx
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ecx
jle 0x10092715
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 + 0x3c], eax
lea eax, [ebx*4]
mov dword [esp + 0x5c], edi
nop dword [eax]
cmp ebx, 2
jle 0x100926de
lea edi, [ebx - 3]
mov eax, ebp
shr edi, 1
inc edi
nop dword [eax]
movss xmm0, dword [ecx - 4]
addss xmm0, dword [eax - 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 0x10092680
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 + 0x3c], 1
mov dword [esp + 0x68], ecx
jne 0x10092670
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
sub dword [esp + 0x34], 1
jne 0x10092620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret