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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x194
mov esi, eax
movss xmm0, dword [0x49fe00]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x14c], edx
movss xmm6, dword [esi]
comiss xmm0, xmm6
jbe 0x415b54
mov eax, dword [ebp + 0x24]
mov dword [eax], 0xffffffff
add esp, 0x194
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x20
movss xmm0, dword [0x4ac814]
mov edx, dword [ebp + 0x24]
addss xmm0, xmm0
mov ecx, dword [esp + 0x14c]
mov dword [edx], 0
movss dword [esp + 0x7c], xmm0
movaps xmm0, xmm6
mov edx, dword [ecx]
test edx, edx
movss xmm4, dword [0x49fe08]
movss xmm2, dword [0x49fe0c]
movaps xmm5, xmm4
mov dword [0x629104], edx
movaps xmm3, xmm2
addss xmm0, dword [0x49fe04]
jle 0x415c10
movss xmm1, dword [0x49fe14]
mov ecx, 1
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x70], xmm6
mov ebx, dword [ebp + 0x14]
mov edi, dword [esp + 0x150]
movss xmm6, dword [edi + ecx*4 - 4]
comiss xmm1, xmm6
jbe 0x415bff
movss xmm0, dword [ebx + ecx*4 - 4]
movaps xmm7, xmm4
movaps xmm4, xmm6
minss xmm4, xmm7
movaps xmm7, xmm5
movaps xmm5, xmm0
minss xmm5, xmm7
movaps xmm7, xmm2
movaps xmm2, xmm6
movaps xmm6, xmm3
movaps xmm3, xmm0
maxss xmm2, xmm7
maxss xmm3, xmm6
inc ecx
cmp ecx, edx
jle 0x415bc6
movss xmm0, dword [esp + 0x74]
movss xmm6, dword [esp + 0x70]
movss xmm1, dword [0x49fe10]
cmp edx, 0xf
subss xmm4, xmm1
addss xmm2, xmm1
subss xmm5, xmm1
addss xmm3, xmm1
jge 0x415c5c
movss xmm1, dword [0x49fe54]
mov ebx, 1
mov dword [esp + 0x148], 1
subss xmm2, xmm4
subss xmm3, xmm5
divss xmm2, xmm1
divss xmm3, xmm1
xor ecx, ecx
jmp 0x415df6
movss xmm7, dword [0x49fe04]
mov edi, 1
movaps xmm1, xmm7
mov eax, 9
subss xmm2, xmm4
subss xmm3, xmm5
mulss xmm1, xmm2
mulss xmm7, xmm3
divss xmm1, xmm0
divss xmm7, xmm0
cvttss2si ecx, xmm1
cvttss2si ebx, xmm7
cmp ecx, ebx
cmovge ebx, ecx
cmp ebx, 1
cmovle ebx, edi
cmp ebx, 9
cmovg ebx, eax
cvtsi2ss xmm1, ebx
mov dword [esp + 0x148], ebx
test ebx, ebx
divss xmm2, xmm1
divss xmm3, xmm1
jle 0x415e65
cmp ebx, 4
jl 0x415c55
mov edi, 4
mov ecx, ebx
movss dword [esp + 0x40], xmm3
and ecx, 0xfffffffc
movss dword [esp + 0x48], xmm5
movss dword [esp + 0x4c], xmm4
movd xmm1, edi
xor edi, edi
pshufd xmm7, xmm1, 0
movdqa xmm1, xmmword [0x49fbc0]
movdqa xmmword [esp + 0x20], xmm7
movdqa xmm7, xmmword [0x49fbd0]
movdqa xmmword [esp + 0x10], xmm1
movaps xmm1, xmm4
movdqa xmmword [esp], xmm7
movaps xmm7, xmm5
shufps xmm1, xmm1, 0
movaps xmmword [esp + 0x80], xmm1
movaps xmm1, xmm2
shufps xmm7, xmm7, 0
movaps xmmword [esp + 0x30], xmm7
movaps xmm7, xmm3
shufps xmm1, xmm1, 0
shufps xmm7, xmm7, 0
movss dword [esp + 0x70], xmm6
movaps xmmword [esp + 0x60], xmm7
movaps xmmword [esp + 0x50], xmm1
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x74], xmm0
movaps xmm4, xmmword [esp + 0x30]
movdqa xmm5, xmmword [esp]
movdqa xmm3, xmmword [esp + 0x10]
movdqa xmm6, xmmword [esp + 0x20]
lea esi, [esi]
lea edi, [edi]
cvtdq2ps xmm2, xmm3
movaps xmm1, xmmword [esp + 0x50]
paddd xmm3, xmm6
movaps xmm0, xmm1
mulps xmm0, xmm2
movaps xmm7, xmmword [esp + 0x80]
addps xmm0, xmm7
movaps xmmword [edi*4 + 0x6133a0], xmm0
cvtdq2ps xmm0, xmm5
mulps xmm1, xmm0
paddd xmm5, xmm6
addps xmm1, xmm7
movaps xmm7, xmmword [esp + 0x60]
mulps xmm2, xmm7
mulps xmm0, xmm7
addps xmm2, xmm4
addps xmm0, xmm4
movaps xmmword [edi*4 + 0x6133d0], xmm1
movaps xmmword [edi*4 + 0x613400], xmm2
movaps xmmword [edi*4 + 0x613430], xmm0
add edi, 4
cmp edi, ecx
jb 0x415d70
movss xmm3, dword [esp + 0x40]
movss xmm2, dword [esp + 0x44]
movss xmm5, dword [esp + 0x48]
movss xmm4, dword [esp + 0x4c]
movss xmm0, dword [esp + 0x74]
movss xmm6, dword [esp + 0x70]
cmp ecx, ebx
jae 0x415e65
movss dword [esp + 0x70], xmm6
pxor xmm1, xmm1
movaps xmm6, xmm2
cvtsi2ss xmm1, ecx
mulss xmm6, xmm1
lea edi, [ecx + 1]
mulss xmm1, xmm3
addss xmm6, xmm4
addss xmm1, xmm5
movss dword [ecx*4 + 0x6133a0], xmm6
movaps xmm7, xmm2
cvtsi2ss xmm6, edi
mulss xmm7, xmm6
cmp edi, ebx
mulss xmm6, xmm3
addss xmm7, xmm4
addss xmm6, xmm5
movss dword [ecx*4 + 0x6133d0], xmm7
movss dword [ecx*4 + 0x613400], xmm1
movss dword [ecx*4 + 0x613430], xmm6
mov ecx, edi
jb 0x415e00
movss xmm6, dword [esp + 0x70]
mov edi, 0x611e80
xor eax, eax
mov ecx, 0xc8
rep stosd dword es:[edi], eax
mov dword [esp + 0x154], 0x64
xor ecx, ecx
test ebx, ebx
jle 0x416213
mov eax, dword [esp + 0x14c]
mov edi, 1
movss dword [esp + 0x70], xmm6
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov dword [esp], esi
mov esi, edi
movss xmm5, dword [0x49fe10]
mov dword [esp + 0x30], ebx
lea ecx, [edi + edi*4]
mov dword [esp + 0x2c], ecx
mov eax, esi
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
lea esi, [eax + esi*2]
cvtsi2ss xmm1, esi
mulss xmm1, xmm5
cvttss2si ecx, xmm1
movss xmm4, dword [ecx*4 + 0x61339c]
lea edi, [ecx + ecx*8]
add edi, ecx
subss xmm4, xmm0
neg edi
add edi, esi
movss xmm3, dword [ecx*4 + 0x6133cc]
test edx, edx
addss xmm3, xmm0
movss xmm2, dword [edi*4 + 0x6133fc]
movss xmm1, dword [edi*4 + 0x61342c]
mov edi, edx
subss xmm2, xmm0
addss xmm1, xmm0
jle 0x416191
mov ecx, 1
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ebx
movss dword [esp + 0x74], xmm0
mov dword [esp + 0x28], eax
mov eax, ecx
mov ebx, dword [ebp + 0x14]
mov esi, dword [esp + 0x150]
movss xmm7, dword [esi + ecx*4 - 4]
comiss xmm7, xmm4
jbe 0x415f73
comiss xmm3, xmm7
jbe 0x415f73
movss xmm0, dword [ebx + ecx*4 - 4]
comiss xmm0, xmm2
jbe 0x415f73
comiss xmm1, xmm0
jbe 0x415f73
mov dword [ecx*4 + 0x61585c], 1
jmp 0x41616e
cmp ecx, edx
jge 0x416163
comiss xmm7, xmm3
jbe 0x415f8e
movss xmm0, dword [esi + ecx*4]
comiss xmm0, xmm3
ja 0x416163
movss xmm6, dword [ebx + ecx*4 - 4]
comiss xmm6, xmm1
jbe 0x415fa7
movss xmm0, dword [ebx + ecx*4]
comiss xmm0, xmm1
ja 0x416163
comiss xmm4, xmm7
jbe 0x415fb6
comiss xmm4, dword [esi + ecx*4]
ja 0x416163
movss xmm5, dword [ebx + ecx*4]
comiss xmm2, xmm6
jbe 0x415fc9
comiss xmm2, xmm5
ja 0x416163
movss xmm0, dword [esi + ecx*4]
subss xmm5, xmm6
subss xmm0, xmm7
movss dword [esp + 0x18], xmm0
andps xmm0, xmmword [0x49fbe0]
comiss xmm0, dword [0x49fe18]
jbe 0x4160ac
movaps xmm0, xmm4
subss xmm0, xmm7
divss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
comiss xmm0, dword [0x49fe18]
jbe 0x41604e
movss xmm0, dword [0x49fe54]
comiss xmm0, dword [esp + 0x14]
jbe 0x41604e
movss xmm0, dword [esp + 0x14]
mulss xmm0, xmm5
addss xmm0, xmm6
movss dword [esp + 0x14], xmm0
comiss xmm0, xmm2
jbe 0x41604e
comiss xmm1, dword [esp + 0x14]
jbe 0x41604e
mov dword [ecx*4 + 0x61585c], eax
mov dword [ecx*4 + 0x615860], eax
jmp 0x41616e
movaps xmm0, xmm3
subss xmm0, xmm7
divss xmm0, dword [esp + 0x18]
movss dword [esp + 0x10], xmm0
comiss xmm0, dword [0x49fe18]
jbe 0x4160ac
movss xmm0, dword [0x49fe54]
comiss xmm0, dword [esp + 0x10]
jbe 0x4160ac
movss xmm0, dword [esp + 0x10]
mulss xmm0, xmm5
addss xmm0, xmm6
movss dword [esp + 0x10], xmm0
comiss xmm0, xmm2
jbe 0x4160ac
comiss xmm1, dword [esp + 0x10]
jbe 0x4160ac
mov dword [ecx*4 + 0x61585c], eax
mov dword [ecx*4 + 0x615860], eax
jmp 0x41616e
movaps xmm0, xmm5
andps xmm0, xmmword [0x49fbe0]
comiss xmm0, dword [0x49fe18]
jbe 0x416163
movaps xmm0, xmm2
subss xmm0, xmm6
divss xmm0, xmm5
movss dword [esp + 0xc], xmm0
comiss xmm0, dword [0x49fe18]
jbe 0x41611e
movss xmm0, dword [0x49fe54]
comiss xmm0, dword [esp + 0xc]
jbe 0x41611e
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x18]
addss xmm0, xmm7
movss dword [esp + 0xc], xmm0
comiss xmm0, xmm4
jbe 0x41611e
comiss xmm3, dword [esp + 0xc]
jbe 0x41611e
mov dword [ecx*4 + 0x61585c], eax
mov dword [ecx*4 + 0x615860], eax
jmp 0x41616e
movaps xmm0, xmm1
subss xmm0, xmm6
divss xmm0, xmm5
comiss xmm0, dword [0x49fe18]
jbe 0x416163
movss xmm5, dword [0x49fe54]
comiss xmm5, xmm0
jbe 0x416163
mulss xmm0, dword [esp + 0x18]
addss xmm7, xmm0
comiss xmm7, xmm4
jbe 0x416163
comiss xmm3, xmm7
jbe 0x416163
mov dword [ecx*4 + 0x61585c], eax
mov dword [ecx*4 + 0x615860], eax
jmp 0x41616e
mov dword [ecx*4 + 0x61585c], 0
inc ecx
cmp ecx, edx
jle 0x415f43
movss xmm5, dword [0x49fe10]
movss xmm0, dword [esp + 0x74]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
test edx, edx
jle 0x4161c6
mov ecx, 1
cmp dword [ecx*4 + 0x61585c], 0
je 0x4161bd
inc ebx
cmp dword [esi*8 + 0x611e78], 0
mov dword [ebx*4 + 0x1a461bc], ecx
jne 0x4161bd
mov dword [esi*8 + 0x611e78], ebx
inc ecx
cmp ecx, edx
jle 0x41619a
mov edx, dword [esp + 0x20]
inc eax
mov dword [esi*8 + 0x611e7c], ebx
cmp eax, dword [esp + 0x30]
jle 0x415ec6
mov dword [esp + 4], edi
mov esi, 1
mov edi, dword [esp + 8]
inc edi
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x30]
cmp edi, ebx
jle 0x415eb1
mov edi, dword [esp + 4]
movss xmm6, dword [esp + 0x70]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp]
mov dword [0x6290e4], edi
mov dword [0x6290e0], ebx
test edx, edx
jle 0x4181b3
mov dword [esp], esi
lea edi, [ecx*4]
mov dword [esp + 4], edi
xor ebx, ebx
mov edi, dword [0x612198]
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 4]
inc eax
lea ecx, [ebx + 1]
mov dword [esi + ebx*4 + 0x1a461c0], ecx
test edi, edi
jne 0x416259
mov dword [0x612198], eax
mov edi, eax
mov ebx, ecx
cmp ecx, edx
jb 0x41623b
jmp 0x41625f
mov ebx, ecx
cmp ecx, edx
jb 0x41623b
mov esi, dword [esp]
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14c]
add ecx, ebx
mov dword [esp + 0x158], eax
mov edx, dword [edx]
movss xmm0, dword [esi]
xor edi, edi
movss xmm3, dword [0x49fe00]
mulss xmm3, xmm0
mov eax, dword [esi]
mov ebx, dword [ebp + 0x18]
xor esi, esi
mov dword [0x61219c], ecx
mov ecx, 0x47c34f80
mov dword [esp + 0x15c], eax
xorps xmm3, xmmword [0x49fbf0]
movss xmm7, dword [0x49fe14]
movss xmm2, dword [0x49fe28]
movss xmm1, dword [0x49fe30]
movss dword [esp + 0x70], xmm6
jmp 0x41630b
movss xmm0, dword [0x4ac81c]
movss xmm4, dword [esp + 0x7c]
addss xmm0, xmm0
mov eax, dword [esp + 0x14c]
subss xmm4, xmm0
movss xmm0, dword [esp + 0x15c]
movss dword [esp + 0x7c], xmm4
mov edx, dword [eax]
addss xmm0, dword [0x49fe00]
movss dword [esp + 0x15c], xmm0
movss xmm4, dword [0x49fe10]
dec edx
mulss xmm4, xmm0
mov eax, esi
mulss xmm3, dword [0x49fe04]
movss xmm5, dword [0x49fe54]
test edx, edx
mov dword [ebx], 0
minss xmm5, xmm4
movss dword [esp + 0x94], xmm5
subss xmm0, xmm5
movss dword [esp + 0x90], xmm0
jle 0x4165c5
movss dword [esp + 0x6c], xmm3
mov edi, 1
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x150]
movss xmm1, dword [0x4ac818]
movss xmm0, dword [eax + edi*4 - 4]
subss xmm0, dword [eax + edi*4]
andps xmm0, xmmword [0x49fbe0]
comiss xmm1, xmm0
jbe 0x4163a8
mov eax, dword [ebp + 0x14]
movss xmm0, dword [eax + edi*4 - 4]
subss xmm0, dword [eax + edi*4]
andps xmm0, xmmword [0x49fbe0]
comiss xmm1, xmm0
ja 0x41659a
mov esi, dword [esp + 0x150]
mov eax, dword [ebp + 0x14]
lea ebx, [esi + edi*4]
lea esi, [esp + 0x164]
push esi
lea esi, [esp + 0x134]
push esi
lea esi, [esp + 0xec]
push esi
lea esi, [esp + 0xec]
push esi
lea esi, [esp + 0x16c]
push esi
lea ecx, [eax + edi*4]
push ecx
push ebx
lea edx, [ecx - 4]
push edx
lea eax, [ebx - 4]
push eax
push 0x49fa4c
call fcn.00408da0
movss xmm0, dword [esp + 0xe0]
comiss xmm0, dword [0x49fe14]
ja 0x41659a
mov eax, dword [esp + 0x150]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov edx, dword [eax + edi*4 - 4]
mov ebx, dword [ecx + edi*4 - 4]
mov eax, dword [esi]
cmp eax, 1
mov dword [esp + 0xd8], edx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x160], 0
jle 0x416546
lea esi, [esp + 0x160]
lea ecx, [esp + 0xd8]
lea ebx, [esp + 0xd4]
push esi
lea esi, [esp + 0xe8]
push esi
lea eax, [eax*4 + 0x19b39fc]
lea esi, [esp + 0xe8]
push esi
lea edx, [eax + 0x30d40]
push edx
push eax
push ebx
push ecx
call fcn.004084c0
mov eax, dword [ebp + 0x18]
movss xmm0, dword [esp + 0x6c]
comiss xmm0, dword [esp + 0x160]
mov eax, dword [eax]
ja 0x4164a2
movss xmm0, dword [esp + 0xe0]
jmp 0x416546
lea esi, [eax*4 + 0x19b39fc]
lea eax, [esp + 0xc0]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push eax
lea edx, [esp + 0xf0]
push edx
lea ecx, [esp + 0xf0]
push ecx
lea ebx, [esi + 0x30d40]
push ebx
push esi
lea eax, [esp + 0x178]
push eax
lea edx, [esp + 0xf4]
push edx
lea ecx, [esp + 0xfc]
push ecx
push 0x4ac818
call fcn.0040ad00
mov eax, dword [ebp + 0x18]
mov esi, dword [esp + 0xc0]
dec esi
mov eax, dword [eax]
cmp esi, 2
jl 0x416494
mov dword [esp + 0x28], edi
mov ebx, 2
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
inc eax
mov edi, dword [ecx + ebx*4 - 4]
mov dword [eax*4 + 0x19b39fc], edi
mov edi, dword [edx + ebx*4 - 4]
inc ebx
mov dword [eax*4 + 0x19e473c], edi
cmp ebx, esi
mov dword [eax*4 + 0x1a1547c], 0
jle 0x416512
mov edi, dword [esp + 0x28]
movss xmm0, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
movss dword [eax*4 + 0x19b3a00], xmm0
mov dword [eax*4 + 0x19e4740], edx
mov dword [eax*4 + 0x1a15480], edi
add eax, 2
mov ecx, dword [ebp + 0x18]
cmp eax, 0xc31e
mov ebx, dword [esp + 0x130]
mov esi, dword [esp + 0x164]
mov dword [ecx], eax
mov dword [eax*4 + 0x19b39fc], ebx
mov dword [eax*4 + 0x19e473c], esi
mov dword [eax*4 + 0x1a1547c], edi
jg 0x415b3c
inc edi
cmp edi, dword [esp + 0x88]
jle 0x416364
mov ebx, dword [ebp + 0x18]
xor esi, esi
movss xmm1, dword [0x49fe30]
movss xmm2, dword [0x49fe28]
movss xmm3, dword [esp + 0x6c]
mov eax, dword [ebx]
lea ecx, [eax*4 + 0x19b39fc]
lea eax, [esp + 0x160]
push eax
lea edx, [ecx + 0x30d40]
push edx
push ecx
push dword [ebp + 0x14]
push dword [esp + 0x160]
push 0x19e4740
push 0x19b3a00
movss dword [esp + 0x88], xmm3
call fcn.004084c0
movss xmm3, dword [esp + 0x6c]
movss xmm2, dword [0x49fe28]
movss xmm1, dword [0x49fe30]
mov eax, dword [ebx]
comiss xmm3, dword [esp + 0x160]
jbe 0x4166cc
lea ecx, [eax*4 + 0x19b39fc]
lea eax, [esp + 0xc0]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push eax
push 0x19e4740
push 0x19b3a00
lea edx, [ecx + 0x30d40]
push edx
push ecx
lea edi, [esp + 0x178]
push edi
push dword [ebp + 0x14]
push dword [esp + 0x174]
push 0x4ac818
movss dword [esp + 0x98], xmm3
call fcn.0040ad00
mov ecx, dword [esp + 0xc0]
dec ecx
movss xmm3, dword [esp + 0x6c]
cmp ecx, 2
movss xmm2, dword [0x49fe28]
movss xmm1, dword [0x49fe30]
mov eax, dword [ebx]
jl 0x4166cc
mov esi, dword [ebp + 0x20]
mov edx, 2
mov edi, dword [ebp + 0x1c]
inc eax
mov ebx, dword [edi + edx*4 - 4]
mov dword [eax*4 + 0x19b39fc], ebx
mov ebx, dword [esi + edx*4 - 4]
inc edx
mov dword [eax*4 + 0x19e473c], ebx
cmp edx, ecx
mov dword [eax*4 + 0x1a1547c], 0
jle 0x4166a0
mov ebx, dword [ebp + 0x18]
xor esi, esi
mov edx, dword [0x19b3a00]
lea edi, [eax + 1]
mov dword [edi*4 + 0x19b39fc], edx
test edi, edi
mov ecx, dword [0x19e4740]
mov edx, dword [0x1a15480]
mov dword [edi*4 + 0x19e473c], ecx
mov dword [edi*4 + 0x1a1547c], edx
jle 0x418191
movss xmm0, dword [esp + 0x70]
mov eax, 0x4b189680
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov eax, 1
mov dword [ebx], edi
comiss xmm0, dword [0x49fe20]
ja 0x417fff
mov edx, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [edx + eax*4 - 4], ecx
inc eax
mov dword [esp + 0x168], 0
cmp eax, edi
jle 0x416730
mov edi, dword [ebx]
lea eax, [edi - 1]
test eax, eax
jle 0x416960
movss dword [esp + 0x6c], xmm3
mov edi, 1
mov esi, dword [ebp + 0x1c]
mov ebx, eax
movss xmm0, dword [esi + edi*4 - 4]
pxor xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x416776
je 0x41693a
movss xmm0, dword [esi + edi*4]
pxor xmm1, xmm1
ucomiss xmm0, xmm1
jp 0x41678a
je 0x41693a
cmp dword [edi*4 + 0x1a1547c], 0
je 0x41693a
cmp dword [edi*4 + 0x1a15480], 0
je 0x41693a
mov dword [esp + 0xa8], ebx
lea ebx, [edi*4 + 0x19e473c]
mov dword [esp + 0xac], edi
lea eax, [esp + 0x16c]
mov dword [esp + 0xa4], ebx
lea edi, [ebx - 0x30d40]
mov dword [esp + 0x9c], edi
lea edx, [ebx + 4]
mov dword [esp + 0xa0], edx
lea ecx, [ebx - 0x30d3c]
mov dword [esp + 0x98], ecx
push eax
push edx
push ecx
push ebx
push edi
mov edi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xbc]
call fcn.00408530
movss xmm1, dword [esp + 0x16c]
movss xmm0, dword [esp + 0x94]
comiss xmm0, xmm1
ja 0x41693a
comiss xmm1, dword [esp + 0x15c]
jbe 0x41683a
mov dword [esp + 0x168], 0
jmp 0x416931
mulss xmm1, dword [0x49fe24]
minss xmm1, dword [0x49fe28]
movss dword [esp + 0x170], xmm1
add esp, 0xffffffa8
lea edx, [esp + 0x1ac]
lea ecx, [esp + 0x1c0]
lea eax, [esp + 0x1a0]
mov dword [esp + 0xc], 0x613400
mov dword [esp + 0x10], 0x613430
mov dword [esp + 0x14], edx
lea edx, [esp + 0x1b0]
mov dword [esp + 0x18], 0x611e80
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xe8]
mov dword [esp + 0x20], 0x1a461c0
mov dword [esp + 0x24], ecx
mov ecx, 0x6133d0
mov dword [esp + 0x28], 0x49fa4c
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x1a4]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 0x4ac814
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x50], edx
lea edx, [esp + 0x138]
mov dword [esp + 0x54], edx
mov edx, 0x6133a0
call fcn.004181cc
cmp dword [esp + 0x168], 0
jne 0x41693a
xor edx, edx
mov dword [esi + edi*4 - 4], edx
mov dword [esi + edi*4], edx
inc edi
cmp edi, ebx
jle 0x416761
mov ebx, dword [ebp + 0x18]
xor esi, esi
movss xmm1, dword [0x49fe30]
movss xmm2, dword [0x49fe28]
movss xmm3, dword [esp + 0x6c]
mov edi, dword [ebx]
test edi, edi
jle 0x41698d
mov edx, dword [ebp + 0x1c]
mov eax, 1
pxor xmm4, xmm4
movss xmm0, dword [edx + eax*4 - 4]
ucomiss xmm0, xmm4
jp 0x41697d
je 0x416988
mov dword [eax*4 + 0x1a1547c], 0xffffffff
inc eax
cmp eax, edi
jle 0x416970
mov dword [ebx], 0
lea eax, [edi - 1]
test eax, eax
jle 0x415b45
mov edx, 0x4b189680
mov dword [esp + 0xc0], edi
mov edi, 1
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], edx
movss dword [esp + 0x6c], xmm3
mov dword [esp + 0x8c], eax
cmp dword [edi*4 + 0x1a1547c], 0
jl 0x417fec
movss xmm1, dword [edi*4 + 0x19b39fc]
movss xmm0, dword [edi*4 + 0x19b3a00]
mov eax, dword [edi*4 + 0x19b39fc]
mov edx, dword [edi*4 + 0x19b3a00]
comiss xmm0, xmm1
jbe 0x416a06
mov dword [esp + 0x144], edx
jmp 0x416a10
mov dword [esp + 0x144], eax
movaps xmm1, xmm0
movss xmm0, dword [edi*4 + 0x19e473c]
movss xmm2, dword [edi*4 + 0x19e4740]
mov eax, dword [edi*4 + 0x19e473c]
mov edx, dword [edi*4 + 0x19e4740]
comiss xmm2, xmm0
jbe 0x416a3e
mov dword [esp + 0x140], edx
jmp 0x416a48
mov dword [esp + 0x140], eax
movaps xmm0, xmm2
mov ebx, dword [esp + 0xc0]
lea esi, [edi + 2]
cmp ebx, esi
jl 0x416d98
lea eax, [edi*4 + 0x19e473c]
mov dword [esp + 0xec], eax
lea edx, [eax - 0x30d40]
mov dword [esp + 0xe8], edx
lea ecx, [eax + 4]
mov dword [esp + 0xf4], ecx
lea ecx, [eax - 0x30d3c]
mov dword [esp + 0xf0], ecx
cmp dword [ebx*4 + 0x1a1547c], 0
jl 0x417fd9
movss xmm3, dword [esp + 0x144]
movss xmm4, dword [ebx*4 + 0x19b39fc]
comiss xmm4, xmm3
jbe 0x416ac3
movss xmm2, dword [ebx*4 + 0x19b39f8]
comiss xmm2, xmm3
ja 0x416d8f
comiss xmm1, xmm4
jbe 0x416ad6
comiss xmm1, dword [ebx*4 + 0x19b39f8]
ja 0x416d8f
movss xmm4, dword [esp + 0x140]
movss xmm3, dword [ebx*4 + 0x19e473c]
comiss xmm3, xmm4
jbe 0x416aff
movss xmm2, dword [ebx*4 + 0x19e4738]
comiss xmm2, xmm4
ja 0x416d8f
comiss xmm0, xmm3
jbe 0x416b12
comiss xmm0, dword [ebx*4 + 0x19e4738]
ja 0x416d8f
cmp ebx, edi
je 0x416d8f
add esp, 0xffffffd4
lea edx, [ebx*4 + 0x19b39fc]
mov eax, dword [esp + 0x11c]
lea ecx, [ebx*4 + 0x19e473c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x10], eax
lea eax, [ebx*4 + 0x19b39f8]
mov dword [esp + 0x14], edx
lea edx, [eax + 0x30d40]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x12c]
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
movss dword [esp + 0x124], xmm0
movss dword [esp + 0x128], xmm1
call fcn.00414b6c
movss xmm1, dword [esp + 0xfc]
movss xmm0, dword [esp + 0xf8]
cmp dword [esp + 0x100], 0
je 0x416d8f
xor eax, eax
cmp dword [edi*4 + 0x1a1547c], 0
jle 0x416bda
cmp dword [edi*4 + 0x1a15480], 0
jle 0x416bda
xor edx, edx
jmp 0x416be1
mov eax, 1
mov edx, eax
cmp dword [ebx*4 + 0x1a1547c], 0
jle 0x417058
cmp dword [ebx*4 + 0x1a15478], 0
jle 0x417058
mov dword [esp + 0x168], eax
test edx, edx
je 0x416c16
mov eax, dword [0x4ac814]
mov dword [esp + 0x160], eax
jmp 0x416c22
mov eax, dword [0x4ac81c]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x148]
test ecx, ecx
mov dword [0x6290e8], ecx
jle 0x41704e
mov eax, 1
movss xmm3, dword [esp + 0xe0]
movss xmm2, dword [esp + 0xe4]
mov dword [esp + 0xdc], edi
mov edi, eax
comiss xmm3, dword [eax*4 + 0x61339c]
jbe 0x416c92
movss xmm4, dword [eax*4 + 0x6133cc]
comiss xmm4, xmm3
jbe 0x416c92
mov edx, edi
comiss xmm2, dword [edx*4 + 0x6133fc]
jbe 0x416c8d
movss xmm4, dword [edx*4 + 0x61342c]
comiss xmm4, xmm2
ja 0x41703c
inc edx
cmp edx, ecx
jle 0x416c71
lea esi, [esi]
lea edi, [edi]
inc eax
cmp eax, ecx
jle 0x416c57
mov edi, dword [esp + 0xdc]
mov eax, 0x64
add esp, 0xffffffc8
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x11c]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x118]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x194]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x18], edx
lea edx, [eax*8 + 0x611e78]
mov dword [esp + 0x1c], ecx
lea eax, [eax*8 + 0x611e7c]
mov dword [esp + 0x20], 0x1a461c0
lea ecx, [esp + 0x10c]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x110]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1a0]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x198]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
movss dword [esp + 0x130], xmm0
movss dword [esp + 0x134], xmm1
call fcn.0041881c
movss xmm1, dword [esp + 0xfc]
movss xmm0, dword [esp + 0xf8]
cmp dword [esp + 0x168], 0
jne 0x416d8f
mov edx, dword [ebp + 0x18]
mov ecx, dword [esp + 0xe0]
mov eax, dword [edx]
inc eax
mov dword [edx], eax
mov edx, dword [ebp + 0x1c]
mov dword [edx + eax*4 - 4], ecx
mov edx, dword [ebp + 0x20]
mov ecx, dword [esp + 0xe4]
mov dword [edx + eax*4 - 4], ecx
dec ebx
cmp ebx, esi
jge 0x416a8c
lea esi, [esi]
inc edi
cmp edi, dword [esp + 0x8c]
jle 0x4169ca
mov ebx, dword [ebp + 0x18]
xor esi, esi
mov edx, dword [ebx]
test edx, edx
movss xmm1, dword [0x49fe30]
movss xmm2, dword [0x49fe28]
movss xmm3, dword [esp + 0x6c]
je 0x415b45
mov edi, dword [ebp + 0x1c]
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov dword [ebx], eax
pxor xmm0, xmm0
mov ecx, dword [edi]
mov dword [edi + eax*4 - 4], ecx
mov edi, dword [ebp + 0x20]
mov dword [esp + 0xc0], 1
mov ecx, dword [edi]
mov dword [edi + eax*4 - 4], ecx
mov eax, esi
lea esi, [esi]
movdqa xmmword [eax*4 + 0x1a15480], xmm0
movdqa xmmword [eax*4 + 0x6121a0], xmm0
movdqa xmmword [eax*4 + 0x1a15490], xmm0
movdqa xmmword [eax*4 + 0x6121b0], xmm0
movdqa xmmword [eax*4 + 0x1a154a0], xmm0
movdqa xmmword [eax*4 + 0x6121c0], xmm0
movdqa xmmword [eax*4 + 0x1a154b0], xmm0
movdqa xmmword [eax*4 + 0x6121d0], xmm0
add eax, 0x10
cmp eax, 0x3e0
jb 0x416e00
movss xmm0, dword [esp + 0x15c]
movaps xmm4, xmm2
mulss xmm0, xmm1
mov eax, 0x47c34f80
movss xmm5, dword [esp + 0x7c]
test edx, edx
mov dword [0x1a16400], esi
minss xmm4, xmm0
addss xmm5, xmm5
mov dword [0x613120], esi
mov dword [0x1a16404], esi
mov dword [0x613124], esi
mov dword [0x1a16408], esi
mov dword [0x613128], esi
mov dword [0x1a1640c], esi
mov dword [0x61312c], esi
mov dword [0x1a16410], esi
mov dword [0x613130], esi
mov dword [0x1a16414], esi
mov dword [0x613134], esi
mov dword [0x1a16418], esi
mov dword [0x613138], esi
mov dword [0x1a1641c], esi
mov dword [0x61313c], esi
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], eax
movss dword [esp + 0x170], xmm4
jle 0x417fc6
mov dword [esp + 0x168], 0
mov edi, 1
movss dword [esp + 0x160], xmm5
movss dword [esp + 0x6c], xmm3
mov dword [esp + 0x24], edx
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp + 0x1c]
jmp 0x416f26
mov dword [esp + 0x168], eax
add esp, 0xffffffa8
lea edx, [esi + edi*4]
lea ecx, [esp + 0x1ac]
lea eax, [ebx + edi*4]
mov dword [esp + 0xc], 0x613400
mov dword [esp + 0x10], 0x613430
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x18], 0x611e80
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x158]
mov dword [esp + 0x20], 0x1a461c0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x28], 0x49fa50
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x1c8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x1b8]
mov dword [esp + 0x40], ecx
lea ecx, [edx - 4]
mov dword [esp + 0x44], ecx
lea ecx, [eax - 4]
mov dword [esp + 0x48], ecx
mov ecx, 0x6133d0
mov dword [esp + 0x4c], edx
mov edx, 0x6133a0
mov dword [esp + 0x50], eax
lea eax, [esp + 0x138]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x1a0]
call fcn.004181cc
mov eax, dword [esp + 0x168]
inc eax
mov edx, dword [esi + edi*4 - 4]
mov ecx, dword [ebx + edi*4 - 4]
cmp dword [esp + 0x100], 0
mov dword [eax*4 + 0x19b39fc], edx
mov edx, dword [esp + 0xc0]
mov dword [eax*4 + 0x19e473c], ecx
mov dword [edx*4 + 0x1a1547c], eax
je 0x41702f
test eax, eax
je 0x41702f
inc edx
mov dword [esp + 0xc0], edx
inc edi
cmp edi, dword [esp + 0x24]
jle 0x416f1f
jmp 0x417074
mov edi, dword [esp + 0xdc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*2]
jmp 0x416cae
mov eax, 0x64
jmp 0x416cae
mov eax, dword [0x4ac814]
mov dword [esp + 0x168], 1
mov dword [esp + 0x160], eax
jmp 0x416c22
mov ebx, dword [ebp + 0x18]
xor esi, esi
mov dword [esp + 0x84], edx
mov edx, dword [ebx]
movss xmm1, dword [0x49fe30]
movss xmm2, dword [0x49fe28]
movss xmm3, dword [esp + 0x6c]
mov dword [esp + 0x14], edx
mov ecx, dword [ebp + 0x1c]
inc eax
mov edx, dword [esp + 0x14]
movss xmm4, dword [0x49fe08]
movss xmm5, dword [0x4ac814]
movaps xmm0, xmm4
mov edi, dword [ecx + edx*4 - 4]
mov ecx, dword [ebp + 0x20]
mov dword [eax*4 + 0x19b39fc], edi
mov edi, dword [esp + 0x84]
test edi, edi
mov edx, dword [ecx + edx*4 - 4]
mov dword [eax*4 + 0x19e473c], edx
mov edx, esi
mov dword [edi*4 + 0x1a1547c], eax
mov ecx, edx
mulss xmm5, dword [0x49fe34]
jle 0x41717f
mov eax, esi
movss dword [esp + 0x160], xmm5
mov dword [esp + 0x64], eax
mov dword [esp + 0x80], 1
movss dword [esp + 0x6c], xmm3
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x80]
cmp dword [edx*4 + 0x61219c], 0
jne 0x41714e
cmp dword [esp + 0x80], 1
je 0x41713e
mov esi, dword [edx*4 + 0x1a15478]
inc esi
jmp 0x417143
mov esi, 1
mov ebx, dword [edx*4 + 0x1a1547c]
cmp ebx, esi
jne 0x417194
mov edx, dword [esp + 0x80]
inc edx
mov dword [esp + 0x80], edx
cmp edx, dword [esp + 0x84]
jle 0x417119
mov ebx, dword [ebp + 0x18]
cmp eax, 4
jle 0x41717f
mov dword [ebx], eax
add esp, 0x194
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x20
mov dword [ebx], 0
add esp, 0x194
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x20
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], esi
mov dword [edx*4 + 0x61219c], 1
jl 0x417fa8
movss xmm1, dword [0x49fe08]
mov dword [esp + 0xb8], ebx
movss xmm5, dword [0x49fe38]
inc eax
mov edi, dword [ebp + 0x1c]
mov edx, eax
mov ecx, dword [ebp + 0x20]
mov ebx, dword [esi*4 + 0x19b39fc]
mov dword [edi + eax*4 - 4], ebx
mov edi, dword [esi*4 + 0x19e473c]
movss xmm3, dword [esi*4 + 0x19e473c]
movss xmm2, dword [esi*4 + 0x19b39fc]
inc esi
mov dword [ecx + eax*4 - 4], edi
comiss xmm1, xmm5
jbe 0x417212
movaps xmm1, xmm2
movaps xmm4, xmm2
movaps xmm0, xmm3
cmp esi, dword [esp + 0xb8]
jle 0x4171c4
jmp 0x417f87
cmp esi, dword [esp + 0xb8]
jle 0x4171c4
mov dword [esp + 0xbc], edx
movss dword [esp + 0xe4], xmm0
movss dword [esp + 0xe0], xmm4
mov dword [esp + 0x168], eax
mov edi, dword [esp + 0x80]
lea ecx, [esp + 0x15c]
mov dword [esp + 0x184], edi
movss xmm0, dword [0x49fe48]
lea esi, [esp + 0x158]
lea edx, [esp + 0x170]
lea ebx, [esp + 0x174]
mov eax, dword [esp + 0xc0]
test eax, eax
mov dword [esp + 0x100], 0
mov dword [esp + 0x130], 0x4b189680
jle 0x417827
mov dword [esp + 0x188], eax
mov edi, 1
mov eax, dword [esp + 0xbc]
cmp dword [edi*4 + 0x61219c], 0
lea esi, [edi + 1]
jne 0x4176f5
cmp esi, dword [esp + 0x184]
je 0x4176f5
cmp edi, 1
je 0x4172d2
mov ecx, dword [edi*4 + 0x1a15478]
inc ecx
jmp 0x4172d7
mov ecx, 1
mov dword [esp + 0x180], esi
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
mov dword [esp + 0x178], ecx
lea edx, [ebx + eax*4 - 4]
lea eax, [esi + eax*4 - 4]
lea esi, [ecx*4 + 0x19b39fc]
lea ecx, [esp + 0x164]
push ecx
lea ebx, [esi + 0x30d40]
push ebx
push esi
push eax
push edx
mov esi, dword [esp + 0x194]
call fcn.00408530
movss xmm0, dword [esp + 0x15c]
comiss xmm0, dword [esp + 0x164]
movss xmm2, dword [0x49fe3c]
movss xmm1, dword [0x49fe54]
ja 0x41733e
movaps xmm2, xmm1
mulss xmm2, dword [esp + 0x160]
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x178]
movss dword [esp + 0x17c], xmm2
add esp, 0xffffffa8
lea edx, [esp + 0x1ac]
lea ecx, [esp + 0x1b0]
lea ebx, [ebx*4 + 0x19b39fc]
mov dword [esp + 0xc], 0x613400
mov dword [esp + 0x10], 0x613430
mov dword [esp + 0x14], edx
lea edx, [esp + 0x1cc]
mov dword [esp + 0x18], 0x611e80
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1b4]
mov dword [esp + 0x20], 0x1a461c0
mov dword [esp + 0x24], edx
lea edx, [esp + 0x1c8]
mov dword [esp + 0x28], 0x49fa50
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x1a8]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x1d4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x40], edx
lea edx, [ecx + eax*4 - 4]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x44], edx
lea edx, [esp + 0x1c4]
lea eax, [ecx + eax*4 - 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
lea eax, [ebx + 0x30d40]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1a0]
mov dword [esp + 0x54], edx
mov edx, 0x6133a0
mov ecx, 0x6133d0
call fcn.004181cc
movss xmm0, dword [esp + 0x15c]
mov eax, dword [esp + 0x174]
comiss xmm0, dword [esp + 0x16c]
jbe 0x41746e
test eax, eax
jne 0x417472
movss xmm0, dword [esp + 0x164]
addss xmm0, dword [0x49fe44]
movss dword [esp + 0x164], xmm0
jmp 0x417489
test eax, eax
je 0x417489
mov dword [esp + 0x164], 0x4cbebc20
mov eax, dword [esp + 0x168]
jmp 0x4176f5
mov eax, dword [esp + 0x168]
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x20]
lea ecx, [edx + eax*4 - 4]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x178]
lea edx, [ebx + eax*4 - 4]
mov dword [esp + 0x134], edx
lea edx, [ecx*4 + 0x19b39fc]
mov ecx, dword [esp + 0x14c]
lea ebx, [edx + 0x30d40]
mov dword [esp + 0x13c], ebx
mov ecx, dword [ecx]
mov dword [0x62910c], ecx
dec ecx
test ecx, ecx
jle 0x4176ce
mov dword [esp + 0x128], edi
mov ebx, 1
mov dword [esp + 0x12c], edx
mov dword [esp + 0x180], esi
mov esi, ecx
movss xmm1, dword [0x49fe14]
mov edi, dword [esp + 0x150]
movss xmm0, dword [edi + ebx*4 - 4]
comiss xmm0, xmm1
ja 0x4176b0
movss xmm0, dword [edi + ebx*4]
comiss xmm0, xmm1
ja 0x4176b0
mov dword [esp + 0x120], esi
lea edx, [edi + ebx*4]
mov esi, dword [ebp + 0x14]
lea ecx, [edx - 4]
mov dword [esp + 0x124], ebx
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ecx
lea ebx, [esi + ebx*4]
mov dword [esp + 0x110], ebx
lea esi, [esp + 0x10c]
lea eax, [ebx - 4]
mov dword [esp + 0x114], eax
push esi
lea esi, [esp + 0x10c]
push esi
push ebx
push edx
push eax
push ecx
push dword [esp + 0x14c]
push dword [esp + 0x154]
lea eax, [esp + 0x124]
push eax
mov ebx, dword [esp + 0x148]
mov esi, dword [esp + 0x144]
call fcn.004085e0
movss xmm1, dword [0x49fe14]
cmp dword [esp + 0x104], 0
je 0x4176b0
lea eax, [esp + 0xd0]
push eax
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x110]
push eax
push dword [esp + 0x140]
push dword [esp + 0x148]
call fcn.00408530
movss xmm0, dword [esp + 0x15c]
movss xmm1, dword [0x49fe14]
addss xmm0, dword [0x49fe10]
comiss xmm0, dword [esp + 0xd0]
jbe 0x4176b0
lea eax, [esp + 0xcc]
lea ecx, [esp + 0xc4]
lea edx, [esp + 0xc8]
push eax
push edx
push dword [esp + 0x118]
push dword [esp + 0x124]
push dword [esp + 0x124]
push dword [esp + 0x130]
push dword [esp + 0x154]
push dword [esp + 0x148]
push ecx
call fcn.004085e0
movss xmm1, dword [0x49fe14]
cmp dword [esp + 0xc4], 0
je 0x4176b0
lea eax, [esp + 0xb4]
push eax
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x148]
push dword [esp + 0x13c]
call fcn.00408530
movss xmm0, dword [esp + 0x15c]
movss xmm1, dword [0x49fe14]
addss xmm0, dword [0x49fe10]
comiss xmm0, dword [esp + 0xb4]
ja 0x417f5e
inc ebx
cmp ebx, esi
jle 0x41750a
mov esi, dword [esp + 0x180]
mov edi, dword [esp + 0x128]
mov eax, dword [esp + 0x168]
movss xmm0, dword [esp + 0x164]
movss xmm1, dword [esp + 0x130]
comiss xmm1, xmm0
jbe 0x4176f5
movss dword [esp + 0x130], xmm0
mov dword [esp + 0x100], edi
mov edi, esi
cmp esi, dword [esp + 0x188]
jle 0x4172a5
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x100]
test eax, eax
movss xmm0, dword [0x49fe48]
mov dword [esp + 0x184], eax
je 0x417827
cmp dword [esp + 0x184], 1
je 0x41780f
shl eax, 2
mov edx, dword [eax + 0x1a15478]
inc edx
mov dword [esp + 0x178], edx
mov ecx, dword [eax + 0x1a1547c]
cmp edx, ecx
mov dword [esp + 0x174], ecx
mov dword [eax + 0x61219c], 1
jne 0x4177a3
movss xmm1, dword [edx*4 + 0x19b39fc]
subss xmm1, dword [esp + 0xe0]
andps xmm1, xmmword [0x49fbe0]
comiss xmm0, xmm1
jbe 0x4177a3
movss xmm1, dword [edx*4 + 0x19e473c]
subss xmm1, dword [esp + 0xe4]
andps xmm1, xmmword [0x49fbe0]
comiss xmm0, xmm1
ja 0x41726d
cmp ecx, edx
jl 0x41726d
mov eax, dword [esp + 0xbc]
sub ecx, edx
mov dword [esp + 0xb0], eax
inc ecx
xor ebx, ebx
lea edi, [eax + 1]
inc ebx
mov eax, edi
mov esi, edi
inc edi
cmp ebx, ecx
jb 0x4177c1
mov dword [esp + 0x168], esi
xor ebx, ebx
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x20]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xb0]
lea esi, [esi + eax*4]
shl edx, 2
lea eax, [edi + eax*4]
mov edi, dword [edx + ebx*4 + 0x19b39fc]
mov dword [esi + ebx*4], edi
mov edi, dword [edx + ebx*4 + 0x19e473c]
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, ecx
jb 0x4177f1
jmp 0x41726d
mov edx, 1
mov dword [esp + 0x178], 1
shl eax, 2
jmp 0x417748
lea ebx, [esp + 0x174]
lea edx, [esp + 0x170]
lea esi, [esp + 0x158]
lea eax, [esp + 0x16c]
lea ecx, [esp + 0x15c]
add esp, 0xffffffa8
lea edi, [esp + 0x1ac]
mov dword [esp + 0xc], 0x613400
mov dword [esp + 0x10], 0x613430
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0x611e80
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 0x1a461c0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x49fa50
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x1b8]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x1a4]
mov dword [esp + 0x34], ebx
mov esi, dword [esp + 0x1a8]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x114]
mov ebx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x20]
lea esi, [ebx + edx*4 - 4]
mov dword [esp + 0x44], esi
lea ecx, [edi + edx*4 - 4]
mov dword [esp + 0x48], ecx
mov edx, 0x6133a0
lea ebx, [esp + 0x138]
mov dword [esp + 0x4c], ebx
lea esi, [esp + 0x13c]
mov dword [esp + 0x50], esi
mov ecx, 0x6133d0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x1a0]
call fcn.004181cc
mov eax, dword [esp + 0x168]
cmp dword [esp + 0x174], 0
jne 0x417b63
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x20]
mov esi, dword [esp + 0x14c]
movss xmm0, dword [edx + eax*4 - 4]
movss xmm2, dword [ebx + eax*4 - 4]
movss xmm1, dword [0x49fe04]
mov ebx, dword [esi]
dec ebx
addss xmm0, dword [esp + 0xe0]
addss xmm2, dword [esp + 0xe4]
mulss xmm0, xmm1
mulss xmm2, xmm1
movss xmm1, dword [esp + 0x15c]
test ebx, ebx
movss dword [esp + 0x144], xmm0
movss dword [esp + 0x140], xmm2
addss xmm1, dword [0x49fe10]
jle 0x417b0b
movss xmm0, dword [0x49fe38]
xor edx, edx
movss dword [esp + 0x5c], xmm0
mov edi, 1
movss dword [esp + 0x58], xmm1
mov dword [esp + 0x60], edx
movss xmm0, dword [0x49fe14]
mov esi, dword [esp + 0x150]
movss xmm1, dword [esi + edi*4 - 4]
comiss xmm1, xmm0
jbe 0x4179c4
lea eax, [edi + 1]
jmp 0x417aeb
movss xmm1, dword [esi + edi*4]
comiss xmm1, xmm0
jbe 0x4179d6
lea eax, [edi + 1]
jmp 0x417aeb
mov dword [esp + 0x48], ebx
lea ecx, [esi + edi*4]
mov ebx, dword [ebp + 0x14]
lea eax, [ecx - 4]
mov dword [esp + 0x4c], edi
lea edx, [ebx + edi*4]
lea ebx, [esp + 0x40]
lea edi, [edx - 4]
mov dword [esp + 0x44], edi
push ebx
lea ebx, [esp + 0x40]
push ebx
push edx
push ecx
push edi
push eax
lea edx, [esp + 0x158]
push edx
lea ecx, [esp + 0x160]
push ecx
lea edi, [esp + 0x58]
push edi
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x74], eax
call fcn.004085e0
movss xmm0, dword [0x49fe14]
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x38], 0
jne 0x417a90
lea edx, [esp + 0x2c]
push edx
push dword [esp + 0x48]
push eax
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x154]
push ecx
call fcn.00408530
movss xmm2, dword [esp + 0x2c]
lea eax, [edi + 1]
movss xmm1, dword [esp + 0x58]
movss xmm0, dword [0x49fe14]
comiss xmm1, xmm2
jbe 0x417aeb
movss xmm1, dword [esp + 0x5c]
minss xmm1, xmm2
ucomiss xmm2, xmm1
movss dword [esp + 0x5c], xmm1
jne 0x417aeb
jp 0x417aeb
mov dword [esp + 0x60], edi
jmp 0x417aeb
lea eax, [esp + 0x2c]
push eax
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x44]
push ecx
lea eax, [esp + 0x14c]
push eax
lea edx, [esp + 0x154]
push edx
call fcn.00408530
movss xmm2, dword [esp + 0x2c]
lea eax, [edi + 1]
movss xmm1, dword [esp + 0x58]
movss xmm0, dword [0x49fe14]
comiss xmm1, xmm2
jbe 0x417aeb
movss xmm1, dword [esp + 0x5c]
minss xmm1, xmm2
ucomiss xmm2, xmm1
movss dword [esp + 0x5c], xmm1
jne 0x417aeb
jp 0x417aeb
mov dword [esp + 0x60], eax
mov edi, eax
cmp eax, ebx
jle 0x4179b1
mov edx, dword [esp + 0x60]
test edx, edx
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x174]
jne 0x417b18
mov dword [esp + 0x174], 1
jmp 0x417b63
test ebx, ebx
jne 0x417b63
mov edx, eax
sub edx, dword [esp + 0x64]
cmp edx, 2
jle 0x417b63
mov edx, dword [ebp + 0x1c]
mov edi, 0x47c34f80
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0xe4]
mov dword [edx + eax*4], ebx
mov ebx, dword [ebp + 0x20]
mov dword [ebx + eax*4], esi
add eax, 2
mov dword [esp + 0xbc], eax
mov ecx, eax
mov dword [esp + 0x64], eax
mov dword [edx + eax*4 - 4], edi
mov dword [ebx + eax*4 - 4], edi
jmp 0x417ef5
mov edx, eax
sub edx, dword [esp + 0x64]
cmp edx, 5
jle 0x417ee8
mov edx, dword [esp + 0x64]
xor edi, edi
movss xmm3, dword [0x49fe1c]
movss xmm5, dword [0x49fe4c]
movaps xmm6, xmm3
mov dword [0x6290fc], eax
lea esi, [edx + 1]
mov edx, esi
movaps xmm4, xmm5
cmp eax, esi
jl 0x417c4b
movss xmm0, dword [0x49fe4c]
movss dword [esp + 0x54], xmm0
movss xmm2, dword [0x49fe14]
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
movss xmm1, dword [ecx + edx*4 - 4]
comiss xmm2, xmm1
jbe 0x417c42
movaps xmm0, xmm3
movaps xmm3, xmm1
movaps xmm7, xmm5
movaps xmm5, xmm1
cmp edx, esi
minss xmm3, xmm0
maxss xmm5, xmm7
movss xmm0, dword [ebx + edx*4 - 4]
movaps xmm7, xmm6
movaps xmm6, xmm0
minss xmm6, xmm7
movaps xmm7, xmm4
movaps xmm4, xmm0
maxss xmm4, xmm7
jle 0x417c42
movss xmm7, dword [ecx + edx*4 - 8]
comiss xmm2, xmm7
jbe 0x417c42
subss xmm1, xmm7
subss xmm0, dword [ebx + edx*4 - 8]
andps xmm1, xmmword [0x49fbe0]
andps xmm0, xmmword [0x49fbe0]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x54]
movaps xmm7, xmm1
movss dword [esp + 0x34], xmm1
maxss xmm7, xmm0
ucomiss xmm7, xmm1
movss dword [esp + 0x54], xmm7
jne 0x417c42
jp 0x417c42
mov edi, edx
inc edx
cmp edx, eax
jle 0x417bbc
movss xmm0, dword [0x49fe10]
subss xmm5, xmm3
comiss xmm0, xmm5
ja 0x417ee8
movss xmm0, dword [0x49fe10]
subss xmm4, xmm6
comiss xmm0, xmm4
ja 0x417ee8
test edi, edi
je 0x417d5f
movss xmm0, dword [0x49fe4c]
cmp eax, esi
jl 0x417d45
mov edx, dword [ebp + 0x1c]
lea ebx, [edi - 1]
mov dword [esp + 0x30], ebx
lea ecx, [edx + edi*4]
mov edx, dword [ebp + 0x20]
lea ebx, [ecx - 8]
mov dword [esp + 0x20], ebx
add ecx, 0xfffffffc
lea ebx, [edx + edi*4]
lea edx, [ebx - 8]
mov dword [esp + 0x1c], edx
add ebx, 0xfffffffc
cmp esi, edi
je 0x417d3c
cmp esi, dword [esp + 0x30]
je 0x417d3c
mov edx, dword [ebp + 0x1c]
movss xmm1, dword [0x49fe14]
comiss xmm1, dword [edx + esi*4 - 4]
jbe 0x417d3c
mov dword [esp + 4], edi
mov edi, dword [ebp + 0x1c]
mov dword [esp], esi
lea edx, [edi + esi*4 - 4]
mov edi, dword [ebp + 0x20]
lea edi, [edi + esi*4 - 4]
lea esi, [esp + 0x34]
push esi
push dword [esp + 0x20]
push dword [esp + 0x28]
push ebx
push ecx
push edi
push edx
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
movss dword [esp + 0x24], xmm0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
call fcn.00408f40
movss xmm0, dword [esp + 8]
movss xmm1, dword [esp + 0x34]
movaps xmm2, xmm0
movaps xmm0, xmm1
mov eax, dword [esp + 0x10]
maxss xmm0, xmm2
mov ecx, dword [esp + 0xc]
comiss xmm0, dword [0x49fe10]
ja 0x417d5f
inc esi
cmp esi, eax
jle 0x417cb4
movss xmm1, dword [0x49fe10]
comiss xmm1, xmm0
jbe 0x417d5f
pxor xmm1, xmm1
comiss xmm0, xmm1
ja 0x417ee8
mov eax, dword [esp + 0x14c]
mov edx, dword [eax]
cmp edx, 0x2710
jg 0x417e25
test edx, edx
jle 0x417f05
mov ebx, dword [ebp + 0x14]
xor eax, eax
mov esi, dword [esp + 0x150]
mov ecx, 1
movss xmm2, dword [esi + ecx*4 - 4]
inc eax
movaps xmm1, xmm2
movss xmm0, dword [ebx + ecx*4 - 4]
mov edi, dword [ebx + ecx*4 - 4]
inc ecx
cmp ecx, edx
movss dword [eax*4 + 0x1bf3cbc], xmm2
mov dword [eax*4 + 0x1bfd8fc], edi
jg 0x417dfe
cmp eax, 1
jle 0x417d8d
movss xmm2, dword [esi + ecx*4 - 4]
movaps xmm4, xmm1
movss xmm3, dword [0x49fe50]
subss xmm4, xmm2
andps xmm4, xmmword [0x49fbe0]
comiss xmm3, xmm4
jbe 0x417d93
movaps xmm4, xmm0
movss xmm3, dword [0x49fe50]
subss xmm4, dword [ebx + ecx*4 - 4]
andps xmm4, xmmword [0x49fbe0]
comiss xmm3, xmm4
jbe 0x417d93
inc ecx
cmp ecx, edx
jle 0x417dbb
mov dword [esp + 0x18], eax
add esp, 0xfffffff0
mov edx, 0x1bf3cc0
mov ecx, 0x1bfd900
lea eax, [esp + 0x28]
lea ebx, [esp + 0x188]
mov dword [esp + 0xc], ebx
call fcn.00414f9c
jmp 0x417e42
add esp, 0xfffffff0
mov ecx, dword [ebp + 0x14]
lea ebx, [esp + 0x188]
mov dword [esp + 0xc], ebx
mov edx, dword [esp + 0x160]
call fcn.00414f9c
add esp, 0xffffffe4
mov eax, 0x49fa50
mov ecx, dword [ebp + 0x14]
lea ebx, [esp + 0x94]
lea edx, [esp + 0xfc]
mov dword [esp + 0xc], ebx
mov esi, dword [esp + 0x168]
mov dword [esp + 0x10], esi
mov edi, dword [esp + 0x16c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x100]
call fcn.0041048c
mov edi, dword [esp + 0x168]
add esp, 0xffffffe4
mov ebx, dword [ebp + 0x1c]
lea eax, [esp + 0x90]
mov esi, dword [ebp + 0x20]
mov dword [esp + 0xc], eax
lea edx, [ebx + edi*4 - 4]
mov ebx, dword [esp + 0x168]
lea ecx, [esi + edi*4 - 4]
mov dword [esp + 0x10], ebx
mov eax, 0x49fa50
mov esi, dword [esp + 0x16c]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
call fcn.0041048c
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x178], 1
je 0x417f51
test eax, eax
jne 0x417ee8
cmp dword [esp + 0x74], 0
je 0x417f12
mov eax, dword [esp + 0x64]
mov ecx, eax
mov dword [esp + 0xbc], eax
movss xmm4, dword [0x49fe08]
movaps xmm0, xmm4
jmp 0x41714e
mov dword [esp + 0x18], 0
jmp 0x417e02
movss xmm1, dword [0x49fe30]
xor esi, esi
movss xmm2, dword [0x49fe28]
movss xmm3, dword [esp + 0x6c]
mov ebx, dword [ebp + 0x18]
movss xmm4, dword [0x4ac814]
mulss xmm4, dword [0x49fe04]
movss xmm0, dword [esp + 0x7c]
comiss xmm0, xmm4
ja 0x4162cc
jmp 0x415b3c
test eax, eax
je 0x417ee8
cmp dword [esp + 0x74], 0
jne 0x417f12
jmp 0x417ee8
mov esi, dword [esp + 0x180]
mov edi, dword [esp + 0x128]
pxor xmm0, xmm0
mov eax, dword [esp + 0x168]
mov dword [esp + 0x164], 0
jmp 0x4176d7
mov dword [esp + 0xbc], edx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x168], eax
jmp 0x41723b
movss dword [esp + 0xe4], xmm0
movss dword [esp + 0xe0], xmm4
mov dword [esp + 0x168], ecx
jmp 0x41723b
mov edx, 1
mov eax, esi
mov dword [esp + 0x84], edx
jmp 0x41709c
cmp dword [ebx*4 + 0x1a15478], 0
jl 0x416d8f
jmp 0x416a9a
cmp dword [edi*4 + 0x1a15480], 0
jl 0x416d98
jmp 0x4169d8
movss dword [esp + 0x6c], xmm3
mov esi, dword [ebp + 0x1c]
mov ebx, eax
mov edx, dword [esp + 0x148]
lea ecx, [ebx*4]
mov dword [0x6290e8], edx
test edx, edx
jle 0x418187
mov eax, 1
movss xmm0, dword [ebx*4 + 0x19b39fc]
mov esi, eax
mov dword [esp + 0x68], ebx
comiss xmm0, dword [eax*4 + 0x61339c]
jbe 0x41807d
movss xmm1, dword [eax*4 + 0x6133cc]
comiss xmm1, xmm0
jbe 0x41807d
movss xmm1, dword [ecx + 0x19e473c]
mov ebx, esi
comiss xmm1, dword [ebx*4 + 0x6133fc]
jbe 0x418078
movss xmm2, dword [ebx*4 + 0x61342c]
comiss xmm2, xmm1
ja 0x418173
inc ebx
cmp ebx, edx
jle 0x41805c
lea esi, [esi]
lea edi, [edi]
inc eax
cmp eax, edx
jle 0x41803a
mov ebx, dword [esp + 0x68]
mov edx, 0x64
mov esi, dword [ebp + 0x1c]
add esp, 0xffffffc8
mov eax, 0x4ac81c
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xc], ecx
lea ecx, [ebx*4 + 0x19b39fc]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + 0x30d40]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xc8]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x1c], ecx
lea ecx, [edx*8 + 0x611e78]
mov dword [esp + 0x20], 0x1a461c0
lea edx, [edx*8 + 0x611e7c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x1a0]
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x110]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x10c]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
call fcn.0041881c
cmp dword [esp + 0x168], 0
je 0x418142
mov dword [esi + ebx*4 - 4], 0x3f800000
inc ebx
cmp ebx, edi
jle 0x41800a
jmp 0x418153
mov dword [esi + ebx*4 - 4], 0
inc ebx
cmp ebx, edi
jle 0x41800a
movss xmm1, dword [0x49fe30]
xor esi, esi
movss xmm2, dword [0x49fe28]
movss xmm3, dword [esp + 0x6c]
mov ebx, dword [ebp + 0x18]
jmp 0x416744
mov edx, ebx
lea ecx, [eax + eax*4]
mov ebx, dword [esp + 0x68]
lea edx, [edx + ecx*2]
mov esi, dword [ebp + 0x1c]
jmp 0x418099
mov edx, 0x64
jmp 0x418099
test eax, eax
jle 0x416960
mov edx, 0x4b189680
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], edx
mov dword [ebx], edi
jmp 0x416751
mov dword [esp + 0x158], ecx
jmp 0x41627a