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

Disassembly:
sub esp, 0x50
movd xmm0, dword [esp + 0x58]
movss xmm1, dword [0x102e5c18]
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.10116220
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm0
movsd xmm0, qword [esp + 0x54]
call fcn.101163e0
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 0x100f0dde
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 0x100f0a53
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 0x100f0a20
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
cmp ebp, eax
jge 0x100f0a6e
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 0x100f0a60
mov ecx, dword [esp + 0x68]
xor eax, eax
cmp ecx, 1
jle 0x100f0b39
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 0x100f0aed
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 0x100f0ac0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
cmp ebp, eax
jge 0x100f0b20
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 0x100f0b10
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
sub edx, 1
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
jne 0x100f0a90
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 0x100f1548
cmp ecx, 1
jle 0x100f0c7e
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 0x100f0c6d
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 0x100f0c49
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 0x100f0bf2
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 0x100f0bd0
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 0x100f0b98
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x14]
mov edi, edx
imul edi, ecx
cmp dword [esp + 0x10], 1
jle 0x100f0dde
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 0x100f0dd1
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 0x100f0d94
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 0x100f0d30
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 0x100f0d06
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 0x100f0cc0
mov eax, dword [esp + 0x70]
xor ebp, ebp
cmp eax, 4
jl 0x100f0e38
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 0x100f0e10
mov eax, dword [esp + 0x70]
cmp ebp, eax
jge 0x100f0e5e
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 0x100f0e50
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 0x100f11cd
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 0x100f0f29
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 0x100f0ef0
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 0x100f0ea6
mov eax, dword [esp + 0x70]
xorps xmm4, xmm4
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x84]
dec edi
movss xmm6, dword [0x101f3688]
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 0x100f1013
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 0x100f0fd0
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 0x100f10d5
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 0x100f10bc
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 0x100f1081
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 0x100f1050
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 0x100f0f80
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 0x100f118c
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 0x100f1140
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x70]
cmp ecx, esi
jge 0x100f11b8
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 0x100f11a0
mov eax, dword [esp + 0x5c]
sub edx, 1
mov dword [esp + 0x38], edx
jne 0x100f1110
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
cmp ebx, esi
jge 0x100f1812
xor ebp, ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jle 0x100f12ba
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 0x100f1265
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 0x100f1220
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp eax, esi
jge 0x100f12ad
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 0x100f1298
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
inc ebp
mov dword [esp + 0x38], ebp
cmp ebp, ebx
jl 0x100f11f0
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 0x100f138d
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 0x100f1371
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 0x100f1341
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 0x100f1310
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 0x100f1a51
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x6c]
jge 0x100f1915
xor eax, eax
cmp edi, 1
jle 0x100f1a51
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 0x100f1535
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 0x100f14ed
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 0x100f1490
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 0x100f1440
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 0x100f13e3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
cmp ecx, 1
jle 0x100f1686
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 0x100f166d
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 0x100f1645
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 0x100f15f0
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 0x100f15c0
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 0x100f1570
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 0x100f0c87
cmp dword [esp + 0x10], 1
jle 0x100f0dde
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 0x100f17fc
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 0x100f17db
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 0x100f1780
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 0x100f1716
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 0x100f16d5
jmp 0x100f0dde
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 0x100f12be
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 0x100f18b3
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 0x100f1880
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
cmp ebp, ebx
jge 0x100f18df
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 0x100f18c8
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 0x100f1847
jmp 0x100f12be
cmp edi, 1
jle 0x100f1a51
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 0x100f1a46
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 0x100f1a0f
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 0x100f19b1
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 0x100f19a4
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 0x100f1957
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret