Function at 0x100b8e30
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x88
movsd xmm1, qword [0x1014efd8]
xor edx, edx
push esi
push edi
mov edi, dword [ebp + 8]
movss xmm2, dword [0x1011fc14]
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x60], xmm2
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0x1c]
inc dword [edi + 0xc]
mov esi, dword [edi + 4]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x34], eax
divsd xmm1, xmm0
movaps xmm0, xmm2
cvtpd2ps xmm1, xmm1
subss xmm0, xmm1
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x88], xmm0
cmp dword [esp + 0x38], edx
jle 0x100b8ff2
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
nop dword [eax + eax]
movss xmm4, dword [edi + 0xbc]
movaps xmm0, xmm2
mov eax, dword [edi]
subss xmm0, xmm4
mov esi, dword [edi + 0xc0]
mov ecx, eax
imul ecx, edx
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x48]
cvtps2pd xmm2, xmm0
mov dword [esp + 0x2c], esi
lea eax, [eax + ecx*4]
xor ecx, ecx
movaps xmm0, xmm4
mov dword [esp + 0x14], eax
mulss xmm0, xmm4
cvtps2pd xmm1, xmm0
movaps xmm0, xmm2
mulsd xmm0, qword [0x1014efe0]
mulsd xmm0, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm5, xmm1
cmp dword [esp + 0xc], ecx
jle 0x100b8f7e
mov edi, dword [esp + 0x18]
nop
movsx eax, word [edi]
movaps xmm2, xmm4
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mov eax, dword [esp + 0x14]
movaps xmm1, xmm3
addss xmm1, dword [esi + edx*8]
mulss xmm2, xmm1
movaps xmm0, xmm2
subss xmm0, xmm3
addss xmm0, xmm0
addss xmm0, dword [esi + edx*8 + 4]
movss dword [esi + edx*8], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm1
subss xmm3, xmm0
movss dword [esi + edx*8 + 4], xmm3
mov esi, dword [esp + 0x38]
movss dword [eax + ecx*4], xmm2
inc ecx
lea edi, [edi + esi*2]
mov esi, dword [esp + 0x2c]
cmp ecx, dword [esp + 0xc]
jl 0x100b8f20
mov edi, dword [ebp + 8]
mov ecx, dword [edi]
xor esi, esi
test ecx, ecx
jle 0x100b8fd2
nop word [eax + eax]
mov eax, dword [edi + 0x48]
movss xmm0, dword [edi + 0xb8]
imul ecx, edx
add ecx, esi
movss xmm2, dword [eax + ecx*4]
mov eax, dword [edi + 0xb0]
movaps xmm1, xmm2
mulss xmm0, dword [eax + edx*4]
movss dword [eax + edx*4], xmm2
mov ecx, dword [edi]
mov eax, dword [edi + 0x48]
subss xmm1, xmm0
imul ecx, edx
add ecx, esi
inc esi
movss dword [eax + ecx*4], xmm1
mov ecx, dword [edi]
cmp esi, ecx
jl 0x100b8f90
add dword [esp + 0x18], 2
inc edx
movss xmm2, dword [0x1011fc14]
cmp edx, dword [esp + 0x38]
jl 0x100b8ec0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x50], ecx
test eax, eax
jle 0x100b9376
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], ecx
mov eax, dword [edi]
xor edx, edx
test eax, eax
jle 0x100b909f
mov ecx, dword [esp + 0x24]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x18], ecx
nop
add eax, dword [esp + 0x10]
mov ecx, dword [edi + 0x40]
add eax, edx
mov edi, dword [esp + 0x18]
add dword [esp + 0x18], 4
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi], eax
movsx eax, word [esi]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x50]
movd xmm1, eax
mov eax, dword [edi + 0xac]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax + ecx*4]
mulss xmm0, dword [edi + 0xb8]
mov ecx, dword [edi]
add ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x40]
add ecx, edx
subss xmm1, xmm0
inc edx
movss dword [eax + ecx*4], xmm1
movsx eax, word [esi]
mov ecx, dword [esp + 0x50]
movd xmm0, eax
mov eax, dword [edi + 0xac]
cvtdq2ps xmm0, xmm0
movss dword [eax + ecx*4], xmm0
mov ecx, dword [esp + 0x34]
mov eax, dword [edi]
lea esi, [esi + ecx*2]
mov ecx, dword [esp + 0x50]
cmp edx, eax
jl 0x100b9020
mov esi, dword [esp + 0x1c]
add dword [esp + 0x10], esi
lea eax, [esi*4]
add dword [esp + 0x24], eax
inc ecx
add dword [ebp + 0x10], 2
mov dword [esp + 0x50], ecx
cmp ecx, dword [esp + 0x34]
jl 0x100b9008
mov eax, dword [esp + 0x58]
dec eax
mov dword [esp + 0x10], 0
xor edx, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x20], edx
mov ecx, eax
mov dword [esp + 0x44], ecx
test ecx, ecx
js 0x100b921f
mov edx, dword [esp + 0x34]
imul edx, esi
mov eax, edx
neg edx
neg eax
shl edx, 2
mov dword [esp + 0x54], eax
mov eax, ecx
imul eax, dword [esp + 0x34]
inc ecx
imul ecx, dword [esp + 0x34]
mov dword [esp + 0x48], edx
add eax, dword [esp + 0x10]
add ecx, dword [esp + 0x10]
imul eax, esi
imul ecx, esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], ecx
shl ecx, 2
lea edi, [eax*4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edi
mov edi, dword [ebp + 8]
xor ecx, ecx
cmp esi, 4
jl 0x100b91ab
mov edx, dword [esp + 0x24]
lea eax, [esi - 4]
mov esi, dword [esp + 0x18]
shr eax, 2
inc eax
mov dword [esp + 0xc], eax
shl eax, 2
mov dword [esp + 0x2c], eax
nop word [eax + eax]
sub dword [esp + 0xc], 1
lea esi, [esi + 0x10]
mov ecx, dword [edi + 0x44]
lea edx, [edx + 0x10]
mov eax, dword [ecx + esi - 0x10]
mov dword [ecx + edx - 0x10], eax
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + esi - 0xc]
mov dword [ecx + edx - 0xc], eax
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + esi - 8]
mov dword [ecx + edx - 8], eax
mov ecx, dword [edi + 0x44]
mov eax, dword [ecx + esi - 4]
mov dword [ecx + edx - 4], eax
jne 0x100b9160
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
cmp ecx, esi
jl 0x100b91af
jmp 0x100b91ec
test esi, esi
jle 0x100b91f0
mov edx, dword [esp + 0x40]
add eax, ecx
add edx, ecx
shl eax, 2
shl edx, 2
sub esi, ecx
mov dword [esp + 0xc], esi
mov esi, eax
mov dword [esp + 0x14], eax
nop dword [eax]
sub dword [esp + 0xc], 1
lea esi, [esi + 4]
mov ecx, dword [edi + 0x44]
lea edx, [edx + 4]
mov eax, dword [ecx + esi - 4]
mov dword [ecx + edx - 4], eax
jne 0x100b91d0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x54]
dec ecx
add dword [esp + 0x40], esi
add eax, esi
add dword [esp + 0x18], edx
add dword [esp + 0x24], edx
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], eax
test ecx, ecx
jns 0x100b9136
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x44]
add eax, edx
push eax
mov eax, dword [edi + 0x40]
add eax, edx
push eax
push dword [edi + 0xa8]
call fcn.100c09c0
mov eax, dword [esp + 0x1c]
lea ecx, [esi*4]
mov edx, dword [esp + 0x2c]
inc eax
add edx, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp eax, ecx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x5c]
jl 0x100b90d8
lea eax, [esi - 1]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xc], eax
xorps xmm3, xmm3
xor eax, eax
xorps xmm4, xmm4
mov dword [esp + 0x18], eax
nop word [eax + eax]
mov edx, dword [edi]
movaps xmm2, xmm3
lea ecx, [eax + edx]
sar edx, 1
mov eax, dword [edi + 0x40]
lea eax, [eax + ecx*4]
mov ecx, eax
je 0x100b92c9
nop dword [eax]
nop dword [eax + eax]
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
movss xmm1, dword [eax + 4]
add eax, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub edx, 1
jne 0x100b92a0
mov eax, dword [edi + 0x44]
addss xmm4, xmm2
mov ecx, dword [esp + 0x18]
movss xmm0, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [edi + 0x8c]
mulss xmm0, xmm0
mov dword [esp + 0x48], eax
mov eax, 1
mov ecx, eax
addss xmm0, dword [edx]
movss dword [edx], xmm0
cmp dword [esp + 0xc], eax
jle 0x100b933f
mov esi, dword [esp + 0x48]
nop dword [eax]
nop word [eax + eax]
movss xmm1, dword [esi + eax*4 + 4]
movss xmm0, dword [esi + eax*4]
add eax, 2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
inc ecx
cmp eax, dword [esp + 0xc]
jl 0x100b9310
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
movss xmm0, dword [edi + eax*4]
mov eax, dword [esp + 0x18]
mov edi, dword [ebp + 8]
add eax, esi
sub dword [esp + 0x44], 1
mulss xmm0, xmm0
mov dword [esp + 0x18], eax
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
jne 0x100b9280
movss dword [esp + 0x50], xmm4
jmp 0x100b9382
xorps xmm7, xmm7
xorps xmm3, xmm3
movss dword [esp + 0x50], xmm7
mov ecx, dword [esp + 0x38]
movss dword [esp + 0x64], xmm3
mov dword [esp + 0x40], 0
test ecx, ecx
jle 0x100b963d
mov edx, dword [esp + 0x34]
xor eax, eax
imul edx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xc], edx
imul edx, esi
shl edx, 2
mov dword [esp + 0x74], edx
mov edx, dword [edi + 0x54]
add edx, eax
mov eax, dword [edi + 0x64]
add eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x44]
mov dword [esp + 0x18], eax
test esi, esi
jle 0x100b93ef
mov ecx, esi
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
cmp dword [esp + 0xc], 0
jle 0x100b953f
mov edi, dword [esp + 0x24]
lea eax, [esi - 1]
mov dword [esp + 0x48], eax
mov ecx, edi
lea eax, [esi*4]
sub ecx, edx
mov dword [esp + 0x5c], eax
mov eax, esi
mov esi, dword [esp + 0x18]
neg eax
shl eax, 2
mov dword [esp + 0x70], eax
mov eax, edx
sub eax, esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
nop dword [eax + eax]
cmp dword [esp + 0x48], 1
movss xmm0, dword [esi]
mulss xmm0, dword [edi]
mov dword [esp + 0x44], 1
addss xmm0, dword [edx]
movss dword [edx], xmm0
jle 0x100b94f1
lea ecx, [edx + 4]
mov edx, edi
sub edx, esi
lea eax, [esi + 8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x48]
add edx, 0xfffffffe
shr edx, 1
inc edx
lea esi, [edx*2 + 1]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x14]
nop word [eax + eax]
mov edi, dword [esp + 0x30]
movss xmm0, dword [eax]
mulss xmm0, dword [eax + esi]
movss xmm1, dword [ecx + edi]
mulss xmm1, dword [eax - 4]
subss xmm1, xmm0
addss xmm1, dword [ecx]
movss dword [ecx], xmm1
movss xmm1, dword [ecx + edi]
add ecx, 8
movss xmm0, dword [eax - 4]
mulss xmm1, dword [eax]
mov edi, dword [esp + 0x20]
mulss xmm0, dword [eax + esi]
addss xmm1, xmm0
addss xmm1, dword [eax + edi]
movss dword [eax + edi], xmm1
add eax, 8
sub edx, 1
jne 0x100b9490
mov edx, dword [esp + 0x2c]
mov eax, edi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
add eax, dword [esp + 0x70]
mov dword [esp + 0x20], eax
movss xmm0, dword [esi + ecx*4]
mulss xmm0, dword [edi + ecx*4]
add esi, dword [esp + 0x5c]
add edi, dword [esp + 0x5c]
mov dword [esp + 0x18], esi
addss xmm0, dword [edx + ecx*4]
mov dword [esp + 0x24], edi
movss dword [edx + ecx*4], xmm0
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x5c]
sub dword [esp + 0x54], 1
mov dword [esp + 0x30], ecx
jne 0x100b9440
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + 0x3c]
add eax, dword [esp + 0x10]
push eax
mov eax, dword [edi + 0x54]
add eax, dword [esp + 0x14]
push eax
push dword [edi + 0xa8]
call fcn.100c0ac0
mov ecx, dword [edi]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x18], eax
test ecx, ecx
jle 0x100b95b8
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], edx
mov esi, dword [edi + 0x3c]
mov edx, ecx
imul edx, dword [esp + 0x40]
add ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x18]
add edx, eax
mov eax, dword [edi + 0x48]
mov edi, dword [ebp + 8]
movss xmm0, dword [eax + edx*4]
subss xmm0, dword [esi + ecx*4]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
movss dword [esi + ecx], xmm0
add ecx, 4
mov dword [esp + 0x54], ecx
mov ecx, dword [edi]
cmp eax, ecx
jl 0x100b9571
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + 0x3c]
xorps xmm3, xmm3
add eax, dword [esp + 0x10]
xorps xmm2, xmm2
sar ecx, 1
mov edx, eax
je 0x100b95f9
nop dword [eax + eax]
movss xmm0, dword [edx]
mulss xmm0, dword [eax]
movss xmm1, dword [edx + 4]
add edx, 8
mulss xmm1, dword [eax + 4]
add eax, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub ecx, 1
jne 0x100b95d0
mov eax, dword [esp + 0x74]
lea edx, [esi*4]
add dword [esp + 0x3c], eax
addss xmm2, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
inc ecx
add dword [esp + 0x28], esi
add eax, edx
cmp ecx, dword [esp + 0x38]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
movss dword [esp + 0x64], xmm2
mov dword [esp + 0x10], eax
jl 0x100b93c7
mov ecx, dword [esp + 0x38]
cmp dword [edi + 0x10], 0
je 0x100b9661
mov eax, dword [esp + 0x34]
push dword [edi + 0xa4]
imul eax, ecx
push eax
push dword [esp + 0x60]
push esi
push dword [edi + 0x60]
call fcn.100b8b30
add esp, 0x14
mov eax, dword [edi + 0x14]
movss xmm4, dword [0x101173f0]
test eax, eax
jne 0x100b99e7
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x100b9bc4
mov edx, dword [esp + 0x34]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xc], eax
imul edx, dword [esp + 0x58]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x34], edx
jle 0x100b99c1
mov eax, dword [esp + 0x58]
dec eax
mov dword [esp + 0x6c], eax
nop word [eax + eax]
mov ecx, eax
mov dword [esp + 0x28], ecx
test ecx, ecx
js 0x100b99aa
lea eax, [esi - 1]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
imul eax, esi
mov dword [esp + 0x80], eax
neg eax
shl eax, 2
mov dword [esp + 0x7c], eax
mov eax, ecx
imul eax, dword [esp + 0x34]
add eax, dword [esp + 0x48]
add eax, edx
imul eax, esi
mov dword [esp + 0x44], eax
shl eax, 2
mov dword [esp + 0x5c], eax
lea eax, [ecx + 1]
imul eax, dword [esp + 0x34]
add eax, edx
imul eax, esi
shl eax, 2
mov dword [esp + 0x3c], eax
nop dword [eax + eax]
mov eax, dword [edi + 0x5c]
mov esi, dword [esp + 0x28]
mov ecx, dword [edi + 0x44]
add ecx, dword [esp + 0x3c]
mov edx, dword [edi + 0x58]
add edx, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0xa4]
movss xmm0, dword [ecx]
mulss xmm0, dword [edx]
mov dword [esp + 0x18], edx
movss xmm3, dword [eax + esi*4]
mov eax, dword [edi + 0x7c]
movaps xmm1, xmm3
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ecx
mulss xmm1, dword [eax]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], 1
mulss xmm1, xmm0
movss dword [eax], xmm1
mov eax, 1
mov dword [esp + 0x10], eax
cmp dword [esp + 0x54], eax
jle 0x100b984d
lea eax, [edx + 8]
add ecx, 4
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x18]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x18]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x54]
add edx, 0xfffffffe
shr edx, 1
inc edx
lea esi, [edx*2 + 1]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
movaps xmm2, xmm3
movss xmm1, dword [ecx]
mulss xmm1, dword [eax - 4]
mulss xmm2, dword [edi + esi*4]
mov edi, dword [esp + 0x74]
movss xmm0, dword [eax]
mov esi, dword [esp + 0x70]
mulss xmm0, dword [edi + eax]
addss xmm1, xmm0
mulss xmm1, xmm2
movss dword [ecx + esi], xmm1
movss xmm1, dword [edi + eax]
movss xmm0, dword [ecx]
xorps xmm1, xmm4
mulss xmm1, dword [eax - 4]
add ecx, 8
mov esi, dword [esp + 0x78]
mulss xmm0, dword [eax]
addss xmm1, xmm0
mulss xmm1, xmm2
movss dword [eax + esi], xmm1
add eax, 8
mov esi, dword [esp + 0x10]
inc esi
mov dword [esp + 0x10], esi
sub edx, 1
jne 0x100b97d0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
movss xmm0, dword [ecx + edi*4]
mov ecx, edi
mulss xmm0, dword [edx + ecx*4]
xor edx, edx
mov ecx, dword [esp + 0x40]
mulss xmm3, dword [ecx + eax*4]
mov eax, edi
mov ecx, dword [esp + 0x30]
mov edi, dword [ebp + 8]
mulss xmm0, xmm3
movss dword [ecx + eax*4], xmm0
cmp esi, 4
jl 0x100b9945
lea eax, [esi - 3]
mov dword [esp + 0x18], edx
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x40], edx
lea eax, [esi + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x5c]
mov edi, dword [esp + 0x18]
add dword [esp + 0x18], 0x10
movss xmm0, dword [eax + edi]
addss xmm0, dword [ecx + esi]
mov edi, dword [ebp + 8]
movss dword [ecx + esi], xmm0
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x5c]
mov edi, dword [esp + 0x40]
add dword [esp + 0x40], 0x10
movss xmm0, dword [eax + edi + 4]
addss xmm0, dword [ecx + esi + 4]
mov edi, dword [ebp + 8]
movss dword [ecx + esi + 4], xmm0
mov ecx, dword [edi + 0x60]
mov eax, dword [edi + 0x5c]
mov edi, dword [esp + 0x24]
add dword [esp + 0x24], 0x10
movss xmm0, dword [edi + ecx - 4]
addss xmm0, dword [eax + edx*4 + 8]
mov eax, dword [esp + 0x10]
mov edi, dword [ebp + 8]
add dword [esp + 0x10], 0x10
movss dword [eax + ecx - 4], xmm0
mov eax, dword [edi + 0x5c]
mov ecx, dword [edi + 0x60]
movss xmm0, dword [eax + edx*4 + 0xc]
add edx, 4
addss xmm0, dword [ecx + esi + 0xc]
movss dword [ecx + esi + 0xc], xmm0
add esi, 0x10
cmp edx, dword [esp + 0x78]
jl 0x100b98a1
mov esi, dword [esp + 0x1c]
cmp edx, esi
jl 0x100b9949
jmp 0x100b9976
test esi, esi
jle 0x100b9976
mov esi, dword [esp + 0x44]
lea esi, [esi + edx]
shl esi, 2
mov eax, dword [edi + 0x5c]
mov ecx, dword [edi + 0x60]
movss xmm0, dword [eax + edx*4]
inc edx
addss xmm0, dword [ecx + esi]
movss dword [ecx + esi], xmm0
add esi, 4
cmp edx, dword [esp + 0x1c]
jl 0x100b9953
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
add dword [esp + 0x3c], eax
add dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
dec ecx
sub eax, dword [esp + 0x80]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], eax
test ecx, ecx
jns 0x100b9720
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x6c]
inc edx
mov dword [esp + 0x2c], edx
cmp edx, dword [esp + 0x34]
jl 0x100b96c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x48]
add ecx, dword [esp + 0x4c]
lea edx, [esi*4]
add eax, edx
mov dword [esp + 0x48], ecx
sub dword [esp + 0x14], 1
mov dword [esp + 0xc], eax
jne 0x100b96a1
mov eax, dword [esp + 0x38]
jmp 0x100b99f7
dec eax
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x100b9bc4
mov esi, dword [esp + 0x34]
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
xor eax, eax
mov dword [esp + 0x28], eax
test esi, esi
jle 0x100b9bab
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x58]
nop dword [eax]
xor esi, esi
mov dword [esp + 0x30], esi
test edx, edx
jle 0x100b9b92
nop
test esi, esi
je 0x100b9a48
mov eax, dword [edi + 0xc]
lea ecx, [edx - 1]
cdq
idiv ecx
lea eax, [esi - 1]
cmp edx, eax
jne 0x100b9b79
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x60]
add ecx, dword [esp + 0x3c]
lea esi, [edi + 0x80]
imul ecx, dword [esp + 0x34]
lea edx, [edi + 0xa8]
push dword [esi]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
mov dword [esp + 0x14], edx
add ecx, dword [esp + 0x2c]
imul ecx, dword [esp + 0x20]
lea eax, [eax + ecx*4]
push eax
push dword [edx]
call fcn.100c0ac0
mov edi, dword [ebp + 8]
add esp, 0xc
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
cmp ecx, edx
jge 0x100b9b45
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x100b9b16
lea eax, [edx - 3]
lea edx, [ecx*4]
mov dword [esp + 0x4c], eax
mov edi, edx
mov eax, dword [esi]
lea edx, [edx + 0x10]
lea edi, [edi + 0x10]
mov dword [edx + eax - 0x10], 0
mov eax, dword [esi]
mov dword [edi + eax - 0xc], 0
mov eax, dword [esi]
mov dword [eax + ecx*4 + 8], 0
mov eax, dword [esi]
mov dword [eax + ecx*4 + 0xc], 0
add ecx, 4
cmp ecx, dword [esp + 0x4c]
jl 0x100b9ac1
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
lea eax, [edi + 0x60]
mov dword [esp + 0x20], eax
lea esi, [edi + 0x80]
lea eax, [edi + 0xa8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x4c], esi
cmp ecx, edx
jge 0x100ba301
mov edi, esi
mov eax, dword [edi]
mov dword [eax + ecx*4], 0
inc ecx
cmp ecx, edx
jl 0x100b9b24
mov edi, dword [ebp + 8]
lea ecx, [edi + 0xa8]
lea esi, [edi + 0x80]
mov dword [esp + 0x10], ecx
lea eax, [edi + 0x60]
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x3c]
imul ecx, dword [esp + 0x34]
mov eax, dword [eax]
add ecx, dword [esp + 0x28]
imul ecx, edx
lea eax, [eax + ecx*4]
push eax
mov eax, dword [esp + 0x14]
push dword [esi]
push dword [eax]
call fcn.100c09c0
mov edi, dword [ebp + 8]
add esp, 0xc
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
inc esi
mov dword [esp + 0x30], esi
cmp esi, edx
jl 0x100b9a30
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
inc eax
mov dword [esp + 0x28], eax
cmp eax, ecx
jl 0x100b9a20
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
add ecx, dword [esp + 0x58]
sub edx, 1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
jne 0x100b9a07
mov esi, dword [esp + 0x1c]
xor ecx, ecx
cmp dword [edi], ecx
jl 0x100b9c08
xor edx, edx
xor esi, esi
nop
mov eax, dword [edi + 0x8c]
lea edx, [edx + 4]
lea esi, [esi + 4]
mov dword [edx + eax - 4], 0
mov eax, dword [edi + 0x88]
mov dword [esi + eax - 4], 0
mov eax, dword [edi + 0x84]
mov dword [eax + ecx*4], 0
inc ecx
cmp ecx, dword [edi]
jle 0x100b9bd0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
xorps xmm0, xmm0
movss dword [esp + 0x3c], xmm0
xorps xmm7, xmm7
movss dword [esp + 0x40], xmm7
mov dword [esp + 0x44], 0
test ecx, ecx
jle 0x100b9f91
mov edx, dword [esp + 0x34]
xor eax, eax
imul edx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x14], edx
imul edx, esi
shl edx, 2
mov dword [esp + 0x7c], edx
nop dword [eax]
mov edx, dword [edi + 0x54]
add edx, eax
mov eax, dword [edi + 0x60]
add eax, ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x44]
mov dword [esp + 0xc], eax
test esi, esi
jle 0x100b9c88
mov ecx, esi
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
cmp dword [esp + 0x14], 0
jle 0x100b9de2
mov edi, dword [esp + 0xc]
lea eax, [esi - 1]
mov dword [esp + 0x2c], eax
lea eax, [esi*4]
mov dword [esp + 0x18], eax
mov eax, esi
mov esi, dword [esp + 0x48]
neg eax
shl eax, 2
mov ecx, esi
mov dword [esp + 0x80], eax
sub ecx, edx
mov eax, edx
mov dword [esp + 0x20], ecx
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
nop word [eax + eax]
cmp dword [esp + 0x2c], 1
movss xmm0, dword [edi]
mulss xmm0, dword [esi]
mov dword [esp + 0x54], 1
addss xmm0, dword [edx]
movss dword [edx], xmm0
jle 0x100b9d91
lea ecx, [edx + 4]
sub esi, edi
mov edx, dword [esp + 0x2c]
lea eax, [edi + 8]
add edx, 0xfffffffe
mov dword [esp + 0x4c], esi
shr edx, 1
inc edx
lea esi, [edx*2 + 1]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x4c]
nop dword [eax + eax]
mov edi, dword [esp + 0x20]
movss xmm0, dword [eax]
mulss xmm0, dword [esi + eax]
movss xmm1, dword [edi + ecx]
mulss xmm1, dword [eax - 4]
subss xmm1, xmm0
addss xmm1, dword [ecx]
movss dword [ecx], xmm1
movss xmm0, dword [edi + ecx]
add ecx, 8
movss xmm1, dword [eax - 4]
mulss xmm1, dword [esi + eax]
mov edi, dword [esp + 0x10]
mulss xmm0, dword [eax]
addss xmm1, xmm0
addss xmm1, dword [edi + eax]
movss dword [edi + eax], xmm1
add eax, 8
sub edx, 1
jne 0x100b9d30
mov edx, dword [esp + 0x6c]
mov eax, edi
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
add eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
movss xmm0, dword [esi + ecx*4]
mulss xmm0, dword [edi + ecx*4]
add edi, dword [esp + 0x18]
add esi, dword [esp + 0x18]
mov dword [esp + 0xc], edi
addss xmm0, dword [edx + ecx*4]
mov dword [esp + 0x48], esi
movss dword [edx + ecx*4], xmm0
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x18]
sub dword [esp + 0x24], 1
mov dword [esp + 0x20], ecx
jne 0x100b9ce0
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + 0x4c]
add eax, dword [esp + 0x28]
push eax
mov eax, dword [edi + 0x54]
add eax, dword [esp + 0x2c]
push eax
push dword [edi + 0xa8]
call fcn.100c0ac0
mov eax, dword [edi]
add esp, 0xc
mov dword [esp + 0x4c], 0
test eax, eax
jle 0x100b9e53
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
nop word [eax + eax]
mov edx, dword [esp + 0x30]
mov ecx, dword [edi + 0x3c]
add edx, eax
mov eax, dword [edi + 0x4c]
add edx, esi
inc esi
movss xmm0, dword [ecx + edx*4]
subss xmm0, dword [eax + edx*4]
mov eax, dword [esp + 0x2c]
movss dword [ecx + eax], xmm0
add eax, 4
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
cmp esi, eax
jl 0x100b9e20
mov esi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x3c]
xorps xmm3, xmm3
add ecx, dword [esp + 0x28]
xorps xmm2, xmm2
sar eax, 1
mov edx, ecx
je 0x100b9e99
nop word [eax + eax]
movss xmm0, dword [edx]
mulss xmm0, dword [ecx]
movss xmm1, dword [edx + 4]
add edx, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub eax, 1
jne 0x100b9e70
addss xmm2, dword [0x1013b2a4]
mov eax, dword [edi]
xor ecx, ecx
mov dword [esp + 0xc], ecx
addss xmm2, dword [esp + 0x40]
movaps xmm7, xmm2
movss dword [esp + 0x40], xmm7
test eax, eax
jle 0x100b9f0d
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x30]
mov esi, eax
imul esi, dword [esp + 0x44]
add edx, eax
add edx, dword [esp + 0xc]
mov eax, dword [edi + 0x4c]
add esi, ecx
mov ecx, dword [edi + 0x48]
movss xmm0, dword [ecx + esi*4]
subss xmm0, dword [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
movss dword [edx + eax], xmm0
add edx, 4
mov eax, dword [edi]
mov dword [esp + 0x2c], edx
cmp ecx, eax
jl 0x100b9ec4
mov esi, dword [esp + 0x1c]
mov ecx, dword [edi + 0x3c]
movaps xmm2, xmm3
add ecx, dword [esp + 0x28]
sar eax, 1
mov edx, ecx
je 0x100b9f49
nop dword [eax]
movss xmm0, dword [edx]
mulss xmm0, dword [ecx]
movss xmm1, dword [edx + 4]
add edx, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub eax, 1
jne 0x100b9f20
movss xmm0, dword [esp + 0x3c]
lea edx, [esi*4]
mov eax, dword [esp + 0x7c]
addss xmm0, xmm2
add dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
inc ecx
add dword [esp + 0x30], esi
add eax, edx
cmp ecx, dword [esp + 0x38]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x5c]
movss dword [esp + 0x3c], xmm0
mov dword [esp + 0x28], eax
jl 0x100b9c60
mov ecx, dword [esp + 0x38]
movss xmm5, dword [esp + 0x64]
movaps xmm6, xmm7
movss xmm2, dword [0x1014efa8]
subss xmm5, xmm0
movss xmm0, dword [edi + 0x68]
mulss xmm0, dword [0x1014efac]
movss xmm1, dword [0x1014efa0]
movss xmm3, dword [edi + 0x6c]
movaps xmm4, xmm5
mulss xmm3, dword [0x1014efc0]
mulss xmm4, xmm2
mulss xmm6, xmm2
addss xmm4, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm1
addss xmm3, xmm0
movss dword [edi + 0x68], xmm4
movss xmm0, dword [esp + 0x64]
mulss xmm0, xmm2
movaps xmm2, xmm7
mulss xmm2, xmm1
mulss xmm6, xmm0
movss xmm0, dword [edi + 0x70]
mulss xmm0, dword [0x1014efa4]
movss dword [edi + 0x6c], xmm3
addss xmm6, xmm0
movss xmm0, dword [esp + 0x64]
mulss xmm0, xmm1
movss xmm1, dword [0x101173f0]
mulss xmm2, xmm0
movss xmm0, dword [edi + 0x74]
mulss xmm0, dword [0x1014efb8]
movss dword [edi + 0x70], xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm5
movss dword [edi + 0x74], xmm2
movaps xmm0, xmm5
jbe 0x100ba051
xorps xmm0, xmm1
mulss xmm7, dword [esp + 0x64]
mulss xmm0, xmm5
movss xmm5, dword [0x10138260]
comiss xmm0, xmm7
ja 0x100ba30a
xorps xmm0, xmm0
comiss xmm0, xmm4
movaps xmm0, xmm4
jbe 0x100ba07a
xorps xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm5
xorps xmm5, xmm5
comiss xmm1, xmm0
ja 0x100ba30d
comiss xmm5, xmm3
movaps xmm0, xmm3
jbe 0x100ba0a3
xorps xmm0, xmmword [0x101173f0]
movaps xmm1, xmm3
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [0x1013b280]
comiss xmm1, xmm0
ja 0x100ba30d
movss xmm0, dword [esp + 0x64]
xorps xmm5, xmm5
movaps xmm1, xmm0
xor eax, eax
subss xmm0, dword [esp + 0x3c]
subss xmm1, dword [esp + 0x3c]
comiss xmm5, xmm0
jbe 0x100ba0e4
xorps xmm1, xmmword [0x101173f0]
movss xmm0, dword [esp + 0x64]
mov edx, 1
subss xmm0, dword [esp + 0x3c]
movss xmm5, dword [0x101173f0]
xorps xmm0, xmm5
mulss xmm0, xmm1
movss xmm1, dword [0x1013b290]
mulss xmm7, xmm1
comiss xmm0, xmm7
xorps xmm7, xmm7
movaps xmm0, xmm4
cmova eax, edx
comiss xmm7, xmm4
jbe 0x100ba124
xorps xmm0, xmm5
xorps xmm4, xmm5
mulss xmm6, xmm1
mulss xmm4, xmm0
movaps xmm0, xmm3
comiss xmm4, xmm6
cmova eax, edx
comiss xmm7, xmm3
jbe 0x100ba140
xorps xmm0, xmm5
xorps xmm3, xmm5
mulss xmm2, xmm1
mulss xmm3, xmm0
comiss xmm3, xmm2
ja 0x100ba158
test eax, eax
je 0x100ba473
mov eax, dword [esp + 0x34]
xor edx, edx
imul eax, ecx
imul eax, dword [esp + 0x58]
imul eax, esi
mov dword [esp + 0x14], eax
cmp eax, 4
jl 0x100ba1db
add eax, 0xfffffffd
mov dword [esp + 0xc], edx
mov dword [esp + 0x4c], eax
xor esi, esi
nop
mov eax, dword [edi + 0x64]
lea esi, [esi + 0x10]
mov ecx, dword [edi + 0x60]
mov edi, dword [esp + 0xc]
add dword [esp + 0xc], 0x10
mov eax, dword [esi + eax - 0x10]
mov dword [edi + ecx], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
mov eax, dword [eax + edx*4 + 4]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
mov eax, dword [eax + edx*4 + 8]
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
mov eax, dword [eax + edx*4 + 0xc]
mov dword [ecx + edx*4 + 0xc], eax
add edx, 4
cmp edx, dword [esp + 0x4c]
jl 0x100ba180
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp edx, eax
jge 0x100ba1fc
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
inc edx
cmp edx, esi
jl 0x100ba1e3
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x48], 0
test ecx, ecx
jle 0x100ba2d4
xor edx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x44], edx
nop word [eax + eax]
mov eax, dword [edi]
mov dword [esp + 0x4c], 0
test eax, eax
jle 0x100ba251
mov esi, dword [esp + 0x4c]
mov ecx, dword [edi + 0x4c]
add edx, eax
mov eax, dword [edi + 0x3c]
add edx, esi
inc esi
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, dword [edi]
mov edx, dword [esp + 0x10]
cmp esi, eax
jl 0x100ba232
mov esi, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0xc], ecx
test eax, eax
jle 0x100ba2ac
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], esi
mov esi, eax
add edx, eax
imul esi, dword [esp + 0x48]
add edx, dword [esp + 0xc]
mov eax, dword [edi + 0x4c]
add esi, ecx
mov ecx, dword [edi + 0x48]
movss xmm0, dword [ecx + esi*4]
subss xmm0, dword [eax + edx*4]
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0xc]
inc ecx
mov dword [esp + 0xc], ecx
movss dword [edx + eax], xmm0
add edx, 4
mov eax, dword [edi]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
cmp ecx, eax
jl 0x100ba263
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
lea eax, [esi*4]
add dword [esp + 0x44], eax
inc ecx
add edx, esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x10], edx
cmp ecx, dword [esp + 0x38]
jl 0x100ba220
mov ecx, dword [esp + 0x38]
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x3c], xmm0
mov dword [edi + 0x6c], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x74], 0
mov dword [edi + 0x70], 0
jmp 0x100ba473
mov eax, dword [esp + 0x20]
jmp 0x100b9b48
xorps xmm5, xmm5
mov eax, dword [esp + 0x34]
xor edx, edx
imul eax, ecx
mov dword [edi + 0x6c], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x74], 0
mov dword [edi + 0x70], 0
imul eax, dword [esp + 0x58]
imul eax, esi
mov dword [esp + 0x14], eax
cmp eax, 4
jl 0x100ba3ab
add eax, 0xfffffffd
mov dword [esp + 0xc], edx
mov dword [esp + 0x4c], eax
xor esi, esi
mov eax, dword [edi + 0x60]
lea esi, [esi + 0x10]
mov ecx, dword [edi + 0x64]
mov edi, dword [esp + 0xc]
add dword [esp + 0xc], 0x10
mov eax, dword [esi + eax - 0x10]
mov dword [edi + ecx], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov eax, dword [eax + edx*4 + 4]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov eax, dword [eax + edx*4 + 8]
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov eax, dword [eax + edx*4 + 0xc]
mov dword [ecx + edx*4 + 0xc], eax
add edx, 4
cmp edx, dword [esp + 0x4c]
jl 0x100ba350
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
cmp edx, eax
jge 0x100ba3cc
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
inc edx
cmp edx, esi
jl 0x100ba3b3
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x100ba470
xor edx, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc], edx
nop
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jle 0x100ba444
lea esi, [ecx + edx]
mov ecx, dword [edi + 0xa0]
mov edx, dword [edi + 0x3c]
add esi, eax
mov eax, dword [edi + 0x4c]
mov edi, dword [esp + 0x10]
movss xmm1, dword [ecx + edi*4]
mulss xmm1, dword [eax + esi*4]
mov eax, edi
add eax, dword [esp + 0x14]
movss xmm0, dword [ecx + eax*4]
mov eax, edi
mulss xmm0, dword [edx + esi*4]
inc eax
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], eax
addss xmm1, xmm0
movss dword [edx + esi*4], xmm1
mov ecx, dword [edi]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
cmp eax, ecx
jl 0x100ba3f0
mov esi, dword [esp + 0x1c]
add edx, esi
sub dword [esp + 0x2c], 1
mov dword [esp + 0xc], edx
jne 0x100ba3e0
movaps xmm3, xmm5
movss dword [esp + 0x10], xmm5
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x18], xmm5
mov dword [esp + 0x30], 0
jmp 0x100ba49b
xorps xmm7, xmm7
movss dword [esp + 0x24], xmm7
movaps xmm2, xmm7
movss dword [esp + 0x10], xmm2
movaps xmm3, xmm7
movss dword [esp + 0x18], xmm7
mov dword [esp + 0x30], 0
test ecx, ecx
jle 0x100ba8d6
lea eax, [esi - 1]
xor ecx, ecx
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], eax
mov edx, dword [edi]
xor eax, eax
mov dword [esp + 0x14], eax
test edx, edx
jle 0x100ba5dc
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp + 0x14]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edi + 0x48]
mov esi, edx
imul esi, dword [esp + 0x30]
add edx, dword [esp + 0x28]
add edx, eax
add esi, eax
mov eax, dword [edi + 0x3c]
movss xmm1, dword [ecx + esi*4]
subss xmm1, dword [eax + edx*4]
mov eax, dword [edi + 0xb4]
mov edx, 0xffff8300
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
movss xmm0, dword [eax + ecx*4]
mulss xmm0, dword [edi + 0xb8]
mov eax, dword [esp + 0x4c]
addss xmm1, xmm0
movzx eax, word [eax + esi]
movss dword [esp + 0x6c], xmm1
cmp ax, dx
jle 0x100ba535
mov edx, 0x7d00
cmp ax, dx
jl 0x100ba542
cmp dword [edi + 0x14], 0
jne 0x100ba542
mov dword [edi + 0x14], 1
movss xmm0, dword [0x1014f024]
comiss xmm0, xmm1
jbe 0x100ba556
mov eax, 0xffff8000
jmp 0x100ba5ac
comiss xmm1, dword [0x1014f01c]
jbe 0x100ba566
mov eax, 0x7fff
jmp 0x100ba5ac
cvtps2pd xmm0, xmm1
sub esp, 8
addsd xmm0, qword [0x10160458]
movsd qword [esp + 0x88], xmm0
fld qword [esp + 0x88]
fstp qword [esp]
call fcn.100d3970
movss xmm1, dword [esp + 0x74]
add esp, 8
mov ecx, dword [esp + 0x30]
fstp qword [esp + 0x80]
cvttsd2si eax, qword [esp + 0x80]
movzx eax, ax
mov edx, dword [esp + 0x38]
mov word [esi], ax
mov eax, dword [edi + 0xb4]
lea esi, [esi + edx*2]
mov dword [esp + 0x2c], esi
movss dword [eax + ecx*4], xmm1
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jl 0x100ba4d5
mov ecx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x14], eax
test edx, edx
jle 0x100ba625
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
nop
mov edx, dword [edi + 0x3c]
lea esi, [esi + 4]
add ecx, eax
add ecx, dword [esp + 0x2c]
mov eax, dword [edx + esi - 4]
mov dword [edx + ecx*4], eax
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0x28]
mov dword [esi + eax - 4], 0
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], edx
cmp eax, edx
jl 0x100ba5f0
mov eax, dword [esp + 0x28]
xorps xmm3, xmm3
mov esi, dword [edi + 0x3c]
add eax, edx
mov ecx, dword [edi + 0x4c]
xorps xmm2, xmm2
shl eax, 2
add esi, eax
add ecx, eax
sar edx, 1
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x1c]
je 0x100ba679
mov eax, dword [esp + 0x4c]
nop
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
movss xmm1, dword [eax + 4]
add eax, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub edx, 1
jne 0x100ba650
mov edx, dword [edi]
mov ecx, dword [esp + 0x28]
addss xmm2, dword [esp + 0x18]
mov eax, dword [edi + 0x4c]
add ecx, edx
sar edx, 1
lea eax, [eax + ecx*4]
movss dword [esp + 0x18], xmm2
mov ecx, eax
movaps xmm2, xmm3
je 0x100ba71b
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
movss xmm1, dword [eax + 4]
add eax, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub edx, 1
jne 0x100ba6a0
mov edx, dword [edi]
mov ecx, dword [esp + 0x30]
movss xmm0, dword [esp + 0x10]
mov eax, dword [edi + 0x48]
addss xmm0, xmm2
imul ecx, edx
movaps xmm2, xmm3
sar edx, 1
movss dword [esp + 0x10], xmm0
lea eax, [eax + ecx*4]
mov ecx, eax
nop
movss xmm0, dword [ecx]
mulss xmm0, dword [eax]
movss xmm1, dword [ecx + 4]
add ecx, 8
mulss xmm1, dword [eax + 4]
add eax, 8
addss xmm0, xmm3
addss xmm1, xmm0
addss xmm2, xmm1
sub edx, 1
jne 0x100ba6f0
jmp 0x100ba72a
addss xmm2, dword [esp + 0x10]
movss dword [esp + 0x10], xmm2
movaps xmm2, xmm3
mov eax, dword [edi + 0x58]
add eax, dword [esp + 0x20]
addss xmm2, dword [esp + 0x24]
push eax
mov eax, dword [edi + 0x3c]
add eax, dword [esp + 0x24]
push eax
push dword [edi + 0xa8]
movss dword [esp + 0x30], xmm2
call fcn.100c09c0
xor edx, edx
add esp, 0xc
cmp dword [edi], edx
jle 0x100ba773
mov ecx, dword [esp + 0x28]
nop
mov eax, dword [edi + 0x4c]
lea ecx, [ecx + 1]
inc edx
mov dword [eax + ecx*4 - 4], 0
cmp edx, dword [edi]
jl 0x100ba760
mov eax, dword [edi + 0x54]
add eax, dword [esp + 0x20]
push eax
mov eax, dword [edi + 0x4c]
add eax, dword [esp + 0x24]
push eax
push dword [edi + 0xa8]
call fcn.100c09c0
mov edx, dword [edi + 0x58]
add esp, 0xc
add edx, dword [esp + 0x20]
mov eax, dword [edi + 0x84]
mov dword [esp + 0x14], eax
movss xmm0, dword [edx]
mulss xmm0, xmm0
addss xmm0, dword [eax]
movss dword [eax], xmm0
mov eax, 1
mov ecx, eax
cmp dword [esp + 0x40], eax
jle 0x100ba7ff
mov esi, dword [esp + 0x14]
nop dword [eax]
nop word [eax + eax]
movss xmm1, dword [edx + eax*4 + 4]
movss xmm0, dword [edx + eax*4]
add eax, 2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, dword [esi + ecx*4]
movss dword [esi + ecx*4], xmm1
inc ecx
cmp eax, dword [esp + 0x40]
jl 0x100ba7d0
mov esi, dword [esp + 0x1c]
movss xmm0, dword [edx + eax*4]
mov eax, dword [esp + 0x14]
mulss xmm0, xmm0
addss xmm0, dword [eax + ecx*4]
movss dword [eax + ecx*4], xmm0
mov eax, dword [edi + 0x54]
add eax, dword [esp + 0x20]
mov edx, dword [edi + 0x88]
mov dword [esp + 0x14], eax
movss xmm0, dword [eax]
mov eax, 1
mov ecx, eax
mulss xmm0, xmm0
addss xmm0, dword [edx]
movss dword [edx], xmm0
cmp dword [esp + 0x40], eax
jle 0x100ba87b
mov edi, dword [esp + 0x14]
nop dword [eax + eax]
movss xmm1, dword [edi + eax*4 + 4]
movss xmm0, dword [edi + eax*4]
add eax, 2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm1
inc ecx
cmp eax, dword [esp + 0x40]
jl 0x100ba850
mov edi, dword [esp + 0x14]
add dword [esp + 0xc], 2
movss xmm0, dword [edi + eax*4]
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 8]
inc eax
mulss xmm0, xmm0
mov dword [esp + 0x30], eax
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
lea edx, [esi*4]
mov ecx, dword [esp + 0x28]
add dword [esp + 0x20], edx
add ecx, esi
mov dword [esp + 0x28], ecx
cmp eax, dword [esp + 0x38]
jl 0x100ba4b3
movss xmm2, dword [esp + 0x10]
xorps xmm7, xmm7
comiss xmm2, xmm7
jb 0x100ba940
movss xmm3, dword [esp + 0x24]
movss xmm6, dword [esp + 0x50]
comiss xmm6, xmm7
jb 0x100ba946
movss xmm4, dword [esp + 0x3c]
comiss xmm4, xmm7
jb 0x100ba94c
movss xmm5, dword [esp + 0x64]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm5
mulsd xmm1, qword [0x1014f000]
comisd xmm1, xmm0
jbe 0x100ba94c
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
comisd xmm1, xmm0
jbe 0x100ba94c
cvtps2pd xmm0, xmm6
comisd xmm1, xmm0
jbe 0x100ba94c
movd xmm0, esi
lea edx, [edi + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1014f014]
addss xmm0, xmm3
comiss xmm5, xmm0
jbe 0x100ba9ab
inc dword [edx]
jmp 0x100ba97d
movss xmm6, dword [esp + 0x50]
movss xmm4, dword [esp + 0x3c]
mov eax, dword [edi]
lea edx, [edi + 0x18]
imul eax, dword [esp + 0x38]
xor ecx, ecx
add dword [edx], 0x32
test eax, eax
jle 0x100ba97d
mov edx, dword [esp + 0x38]
mov esi, dword [ebp + 0x14]
xor eax, eax
mov word [esi + ecx*2], ax
inc ecx
mov eax, dword [edi]
imul eax, edx
cmp ecx, eax
jl 0x100ba966
mov esi, dword [esp + 0x1c]
lea edx, [edi + 0x18]
cmp dword [edx], 0x32
jl 0x100ba9b3
push str.The_echo_canceller_started_acting_funny_and_got_slapped__reset_._It_swears_it_will_behave_now.
push 0x1014ef18
push 2
call fcn.100c8d06
add esp, 4
push eax
call fcn.10074c50
push edi
call fcn.100bba40
add esp, 0x10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov dword [edx], 0
jmp 0x100ba97d
cmp dword [esp + 0x34], 0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1014f008]
maxss xmm4, xmm0
movss dword [esp + 0x3c], xmm4
jle 0x100baad4
lea eax, [esi - 1]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov edx, dword [edi]
movaps xmm2, xmm7
lea ecx, [eax + edx]
sar edx, 1
mov eax, dword [edi + 0x40]
lea eax, [eax + ecx*4]
mov ecx, eax
je 0x100baa29
nop dword [eax + eax]
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
movss xmm1, dword [eax + 4]
add eax, 8
mulss xmm1, dword [ecx + 4]
add ecx, 8
addss xmm0, xmm7
addss xmm1, xmm0
addss xmm2, xmm1
sub edx, 1
jne 0x100baa00
mov eax, dword [edi + 0x44]
addss xmm6, xmm2
mov ecx, dword [esp + 0xc]
movss xmm0, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
mov edx, dword [edi + 0x8c]
mulss xmm0, xmm0
mov dword [esp + 0x2c], eax
mov eax, 1
mov ecx, eax
addss xmm0, dword [edx]
movss dword [edx], xmm0
cmp dword [esp + 0x14], eax
jle 0x100baa9f
mov esi, dword [esp + 0x2c]
nop dword [eax]
nop word [eax + eax]
movss xmm1, dword [esi + eax*4 + 4]
movss xmm0, dword [esi + eax*4]
add eax, 2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm1
inc ecx
cmp eax, dword [esp + 0x14]
jl 0x100baa70
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
movss xmm0, dword [edi + eax*4]
mov eax, dword [esp + 0xc]
mov edi, dword [ebp + 8]
add eax, esi
sub dword [esp + 0x34], 1
mulss xmm0, xmm0
mov dword [esp + 0xc], eax
addss xmm0, dword [edx + ecx*4]
movss dword [edx + ecx*4], xmm0
jne 0x100ba9e4
movss dword [esp + 0x50], xmm6
mov edx, dword [edi]
movss xmm4, dword [0x1011fc14]
mov dword [esp + 0x24], edx
test edx, edx
js 0x100bac27
movss xmm2, dword [esp + 0x88]
xor eax, eax
movss xmm3, dword [esp + 0x8c]
xor edx, edx
mov dword [esp + 0x14], eax
xor esi, esi
mov dword [esp + 0xc], edx
jmp 0x100bab14
mov edx, dword [esp + 0xc]
mov ecx, dword [edi + 0x78]
movaps xmm1, xmm2
add dword [esp + 0xc], 4
movaps xmm0, xmm3
mulss xmm1, dword [ecx + eax]
mov eax, dword [edi + 0x8c]
addss xmm1, xmm4
mulss xmm0, dword [eax + edx]
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
addss xmm1, xmm0
movss dword [ecx + esi*4], xmm1
inc esi
mov edx, dword [edi]
cmp esi, edx
jle 0x100bab10
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
test edx, edx
js 0x100bac27
lea esi, [edx*4]
mov dword [esp + 0xc], esi
nop dword [eax]
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x94]
movss xmm1, dword [eax + esi]
sub esi, 4
mov eax, dword [esp + 0xc]
sub dword [esp + 0xc], 4
subss xmm1, dword [ecx + eax]
mov eax, dword [edi + 0x84]
movss xmm3, dword [eax + edx*4]
mov eax, dword [edi + 0x90]
movaps xmm0, xmm3
subss xmm0, dword [eax + edx*4]
mulss xmm0, xmm1
mulss xmm1, xmm1
addss xmm0, dword [esp + 0x68]
addss xmm1, dword [esp + 0x60]
movss dword [esp + 0x68], xmm0
movaps xmm0, xmm4
movss dword [esp + 0x60], xmm1
movss xmm1, dword [edi + 0x28]
subss xmm0, xmm1
mulss xmm1, xmm3
mulss xmm0, dword [eax + edx*4]
addss xmm0, xmm1
movss dword [eax + edx*4], xmm0
movaps xmm0, xmm4
movss xmm1, dword [edi + 0x28]
mov ecx, dword [edi + 0x94]
subss xmm0, xmm1
mov eax, dword [edi + 0x88]
mulss xmm0, dword [ecx + edx*4]
mulss xmm1, dword [eax + edx*4]
addss xmm0, xmm1
movss dword [ecx + edx*4], xmm0
sub edx, 1
jns 0x100bab70
mov eax, dword [edi]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
movss xmm0, dword [esp + 0x60]
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x100bac3f
sqrtsd xmm0, xmm0
jmp 0x100bac44
call fcn.100d3870
movss xmm6, dword [esp + 0x3c]
xorps xmm2, xmm2
movss xmm4, dword [esp + 0x10]
movaps xmm3, xmm6
mulss xmm3, dword [edi + 0x30]
movss xmm5, dword [esp + 0x68]
cvtsd2ss xmm2, xmm0
movaps xmm0, xmm4
movss xmm7, dword [0x1011fc14]
mulss xmm0, dword [edi + 0x2c]
movaps xmm1, xmm7
divss xmm5, xmm2
minss xmm3, xmm0
divss xmm3, xmm6
subss xmm1, xmm3
mulss xmm5, xmm3
mulss xmm3, xmm2
movaps xmm0, xmm1
mulss xmm1, dword [edi + 0x9c]
mulss xmm0, dword [edi + 0x98]
addss xmm3, xmm1
addss xmm5, xmm0
comiss xmm7, xmm3
movss dword [edi + 0x98], xmm5
movss dword [edi + 0x9c], xmm3
jbe 0x100baccd
mov dword [edi + 0x9c], 0x3f800000
movaps xmm3, xmm7
movaps xmm0, xmm3
mulss xmm0, dword [0x1014ef98]
comiss xmm0, xmm5
jbe 0x100bace8
movaps xmm5, xmm0
movss dword [edi + 0x98], xmm5
comiss xmm5, xmm3
jbe 0x100bacf8
movss dword [edi + 0x98], xmm3
movaps xmm5, xmm3
divss xmm5, xmm3
comiss xmm5, dword [0x1014f018]
jbe 0x100bad0d
movss xmm5, dword [0x1014f020]
cmp dword [edi + 0x10], 0
movaps xmm0, xmm4
movss xmm3, dword [esp + 0x18]
mulss xmm0, xmm6
movss dword [edi + 0x38], xmm5
mulss xmm5, xmm4
addss xmm0, xmm7
mulss xmm3, xmm3
movss xmm7, dword [esp + 0x50]
cvtps2pd xmm1, xmm5
divss xmm3, xmm0
mulsd xmm1, qword [0x1014efe8]
cvtps2pd xmm0, xmm7
cvtps2pd xmm2, xmm6
mulsd xmm0, qword [0x1014efb0]
movss dword [esp + 0x68], xmm5
movss xmm5, dword [0x10138260]
addsd xmm1, xmm0
divsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
maxss xmm3, xmm0
minss xmm5, xmm3
jne 0x100bada3
movd xmm1, dword [esp + 0x58]
movss xmm0, dword [edi + 0x34]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100badd6
mulss xmm4, dword [0x1014ef9c]
movss xmm0, dword [esp + 0x68]
comiss xmm0, xmm4
jbe 0x100badd6
mov dword [edi + 0x10], 1
mov edx, dword [esp + 0x24]
xor ecx, ecx
test edx, edx
js 0x100baefb
movsd xmm4, qword [0x1014efd0]
xor esi, esi
movss xmm6, dword [0x1013b2a4]
xor edx, edx
movss xmm7, dword [0x1011fc14]
mov dword [esp + 0x60], edx
jmp 0x100bae74
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1014f00c]
comiss xmm7, xmm0
jbe 0x100bae10
mulsd xmm2, qword [0x1014efc8]
movaps xmm3, xmm7
mulss xmm3, dword [0x1013b280]
cvtps2pd xmm0, xmm3
comisd xmm0, xmm2
jbe 0x100bae0a
cvtpd2ps xmm3, xmm2
divss xmm3, xmm6
jmp 0x100bae13
xorps xmm3, xmm3
mov edx, dword [esp + 0x24]
xor ecx, ecx
test edx, edx
js 0x100bae5e
movss xmm6, dword [0x1013b2a4]
xor esi, esi
xor edx, edx
mov dword [esp + 0x60], edx
jmp 0x100bae34
mov edx, dword [esp + 0x60]
mov eax, dword [edi + 0x78]
movaps xmm1, xmm3
add dword [esp + 0x60], 4
inc ecx
movss xmm0, dword [eax + esi]
add esi, 4
addss xmm0, xmm6
mov eax, dword [edi + 0x7c]
divss xmm1, xmm0
movss dword [edx + eax], xmm1
mov edx, dword [edi]
cmp ecx, edx
jle 0x100bae30
addss xmm3, dword [edi + 0x34]
movss dword [edi + 0x34], xmm3
jmp 0x100baefb
mov edx, dword [esp + 0x60]
mov eax, dword [edi + 0x88]
movss xmm2, dword [eax + esi]
mov eax, dword [edi + 0x84]
mulss xmm2, dword [edi + 0x38]
movss xmm3, dword [eax + edx]
addss xmm3, xmm7
cvtps2pd xmm0, xmm2
cvtps2pd xmm1, xmm3
mulsd xmm1, qword [0x10160458]
comisd xmm0, xmm1
jbe 0x100baeab
cvtpd2ps xmm2, xmm1
mov eax, dword [edi + 0x78]
movaps xmm0, xmm3
mulss xmm0, xmm5
add esi, 4
add dword [esp + 0x60], 4
cvtps2pd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm4
mulsd xmm0, qword [0x1014efe0]
addsd xmm1, xmm0
movss xmm0, dword [eax + ecx*4]
addss xmm0, xmm6
mov eax, dword [edi + 0x7c]
cvtpd2ps xmm1, xmm1
mulss xmm0, xmm3
divss xmm1, xmm0
movss dword [eax + ecx*4], xmm1
inc ecx
mov edx, dword [edi]
cmp ecx, edx
jle 0x100bae70
xor esi, esi
test edx, edx
jle 0x100baf14
mov ecx, dword [edi + 0x50]
lea eax, [edx + esi]
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
inc esi
mov edx, dword [edi]
cmp esi, edx
jl 0x100baf01
cmp dword [edi + 0x10], 0
je 0x100baf5e
xor esi, esi
test edx, edx
jle 0x100baf5e
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
sub ecx, eax
mov dword [ebp + 0xc], ecx
nop dword [eax + eax]
movsx ecx, word [ecx + eax]
movsx eax, word [eax]
sub ecx, eax
mov eax, dword [edi + 0x50]
movd xmm0, ecx
lea ecx, [edx + esi]
cvtdq2ps xmm0, xmm0
inc esi
movss dword [eax + ecx*4], xmm0
mov eax, dword [ebp + 0x14]
mov edx, dword [edi]
add eax, 2
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
cmp esi, edx
jl 0x100baf30
pop edi
pop esi
mov esp, ebp
pop ebp
ret