Function at 0x5e2b9a
Capabilities:
Encrypt data using speck

Disassembly:
jmp 0x8c8f00
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9a6178
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x930
push esi
push edi
push ecx
lea edi, [ebp - 0x640]
mov ecx, 0x18c
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x9fc300]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
mov ecx, 0x27a702a
call fcn.005e2d5c
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x60c], 0
je 0x8c8fa8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x608], 0
je 0x8c8fee
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x608]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x608]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x28], 0xa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x1d4], 0
je 0x8c9062
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x14]
cmp ecx, 1
je 0x8c9062
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x1d4]
add esi, 0x2710
mov ecx, dword [0xc62eb4]
mov edx, dword [ecx]
mov edi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp edi, esp
call fcn.005e11e1
cmp esi, eax
jae 0x8c9058
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x1d4], 0
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [0xc62ea4]
call fcn.005df792
mov eax, 1
jmp 0x8cce2a
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x14]
cmp ecx, 1
jne 0x8c9078
mov eax, 1
jmp 0x8cce2a
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xaa0]
add ecx, 0x64
cmp dword [ebx + 8], ecx
jbe 0x8c90b1
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xa9c], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x48], 1
jne 0x8c9183
mov ecx, dword [ebp - 0x1c]
call fcn.005e3077
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x814], 0
je 0x8c9183
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x814]
mov edx, dword [ebp - 0x1c]
cmp ecx, dword [edx + 0x828]
jae 0x8c9183
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x614]
cmp dword [ecx + 0x28], 0
jne 0x8c913a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x614]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x614]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 1
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x600]
cmp dword [ecx + 0x28], 0
jne 0x8c9183
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x600]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x600]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 1
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x618], 0
je 0x8c92e0
mov eax, dword [0xc62ea4]
mov ecx, dword [eax + 0x21810]
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x34], edx
movss xmm0, dword [0x9b93cc]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [0x9b04e0]
comiss xmm0, dword [0x9eeec4]
jbe 0x8c91cf
movss xmm0, dword [0x9b2e1c]
movss dword [ebp - 0x40], xmm0
cmp dword [ebp - 0x34], 0
je 0x8c92e0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [ecx + 0x28]
movss dword [ebp - 0x4c], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x2c]
subss xmm0, dword [ecx + 0x2c]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [0x9b87b4]
mulss xmm0, dword [ebp - 0x4c]
movss xmm1, dword [0x9b8948]
mulss xmm1, dword [ebp - 0x58]
addss xmm0, xmm1
xorps xmm0, xmmword [0x9b0610]
mulss xmm0, dword [0x9b0548]
addss xmm0, dword [ebp - 0x40]
movss xmm1, dword [0x9eeec4]
mulss xmm1, dword [0x9b8884]
addss xmm0, xmm1
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [0x9b87b4]
mulss xmm0, dword [ebp - 0x4c]
movss xmm1, dword [0x9b87b4]
mulss xmm1, dword [ebp - 0x58]
addss xmm0, xmm1
mulss xmm0, dword [0x9b0548]
addss xmm0, dword [ebp - 0x40]
movss xmm1, dword [0x9eeec4]
mulss xmm1, dword [0x9b8884]
addss xmm0, xmm1
movss dword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x618]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x618]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x70]
mov dword [ebp - 0x92c], edx
mov esi, esp
push ecx
movss xmm0, dword [ebp - 0x70]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x64]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x48], 0
jne 0x8c9473
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x600]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x600]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x61c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x61c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x620]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x620]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xab4], 0
je 0x8c93e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xab4]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0xab4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x614]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x614]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x610]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x610]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 0
jne 0x8c9473
mov ecx, dword [ebp - 0x1c]
call fcn.005df120
mov eax, 1
jmp 0x8cce2a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x814], 0
je 0x8c94ea
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x814]
mov edx, dword [ebp - 0x1c]
cmp ecx, dword [edx + 0x828]
jbe 0x8c94ea
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x614]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x614]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x814], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x828], 0xbb8
mov eax, dword [0xc62eb8]
mov dword [ebp - 0x7c], eax
xorps xmm0, xmm0
movss dword [ebp - 0x88], xmm0
mov dword [ebp - 0x94], 0x2710
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x38
jne 0x8c952b
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x8c952b
mov dword [ebp - 0x94], 0x927c0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x804], 0
je 0x8c9582
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x94]
add ecx, dword [eax + 0x804]
cmp dword [ebx + 8], ecx
jbe 0x8c9582
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 1
je 0x8c9563
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 2
jne 0x8c9582
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x804], 0
mov ecx, dword [ebp - 0x1c]
call fcn.005df120
mov eax, 1
jmp 0x8cce2a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x804], 0
je 0x8c96a4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 1
je 0x8c95ae
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 2
jne 0x8c96a4
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x229]
cmp ecx, 1
jne 0x8c96a4
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0xa0], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x2c
jne 0x8c95ed
movss xmm0, dword [0x9b1a60]
movss dword [ebp - 0xa0], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x38
jne 0x8c9607
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x172]
test ecx, ecx
je 0x8c9682
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x804]
add ecx, 0x2710
sub ecx, dword [ebx + 8]
mov dword [ebp - 0x928], ecx
cvtsi2sd xmm0, dword [ebp - 0x928]
mov edx, dword [ebp - 0x928]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x9b05f0]
movsd qword [ebp - 0x930], xmm0
cvtsd2ss xmm0, qword [ebp - 0x930]
divss xmm0, dword [0x9b06d0]
subss xmm0, dword [0x9b04e0]
mov eax, dword [ebp - 0x1c]
mulss xmm0, dword [eax + 0x38]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x5c]
mulss xmm0, dword [edx*8 + 0x27966f4]
mulss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x88], xmm0
jmp 0x8c968d
xorps xmm0, xmm0
movss dword [ebp - 0x88], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x44
jne 0x8c96a4
xorps xmm0, xmm0
movss dword [ebp - 0x88], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x6ac], 0
je 0x8c9709
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x6ac]
add ecx, 0xc8
cmp dword [ebx + 8], ecx
jbe 0x8c9709
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x6b8]
push ecx
mov edx, dword [eax + 0x6b4]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x6b0]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.005e2370
push 0x10
push 0
mov eax, dword [ebp - 0x1c]
add eax, 0x6ac
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x6ac], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x850], 0
je 0x8c9c8d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x850]
cmp ecx, 0x3e8
jbe 0x8c9c8d
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x850], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x38
jne 0x8c977d
mov eax, dword [0xc62ea4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62ea4]
mov eax, dword [edx + 0x6c]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x928], eax
push 1
mov ecx, dword [ebp - 0x928]
call fcn.005deb71
jmp 0x8c9c8d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x20
jne 0x8c9c8d
mov eax, dword [0xc62ea4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62ea4]
mov eax, dword [edx + 0x6c]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x928], eax
push 1
mov ecx, dword [ebp - 0x928]
call fcn.005deb71
mov dword [ebp - 0xac], 0
xorps xmm0, xmm0
movss dword [ebp - 0xb8], xmm0
mov dword [ebp - 0xc4], 0x8e
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x34]
subss xmm0, dword [0x9b066c]
push ecx
movss dword [esp], xmm0
call fcn.005de3e2
add esp, 4
fstp dword [ebp - 0x928]
movss xmm0, dword [ebp - 0x928]
mulss xmm0, dword [0x9b2d90]
mov ecx, dword [ebp - 0x1c]
movss xmm1, dword [ecx + 0x2c]
subss xmm1, xmm0
movss dword [ebp - 0x92c], xmm1
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + 0x34]
subss xmm0, dword [0x9b066c]
push ecx
movss dword [esp], xmm0
call fcn.005e36d5
add esp, 4
fstp dword [ebp - 0x930]
movss xmm0, dword [ebp - 0x930]
mulss xmm0, dword [0x9b2d90]
mov eax, dword [ebp - 0x1c]
addss xmm0, dword [eax + 0x28]
movss dword [ebp - 0x934], xmm0
push ecx
movss xmm0, dword [ebp - 0x92c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x934]
movss dword [esp], xmm0
lea ecx, [ebp - 0xd4]
call fcn.005de612
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0x7c]
call fcn.005e0b2e
cmp eax, 1
jne 0x8c98d1
mov dword [ebp - 0xac], 0x97
mov dword [ebp - 0xc4], 0xa
mov eax, dword [0xc62ec4]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x8c992a
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xe0]
call fcn.005dedba
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x8c992a
mov ecx, dword [ebp - 0xec]
call fcn.005decca
test eax, eax
jne 0x8c992a
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
mov ecx, dword [ebp - 0xec]
call fcn.005e1d8a
cmp dword [ebp - 0xac], 0
jne 0x8c9a64
push 0xc0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x6fc], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x6fc], 0
je 0x8c998f
push 0xc0
mov ecx, dword [ebp - 0x6fc]
call fcn.005e38f1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x75
push 2
mov ecx, dword [ebp - 0x6fc]
call fcn.005e3a95
mov dword [ebp - 0x928], eax
jmp 0x8c9999
mov dword [ebp - 0x928], 0
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6f0]
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0
je 0x8c9a64
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0xb4], 0
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0xa0], 0x1388
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x928], edx
mov esi, esp
push 0xaaaaaaaa
mov ecx, dword [ebp - 0xf8]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x928], edx
mov esi, esp
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov ecx, dword [ebp - 0xf8]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0xf8]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
mov eax, dword [0xc62ebc]
cmp dword [eax + 0x350], 0
jne 0x8c9c8d
mov eax, dword [0xc62ebc]
cmp dword [eax + 0x35c], 0
jne 0x8c9c8d
mov dword [ebp - 0x104], 0
jmp 0x8c9aa3
mov eax, dword [ebp - 0x104]
add eax, 1
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 3
jge 0x8c9c8d
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x714], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x714], 0
je 0x8c9b3e
push 0x184
mov ecx, dword [ebp - 0x714]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b1f34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b1f50]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b1f50]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b1f50]
movss dword [esp], xmm0
push 0x7d0
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x714]
call fcn.005e33d8
mov dword [ebp - 0x928], eax
jmp 0x8c9b48
mov dword [ebp - 0x928], 0
mov ecx, dword [ebp - 0x928]
mov dword [ebp - 0x708], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x708]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0
je 0x8c9c88
mov eax, dword [ebp - 0x110]
mov dword [eax + 0x100], 1
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 3
idiv ecx
sub edx, 1
imul edx, dword [ebp - 0x104]
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b0660]
addss xmm0, dword [ebp - 0xd0]
movss dword [ebp - 0x928], xmm0
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + 0x30]
movss dword [ebp - 0x92c], xmm0
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 3
idiv ecx
sub edx, 1
imul edx, dword [ebp - 0x104]
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b0660]
addss xmm0, dword [ebp - 0xd4]
movss dword [ebp - 0x930], xmm0
push ecx
movss xmm0, dword [ebp - 0x928]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x92c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x930]
movss dword [esp], xmm0
lea ecx, [ebp - 0x728]
call fcn.005e0ce6
mov edx, dword [ebp - 0x110]
add edx, 0x74
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x110]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x844], ecx
jmp 0x8c9a94
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x14
jne 0x8c9d3f
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
test ecx, ecx
jne 0x8c9d3f
mov eax, dword [ebx + 8]
xor edx, edx
mov ecx, 0x1388
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0x64
div ecx
test eax, eax
jne 0x8c9d3f
mov eax, dword [ebp - 0x1c]
imul ecx, dword [eax + 0x5c], 0x2a0
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0xc2b580]
mov dword [ebp - 0x11c], eax
mov eax, dword [0xc62ec4]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
je 0x8c9d3f
mov eax, dword [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0x128]
call fcn.005dedba
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x8c9d3f
mov ecx, dword [ebp - 0x134]
call fcn.005decca
test eax, eax
jne 0x8c9d3f
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
mov ecx, dword [ebp - 0x134]
call fcn.005e1d8a
mov dword [ebp - 0x140], 0x3e8
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x1f0]
comiss xmm0, dword [0x9b06b8]
jbe 0x8c9d7b
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b0670]
divss xmm0, dword [eax + 0x1f0]
call fcn.005e084f
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x800]
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x140], 0
jne 0x8c9e00
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0xfc]
mov dword [ebp - 0x928], ecx
push 0
push str.Crashed_Character_Unit_Time
mov ecx, dword [ebp - 0x928]
call fcn.005e1cd6
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0xfc]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + 0xfc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x88]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 1
push 1
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, 1
jmp 0x8cce2a
mov eax, dword [ebp - 0x14c]
xor edx, edx
div dword [ebp - 0x140]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
imul eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x14c]
sub ecx, eax
mov dword [ebp - 0x928], ecx
cvtsi2sd xmm0, dword [ebp - 0x928]
mov edx, dword [ebp - 0x928]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x9b05f0]
movsd qword [ebp - 0x930], xmm0
cvtsd2ss xmm0, qword [ebp - 0x930]
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x934], eax
cvtsi2sd xmm1, dword [ebp - 0x934]
mov ecx, dword [ebp - 0x934]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x9b05f0]
movsd qword [ebp - 0x940], xmm1
cvtsd2ss xmm1, qword [ebp - 0x940]
divss xmm0, xmm1
movss dword [ebp - 0x164], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [eax + 0x3f8]
jge 0x8c9ebb
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x224], 1
jmp 0x8c9ee7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3f8]
mov dword [ebp - 0x158], ecx
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x164], xmm0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x224], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3f8]
add ecx, 1
cmp ecx, 0x30
jge 0x8c9f6b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3f8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x3f8]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
movss xmm0, dword [edx + ecx*8 + 0x278]
ucomiss xmm0, dword [esi + eax*8 + 0x280]
lahf
test ah, 0x44
jp 0x8c9f56
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3f8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x3f8]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x1c]
movss xmm0, dword [edx + ecx*8 + 0x27c]
ucomiss xmm0, dword [esi + eax*8 + 0x284]
lahf
test ah, 0x44
jnp 0x8c9f6b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3f8]
add ecx, 1
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x3f8], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [eax + 0x3fc]
je 0x8c9fbf
mov eax, dword [ebp - 0x158]
add eax, 1
cdq
mov ecx, 0x30
idiv ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*8 + 0x27c]
push ecx
mov edx, dword [eax + edx*8 + 0x278]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005e2dbb
mov eax, dword [ebp - 0x158]
cdq
mov ecx, 0x30
idiv ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x3fc], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x7fc]
mov dword [ebp - 0x928], ecx
cvtsi2sd xmm0, dword [ebp - 0x928]
mov edx, dword [ebp - 0x928]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x9b05f0]
movsd qword [ebp - 0x930], xmm0
cvtsd2ss xmm0, qword [ebp - 0x930]
mulss xmm0, dword [0x9b87ac]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x170]
comiss xmm0, dword [0x9b04e0]
jbe 0x8ca02c
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x170], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x17c], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x204], 0
jne 0x8ca066
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x210]
subss xmm0, dword [ecx + 0x1f4]
movss dword [ebp - 0x17c], xmm0
jmp 0x8ca1f9
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1f8]
mov dword [eax + 0x210], edx
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x1f8]
addss xmm0, dword [0x9b0648]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x1f8], xmm0
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x1f8]
comiss xmm0, dword [0x9b93dc]
jbe 0x8ca0b8
mov eax, dword [ebp - 0x1c]
xorps xmm0, xmm0
movss dword [eax + 0x1f8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x210]
subss xmm0, dword [ecx + 0x1f4]
movss dword [ebp - 0x17c], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x200]
cmp edx, dword [ecx + 0x1fc]
jb 0x8ca120
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x204], 0
mov eax, dword [ebp - 0x1c]
xorps xmm0, xmm0
movss dword [eax + 0x1f8], xmm0
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x208], 0
push 0
push 0
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8ca1f9
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x200], eax
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x208]
test ecx, ecx
jne 0x8ca16c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x1fc]
sub edx, dword [ecx + 0x200]
cmp edx, 0x1770
jb 0x8ca1be
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x208]
cmp ecx, 1
jne 0x8ca195
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x1fc]
sub edx, dword [ecx + 0x200]
cmp edx, 0xfa0
jb 0x8ca1be
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x208]
cmp ecx, 2
jne 0x8ca1e7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x1fc]
sub edx, dword [ecx + 0x200]
cmp edx, 0x7d0
jae 0x8ca1e7
mov eax, dword [ebp - 0x1c]
mov cl, byte [eax + 0x208]
add cl, 1
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x208], cl
push 0xa
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x9f4]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1f8]
mov dword [eax + 0x210], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x34]
subss xmm0, dword [ecx + 0x210]
push ecx
movss dword [esp], xmm0
call fcn.005e1e61
add esp, 4
fstp dword [ebp - 0x928]
movss xmm0, dword [ebp - 0x928]
comiss xmm0, dword [0x9b9320]
jbe 0x8ca2a2
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x204], 0
je 0x8ca257
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x1c]
movss dword [eax + 0x34], xmm0
jmp 0x8ca27a
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x1c]
addss xmm0, dword [eax + 0x1f4]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x34], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + 0x34]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
call fcn.005dd6f4
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x164]
movss dword [eax + 0x214], xmm0
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + eax*8 + 0x278]
mov dword [ebp - 0x928], edx
movss xmm0, dword [0x9b04e0]
subss xmm0, dword [ebp - 0x164]
push ecx
movss dword [esp], xmm0
lea eax, [ebp - 0x738]
push eax
mov ecx, dword [ebp - 0x928]
call fcn.005e0c0f
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x158]
mov edx, dword [ebp - 0x1c]
lea eax, [edx + ecx*8 + 0x280]
mov dword [ebp - 0x930], eax
push ecx
movss xmm0, dword [ebp - 0x164]
movss dword [esp], xmm0
lea ecx, [ebp - 0x748]
push ecx
mov ecx, dword [ebp - 0x930]
call fcn.005e0c0f
mov dword [ebp - 0x934], eax
mov edx, dword [ebp - 0x934]
push edx
lea eax, [ebp - 0x18c]
push eax
mov ecx, dword [ebp - 0x92c]
call fcn.005e089f
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa28]
cmp ecx, 1
jne 0x8ca439
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x800]
mov dword [ebp - 0x928], ecx
cvtsi2sd xmm0, dword [ebp - 0x928]
mov edx, dword [ebp - 0x928]
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x9b05f0]
movsd qword [ebp - 0x930], xmm0
cvtsd2ss xmm0, qword [ebp - 0x930]
divss xmm0, dword [0x9b4c20]
movss dword [ebp - 0x164], xmm0
mov eax, dword [ebp - 0x1c]
cvtsi2ss xmm0, dword [eax + 0x674]
movss xmm1, dword [0x9b04e0]
subss xmm1, dword [ebp - 0x164]
mulss xmm0, xmm1
mov ecx, dword [ebp - 0x1c]
cvtsi2ss xmm1, dword [ecx + 0x67c]
mulss xmm1, dword [ebp - 0x164]
addss xmm0, xmm1
addss xmm0, dword [0x9b0664]
movss dword [ebp - 0x18c], xmm0
mov eax, dword [ebp - 0x1c]
cvtsi2ss xmm0, dword [eax + 0x678]
movss xmm1, dword [0x9b04e0]
subss xmm1, dword [ebp - 0x164]
mulss xmm0, xmm1
mov ecx, dword [ebp - 0x1c]
cvtsi2ss xmm1, dword [ecx + 0x680]
mulss xmm1, dword [ebp - 0x164]
addss xmm0, xmm1
addss xmm0, dword [0x9b0664]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [ebp - 0x164]
comiss xmm0, dword [0x9b04e0]
jbe 0x8ca454
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xa28], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [ebp - 0x1c]
call fcn.005dd23f
cmp dword [ebp - 0x7c], 0
je 0x8ca79a
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x40], 0
je 0x8ca79a
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*8 + 0x27c]
push edx
mov eax, dword [ecx + eax*8 + 0x278]
push eax
mov ecx, dword [ebp - 0x7c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x198], xmm0
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*8 + 0x284]
push edx
mov eax, dword [ecx + eax*8 + 0x280]
push eax
mov ecx, dword [ebp - 0x7c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x1a4], xmm0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa28]
cmp ecx, 1
jne 0x8ca55f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x678]
push ecx
mov edx, dword [eax + 0x674]
push edx
mov ecx, dword [ebp - 0x7c]
call fcn.005dd4e2
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x198], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x680]
push ecx
mov edx, dword [eax + 0x67c]
push edx
mov ecx, dword [ebp - 0x7c]
call fcn.005dd4e2
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x1a4], xmm0
movss xmm0, dword [0x9b04e0]
subss xmm0, dword [ebp - 0x164]
mulss xmm0, dword [ebp - 0x198]
movss xmm1, dword [ebp - 0x1a4]
mulss xmm1, dword [ebp - 0x164]
addss xmm0, xmm1
mov eax, dword [ebp - 0x1c]
movss dword [eax + 0x20c], xmm0
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x24], 0x7531
jne 0x8ca5db
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x2c]
comiss xmm0, dword [0x9b93e8]
jb 0x8ca5c8
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b9394]
movss dword [eax + 0x20c], xmm0
jmp 0x8ca5db
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b0640]
movss dword [eax + 0x20c], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0
jb 0x8ca5f0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0x3e8
jbe 0x8ca60e
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x20c]
addss xmm0, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x20c], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x14
jne 0x8ca68f
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
test ecx, ecx
jne 0x8ca651
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8ca651
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x20c]
addss xmm0, dword [0x9b1424]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x20c], xmm0
jmp 0x8ca68a
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
cmp ecx, 2
jne 0x8ca68a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8ca68a
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x20c]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x20c], xmm0
jmp 0x8ca79a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x18
jne 0x8ca79a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
je 0x8ca6c3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 2
jne 0x8ca6e6
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax + 0x22c]
cmp ecx, 1
jne 0x8ca6e6
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x20c]
addss xmm0, dword [0x9b1424]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x20c], xmm0
jmp 0x8ca79a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0
je 0x8ca6fe
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 1
jne 0x8ca741
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x1f0]
comiss xmm0, dword [0x9b0548]
ja 0x8ca721
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax + 0x22c]
cmp ecx, 1
jne 0x8ca73f
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x20c]
addss xmm0, dword [0x9b1424]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x20c], xmm0
jmp 0x8ca79a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 4
jl 0x8ca79a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 9
jg 0x8ca79a
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x1f0]
comiss xmm0, dword [0x9b0548]
ja 0x8ca77c
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax + 0x22c]
cmp ecx, 1
jne 0x8ca79a
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x20c]
addss xmm0, dword [0x9b4344]
mov ecx, dword [ebp - 0x1c]
movss dword [ecx + 0x20c], xmm0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xb58], 0
jne 0x8ca7b4
mov ecx, dword [ebp - 0x1c]
call fcn.005e3b1c
mov eax, dword [ebp - 0x1c]
fstp dword [eax + 0x30]
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xb58], 0
je 0x8ca80a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x2c]
addss xmm0, dword [ecx + 0xb60]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [edx + 0x30]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x28]
addss xmm0, dword [ecx + 0xb5c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
call fcn.005de09f
jmp 0x8ca83c
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
call fcn.005de09f
mov dword [ebp - 0x1b0], 0
cmp dword [ebp - 0x7c], 0
je 0x8ca85a
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1c]
je 0x8ca94c
mov eax, dword [0xc62eb8]
cmp dword [eax + 0x24], 0x7530
jne 0x8ca94c
mov eax, dword [0xc62eb8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [eax + 0x8b66c]
mov dword [ebp - 0x1c8], ecx
lea ecx, [ebp - 0x1d8]
call fcn.005e0bab
cmp dword [ebp - 0x1c8], 0
je 0x8ca94c
mov dword [ebp - 0x1e4], 0
jmp 0x8ca8cb
mov eax, dword [ebp - 0x1e4]
add eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1e4]
cmp ecx, dword [eax + 0x210]
jge 0x8ca94c
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [ecx + eax*4 + 0x214]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0xe54]
cmp edx, dword [ecx + 0x20]
jne 0x8ca947
mov eax, dword [ebp - 0x1b0]
add eax, 0x28
mov dword [ebp - 0x928], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x28
push ecx
lea edx, [ebp - 0x758]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e37de
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x1d4], edx
jmp 0x8ca94c
jmp 0x8ca8bc
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [ecx + eax*8 + 0x27c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + edx*8 + 0x278]
movss dword [esp], xmm0
lea ecx, [ebp - 0x200]
call fcn.005de612
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [ecx + eax*8 + 0x284]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + edx*8 + 0x280]
movss dword [esp], xmm0
lea ecx, [ebp - 0x210]
call fcn.005de612
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa28]
cmp ecx, 2
je 0x8caa39
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax*8 + 0x278]
movss dword [ebp - 0x200], xmm0
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax*8 + 0x27c]
movss dword [ebp - 0x1fc], xmm0
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax*8 + 0x280]
movss dword [ebp - 0x210], xmm0
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax*8 + 0x284]
movss dword [ebp - 0x20c], xmm0
movss xmm0, dword [ebp - 0x200]
ucomiss xmm0, dword [ebp - 0x210]
lahf
test ah, 0x44
jp 0x8cae9c
movss xmm0, dword [ebp - 0x1fc]
ucomiss xmm0, dword [ebp - 0x20c]
lahf
test ah, 0x44
jp 0x8cae9c
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x648], 0
jle 0x8cad38
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 2
je 0x8caa97
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8cad38
push 1
push 1
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b1a64]
comiss xmm0, dword [eax + 0x1f0]
jb 0x8cab12
mov eax, dword [ebp - 0x158]
add eax, 1
mov dword [ebp - 0x21c], eax
jmp 0x8caad7
mov eax, dword [ebp - 0x21c]
add eax, 1
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0x30
jge 0x8cab10
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*8 + 0x278]
mov eax, dword [ecx + eax*8 + 0x27c]
mov ecx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1c]
mov dword [esi + ecx*8 + 0x278], edx
mov dword [esi + ecx*8 + 0x27c], eax
jmp 0x8caac8
jmp 0x8cab66
mov dword [ebp - 0x228], 0
jmp 0x8cab2d
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x30
jge 0x8cab66
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*8 + 0x278]
mov eax, dword [ecx + eax*8 + 0x27c]
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x1c]
mov dword [esi + ecx*8 + 0x278], edx
mov dword [esi + ecx*8 + 0x27c], eax
jmp 0x8cab1e
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x22a], 0
push 0
mov ecx, dword [ebp - 0x1c]
call fcn.005e2a4b
mov eax, dword [0xc62eb8]
mov dword [ebp - 0x234], eax
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x4c]
cmp ecx, dword [ebp - 0x1c]
jne 0x8cabfc
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa1c], 0
je 0x8cabfc
mov eax, dword [0xc62eb8]
cmp dword [eax + 0x24], 0x7530
jne 0x8cabd3
mov eax, dword [ebp - 0x234]
movsx ecx, byte [eax + 0x26f34]
cmp ecx, 1
jne 0x8cabd3
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xa1c]
mov dword [eax + 0x26f10], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xa1c]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.005e06bf
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa1c], 0
mov eax, 1
jmp 0x8cce2a
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x4c]
cmp ecx, dword [ebp - 0x1c]
jne 0x8cad33
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa20], 0
je 0x8cad33
mov eax, dword [0xc62eb8]
cmp dword [eax + 0x24], 0x7530
jne 0x8cad1c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xa20]
mov dword [ebp - 0x928], ecx
lea edx, [ebp - 0x76c]
push edx
mov ecx, dword [ebp - 0x7c]
call fcn.005df373
mov ecx, dword [eax]
mov dword [ebp - 0x788], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x784], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xa20]
cvttss2si eax, dword [edx + 0x2c]
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xa20]
cvttss2si eax, dword [edx + 0x28]
mov dword [ebp - 0x930], eax
mov ecx, dword [ebp - 0x928]
push ecx
push 1
mov edx, dword [ebx + 8]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x7b8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7b4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x7b0]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x92c]
push edx
mov eax, dword [ebp - 0x930]
push eax
mov ecx, dword [ebp - 0x234]
call fcn.005e28e8
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa20], 0
mov eax, 1
jmp 0x8cce2a
jmp 0x8cae97
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x648], 0
jg 0x8cad6d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xb
je 0x8cad6d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 4
jne 0x8cad6d
push 1
push 0xc
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cae97
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x648], 0
jg 0x8cadae
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xb
je 0x8cadae
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xc
je 0x8cadae
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 1
jne 0x8cadae
push 0
push 0xc
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cae97
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0
je 0x8cadca
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 1
jne 0x8cae97
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x22a]
cmp ecx, 1
jne 0x8cae4d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x220], 1
jne 0x8cae4d
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x1f0]
comiss xmm0, dword [0x9b1fac]
jbe 0x8cae4d
mov dword [ebp - 0x240], 0
jmp 0x8cae14
mov eax, dword [ebp - 0x240]
add eax, 1
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x240], 0x30
jge 0x8cae4d
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*8 + 0x278]
mov eax, dword [ecx + eax*8 + 0x27c]
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x1c]
mov dword [esi + ecx*8 + 0x278], edx
mov dword [esi + ecx*8 + 0x27c], eax
jmp 0x8cae05
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa1c], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa20], 0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x22a]
cmp ecx, 1
jne 0x8cae80
push 0
mov ecx, dword [ebp - 0x1c]
call fcn.005e2a4b
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x22a], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x220], 0
jmp 0x8cafa1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 2
jne 0x8caed4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8caed4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 4
jge 0x8cafa1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 9
jle 0x8cafa1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x220], 0
jne 0x8cafa1
mov dword [ebp - 0x24c], 2
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x1f
jne 0x8caf08
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x38]
comiss xmm0, dword [str.333_]
ja 0x8caf37
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
cmp ecx, 1
jne 0x8caf41
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa64], 0x1f
jne 0x8caf41
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0xa68]
comiss xmm0, dword [str.333_]
jbe 0x8caf41
mov dword [ebp - 0x24c], 3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa64], 0x28
je 0x8caf65
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa64], 0x14
je 0x8caf65
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa64], 0x27
jne 0x8caf6f
mov dword [ebp - 0x24c], 3
cvtsi2ss xmm0, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x1c]
movss xmm1, dword [eax + 0x1f0]
comiss xmm1, xmm0
jbe 0x8caf95
push 1
push 3
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cafa1
push 1
push 2
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xffffffff
je 0x8cafc5
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0
je 0x8cafc5
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 1
jne 0x8cafe3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x23c], 0
jne 0x8cafe3
mov ecx, dword [ebp - 0x1c]
call fcn.005df120
mov eax, 1
jmp 0x8cce2a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [eax + 0x28]
push edx
mov ecx, dword [0xc62eb8]
call fcn.005e0052
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x7c], 0
je 0x8cb079
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x24], 0x7530
jne 0x8cb079
cmp dword [ebp - 0x258], 8
jne 0x8cb026
mov dword [ebp - 0x258], 8
jmp 0x8cb079
cmp dword [ebp - 0x258], 0
je 0x8cb079
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [edx + 0x28]
push ecx
mov ecx, dword [ebp - 0x928]
call fcn.005dfef4
fstp dword [ebp - 0x92c]
movss xmm0, dword [ebp - 0x92c]
cvttss2si edx, xmm0
mov eax, dword [ebp - 0x1c]
cvttss2si ecx, dword [eax + 0x30]
cmp ecx, edx
je 0x8cb079
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x730], 0
je 0x8cb0c4
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa59]
test ecx, ecx
jne 0x8cb0c4
cmp dword [ebp - 0x258], 1
je 0x8cb0a8
mov dword [ebp - 0x928], 1
jmp 0x8cb0b2
mov dword [ebp - 0x928], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x730]
mov edx, dword [ebp - 0x928]
mov dword [ecx + 0x24], edx
cmp dword [ebp - 0x258], 0xb
jne 0x8cb0d7
mov dword [ebp - 0x258], 1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x2d
jne 0x8cb0f5
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa59]
test ecx, ecx
jne 0x8cb690
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa41]
test ecx, ecx
jne 0x8cb690
mov dword [ebp - 0x264], 1
cmp dword [ebp - 0x7c], 0
je 0x8cb1a5
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x24], 0x7530
jne 0x8cb1a5
mov eax, dword [ebp - 0x1c]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x1a
jle 0x8cb173
mov edx, dword [ebp - 0x1c]
cvttss2si eax, dword [edx + 0x28]
sar eax, 7
cmp eax, 0x1f
jge 0x8cb173
mov ecx, dword [ebp - 0x1c]
cvttss2si edx, dword [ecx + 0x2c]
sar edx, 7
cmp edx, 0x14
jle 0x8cb173
mov eax, dword [ebp - 0x1c]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x19
jge 0x8cb173
mov dword [ebp - 0x928], 0
jmp 0x8cb17d
mov dword [ebp - 0x928], 1
mov edx, dword [ebp - 0x928]
mov dword [ebp - 0x270], edx
cmp dword [0x230a414], 1
je 0x8cb19b
cmp dword [ebp - 0x270], 0
jne 0x8cb1a5
mov dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5e]
cmp ecx, 1
jne 0x8cb3e5
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x229]
test ecx, ecx
jne 0x8cb3e5
mov dword [ebp - 0x27c], 0
cmp dword [ebp - 0x258], 8
jne 0x8cb1e7
mov dword [ebp - 0x27c], 0xc1
movss xmm0, dword [0x9b9328]
movss dword [ebp - 0x288], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + 0x38]
mulss xmm0, dword [ecx*8 + 0x27966f0]
mulss xmm0, dword [0x9b9328]
movss dword [ebp - 0x288], xmm0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
jne 0x8cb235
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x28
jne 0x8cb257
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
je 0x8cb3e0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa64], 0x28
je 0x8cb3e0
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x7d0], 0
je 0x8cb2e0
push 0x184
mov ecx, dword [ebp - 0x7d0]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [ebp - 0x288]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 0x1c2
push 0xa
mov ecx, dword [ebp - 0x7d0]
call fcn.005e33d8
mov dword [ebp - 0x928], eax
jmp 0x8cb2ea
mov dword [ebp - 0x928], 0
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x294], ecx
cmp dword [ebp - 0x294], 0
je 0x8cb3b5
mov eax, dword [ebp - 0x294]
mov dword [eax + 0x100], 1
mov eax, dword [ebp - 0x294]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b1f58]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x7e4]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x294]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x294]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x844], ecx
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x928], edx
mov esi, esp
push 0x30101010
mov ecx, dword [ebp - 0x294]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
jmp 0x8cb690
cmp dword [ebp - 0x264], 0
je 0x8cb690
mov eax, dword [0xc62ebc]
cmp dword [eax + 0x350], 0
jne 0x8cb428
mov eax, dword [0xc62ebc]
cmp dword [eax + 0x35c], 0
jne 0x8cb428
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8cb428
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa59]
test ecx, ecx
je 0x8cb454
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x16
je 0x8cb444
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x14
jne 0x8cb690
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 2
jne 0x8cb690
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx + 8]
sub esi, dword [eax + 0x844]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [0x9b0670]
divss xmm0, dword [ecx + 0x1f0]
call fcn.005e084f
cmp esi, eax
jbe 0x8cb690
mov dword [ebp - 0x2a0], 0
cmp dword [ebp - 0x258], 8
jne 0x8cb49d
mov dword [ebp - 0x2a0], 0xc1
movss xmm0, dword [0x9b9318]
movss dword [ebp - 0x2ac], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + 0x38]
mulss xmm0, dword [ecx*8 + 0x27966f0]
mulss xmm0, dword [0x9b9318]
movss dword [ebp - 0x2ac], xmm0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
jne 0x8cb4eb
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x28
jne 0x8cb50d
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
je 0x8cb690
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa64], 0x28
je 0x8cb690
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x7fc], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x7fc], 0
je 0x8cb59b
push 0x184
mov ecx, dword [ebp - 0x7fc]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [ebp - 0x2ac]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0664]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0664]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0664]
movss dword [esp], xmm0
push 0x7d0
mov eax, dword [ebp - 0x2a0]
push eax
mov ecx, dword [ebp - 0x7fc]
call fcn.005e33d8
mov dword [ebp - 0x928], eax
jmp 0x8cb5a5
mov dword [ebp - 0x928], 0
mov ecx, dword [ebp - 0x928]
mov dword [ebp - 0x7f0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x8cb690
mov eax, dword [ebp - 0x2b8]
mov dword [eax + 0x100], 1
mov eax, dword [ebp - 0x2b8]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x928], edx
mov esi, esp
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x2b8]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x810]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x2b8]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x2b8]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x844], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x2d
je 0x8cbab5
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa59]
test ecx, ecx
jne 0x8cbab5
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b0670]
mulss xmm0, dword [eax + 0x38]
mov ecx, dword [ebp - 0x1c]
divss xmm0, dword [ecx + 0x1f0]
call fcn.005e084f
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xe6
jbe 0x8cb6fa
cmp dword [ebp - 0x2c4], 0x15e
jae 0x8cb6fa
mov dword [ebp - 0x2c4], 0xe6
cmp dword [ebp - 0x2c4], 0x154
jbe 0x8cb710
mov dword [ebp - 0x2c4], 0x154
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x240], 3
jne 0x8cb726
mov dword [ebp - 0x2c4], 0xc8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0xb
jne 0x8cb73d
mov eax, dword [ebp - 0x2c4]
shl eax, 1
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x27
jne 0x8cb754
mov eax, dword [ebp - 0x2c4]
shl eax, 1
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x848]
cmp ecx, dword [ebp - 0x2c4]
jbe 0x8cbab5
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x240], 0
jle 0x8cbab5
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 2
je 0x8cb798
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8cbab5
mov eax, dword [ebp - 0x1c]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x1a
jle 0x8cb7e4
mov edx, dword [ebp - 0x1c]
cvttss2si eax, dword [edx + 0x28]
sar eax, 7
cmp eax, 0x1f
jge 0x8cb7e4
mov ecx, dword [ebp - 0x1c]
cvttss2si edx, dword [ecx + 0x2c]
sar edx, 7
cmp edx, 0x14
jle 0x8cb7e4
mov eax, dword [ebp - 0x1c]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x19
jge 0x8cb7e4
mov dword [ebp - 0x928], 0
jmp 0x8cb7ee
mov dword [ebp - 0x928], 1
mov edx, dword [ebp - 0x928]
mov dword [ebp - 0x2d0], edx
cmp dword [ebp - 0x258], 9
je 0x8cb81d
cmp dword [ebp - 0x258], 8
jne 0x8cbab5
cmp dword [ebp - 0x2d0], 0
jne 0x8cbab5
mov dword [ebp - 0x2dc], 0xffff8866
cmp dword [ebp - 0x258], 9
jne 0x8cb83a
mov dword [ebp - 0x2dc], 0x990000ff
mov dword [ebp - 0x2e8], 2
mov dword [ebp - 0x2f4], 0xc2
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
jle 0x8cb866
mov dword [ebp - 0x2f4], 0xc3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x240]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x928]
sub edx, 2
mov dword [ebp - 0x928], edx
cmp dword [ebp - 0x928], 3
ja case.default.0x8cb893
mov eax, dword [ebp - 0x928]
jmp dword [eax*4 + 0x8ccedc]
mov dword [ebp - 0x2f4], 0xc3
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x38]
comiss xmm0, dword [0x9b0500]
jbe 0x8cb8bf
mov dword [ebp - 0x2e8], 3
jmp case.default.0x8cb893
mov dword [ebp - 0x2f4], 0xc4
mov dword [ebp - 0x2e8], 3
mov dword [ebp - 0x2dc], 0xffffaa88
jmp case.default.0x8cb893
mov dword [ebp - 0x2f4], 0xc5
mov dword [ebp - 0x2e8], 4
jmp case.default.0x8cb893
mov dword [ebp - 0x2f4], 0xc6
mov dword [ebp - 0x2e8], 4
cmp dword [ebp - 0x2f4], 0xc2
jne 0x8cb932
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x38]
comiss xmm0, dword [0x9b2d90]
jbe 0x8cb932
mov dword [ebp - 0x2e8], 3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x27
jne 0x8cb945
mov dword [ebp - 0x2e8], 4
push 0xc0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x828], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x828], 0
je 0x8cb9a7
push 0xc0
mov ecx, dword [ebp - 0x828]
call fcn.005e38f1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x2f4]
push eax
mov ecx, dword [ebp - 0x2e8]
push ecx
mov ecx, dword [ebp - 0x828]
call fcn.005e3a95
mov dword [ebp - 0x928], eax
jmp 0x8cb9b1
mov dword [ebp - 0x928], 0
mov edx, dword [ebp - 0x928]
mov dword [ebp - 0x81c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x300], 0
je 0x8cbab5
mov eax, dword [ebp - 0x300]
mov dword [eax + 0xb8], 1
mov eax, dword [ebp - 0x300]
mov dword [eax + 0xb4], 0
mov eax, dword [ebp - 0x300]
mov dword [eax + 0xa0], 0xbb8
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x34]
subss xmm0, dword [0x9b4704]
mov ecx, dword [ebp - 0x300]
movss dword [ecx + 0x98], xmm0
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x928], edx
mov esi, esp
mov eax, dword [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x300]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x928], edx
mov esi, esp
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [eax + 0x28]
push edx
mov ecx, dword [ebp - 0x300]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x300]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x848], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x5c], 0x14
jne 0x8cbd56
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
cmp ecx, 2
je 0x8cbaf7
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
cmp ecx, 4
jne 0x8cbd56
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x178]
cmp ecx, 1
jne 0x8cbd56
mov dword [ebp - 0x30c], 0x3e8
mov dword [ebp - 0x318], 2
mov dword [ebp - 0x324], 0xffff0000
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
cmp ecx, 2
jne 0x8cbb4b
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b04c0]
comiss xmm0, dword [eax + 0x38]
jbe 0x8cbb4b
mov dword [ebp - 0x30c], 0x4b0
mov dword [ebp - 0x318], 6
jmp 0x8cbb93
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x176]
cmp ecx, 4
jne 0x8cbb93
mov dword [ebp - 0x318], 4
mov dword [ebp - 0x324], 0xffff9900
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [0x9b04c0]
comiss xmm0, dword [eax + 0x38]
jbe 0x8cbb93
mov dword [ebp - 0x30c], 0x320
mov dword [ebp - 0x318], 6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
sub ecx, dword [eax + 0x83c]
cmp ecx, dword [ebp - 0x30c]
jbe 0x8cbd56
mov dword [ebp - 0x330], 1
jmp 0x8cbbc6
mov eax, dword [ebp - 0x330]
add eax, 1
mov dword [ebp - 0x330], eax
mov eax, 0xa
sub eax, dword [ebp - 0x318]
cmp dword [ebp - 0x330], eax
jge 0x8cbd4a
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x840], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x840], 0
je 0x8cbc7e
push 0x184
mov ecx, dword [ebp - 0x840]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b1f30]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x9b1a60]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + 0x38]
mulss xmm0, dword [0x9b1a60]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + 0x38]
mulss xmm0, dword [0x9b1a60]
push ecx
movss dword [esp], xmm0
push 0x7d0
push 0x2c
mov ecx, dword [ebp - 0x840]
call fcn.005e33d8
mov dword [ebp - 0x928], eax
jmp 0x8cbc88
mov dword [ebp - 0x928], 0
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x834], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x834]
mov dword [ebp - 0x33c], ecx
cmp dword [ebp - 0x33c], 0
je 0x8cbd45
mov eax, dword [ebp - 0x33c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x928], edx
mov esi, esp
mov eax, dword [ebp - 0x324]
push eax
mov ecx, dword [ebp - 0x33c]
call dword [ebp - 0x928]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x33c]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x33c]
mov dword [eax + 0x104], 1
imul eax, dword [ebp - 0x330], 0xc
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + eax + 0x64]
mov eax, dword [ebp - 0x33c]
add eax, 0x74
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x33c]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
jmp 0x8cbbb7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x83c], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x60], 0
je 0x8cce25
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x48], 0
jne 0x8cbeaf
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa18], 1
jne 0x8cbeaf
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2e4]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x354], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2d0]
mov dword [ebp - 0x360], edx
imul eax, dword [ebp - 0x354], 0x384
mov ecx, dword [ebp - 0x360]
mov edx, dword [eax + ecx*4 + 0xb68450]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
shl eax, 2
imul eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x80c]
cmp dword [ebx + 8], eax
jbe 0x8cbeaa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x7f4], 0
jne 0x8cbe25
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xb
je 0x8cbe20
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa18], 1
jne 0x8cbe20
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cbeaa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x7f4], 1
jne 0x8cbeaa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 4
jl 0x8cbe49
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 9
jle 0x8cbe58
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cbeaa
mov eax, 4
imul ecx, eax, 0
mov edx, dword [0xc62ea8]
cmp dword [edx + ecx + 0x1c], 0
jne 0x8cbeaa
mov eax, dword [ebp - 0x36c]
shl eax, 2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
imul eax, dword [edx + 0x2e4]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x80c]
cmp dword [ebx + 8], eax
jbe 0x8cbeaa
push 1
push 1
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cce25
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x48], 1
jne 0x8cce25
mov ecx, dword [ebp - 0x1c]
call fcn.005dd1f9
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2e4]
mov dword [ebp - 0x378], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x384], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2d0]
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
je 0x8cbf71
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x12c], 0
je 0x8cbf71
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x12c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebx + 8]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005de248
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xb
jne 0x8cbf71
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xa64]
mov dword [ebp - 0x384], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x12c]
mov edx, dword [ecx + 0x2e4]
mov dword [ebp - 0x378], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x12c]
mov edx, dword [ecx + 0x2d0]
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebx + 8]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005de248
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa76]
test ecx, ecx
jle 0x8cbfc4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa70], 0
je 0x8cbfc4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xa70]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebx + 8]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005de248
imul eax, dword [ebp - 0x384], 0x384
mov ecx, dword [ebp - 0x390]
mov edx, dword [eax + ecx*4 + 0xb68450]
mov dword [ebp - 0x39c], edx
cmp dword [ebp - 0x39c], 2
jbe 0x8cbff9
mov eax, dword [ebp - 0x39c]
sub eax, 2
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0
jbe 0x8cc033
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0x3e8
jae 0x8cc033
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa18], 1
jne 0x8cc033
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 3
jne 0x8cc033
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
mov eax, dword [ebp - 0x39c]
shl eax, 2
imul eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x80c]
cmp dword [ebx + 8], eax
jbe 0x8cccc4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x7f4], 0
jne 0x8cc84c
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xb
jne 0x8cc3bc
push 1
push 0xc
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x40
jne 0x8cc292
mov eax, dword [ebp - 0x1c]
movsx ecx, word [eax + 0x234]
cmp ecx, 0x18d
jne 0x8cc292
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xa59], 1
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x858], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x858], 0
je 0x8cc240
push 0x90
mov ecx, dword [ebp - 0x858]
call fcn.005df1bb
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x86c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x8b0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x8ac], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [ebp - 0x8b0]
mov dword [ebp - 0x8e0], ecx
mov edx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8dc], edx
mov eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x8d8], eax
mov ecx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [ecx + 0x2c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [edx + 0x30]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x1c]
push ecx
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x880]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x898], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x894], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x898]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x894]
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x8c0], eax
push 0x3e8
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x8e0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x8dc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x8d8]
mov dword [ecx + 8], edx
push 1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x38
push 1
push 0xffff3333
push ecx
movss xmm0, dword [0x9b1a64]
movss dword [esp], xmm0
push 8
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x8c8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x8c0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x858]
call fcn.005e0200
mov dword [ebp - 0x928], eax
jmp 0x8cc24a
mov dword [ebp - 0x928], 0
mov edx, dword [ebp - 0x928]
mov dword [ebp - 0x84c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x84c]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0
je 0x8cc292
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x3a8]
push edx
mov ecx, dword [ebp - 0x928]
call fcn.005e2177
mov eax, dword [0xc62eb8]
mov ecx, dword [eax + 0x4c]
cmp ecx, dword [ebp - 0x1c]
jne 0x8cc362
mov eax, dword [0xc62eb8]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x50]
call eax
cmp esi, esp
call fcn.005e11e1
test eax, eax
jne 0x8cc360
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [eax + 0x104]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x3b4]
mov eax, dword [edx + 0x104]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x8c]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 0
push 0xb
mov eax, 0x80
imul ecx, eax, 0x1b
add ecx, 0x9fedf0
push ecx
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [eax + 0x104]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x3b4]
mov eax, dword [edx + 0x104]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0x92c], edx
mov esi, esp
push 1
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
jmp 0x8cc3aa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0
jb 0x8cc3aa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0x3e8
jae 0x8cc3aa
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x804], 0
jne 0x8cc38f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x804], ecx
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0x228]
test ecx, ecx
jne 0x8cc3aa
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x23c], 1
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cc847
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xd
jne 0x8cc3d9
push 1
push 0x18
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cc847
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0xf
jne 0x8cc3f6
push 1
push 0x1a
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cc847
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa18], 1
jne 0x8cc4ca
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x230], 0x21
jne 0x8cc43c
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 4
jne 0x8cc43c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2d0], 0
push 0
push 4
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cc4b8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 4
jne 0x8cc466
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2d0], 0
push 0
push 5
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cc4b8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 5
jne 0x8cc490
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2d0], 0
push 0
push 6
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cc4b8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 6
jne 0x8cc4b8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2d0], 0
push 0
push 4
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cc847
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa14], 1
jne 0x8cc508
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa08], 0
jl 0x8cc508
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xa08], 3
jge 0x8cc508
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xa08]
mov edx, dword [ebp - 0x1c]
cmp dword [edx + ecx*4 + 0x9fc], 0xffffffff
jne 0x8cc80b
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0x17
je 0x8cc524
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 0x13
jne 0x8cc6c2
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x3c0], xmm0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
cmp ecx, 1
jne 0x8cc553
movss xmm0, dword [0x9b2d90]
movss dword [ebp - 0x3c0], xmm0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
cmp dword [edx + ecx + 0x884], 1
jne 0x8cc63e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8cc63e
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xf4], 0x29
jne 0x8cc5e7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8cc5e7
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax + 0x88c]
mulss xmm0, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [eax + edx + 0x2f8]
movss dword [eax + 0x28e8], xmm0
jmp 0x8cc620
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + ecx + 0x88c]
mulss xmm0, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
movss dword [ecx + 0x28e8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov edx, dword [ebx + 8]
mov dword [ecx + 0x80], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax + 0x884], 1
jne 0x8cc6c2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8cc6c2
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax + 0x88c]
mulss xmm0, dword [ebp - 0x3c0]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, 4
shl ecx, 0
mov edx, dword [eax + ecx + 0x2f8]
movss dword [edx + 0x28e8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x80], ecx
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0xa34], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa14], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa08], 0xffffffff
mov dword [ebp - 0x3cc], 0
jmp 0x8cc701
mov eax, dword [ebp - 0x3cc]
add eax, 1
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 4
jge 0x8cc720
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x9f8], 0xffffffff
jmp 0x8cc6f2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8cc754
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28f0], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8cc788
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28f0], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8cc7bc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28f9], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8cc7f0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28f9], 0
push 1
push 1
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cc847
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0xa08]
add ecx, 1
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x928]
mov dword [edx + 0xa08], eax
push 0
mov ecx, dword [ebp - 0x928]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4 + 0x9f8]
push eax
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
jmp 0x8cccc4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x7f4], 1
jne 0x8cccc4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 4
jl 0x8cca71
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 6
jg 0x8cca71
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x3d8], xmm0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
cmp ecx, 1
jne 0x8cc8ab
movss xmm0, dword [0x9b2d90]
movss dword [ebp - 0x3d8], xmm0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
cmp dword [edx + ecx + 0x884], 1
jne 0x8cc996
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8cc996
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xf4], 0x29
jne 0x8cc93f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8cc93f
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax + 0x88c]
mulss xmm0, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [eax + edx + 0x2f8]
movss dword [eax + 0x28e8], xmm0
jmp 0x8cc978
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + ecx + 0x88c]
mulss xmm0, dword [ebp - 0x3d8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
movss dword [ecx + 0x28e8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov edx, dword [ebx + 8]
mov dword [ecx + 0x80], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax + 0x884], 1
jne 0x8cca1a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8cca1a
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax + 0x88c]
mulss xmm0, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, 4
shl ecx, 0
mov edx, dword [eax + ecx + 0x2f8]
movss dword [edx + 0x28e8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x80], ecx
mov eax, 4
imul ecx, eax, 0
mov edx, dword [0xc62ea8]
cmp dword [edx + ecx + 0x1c], 0
jne 0x8cca6c
mov eax, dword [ebp - 0x39c]
shl eax, 2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
imul eax, dword [edx + 0x2e4]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x80c]
cmp dword [ebx + 8], eax
jbe 0x8cca6c
push 1
push 1
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cccc4
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 7
jl 0x8cccb7
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x9f4], 9
jg 0x8cccb7
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x3e4], xmm0
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
cmp ecx, 1
jne 0x8ccac0
movss xmm0, dword [0x9b2d90]
movss dword [ebp - 0x3e4], xmm0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
cmp dword [edx + ecx + 0x884], 1
jne 0x8ccbc3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8ccb8d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0xf4], 0x29
jne 0x8ccb54
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8ccb54
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax + 0x88c]
mulss xmm0, dword [ebp - 0x3e4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [eax + edx + 0x2f8]
movss dword [eax + 0x28e8], xmm0
jmp 0x8ccb8d
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
movss xmm0, dword [edx + ecx + 0x88c]
mulss xmm0, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
movss dword [ecx + 0x28e8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8ccbc3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov edx, dword [ebx + 8]
mov dword [ecx + 0x80], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax + 0x884], 1
jne 0x8ccc63
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8ccc2d
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ecx + eax + 0x88c]
mulss xmm0, dword [ebp - 0x3e4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
mov ecx, 4
shl ecx, 0
mov edx, dword [eax + ecx + 0x2f8]
movss dword [edx + 0x28e8], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8ccc63
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov ecx, dword [ebx + 8]
mov dword [eax + 0x80], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [0xc62ea8]
cmp dword [ecx + eax + 0x1c], 0
jne 0x8cccb5
mov eax, dword [ebp - 0x39c]
shl eax, 2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x60]
imul eax, dword [edx + 0x2e4]
mov ecx, dword [ebp - 0x1c]
add eax, dword [ecx + 0x80c]
cmp dword [ebx + 8], eax
jbe 0x8cccb5
push 1
push 1
mov ecx, dword [ebp - 0x1c]
call fcn.005dfd05
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
jmp 0x8cccc4
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xa18], 0
mov eax, dword [ebp - 0x258]
push eax
mov ecx, dword [ebp - 0x1c]
call fcn.005e282a
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x730], 0
je 0x8cce25
mov eax, dword [ebp - 0x1c]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
je 0x8ccd94
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x12c], 0
je 0x8ccd94
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x730]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x730]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x92c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x12c]
push ecx
movss xmm0, dword [ecx + 0x14]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x12c]
push ecx
movss xmm0, dword [eax + 0xc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x8f0]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x8fc], edx
mov esi, esp
mov eax, dword [ebp - 0x8fc]
push eax
mov ecx, dword [ebp - 0x900]
push ecx
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
jmp 0x8cce25
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x60], 0
je 0x8cce25
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x730]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x730]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x92c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x60]
push ecx
movss xmm0, dword [ecx + 0x14]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x60]
push ecx
movss xmm0, dword [eax + 0xc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x910]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x920], ecx
mov dword [ebp - 0x91c], edx
mov esi, esp
mov eax, dword [ebp - 0x91c]
push eax
mov ecx, dword [ebp - 0x920]
push ecx
mov ecx, dword [ebp - 0x928]
call dword [ebp - 0x92c]
cmp esi, esp
call fcn.005e11e1
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x8cce5c]
call fcn.005e078c
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005df77e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4