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

Disassembly:
sub esp, 0x50
movd xmm0, dword [esp + 0x58]
movss xmm1, dword [0x1024b4f8]
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.1007ac50
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm0
movsd xmm0, qword [esp + 0x54]
call fcn.1007b630
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 0x1005fc1e
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 0x1005f893
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 0x1005f860
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
cmp ebp, eax
jge 0x1005f8ae
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 0x1005f8a0
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp ecx, 1
jle 0x1005f979
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 0x1005f92d
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 0x1005f900
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
cmp ebp, eax
jge 0x1005f960
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 0x1005f950
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
sub edx, 1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
jne 0x1005f8d0
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 0x10060388
cmp ecx, 1
jle 0x1005fabe
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 0x1005faad
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 0x1005fa89
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 0x1005fa32
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 0x1005fa10
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 0x1005f9d8
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov edi, edx
imul edi, ecx
cmp dword [esp + 0x10], 1
jle 0x1005fc1e
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 0x1005fc11
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 0x1005fbd4
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 0x1005fb70
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 0x1005fb46
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 0x1005fb00
mov eax, dword [esp + 0x70]
xor ebp, ebp
cmp eax, 4
jl 0x1005fc78
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 0x1005fc50
mov eax, dword [esp + 0x70]
cmp ebp, eax
jge 0x1005fc9e
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 0x1005fc90
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 0x1006000d
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 0x1005fd69
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 0x1005fd30
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 0x1005fce6
mov eax, dword [esp + 0x70]
xorps xmm4, xmm4
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
dec edi
movss xmm6, dword [0x10157840]
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 0x1005fe53
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 0x1005fe10
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 0x1005ff15
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 0x1005fefc
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 0x1005fec1
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 0x1005fe90
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 0x1005fdc0
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 0x1005ffcc
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 0x1005ff80
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x70]
cmp ecx, esi
jge 0x1005fff8
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 0x1005ffe0
mov eax, dword [esp + 0x5c]
sub edx, 1
mov dword [esp + 0x38], edx
jne 0x1005ff50
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
cmp ebx, esi
jge 0x10060652
xor ebp, ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x100600fa
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 0x100600a5
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 0x10060060
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp eax, esi
jge 0x100600ed
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 0x100600d8
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
inc ebp
mov dword [esp + 0x38], ebp
cmp ebp, ebx
jl 0x10060030
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 0x100601cd
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 0x100601b1
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 0x10060181
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 0x10060150
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 0x10060891
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jge 0x10060755
xor eax, eax
cmp edi, 1
jle 0x10060891
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 0x10060375
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 0x1006032d
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 0x100602d0
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 0x10060280
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 0x10060223
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
cmp ecx, 1
jle 0x100604c6
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 0x100604ad
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 0x10060485
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 0x10060430
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 0x10060400
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 0x100603b0
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 0x1005fac7
cmp dword [esp + 0x10], 1
jle 0x1005fc1e
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 0x1006063c
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 0x1006061b
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 0x100605c0
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 0x10060556
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 0x10060515
jmp 0x1005fc1e
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 0x100600fe
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 0x100606f3
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 0x100606c0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
cmp ebp, ebx
jge 0x1006071f
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 0x10060708
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 0x10060687
jmp 0x100600fe
cmp edi, 1
jle 0x10060891
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 0x10060886
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 0x1006084f
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 0x100607f1
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 0x100607e4
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 0x10060797
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret