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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov ebp, dword [esp + 0x74]
movss xmm0, dword [esp + 0x80]
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x10], eax
mov edi, dword [ebp + 0x3c]
mov dword [esp + 0x18], edi
mov ebx, edi
imul ebx, eax
movss xmm1, dword [0x103574f4]
mulss xmm0, xmm1
cvttss2si ecx, xmm0
mov eax, ecx
cdq
mov esi, dword [ebp + 0x30]
idiv edi
mov edi, eax
test eax, eax
mov eax, 1
cmove edi, eax
cmp ebx, ecx
movss xmm0, dword [esp + 0x84]
cmovle edi, dword [esp + 0x10]
mulss xmm0, xmm1
cvttss2si ecx, xmm0
mov eax, ecx
cdq
idiv dword [esp + 0x18]
test eax, eax
mov edx, 1
cmove eax, edx
cmp ebx, ecx
cmovle eax, dword [esp + 0x10]
mov ebx, dword [0x1042dd60]
mov ecx, dword [ebx + 0x98]
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x18], edx
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], eax
lea ecx, [eax + edi]
mov dword [esp + 0x58], ecx
lea edx, [ecx*4 + 4]
mov ecx, esi
imul ecx, edx
mov dword [ebp + 0x40], ecx
add esi, 0xffffffff
mov dword [esp + 0x4c], edx
imul esi, edx
add esi, esi
lea ecx, [esi + esi*2]
mov dword [ebp + 0x44], ecx
movss xmm2, dword [ebp + 0x20]
movss xmm1, dword [ebp + 0x24]
movss xmm0, dword [ebp + 0x28]
mov ecx, dword [ebx + 0x19b4]
mov byte [ecx + 0x7c], 1
movss xmm3, dword [0x103564b8]
minss xmm2, xmm3
movss dword [esp + 0x24], xmm2
minss xmm1, xmm3
movss dword [esp + 0x10], xmm1
minss xmm0, xmm3
movss dword [esp + 0x14], xmm0
mov eax, dword [ebx + 0x19b4]
mov ecx, dword [eax + 0x27c]
mov eax, dword [ebp + 0x40]
mov edx, dword [ebp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x40], ecx
call fcn.1025a8c0
sub esp, 8
movss xmm3, dword [0x103564b8]
movss xmm4, dword [esp + 0x84]
movss xmm6, dword [0x103574f4]
movss xmm2, dword [esp + 0x80]
mov ecx, dword [ebp + 0x30]
test ecx, ecx
jle 0x10236730
xorps xmm7, xmm7
movss xmm0, dword [esp + 0x24]
maxss xmm0, xmm7
movss xmm5, dword [0x103564b0]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
movss xmm1, dword [esp + 0x7c]
movss xmm0, dword [esp + 0x10]
maxss xmm0, xmm7
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
movss xmm7, dword [esp + 0x78]
addss xmm4, xmm1
addss xmm2, xmm7
shl ecx, 8
movss xmm0, dword [esp + 0x14]
maxss xmm0, dword [0x103574f0]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si esi, xmm0
or ecx, eax
shl esi, 0x10
or esi, ecx
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x40]
mov edi, dword [eax + 0x38]
mov eax, dword [esp + 0x48]
neg eax
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x44]
neg ebx
xor eax, eax
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x10], xmm4
mov dword [esp + 0x54], ebx
jmp 0x10235c4e
add eax, 1
mov ecx, dword [ebp + 0x30]
cmp eax, ecx
jge 0x10236730
mov dword [esp + 0x30], eax
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
xorps xmm4, xmm4
cvtsi2ss xmm4, dword [ebp + 0x34]
mulss xmm4, xmm0
mulss xmm0, dword [0x10357acc]
addss xmm0, xmm3
mulss xmm4, xmm0
movaps xmm0, xmm1
subss xmm0, xmm4
movss dword [esp + 0x28], xmm0
movaps xmm0, xmm4
addss xmm0, xmm2
movss dword [esp + 0x38], xmm0
movaps xmm0, xmm7
subss xmm0, xmm4
movss dword [esp + 0x34], xmm0
addss xmm4, dword [esp + 0x10]
movss dword [esp + 0x2c], xmm4
xor esi, esi
mov eax, dword [esp + 0x30]
jmp 0x10235cd9
movaps xmm3, xmm1
movss xmm2, dword [esp + 0x14]
movss xmm1, dword [esp + 0x7c]
movss xmm7, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x5c]
add esi, 1
cmp esi, 4
je 0x10235c40
cmp esi, 3
mov dword [esp + 0x5c], esi
ja case.default.0x10235cf0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp + 0x3c]
movss dword [esp + 0x24], xmm0
jmp dword [esi*4 + 0x10359bfc]
mov eax, dword [esp + 0x48]
mov ebx, eax
test eax, eax
movss xmm3, dword [esp + 0x28]
movss xmm6, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
jle 0x10235dec
nop word cs:[eax + eax]
nop
xorps xmm3, xmm3
cvtsi2ss xmm3, ebx
mulss xmm3, xmm0
addss xmm3, xmm6
movss dword [esp + 0x1c], xmm3
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movss xmm5, dword [esp + 0x28]
subss xmm5, dword [ebp + 0x14]
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm6, dword [esp + 0x34]
movss xmm3, dword [esp + 0x28]
movss xmm7, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
movss xmm4, dword [esp + 0x1c]
movss dword [edi], xmm4
movss dword [edi + 4], xmm3
mov eax, dword [esp + 0x20]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 8], eax
minss xmm0, dword [0x103564b8]
maxss xmm0, dword [0x103574f0]
mulss xmm0, dword [0x103564b0]
addss xmm0, dword [0x103574f4]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x24]
shl eax, 0x18
or eax, esi
mov dword [edi + 0x10], eax
add edi, 0x14
add ebx, 0xffffffff
jne 0x10235d20
mov ebx, edi
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movaps xmm5, xmm3
subss xmm5, dword [ebp + 0x14]
movaps xmm3, xmm6
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm1, dword [0x103564b8]
minss xmm0, xmm1
maxss xmm0, dword [0x103574f0]
movss xmm5, dword [0x103564b0]
mulss xmm0, xmm5
movss xmm6, dword [0x103574f4]
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x18
or eax, esi
add edi, 0x14
movss xmm4, dword [esp + 0x34]
movss dword [ebx], xmm4
movss xmm0, dword [esp + 0x28]
movss dword [ebx + 4], xmm0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov edx, dword [esp + 0x18]
mov dword [ebx + 8], edx
mov dword [ebx + 0x10], eax
cmp dword [esp + 0x44], 0
jle 0x10235cb0
mov ebx, 1
mov esi, dword [esp + 0x3c]
nop
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
mulss xmm1, dword [esp + 0x24]
addss xmm1, dword [esp + 0x28]
movss dword [esp + 0x1c], xmm1
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
subss xmm1, dword [ebp + 0x14]
movaps xmm2, xmm4
subss xmm2, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
call fcn.102368b0
movss xmm4, dword [esp + 0x34]
movss xmm5, dword [0x103564b0]
xorps xmm2, xmm2
movss xmm3, dword [0x103564b8]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
movss xmm1, dword [0x103574f4]
movss dword [edi], xmm4
movss xmm6, dword [esp + 0x1c]
movss dword [edi + 4], xmm6
mov dword [edi + 0xc], ecx
minss xmm0, xmm3
maxss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [edi + 8], edx
shl eax, 0x18
or eax, esi
mov dword [edi + 0x10], eax
add edi, 0x14
mov eax, dword [esp + 0x54]
add eax, ebx
add eax, 1
add ebx, 1
cmp eax, 1
jne 0x10235ea0
jmp 0x10235cb3
mov eax, dword [esp + 0x44]
mov ebx, eax
test eax, eax
movss xmm5, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x34]
movaps xmm6, xmm0
mov esi, dword [esp + 0x3c]
jle 0x1023607c
nop word cs:[eax + eax]
nop dword [eax + eax]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
mulss xmm0, xmm6
subss xmm5, xmm0
movss dword [esp + 0x1c], xmm5
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
subss xmm5, dword [ebp + 0x14]
movss xmm3, dword [esp + 0x34]
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm6, dword [esp + 0x24]
movss xmm5, dword [esp + 0x2c]
movss xmm3, dword [esp + 0x34]
movss xmm7, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
movss dword [edi], xmm3
movss xmm4, dword [esp + 0x1c]
movss dword [edi + 4], xmm4
mov eax, dword [esp + 0x20]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 8], eax
minss xmm0, dword [0x103564b8]
maxss xmm0, dword [0x103574f0]
mulss xmm0, dword [0x103564b0]
addss xmm0, dword [0x103574f4]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, esi
mov dword [edi + 0x10], eax
add edi, 0x14
add ebx, 0xffffffff
jne 0x10235fb0
mov ebx, edi
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
subss xmm5, dword [ebp + 0x14]
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm1, dword [0x103564b8]
minss xmm0, xmm1
maxss xmm0, dword [0x103574f0]
movss xmm5, dword [0x103564b0]
mulss xmm0, xmm5
movss xmm6, dword [0x103574f4]
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x18
or eax, esi
add edi, 0x14
movss xmm0, dword [esp + 0x34]
movss dword [ebx], xmm0
movss xmm2, dword [esp + 0x2c]
movss dword [ebx + 4], xmm2
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov edx, dword [esp + 0x18]
mov dword [ebx + 8], edx
mov dword [ebx + 0x10], eax
cmp dword [esp + 0x48], 0
jle 0x10235cb0
mov ebx, 1
mov esi, dword [esp + 0x50]
nop dword [eax + eax]
xorps xmm2, xmm2
cvtsi2ss xmm2, ebx
mulss xmm2, dword [esp + 0x24]
addss xmm2, dword [esp + 0x34]
movss dword [esp + 0x1c], xmm2
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movss xmm1, dword [esp + 0x2c]
subss xmm1, dword [ebp + 0x14]
subss xmm2, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
call fcn.102368b0
movss xmm5, dword [0x103564b0]
xorps xmm2, xmm2
movss xmm3, dword [0x103564b8]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
movss xmm4, dword [0x103574f4]
movss xmm1, dword [esp + 0x1c]
movss dword [edi], xmm1
movss xmm1, dword [esp + 0x2c]
movss dword [edi + 4], xmm1
mov dword [edi + 0xc], ecx
minss xmm0, xmm3
maxss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [edi + 8], edx
shl eax, 0x18
or eax, dword [esp + 0x3c]
mov dword [edi + 0x10], eax
add edi, 0x14
lea eax, [esi + ebx]
add eax, 1
add ebx, 1
cmp eax, 1
jne 0x10236130
jmp 0x10235cb3
mov eax, dword [esp + 0x48]
mov ebx, eax
test eax, eax
movss xmm3, dword [esp + 0x2c]
movss xmm6, dword [esp + 0x38]
movaps xmm5, xmm0
mov esi, dword [esp + 0x3c]
jle 0x1023630f
nop word cs:[eax + eax]
nop dword [eax + eax]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
mulss xmm0, xmm5
movaps xmm3, xmm6
subss xmm3, xmm0
movss dword [esp + 0x1c], xmm3
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movss xmm5, dword [esp + 0x2c]
subss xmm5, dword [ebp + 0x14]
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm5, dword [esp + 0x24]
movss xmm6, dword [esp + 0x38]
movss xmm3, dword [esp + 0x2c]
movss xmm7, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
movss xmm4, dword [esp + 0x1c]
movss dword [edi], xmm4
movss dword [edi + 4], xmm3
mov eax, dword [esp + 0x20]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 8], eax
minss xmm0, dword [0x103564b8]
maxss xmm0, dword [0x103574f0]
mulss xmm0, dword [0x103564b0]
addss xmm0, dword [0x103574f4]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, esi
mov dword [edi + 0x10], eax
add edi, 0x14
add ebx, 0xffffffff
jne 0x10236240
mov ebx, edi
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movaps xmm5, xmm3
subss xmm5, dword [ebp + 0x14]
movaps xmm3, xmm6
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm1, dword [0x103564b8]
minss xmm0, xmm1
maxss xmm0, dword [0x103574f0]
movss xmm5, dword [0x103564b0]
mulss xmm0, xmm5
movss xmm6, dword [0x103574f4]
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x18
or eax, esi
add edi, 0x14
movss xmm4, dword [esp + 0x38]
movss dword [ebx], xmm4
movss xmm0, dword [esp + 0x2c]
movss dword [ebx + 4], xmm0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov edx, dword [esp + 0x18]
mov dword [ebx + 8], edx
mov dword [ebx + 0x10], eax
cmp dword [esp + 0x44], 0
jle 0x10235cb0
mov ebx, 1
mov esi, dword [esp + 0x3c]
nop word cs:[eax + eax]
nop dword [eax + eax]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
mulss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x2c]
subss xmm1, xmm0
movss dword [esp + 0x1c], xmm1
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
subss xmm1, dword [ebp + 0x14]
movaps xmm2, xmm4
subss xmm2, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
call fcn.102368b0
movss xmm4, dword [esp + 0x38]
movss xmm5, dword [0x103564b0]
xorps xmm2, xmm2
movss xmm3, dword [0x103564b8]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
movss xmm1, dword [0x103574f4]
movss dword [edi], xmm4
movss xmm6, dword [esp + 0x1c]
movss dword [edi + 4], xmm6
mov dword [edi + 0xc], ecx
minss xmm0, xmm3
maxss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [edi + 8], edx
shl eax, 0x18
or eax, esi
mov dword [edi + 0x10], eax
add edi, 0x14
mov eax, dword [esp + 0x54]
add eax, ebx
add eax, 1
add ebx, 1
cmp eax, 1
jne 0x102363d0
jmp 0x10235cb3
mov eax, dword [esp + 0x44]
mov ebx, eax
test eax, eax
movss xmm5, dword [esp + 0x28]
movss xmm3, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
jle 0x1023659f
nop
xorps xmm3, xmm3
cvtsi2ss xmm3, ebx
mulss xmm3, xmm0
addss xmm3, xmm5
movss dword [esp + 0x1c], xmm3
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movaps xmm5, xmm3
subss xmm5, dword [ebp + 0x14]
movss xmm3, dword [esp + 0x38]
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm5, dword [esp + 0x28]
movss xmm3, dword [esp + 0x38]
movss xmm7, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
movss dword [edi], xmm3
movss xmm4, dword [esp + 0x1c]
movss dword [edi + 4], xmm4
mov eax, dword [esp + 0x20]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 8], eax
minss xmm0, dword [0x103564b8]
maxss xmm0, dword [0x103574f0]
mulss xmm0, dword [0x103564b0]
addss xmm0, dword [0x103574f4]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x24]
shl eax, 0x18
or eax, esi
mov dword [edi + 0x10], eax
add edi, 0x14
add ebx, 0xffffffff
jne 0x102364d0
mov ebx, edi
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
subss xmm5, dword [ebp + 0x14]
subss xmm3, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm5
movss dword [esp + 4], xmm3
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movaps xmm0, xmm7
call fcn.102368b0
movss xmm1, dword [0x103564b8]
minss xmm0, xmm1
maxss xmm0, dword [0x103574f0]
movss xmm2, dword [0x103564b0]
mulss xmm0, xmm2
movss xmm2, dword [0x103574f4]
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x18
or eax, esi
add edi, 0x14
movss xmm0, dword [esp + 0x38]
movss dword [ebx], xmm0
movss xmm2, dword [esp + 0x28]
movss dword [ebx + 4], xmm2
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0xc], ecx
mov edx, dword [esp + 0x18]
mov dword [ebx + 8], edx
mov dword [ebx + 0x10], eax
cmp dword [esp + 0x48], 0
jle 0x10235cb0
mov ebx, 1
mov esi, dword [esp + 0x50]
nop dword [eax + eax]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebx
mulss xmm0, dword [esp + 0x24]
movss xmm2, dword [esp + 0x38]
subss xmm2, xmm0
movss dword [esp + 0x1c], xmm2
movzx ecx, byte [ebp]
movss xmm0, dword [ebp + 4]
movss xmm1, dword [esp + 0x28]
subss xmm1, dword [ebp + 0x14]
subss xmm2, dword [ebp + 0x10]
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss xmm0, dword [esp + 0x10]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x78]
movss xmm1, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x14]
call fcn.102368b0
movss xmm5, dword [0x103564b0]
xorps xmm2, xmm2
movss xmm3, dword [0x103564b8]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
movss xmm4, dword [0x103574f4]
movss xmm1, dword [esp + 0x1c]
movss dword [edi], xmm1
movss xmm1, dword [esp + 0x28]
movss dword [edi + 4], xmm1
mov dword [edi + 0xc], ecx
minss xmm0, xmm3
maxss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [edi + 8], edx
shl eax, 0x18
or eax, dword [esp + 0x3c]
mov dword [edi + 0x10], eax
add edi, 0x14
lea eax, [esi + ebx]
add eax, 1
add ebx, 1
cmp eax, 1
jne 0x10236650
jmp 0x10235cb3
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x34]
cmp ecx, 2
jl 0x10236866
mov ecx, dword [esp + 0x58]
shl ecx, 2
mov edx, ecx
or edx, 3
mov dword [esp + 0x14], edx
mov edx, eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffffc
mov dword [esp + 0x24], eax
mov eax, edx
xor edi, edi
jmp 0x102367cb
mov edx, eax
mov dword [esp + 0x10], edx
movzx ebx, dx
mov word [edi], bx
mov edi, dword [esi + 0x3c]
mov word [edi + 2], ax
mov edx, eax
mov eax, dword [esp + 0x4c]
add edx, eax
mov edi, dword [esi + 0x3c]
mov word [edi + 4], dx
mov edi, dword [esi + 0x3c]
mov word [edi + 6], bx
mov edi, dword [esi + 0x3c]
mov word [edi + 8], dx
mov edx, dword [esp + 0x10]
add eax, edx
mov edx, dword [esi + 0x3c]
mov word [edx + 0xa], ax
add dword [esi + 0x3c], 0xc
add ebx, 1
mov edi, dword [esp + 0x20]
add edi, 1
mov edx, dword [ebp + 0x30]
add edx, 0xffffffff
mov eax, ebx
cmp edi, edx
jge 0x10236863
mov dword [esp + 0x20], edi
mov edi, dword [esi + 0x3c]
cmp dword [esp + 0x14], 0
jle 0x10236770
mov edx, dword [esp + 0x24]
add edx, eax
movzx edx, dx
mov dword [esp + 0x18], edx
mov ebx, 0xfffffffd
mov dword [esp + 0x10], eax
nop
mov eax, ecx
mov edx, dword [esp + 0x10]
lea ecx, [edx + ebx]
add ecx, 3
mov word [edi], cx
mov ecx, dword [esi + 0x3c]
lea edi, [edx + ebx + 4]
mov word [ecx + 2], di
mov ecx, dword [esi + 0x3c]
mov edx, dword [esp + 0x18]
lea esi, [edx + ebx + 7]
mov word [ecx + 4], si
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x3c]
mov word [ecx + 6], di
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x3c]
lea edi, [edx + ebx + 8]
mov word [ecx + 8], di
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x3c]
mov word [ecx + 0xa], si
mov esi, dword [esp + 0x40]
mov ecx, eax
mov edi, dword [esi + 0x3c]
add edi, 0xc
mov dword [esi + 0x3c], edi
add ebx, 1
cmp eax, ebx
jne 0x102367f0
mov eax, dword [esp + 0x10]
lea edx, [eax + ebx]
add edx, 3
jmp 0x10236772
mov eax, dword [esi + 0x34]
add eax, dword [ebp + 0x40]
mov dword [esi + 0x34], eax
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret