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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0xa4
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x34]
mov esi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x54], edx
mov edx, dword [eax]
mov edi, dword [ebp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x4c], edx
mov edx, dword [ebx]
movss xmm2, dword [ecx + eax*4 - 4]
movss xmm0, dword [edi + eax*4 - 4]
movss xmm1, dword [0x45f8c0]
mov dword [esp + 8], ecx
subss xmm2, dword [ecx + edx*4 - 4]
subss xmm0, dword [edi + edx*4 - 4]
andps xmm2, xmmword [0x45f510]
andps xmm0, xmmword [0x45f510]
addss xmm2, xmm0
movss dword [esp + 0x50], xmm2
comiss xmm1, xmm2
jbe 0x4044cb
sub edx, eax
inc edx
test edx, edx
jle 0x4059cc
movss xmm0, dword [0x45f8c4]
xor esi, esi
mov ebx, dword [ebp + 0x14]
mov edi, ecx
jmp 0x404441
mov ebx, dword [ebp + 0x14]
mov edi, dword [esp + 8]
lea ecx, [eax*4]
movss xmm1, dword [ebx + ecx - 4]
movss xmm2, dword [edi + ecx - 4]
mov ebx, dword [ebp + 0x18]
inc esi
movaps xmm4, xmm2
mov ecx, dword [ebx + ecx - 4]
movaps xmm3, xmm1
movss dword [esi*4 + 0x70695c], xmm2
movss dword [esi*4 + 0x70b77c], xmm1
mov dword [esi*4 + 0x71059c], ecx
dec edx
inc eax
test edx, edx
jle 0x405959
test esi, esi
je 0x40443a
mov edi, dword [esp + 8]
lea ecx, [eax*4]
movaps xmm5, xmm4
movss xmm2, dword [edi + ecx - 4]
mov edi, dword [ebp + 0x14]
subss xmm5, xmm2
andps xmm5, xmmword [0x45f510]
movss xmm1, dword [edi + ecx - 4]
comiss xmm0, xmm5
jbe 0x404457
movaps xmm5, xmm3
subss xmm5, xmm1
andps xmm5, xmmword [0x45f510]
comiss xmm0, xmm5
ja 0x40447b
jmp 0x404457
xor ebx, ebx
mov esi, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x24]
pxor xmm6, xmm6
mov ecx, dword [esi]
mov esi, dword [ebp + 0x28]
movss xmm0, dword [edi]
mov edi, dword [esp + 8]
movss xmm2, dword [esi]
mov esi, dword [ebp + 0x14]
movss xmm1, dword [edi + ecx*4 - 4]
movss xmm4, dword [edi + ecx*4]
subss xmm1, xmm0
subss xmm4, xmm0
cvtss2sd xmm1, xmm1
cvtss2sd xmm4, xmm4
movss xmm3, dword [esi + ecx*4]
movss xmm5, dword [esi + ecx*4 - 4]
subss xmm3, xmm2
subss xmm5, xmm2
cvtss2sd xmm3, xmm3
cvtss2sd xmm5, xmm5
mulsd xmm1, xmm3
mulsd xmm4, xmm5
mov ecx, dword [ebp + 0x30]
subsd xmm1, xmm4
cvtsd2ss xmm1, xmm1
mov ecx, dword [ecx]
comiss xmm1, xmm6
jbe 0x40454e
xor esi, esi
mov edi, 0xffffffff
cmp ecx, 1
cmovne esi, edi
mov dword [esp + 0x48], esi
jmp 0x40455f
xor esi, esi
mov edi, 0xffffffff
cmp ecx, 1
cmove esi, edi
mov dword [esp + 0x48], esi
mov edi, dword [ebp + 0x38]
test bl, 1
je 0x405196
mov ecx, esi
and ecx, 1
mov dword [esp + 0x48], ecx
je 0x40458c
mov dword [esp], edx
mov edx, 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 4], edx
jmp 0x4045a1
mov dword [esp], eax
mov eax, edx
mov dword [esp + 0x2c], 1
mov dword [esp + 4], 1
sub eax, dword [esp]
xor esi, esi
mov ecx, dword [esp + 4]
add eax, ecx
cdq
idiv ecx
test eax, eax
jle 0x405dad
mov edx, dword [esp]
mov ecx, dword [ebp + 0x18]
inc esi
dec eax
mov edi, dword [esp + 8]
mov edi, dword [edi + edx*4 - 4]
lea ebx, [esi*4]
mov dword [ebx + 0x6e949c], edi
mov edi, dword [ebp + 0x14]
mov edi, dword [edi + edx*4 - 4]
mov dword [ebx + 0x6f30dc], edi
mov edi, dword [ecx + edx*4 - 4]
add edx, dword [esp + 4]
mov dword [ebx + 0x6fcd1c], edi
test eax, eax
jg 0x4045bd
mov edi, dword [ebp + 0x38]
movss xmm3, dword [esp + 0x60]
test esi, esi
mov eax, dword [0x6e94a0]
pxor xmm4, xmm4
mov edx, dword [0x6f30e0]
mov ecx, dword [0x6fcd20]
movss xmm1, dword [0x45f8c8]
movss dword [esp + 0x28], xmm3
mov dword [ebx + 0x6e94a0], eax
mov dword [ebx + 0x6f30e0], edx
mov dword [ebx + 0x6fcd20], ecx
mov ebx, 0
movss xmm3, dword [esp + 0x64]
movss dword [esp + 0x20], xmm1
movss dword [esp + 0x68], xmm4
jle 0x40484f
mov eax, 1
movss dword [esp + 0xc], xmm0
movss dword [esp + 4], xmm3
movss dword [esp + 8], xmm2
movss xmm7, dword [esp + 0x20]
movss xmm5, dword [eax*4 + 0x6e949c]
movss xmm3, dword [eax*4 + 0x6e94a0]
movss xmm4, dword [eax*4 + 0x6f30dc]
subss xmm3, xmm5
movss xmm1, dword [eax*4 + 0x6f30e0]
cvtss2sd xmm3, xmm3
subss xmm1, xmm4
cvtss2sd xmm1, xmm1
movaps xmm0, xmm1
movaps xmm6, xmm3
mulsd xmm0, xmm1
mulsd xmm6, xmm3
addsd xmm6, xmm0
comisd xmm6, xmmword [0x45f640]
jbe 0x4047af
movaps xmm2, xmm5
movaps xmm0, xmm4
subss xmm2, dword [esp + 0xc]
subss xmm0, dword [esp + 8]
cvtss2sd xmm2, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm2, xmm3
mulsd xmm0, xmm1
addsd xmm2, xmm0
pxor xmm0, xmm0
comisd xmm0, xmm2
jbe 0x4047af
divsd xmm2, xmm6
xorps xmm2, xmmword [0x45f520]
comisd xmm2, xmmword [0x45f640]
jbe 0x4047af
movsd xmm0, qword [0x45f648]
comisd xmm0, xmm2
jbe 0x4047af
cvtss2sd xmm0, xmm5
sqrtsd xmm6, xmm6
mulsd xmm3, xmm2
cvtsd2ss xmm6, xmm6
mulsd xmm1, xmm2
addsd xmm0, xmm3
cvtss2sd xmm3, xmm4
cvtsd2ss xmm0, xmm0
addsd xmm3, xmm1
cvtsd2ss xmm3, xmm3
movaps xmm2, xmm0
movaps xmm1, xmm3
movss dword [esp], xmm6
subss xmm2, xmm5
subss xmm1, xmm4
cvtss2sd xmm2, xmm2
cvtss2sd xmm1, xmm1
mulsd xmm2, xmm2
mulsd xmm1, xmm1
movss xmm5, dword [eax*4 + 0x6fcd20]
addsd xmm2, xmm1
sqrtsd xmm2, xmm2
movss xmm1, dword [eax*4 + 0x6fcd1c]
cvtsd2ss xmm2, xmm2
subss xmm5, xmm1
movaps xmm4, xmm5
andps xmm4, xmmword [0x45f510]
comiss xmm4, dword [0x45f8d8]
jbe 0x4047be
mulss xmm2, xmm5
divss xmm2, dword [esp]
addss xmm1, xmm2
jmp 0x4047be
movss xmm1, dword [eax*4 + 0x6fcd1c]
movaps xmm0, xmm5
movaps xmm3, xmm4
movaps xmm2, xmm0
movaps xmm4, xmm3
movaps xmm5, xmm7
subss xmm2, dword [esp + 0xc]
subss xmm4, dword [esp + 8]
cvtss2sd xmm2, xmm2
cvtss2sd xmm4, xmm4
mulsd xmm2, xmm2
mulsd xmm4, xmm4
movss xmm6, dword [0x45f8d4]
addsd xmm2, xmm4
sqrtsd xmm2, xmm2
cvtsd2ss xmm2, xmm2
movaps xmm7, xmm2
minss xmm7, xmm5
subss xmm2, xmm7
andps xmm2, xmmword [0x45f510]
comiss xmm6, xmm2
jbe 0x40482e
movss dword [esp + 0x28], xmm0
mov ebx, eax
movss dword [esp + 0x60], xmm0
movss dword [esp + 4], xmm3
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x68], xmm1
inc eax
cmp eax, esi
jle 0x40466d
movss dword [esp + 0x20], xmm7
movss xmm0, dword [esp + 0xc]
movss xmm3, dword [esp + 4]
movss xmm2, dword [esp + 8]
movss xmm6, dword [esp + 0x4c]
movss xmm1, dword [0x45f8cc]
mulss xmm1, xmm6
addss xmm1, dword [0x45f8d0]
comiss xmm1, dword [esp + 0x20]
jbe 0x4048a4
mov eax, dword [ebp + 0x34]
pxor xmm4, xmm4
movss xmm6, dword [esp + 0x20]
movss xmm1, dword [eax]
mulss xmm6, dword [0x45f8dc]
ucomiss xmm1, xmm4
jp 0x404890
je 0x404898
movss dword [esp + 0x4c], xmm6
jmp 0x4048d0
pxor xmm6, xmm6
movss dword [esp + 0x4c], xmm6
jmp 0x4048d0
movss xmm1, dword [esp + 0x20]
movss xmm4, dword [0x45f8d8]
subss xmm1, xmm6
andps xmm1, xmmword [0x45f510]
comiss xmm4, xmm1
jbe 0x4048d0
addss xmm6, dword [0x45f8e0]
movss dword [esp + 0x4c], xmm6
movss xmm1, dword [esp + 0x20]
movaps xmm5, xmm6
movss xmm4, dword [0x45f8ec]
subss xmm1, xmm6
divss xmm5, xmm1
movss dword [esp + 0x50], xmm5
addss xmm4, xmm5
mulss xmm0, xmm5
mulss xmm5, xmm2
addss xmm0, dword [esp + 0x28]
addss xmm5, xmm3
divss xmm0, xmm4
divss xmm5, xmm4
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x24], xmm5
movss dword [esp + 0x34], xmm5
cmp dword [esp + 0x48], 0
je 0x404938
mov dword [esp + 0x98], 1
mov eax, 1
jmp 0x404948
mov dword [esp + 0x98], 0xffffffff
mov eax, 0xffffffff
movss xmm1, dword [esp + 0x28]
movaps xmm4, xmm3
cvtss2sd xmm7, dword [0x4697e4]
subss xmm1, xmm0
subss xmm4, dword [esp + 0x24]
cvtss2sd xmm1, xmm1
cvtss2sd xmm4, xmm4
movaps xmm2, xmm1
movaps xmm5, xmm4
mulsd xmm2, xmm1
mulsd xmm5, xmm4
addsd xmm2, xmm5
cvtsd2ss xmm2, xmm2
sqrtss xmm2, xmm2
cvtss2sd xmm2, xmm2
comisd xmm7, xmm2
jbe 0x4049a9
mov eax, 0x47c34f80
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
jmp 0x404aa5
cvtss2sd xmm6, xmm6
cvtss2sd xmm5, xmm0
mulsd xmm4, xmm6
mulsd xmm1, xmm6
divsd xmm4, xmm2
divsd xmm1, xmm2
movss xmm2, dword [esp + 0x24]
cvtss2sd xmm6, xmm2
movsd qword [esp], xmm5
addsd xmm5, xmm4
movsd qword [esp + 8], xmm6
subsd xmm6, xmm1
cvtsd2ss xmm5, xmm5
cvtsd2ss xmm6, xmm6
subss xmm0, xmm5
subss xmm2, xmm6
cvtss2sd xmm0, xmm0
cvtss2sd xmm2, xmm2
movsd qword [esp + 0x18], xmm1
movaps xmm1, xmm3
movss xmm7, dword [esp + 0x28]
subss xmm1, xmm6
cvtss2sd xmm3, xmm3
cvtss2sd xmm1, xmm1
mulsd xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm5
cvtss2sd xmm7, xmm7
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm2
movsd qword [esp + 0x10], xmm7
subsd xmm0, xmm1
cvtsi2ss xmm1, eax
cvtsd2ss xmm0, xmm0
mulss xmm0, xmm1
pxor xmm1, xmm1
comiss xmm0, xmm1
movsd xmm1, qword [esp + 0x18]
jbe 0x404a59
addsd xmm4, qword [esp + 0x10]
subsd xmm3, xmm1
jmp 0x404a85
movsd xmm5, qword [esp]
movaps xmm0, xmm4
movsd xmm6, qword [esp + 8]
subsd xmm5, xmm4
addsd xmm6, xmm1
addsd xmm3, xmm1
cvtsd2ss xmm5, xmm5
cvtsd2ss xmm6, xmm6
movsd xmm4, qword [esp + 0x10]
subsd xmm4, xmm0
cvtsd2ss xmm4, xmm4
cvtsd2ss xmm3, xmm3
movss dword [esp + 0x40], xmm5
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x38], xmm4
movss dword [esp + 0x3c], xmm3
add esp, 0xffffffc4
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0x6c]
lea ecx, [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x20], edx
lea edx, [esp + 0xa0]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0x28], eax
mov eax, 0x45f43c
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0x706960
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x38], 0x70b780
call fcn.0040670c
mov eax, dword [esp + 0x7c]
movss xmm1, dword [esp + 0x4c]
test byte [eax], 1
jne 0x404b72
pxor xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x404b72
jp 0x404b72
mov edx, dword [0x70b780]
mov dword [0x70b784], edx
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
mov eax, dword [0x706960]
mov dword [0x706964], eax
mov eax, dword [ecx]
mov ecx, dword [edx]
mov dword [esp + 0x58], 2
mov dword [0x706960], eax
mov dword [0x70b780], ecx
comiss xmm1, dword [0x45f8ec]
jbe 0x404ca9
mov eax, dword [esp + 0x58]
cmp eax, 5
jle 0x404ca9
mov edx, dword [ebp + 0x5c]
test byte [edx], 1
je 0x404ca9
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x45f8cc]
cvttss2si edx, xmm0
mov dword [esp + 4], edx
cmp eax, edx
jl 0x404c6f
sub eax, dword [esp + 4]
inc eax
cmp eax, 8
jl 0x4059d6
mov ecx, edx
mov edx, eax
and edx, 0xfffffff8
mov dword [esp + 8], edx
xor edx, edx
shl ecx, 2
mov dword [esp], ecx
mov ecx, dword [esp + 8]
mov edi, dword [esp]
lea esi, [esi]
movups xmm0, xmmword [edi + edx*4 + 0x70695c]
movups xmm2, xmmword [edi + edx*4 + 0x70696c]
movups xmm1, xmmword [edi + edx*4 + 0x70b77c]
movups xmm3, xmmword [edi + edx*4 + 0x70b78c]
movaps xmmword [edx*4 + 0x7153c0], xmm0
movaps xmmword [edx*4 + 0x71a1e0], xmm1
movaps xmmword [edx*4 + 0x7153d0], xmm2
movaps xmmword [edx*4 + 0x71a1f0], xmm3
add edx, 8
cmp edx, ecx
jb 0x404be0
mov dword [esp + 8], ecx
mov edi, dword [ebp + 0x38]
cmp eax, dword [esp + 8]
jbe 0x404c71
mov edx, dword [esp + 4]
shl edx, 2
mov dword [esp + 4], edx
mov ecx, dword [esp + 8]
mov edi, dword [edx + ecx*4 + 0x70695c]
mov dword [ecx*4 + 0x7153c0], edi
mov edi, dword [edx + ecx*4 + 0x70b77c]
mov dword [ecx*4 + 0x71a1e0], edi
inc ecx
cmp ecx, eax
jb 0x404c43
mov dword [esp + 8], ecx
mov edi, dword [ebp + 0x38]
mov edx, ecx
jmp 0x404c71
xor edx, edx
test edx, edx
jle 0x4059e1
xor ecx, ecx
mov eax, 1
inc ecx
mov edi, dword [eax*4 + 0x7153bc]
mov dword [ecx*4 + 0x70695c], edi
mov edi, dword [eax*4 + 0x71a1dc]
inc eax
mov dword [ecx*4 + 0x70b77c], edi
cmp eax, edx
jle 0x404c80
mov edi, dword [ebp + 0x38]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 0x58]
movss xmm0, dword [esp + 0x68]
mov eax, dword [0x706960]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x3c]
mov edx, dword [0x70b780]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x44]
maxss xmm0, dword [ecx]
addss xmm0, dword [eax]
addss xmm0, dword [edx]
movss dword [esp + 8], xmm0
lea ecx, [esp + 8]
push 0x45f440
push ecx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov eax, dword [ebp + 0x40]
lea ecx, [esp + 0xc]
movss xmm0, dword [esp + 0x68]
mov edx, dword [ebp + 0x44]
addss xmm0, dword [eax]
addss xmm0, dword [edx]
movss dword [esp + 0xc], xmm0
push 0x45f440
push ecx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov eax, dword [ebp + 0x44]
lea edx, [esp + 0x10]
movss xmm0, dword [esp + 0x68]
addss xmm0, dword [eax]
movss dword [esp + 0x10], xmm0
push 0x45f444
push edx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov edx, dword [esp + 0x58]
cmp edx, 2
jl 0x404e07
mov eax, 2
mov dword [esp + 0x70], esi
movss xmm0, dword [0x45f8e8]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov ebx, eax
mov esi, dword [ebp + 0x44]
movss xmm1, dword [ebx*4 + 0x70695c]
subss xmm1, dword [ebx*4 + 0x706958]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
jbe 0x404dbe
movss xmm1, dword [ebx*4 + 0x70b77c]
subss xmm1, dword [ebx*4 + 0x70b778]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
ja 0x404df5
movss xmm1, dword [esp + 0x68]
lea eax, [ebx*4 + 0x70695c]
addss xmm1, dword [esi]
movss dword [esp + 0x5c], xmm1
lea edx, [esp + 0x5c]
push 0x45f444
push edx
lea ecx, [eax + 0x4e20]
push ecx
push eax
push edi
call fcn.004346f0
movss xmm0, dword [0x45f8e8]
inc ebx
cmp ebx, dword [esp]
jle 0x404d82
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x58]
inc esi
mov eax, dword [edx*4 + 0x70695c]
cmp ebx, esi
mov edx, dword [edx*4 + 0x70b77c]
movss xmm0, dword [esp + 0x68]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
movss dword [esp + 0x88], xmm0
mov dword [esp + 0x1c], eax
lea eax, [ebx + 1]
mov dword [esp + 0x24], edx
movss dword [esp + 0x28], xmm0
jge 0x404ee3
mov dword [esp + 4], ebx
mov dword [esp + 0x70], esi
mov esi, eax
mov ebx, dword [ebp + 0x44]
lea edx, [esi*4 + 0x6f30dc]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x7c]
lea ecx, [esi*4 + 0x6e949c]
mov dword [esp + 0x78], ecx
test byte [edx], 1
jne 0x405cbc
movss xmm0, dword [esi*4 + 0x6fcd1c]
addss xmm0, dword [ebx]
movss dword [esp + 0x6c], xmm0
push 0x45f448
lea edx, [esp + 0x70]
push edx
push dword [esp + 0x7c]
push dword [esp + 0x84]
push edi
call fcn.004346f0
mov edx, dword [esi*4 + 0x6e949c]
mov dword [esp + 0x80], edx
mov ecx, dword [esi*4 + 0x6f30dc]
mov edx, dword [esi*4 + 0x6fcd1c]
inc esi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
cmp esi, dword [esp + 0x70]
jle 0x404e59
mov ebx, dword [esp + 4]
cmp ebx, 2
jl 0x404f7e
mov dword [esp + 4], ebx
mov esi, 2
mov ebx, dword [ebp + 0x44]
mov ecx, dword [esp + 0x7c]
lea eax, [esi*4 + 0x6f30dc]
mov dword [esp + 0x74], eax
lea edx, [esi*4 + 0x6e949c]
mov dword [esp + 0x78], edx
test byte [ecx], 1
jne 0x405bcb
movss xmm0, dword [esi*4 + 0x6fcd1c]
addss xmm0, dword [ebx]
movss dword [esp + 0x70], xmm0
push 0x45f448
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x7c]
push dword [esp + 0x84]
push edi
call fcn.004346f0
mov eax, dword [esi*4 + 0x6e949c]
mov edx, dword [esi*4 + 0x6f30dc]
mov ecx, dword [esi*4 + 0x6fcd1c]
inc esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
cmp esi, dword [esp + 4]
jle 0x404ef8
mov eax, dword [esp + 0x7c]
test byte [eax], 1
jne 0x405af2
mov ebx, dword [esp + 0x48]
xor ebx, 1
lea esi, [ebx + ebx - 1]
mov dword [esp + 0x98], esi
add esp, 0xffffffd8
lea eax, [esp + 0x88]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x74]
mov dword [esp + 0xc], eax
lea ebx, [esp + 0x68]
mov dword [esp + 0x10], edx
lea esi, [esp + 0x6c]
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x60]
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x64]
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x58]
call fcn.0040655c
add esp, 0xffffffc4
mov ebx, dword [ebp + 0x50]
lea eax, [esp + 0x6c]
mov esi, dword [ebp + 0x54]
lea edx, [esp + 0x70]
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0x9c]
mov dword [esp + 0x10], esi
lea esi, [esp + 0xa0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x80]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov eax, 0x45f44c
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0x706960
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x38], 0x70b780
call fcn.0040670c
movss xmm2, dword [esp + 0x4c]
comiss xmm2, dword [0x45f8ec]
jbe 0x4050ab
mov edx, dword [esp + 0x58]
cmp edx, 5
jle 0x4050ab
mov eax, dword [ebp + 0x5c]
test byte [eax], 1
je 0x4050ab
cvtsi2ss xmm1, edx
movss xmm0, dword [0x45f8cc]
mulss xmm1, xmm0
cvttss2si eax, xmm1
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x7c]
test byte [eax], 1
jne 0x4050c3
pxor xmm0, xmm0
ucomiss xmm2, xmm0
jp 0x4050c3
je 0x4059ee
mov eax, dword [ebp + 0x44]
lea edx, [esp + 0x20]
movss xmm0, dword [esp + 0x68]
addss xmm0, dword [eax]
movss dword [esp + 0x20], xmm0
push 0x45f448
push edx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov edx, dword [esp + 0x58]
test edx, edx
jle 0x405a23
movss xmm0, dword [0x45f8e8]
mov dword [esp], edx
mov ebx, 1
mov esi, dword [ebp + 0x44]
movss xmm1, dword [esp + 0x68]
lea ecx, [ebx*4 + 0x70695c]
addss xmm1, dword [esi]
movss dword [esp + 0x48], xmm1
lea edx, [ecx + 0x4e20]
push 0x45f444
lea eax, [esp + 0x4c]
push eax
push edx
push ecx
push edi
call fcn.004346f0
movss xmm0, dword [0x45f8e8]
inc ebx
cmp ebx, dword [esp]
jg 0x405a23
cmp ebx, 1
je 0x40510f
movss xmm1, dword [ebx*4 + 0x70695c]
subss xmm1, dword [ebx*4 + 0x706958]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
jbe 0x40510f
movss xmm1, dword [ebx*4 + 0x70b77c]
subss xmm1, dword [ebx*4 + 0x70b778]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
ja 0x405146
jmp 0x40510f
cmp ecx, 1
mov ecx, 0
mov ebx, esi
cmove ebx, ecx
and ebx, 1
mov dword [esp + 0x48], ebx
je 0x4051be
mov dword [esp], edx
mov ecx, 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
jmp 0x4051d0
mov dword [esp], eax
mov eax, edx
mov dword [esp + 0x2c], 1
mov ecx, 1
sub eax, dword [esp]
xor ebx, ebx
add eax, ecx
cdq
idiv ecx
mov dword [esp + 0x1c], ebx
test eax, eax
jle 0x405eab
mov esi, dword [esp]
inc ebx
dec eax
mov edi, dword [esp + 8]
mov edi, dword [edi + esi*4 - 4]
lea edx, [ebx*4]
mov dword [edx + 0x6e949c], edi
mov edi, dword [ebp + 0x14]
mov edi, dword [edi + esi*4 - 4]
mov dword [edx + 0x6f30dc], edi
mov edi, dword [ebp + 0x18]
mov edi, dword [edi + esi*4 - 4]
add esi, ecx
mov dword [edx + 0x6fcd1c], edi
test eax, eax
jg 0x4051e9
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov edi, dword [ebp + 0x38]
mov eax, dword [esp + 0x48]
xor eax, 1
mov ebx, dword [0x6e94a0]
mov esi, dword [0x6f30e0]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], esi
lea edx, [eax + eax - 1]
mov dword [esp + 0x98], edx
add esp, 0xffffffd8
lea ecx, [esp + 0x74]
lea ebx, [esp + 0x58]
lea esi, [esp + 0x5c]
mov dword [esp + 0xc], 0x6e94a4
lea eax, [esp + 0x60]
mov dword [esp + 0x10], 0x6f30e4
lea edx, [esp + 0x64]
mov dword [esp + 0x14], ecx
mov ecx, 0x6f30e0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x24], edx
mov edx, 0x6e94a0
call fcn.0040655c
mov ebx, dword [esp + 0x48]
lea esi, [ebx + ebx - 1]
mov dword [esp + 0xc], esi
mov dword [esp + 0x98], esi
add esp, 0xffffffd8
lea eax, [esp + 0x88]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x74]
mov dword [esp + 0xc], eax
lea ebx, [esp + 0x68]
mov dword [esp + 0x10], edx
lea esi, [esp + 0x6c]
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x60]
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x64]
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x58]
call fcn.0040655c
add esp, 0xffffffc4
mov ebx, dword [ebp + 0x50]
lea eax, [esp + 0x6c]
mov esi, dword [ebp + 0x54]
lea edx, [esp + 0x70]
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0x7c]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x80]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x18], edx
lea edx, [esp + 0xa0]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov eax, 0x45f43c
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0x706960
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x38], 0x70b780
call fcn.0040670c
movss xmm0, dword [esp + 0x4c]
comiss xmm0, dword [0x45f8ec]
jbe 0x40549a
mov edx, dword [esp + 0x58]
cmp edx, 5
jle 0x40549a
mov eax, dword [ebp + 0x5c]
test byte [eax], 1
je 0x40549a
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x45f8cc]
cvttss2si eax, xmm0
cmp edx, eax
jl 0x405463
sub edx, eax
inc edx
cmp edx, 8
jl 0x405db4
mov ecx, edx
xor ebx, ebx
and ecx, 0xfffffff8
lea esi, [eax*4]
nop
lea esi, [esi]
movups xmm0, xmmword [esi + ebx*4 + 0x70695c]
movups xmm2, xmmword [esi + ebx*4 + 0x70696c]
movups xmm1, xmmword [esi + ebx*4 + 0x70b77c]
movups xmm3, xmmword [esi + ebx*4 + 0x70b78c]
movaps xmmword [ebx*4 + 0x7153c0], xmm0
movaps xmmword [ebx*4 + 0x71a1e0], xmm1
movaps xmmword [ebx*4 + 0x7153d0], xmm2
movaps xmmword [ebx*4 + 0x71a1f0], xmm3
add ebx, 8
cmp ebx, ecx
jb 0x4053f0
cmp ecx, edx
jae 0x405465
shl eax, 2
mov ebx, dword [eax + ecx*4 + 0x70695c]
mov esi, dword [eax + ecx*4 + 0x70b77c]
mov dword [ecx*4 + 0x7153c0], ebx
mov dword [ecx*4 + 0x71a1e0], esi
inc ecx
cmp ecx, edx
jb 0x40543e
mov ebx, ecx
jmp 0x405465
xor ebx, ebx
test ebx, ebx
jle 0x405dbd
xor edx, edx
mov eax, 1
inc edx
mov ecx, dword [eax*4 + 0x7153bc]
mov esi, dword [eax*4 + 0x71a1dc]
inc eax
cmp eax, ebx
mov dword [edx*4 + 0x70695c], ecx
mov dword [edx*4 + 0x70b77c], esi
jle 0x405474
mov dword [esp + 0x58], edx
mov eax, dword [ebp + 0x58]
lea ebx, [esp]
movss xmm0, dword [0x6fcd20]
mov edx, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x44]
maxss xmm0, dword [eax]
addss xmm0, dword [edx]
addss xmm0, dword [ecx]
movss dword [esp], xmm0
push 0x45f440
push ebx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov eax, dword [ebp + 0x40]
lea ecx, [esp + 4]
movss xmm0, dword [0x6fcd20]
mov edx, dword [ebp + 0x44]
addss xmm0, dword [eax]
addss xmm0, dword [edx]
movss dword [esp + 4], xmm0
push 0x45f440
push ecx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov eax, dword [ebp + 0x44]
lea edx, [esp + 8]
movss xmm0, dword [0x6fcd20]
addss xmm0, dword [eax]
movss dword [esp + 8], xmm0
push 0x45f444
push edx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov edx, dword [esp + 0x58]
cmp edx, 2
jl 0x4055db
movss xmm0, dword [0x45f8e8]
mov ebx, 2
mov dword [esp + 0x10], edx
mov esi, dword [ebp + 0x44]
movss xmm1, dword [ebx*4 + 0x70695c]
subss xmm1, dword [ebx*4 + 0x706958]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
jbe 0x405597
movss xmm1, dword [ebx*4 + 0x70b77c]
subss xmm1, dword [ebx*4 + 0x70b778]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
ja 0x4055d0
movss xmm1, dword [0x6fcd20]
lea ecx, [ebx*4 + 0x70695c]
addss xmm1, dword [esi]
movss dword [esp + 0x14], xmm1
lea eax, [esp + 0x14]
push 0x45f444
push eax
lea edx, [ecx + 0x4e20]
push edx
push ecx
push edi
call fcn.004346f0
movss xmm0, dword [0x45f8e8]
inc ebx
cmp ebx, dword [esp + 0x10]
jle 0x40555b
mov edx, dword [esp + 0x58]
mov ecx, dword [0x6fcd20]
mov eax, dword [edx*4 + 0x70695c]
mov edx, dword [edx*4 + 0x70b77c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
cmp dword [esp + 0x1c], 0
jle 0x405696
mov ebx, dword [ebp + 0x44]
mov esi, 1
mov ecx, dword [esp + 0x7c]
lea eax, [esi*4 + 0x6f30dc]
mov dword [esp + 0x24], eax
lea edx, [esi*4 + 0x6e949c]
mov dword [esp + 0x28], edx
test byte [ecx], 1
jne 0x405dca
movss xmm0, dword [esi*4 + 0x6fcd1c]
addss xmm0, dword [ebx]
movss dword [esp + 0x20], xmm0
push 0x45f448
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x34]
push edi
call fcn.004346f0
mov eax, dword [esi*4 + 0x6e949c]
mov edx, dword [esi*4 + 0x6f30dc]
mov ecx, dword [esi*4 + 0x6fcd1c]
inc esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
cmp esi, dword [esp + 0x1c]
jle 0x405617
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x98], ecx
mov esi, dword [ebx + 0x6e949c]
lea eax, [ebx + 0x6e9498]
mov edx, dword [ebx + 0x6f30dc]
lea ecx, [ebx + 0x6f30dc]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edx
add esp, 0xffffffd8
lea edx, [ebx + 0x6e949c]
lea ebx, [ebx + 0x6f30d8]
lea esi, [esp + 0x74]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x10], ebx
lea ebx, [esp + 0x5c]
mov dword [esp + 0x14], esi
lea esi, [esp + 0x60]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc0]
call fcn.0040655c
mov ebx, dword [esp + 0x48]
xor ebx, 1
lea esi, [ebx + ebx - 1]
mov dword [esp + 0x98], esi
add esp, 0xffffffd8
lea eax, [esp + 0x88]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x74]
mov dword [esp + 0xc], eax
lea ebx, [esp + 0x68]
mov dword [esp + 0x10], edx
lea esi, [esp + 0x6c]
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x60]
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x64]
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x58]
call fcn.0040655c
add esp, 0xffffffc4
mov ebx, dword [ebp + 0x50]
lea eax, [esp + 0x6c]
mov esi, dword [ebp + 0x54]
lea edx, [esp + 0x70]
lea ecx, [esp + 0x88]
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0x9c]
mov dword [esp + 0x10], esi
lea esi, [esp + 0xa0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x80]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov eax, 0x45f44c
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0x706960
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x38], 0x70b780
call fcn.0040670c
movss xmm0, dword [esp + 0x4c]
comiss xmm0, dword [0x45f8ec]
jbe 0x40582c
mov edx, dword [esp + 0x58]
cmp edx, 5
jle 0x40582c
mov eax, dword [ebp + 0x5c]
test byte [eax], 1
je 0x40582c
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x45f8cc]
cvttss2si eax, xmm0
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xc]
mov edx, dword [ebp + 0x44]
movss xmm0, dword [eax + 0x6fcd1c]
addss xmm0, dword [edx]
movss dword [esp + 0xc], xmm0
push 0x45f448
push ecx
push 0x70b780
push 0x706960
push edi
call fcn.004346f0
mov eax, dword [esp + 0x58]
cmp eax, 2
jl 0x405904
movss xmm0, dword [0x45f8e8]
mov ebx, 2
mov dword [esp + 0x10], eax
mov esi, dword [ebp + 0x44]
movss xmm1, dword [ebx*4 + 0x70695c]
subss xmm1, dword [ebx*4 + 0x706958]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
jbe 0x4058bc
movss xmm1, dword [ebx*4 + 0x70b77c]
subss xmm1, dword [ebx*4 + 0x70b778]
andps xmm1, xmmword [0x45f510]
comiss xmm0, xmm1
ja 0x4058f9
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1c]
movss xmm1, dword [eax + 0x6fcd1c]
lea eax, [ebx*4 + 0x70695c]
addss xmm1, dword [esi]
movss dword [esp + 0x1c], xmm1
lea ecx, [eax + 0x4e20]
push 0x45f444
push edx
push ecx
push eax
push edi
call fcn.004346f0
movss xmm0, dword [0x45f8e8]
inc ebx
cmp ebx, dword [esp + 0x10]
jle 0x405880
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x3c]
movss xmm0, dword [edx + 0x6fcd1c]
mov esi, dword [ebp + 0x44]
maxss xmm0, dword [ecx]
addss xmm0, dword [ebx]
addss xmm0, dword [esi]
movss dword [esp + 0x10], xmm0
lea ecx, [eax*4 + 0x70695c]
lea eax, [esp + 0x10]
push 0x45f440
push eax
lea edx, [ecx + 0x4e20]
push edx
push ecx
push edi
call fcn.004346f0
add esp, 0xa4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x58
mov dword [esp + 0x2c], esi
lea eax, [esp + 0x50]
lea ebx, [esp + 0x2c]
lea ecx, [esp + 0x60]
lea edx, [esp + 0x64]
push eax
push edx
push ecx
push 0x70b780
push 0x706960
push ebx
call fcn.004097d0
movss xmm1, dword [esp + 0x50]
movss xmm0, dword [0x45f8ec]
comiss xmm0, xmm1
jbe 0x4059b8
pxor xmm0, xmm0
comiss xmm1, xmm0
jbe 0x4059b8
mov eax, dword [ebp + 0x1c]
mov ebx, 0xffffffff
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x4c], 0
mov eax, dword [eax]
mov edx, dword [edx]
jmp 0x4044cd
mov eax, dword [ebp + 0x1c]
mov ebx, 0xffffffff
mov edx, dword [ebp + 0x20]
mov eax, dword [eax]
mov edx, dword [edx]
jmp 0x4044cd
mov dword [esp + 0x2c], 0
jmp 0x40595d
xor edx, edx
mov dword [esp + 8], edx
jmp 0x404c2e
mov dword [esp + 0x58], 0
jmp 0x404ca9
mov eax, dword [ebp + 0x54]
movss xmm0, dword [eax]
comiss xmm0, dword [esp + 0x20]
jbe 0x4050c3
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x58], 2
mov edx, dword [eax]
mov ebx, dword [ecx]
mov dword [0x706964], edx
mov dword [0x70b784], ebx
jmp 0x4050c3
movss xmm0, dword [esp + 0x4c]
pxor xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x405a34
je 0x405a85
mov eax, dword [ebp + 0x58]
lea esi, [esp]
movss xmm0, dword [esp + 0x68]
mov edx, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x44]
mov ebx, dword [esp + 0x58]
maxss xmm0, dword [eax]
addss xmm0, dword [edx]
addss xmm0, dword [ecx]
movss dword [esp], xmm0
lea edx, [ebx*4 + 0x70695c]
push 0x45f440
push esi
lea eax, [edx + 0x4e20]
push eax
push edx
push edi
call fcn.004346f0
add esp, 0xa4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x58
mov ebx, dword [ebp + 0x44]
lea esi, [esp + 0x18]
movss xmm0, dword [esp + 0x68]
lea eax, [esp]
addss xmm0, dword [ebx]
movss dword [esp], xmm0
lea ebx, [esp + 0x14]
push 0x45f444
push eax
push esi
push ebx
push edi
call fcn.004346f0
mov eax, dword [ebp + 0x58]
movss xmm0, dword [esp + 0x68]
mov edx, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x44]
maxss xmm0, dword [eax]
addss xmm0, dword [edx]
addss xmm0, dword [ecx]
movss dword [esp + 4], xmm0
lea eax, [esp + 4]
push 0x45f440
push eax
push esi
push ebx
push edi
call fcn.004346f0
add esp, 0xa4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x58
add esp, 0xffffffd4
lea ebx, [esp + 0x48]
lea esi, [esp + 0x50]
lea eax, [esp + 0x54]
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0x84]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0xac]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x18], edx
lea edx, [esp + 0xb0]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x20], 0x706960
mov dword [esp + 0x24], 0x70b780
mov dword [esp + 0x28], 0x7105a0
call fcn.00405ecc
mov ecx, dword [esp + 0x58]
mov edx, 1
test ecx, ecx
jle 0x404f8b
mov dword [esp + 0x98], 1
mov eax, 1
mov dword [esp], ecx
lea ebx, [esp + 0x54]
mov esi, dword [ebp + 0x44]
jmp 0x405b89
mov dword [esp + 0x98], eax
movss xmm0, dword [eax*4 + 0x71059c]
lea edx, [edx*4 + 0x70695c]
addss xmm0, dword [esi]
movss dword [esp + 0x54], xmm0
lea eax, [edx + 0x4e20]
push 0x45f448
push ebx
push eax
push edx
push edi
call fcn.004346f0
mov eax, dword [esp + 0x98]
inc eax
mov edx, eax
cmp eax, dword [esp]
jle 0x405b82
jmp 0x404f8b
add esp, 0xffffffd4
lea edx, [esi*4 + 0x6fcd1c]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x14], edx
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x20], 0x706960
mov dword [esp + 0x24], 0x70b780
mov dword [esp + 0x28], 0x7105a0
call fcn.00405ecc
mov ecx, dword [esp + 0x58]
mov edx, 1
mov dword [esp + 0x98], 1
test ecx, ecx
jle 0x404f1b
mov dword [esp + 0x94], ecx
mov eax, 1
mov dword [esp], esi
lea esi, [esp + 0x90]
movss xmm0, dword [eax*4 + 0x71059c]
lea edx, [edx*4 + 0x70695c]
addss xmm0, dword [ebx]
movss dword [esp + 0x90], xmm0
lea eax, [edx + 0x4e20]
push 0x45f448
push esi
push eax
push edx
push edi
call fcn.004346f0
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
mov edx, eax
cmp eax, dword [esp + 0x94]
jle 0x405c69
mov esi, dword [esp]
jmp 0x404f1b
add esp, 0xffffffd4
lea ecx, [esi*4 + 0x6fcd1c]
mov edx, dword [esp + 0xa4]
lea eax, [esp + 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xb4]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x84]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xb0]
mov dword [esp + 0x20], 0x706960
mov dword [esp + 0x24], 0x70b780
mov dword [esp + 0x28], 0x7105a0
call fcn.00405ecc
mov ecx, dword [esp + 0x58]
mov edx, 1
mov dword [esp + 0x98], 1
test ecx, ecx
jle 0x404e7c
mov dword [esp + 0x90], ecx
mov eax, 1
mov dword [esp], esi
lea esi, [esp + 0x8c]
movss xmm0, dword [eax*4 + 0x71059c]
lea edx, [edx*4 + 0x70695c]
addss xmm0, dword [ebx]
movss dword [esp + 0x8c], xmm0
lea eax, [edx + 0x4e20]
push 0x45f448
push esi
push eax
push edx
push edi
call fcn.004346f0
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
mov edx, eax
cmp eax, dword [esp + 0x90]
jle 0x405d5a
mov esi, dword [esp]
jmp 0x404e7c
xor ebx, ebx
jmp 0x4045f6
xor ebx, ebx
xor ecx, ecx
jmp 0x405437
mov dword [esp + 0x58], 0
jmp 0x40549a
add esp, 0xffffffd4
lea edx, [esi*4 + 0x6fcd1c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x84]
mov dword [esp + 0x14], edx
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x20], 0x706960
mov dword [esp + 0x24], 0x70b780
mov dword [esp + 0x28], 0x7105a0
call fcn.00405ecc
mov ecx, dword [esp + 0x58]
mov edx, 1
mov dword [esp + 0x98], 1
test ecx, ecx
jle 0x40563a
mov dword [esp + 0x68], ecx
mov eax, 1
mov dword [esp + 0x10], esi
lea esi, [esp + 0x5c]
movss xmm0, dword [eax*4 + 0x71059c]
lea edx, [edx*4 + 0x70695c]
addss xmm0, dword [ebx]
movss dword [esp + 0x5c], xmm0
lea eax, [edx + 0x4e20]
push 0x45f448
push esi
push eax
push edx
push edi
call fcn.004346f0
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
mov edx, eax
cmp eax, dword [esp + 0x68]
jle 0x405e5d
mov esi, dword [esp + 0x10]
jmp 0x40563a
mov dword [esp + 0x18], 0
jmp 0x40522b