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

Disassembly:
sub esp, 0x50
movd xmm0, dword [esp + 0x58]
movss xmm1, dword [0x10164ba4]
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.100d34e0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm0
movsd xmm0, qword [esp + 0x54]
call fcn.100d36a0
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 0x100c349e
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 0x100c3103
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 0x100c30d0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
cmp ebp, eax
jge 0x100c311e
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 0x100c3110
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp ecx, 1
jle 0x100c31e9
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 0x100c319d
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 0x100c3170
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
cmp ebp, eax
jge 0x100c31d0
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 0x100c31c0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
sub edx, 1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
jne 0x100c3140
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 0x100c3c27
cmp ecx, 1
jle 0x100c333c
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 0x100c332b
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 0x100c330a
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 0x100c32b0
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 0x100c3287
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 0x100c3250
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov edi, edx
imul edi, ecx
cmp dword [esp + 0x10], 1
jle 0x100c349e
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 0x100c3491
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 0x100c3454
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 0x100c33f0
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 0x100c33d0
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 0x100c3380
mov eax, dword [esp + 0x70]
xor ebp, ebp
cmp eax, 4
jl 0x100c34f8
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 0x100c34d0
mov eax, dword [esp + 0x70]
cmp ebp, eax
jge 0x100c351e
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 0x100c3510
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 0x100c388d
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 0x100c35e9
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 0x100c35b0
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 0x100c3566
mov eax, dword [esp + 0x70]
xorps xmm4, xmm4
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
dec edi
movss xmm6, dword [0x1011fc14]
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 0x100c36d3
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 0x100c3690
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 0x100c3795
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 0x100c377c
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 0x100c3741
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 0x100c3710
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 0x100c3640
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 0x100c384c
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 0x100c3800
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x70]
cmp ecx, esi
jge 0x100c3878
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 0x100c3860
mov eax, dword [esp + 0x5c]
sub edx, 1
mov dword [esp + 0x38], edx
jne 0x100c37d0
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
cmp ebx, edi
jge 0x100c3ef2
xor ebp, ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x100c397a
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 0x100c3925
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 0x100c38e0
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp eax, edi
jge 0x100c396d
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 0x100c3958
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x6c]
inc ebp
mov dword [esp + 0x38], ebp
cmp ebp, ebx
jl 0x100c38b0
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 0x100c3a4c
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 0x100c3a30
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 0x100c3a00
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 0x100c39c8
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 0x100c4130
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jge 0x100c3fed
xor eax, eax
cmp edi, 1
jle 0x100c4130
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 0x100c3c14
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 0x100c3bcd
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 0x100c3b70
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 0x100c3b20
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 0x100c3ab0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
cmp ecx, 1
jle 0x100c3d66
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 0x100c3d4d
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 + 0x3c], edx
mov dword [esp + 0x38], ebp
test esi, esi
jle 0x100c3d25
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 + 4]
movss xmm0, dword [eax]
mulss xmm1, dword [ecx]
mulss xmm0, dword [ecx - 4]
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 0x100c3cd0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x6c]
sub eax, 1
mov dword [esp + 0x24], eax
jne 0x100c3ca0
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 0x100c3c50
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 0x100c3345
cmp dword [esp + 0x10], 1
jle 0x100c349e
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 0x100c3edc
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 0x100c3ebb
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 0x100c3e60
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 0x100c3df6
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 0x100c3db5
jmp 0x100c349e
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 0x100c397e
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 0x100c3f87
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 0x100c3f54
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
cmp ebp, ebx
jge 0x100c3fb7
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 0x100c3fa0
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 0x100c3f23
jmp 0x100c397e
cmp edi, 1
jle 0x100c4130
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 0x100c4125
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 0x100c40ee
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 0x100c4090
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 0x100c4080
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 0x100c4030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret