Function at 0x4ea1fe
Capabilities:
Parse pe header
Resolve function by parsing pe exports
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f1474
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb08
mov dword [ebp - 0x960], ecx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x1c8], 0
je 0x4ea236
jmp 0x4f4f42
mov ecx, dword [0x6f0ab0]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa25]
cmp eax, 1
jne 0x4ea280
mov ecx, dword [0x6f0ab0]
mov edx, dword [ecx + 0x4c]
cmp edx, dword [ebp - 0x960]
je 0x4ea280
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa3d]
test edx, edx
jne 0x4ea2a7
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa25]
cmp ecx, 1
jne 0x4ea83b
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x700], 0
je 0x4ea2c9
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x700]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x704], 0
je 0x4ea2eb
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x704]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x708], 0
je 0x4ea30d
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x708]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x6f8], 0
je 0x4ea32f
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6f8]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x6fc], 0
je 0x4ea351
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6fc]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x70c], 0
je 0x4ea373
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x70c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x710], 0
je 0x4ea395
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x710]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x71c], 0
je 0x4ea3b7
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x71c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x720], 0
je 0x4ea3d9
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x720]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x724], 0
je 0x4ea3fb
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x724]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x728], 0
je 0x4ea41d
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x728]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x72c], 0
je 0x4ea43f
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x72c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x730], 0
je 0x4ea461
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x730]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x734], 0
je 0x4ea483
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x734]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x738], 0
je 0x4ea4a5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x738]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x73c], 0
je 0x4ea4c7
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x73c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x740], 0
je 0x4ea4e9
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x740]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x744], 0
je 0x4ea524
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x744]
mov edx, dword [ecx + 0x80]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x744]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x748], 0
je 0x4ea55f
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x748]
mov edx, dword [ecx + 0x80]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x748]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x74c], 0
je 0x4ea581
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
mov dword [ecx + 0x48], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x750], 0
je 0x4ea5a3
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x48], 0
mov dword [ebp - 0x14], 0
jmp 0x4ea5b5
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 7
jge 0x4ea642
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + eax*4 + 0x75c], 0
je 0x4ea5e9
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x75c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x778], 0
je 0x4ea613
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x778]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x794], 0
je 0x4ea63d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x794]
mov dword [edx + 0x24], 0
jmp 0x4ea5ac
mov dword [ebp - 0x14], 0
jmp 0x4ea654
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x4ea686
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x7b0], 0
je 0x4ea684
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7b0]
mov dword [edx + 0x48], 0
jmp 0x4ea64b
mov dword [ebp - 0x14], 0
jmp 0x4ea698
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 5
jge 0x4ea6ca
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x7c0], 0
je 0x4ea6c8
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7c0]
mov dword [edx + 0x24], 0
jmp 0x4ea68f
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2f8], 0
je 0x4ea780
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov dword [ecx + 0x2900], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f0], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f8], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f1], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28fa], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov dword [ecx + 0x28f4], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f9], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2fc], 0
je 0x4ea836
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov dword [eax + 0x2900], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f0], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f8], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f1], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28fa], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov dword [eax + 0x28f4], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f9], 0
jmp 0x4f4f42
cmp dword [0x277c1c0], 1
je 0x4ea851
cmp dword [0x277c1c4], 1
jne 0x4eab0d
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x71c], 0
je 0x4ea873
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x71c]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x6f8], 0
je 0x4ea895
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6f8]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x6fc], 0
je 0x4ea8b7
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6fc]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x704], 0
je 0x4ea8d9
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x704]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x740], 0
je 0x4ea8fb
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x740]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x70c], 0
je 0x4ea91d
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x70c]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x710], 0
je 0x4ea93f
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x710]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x720], 0
je 0x4ea961
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x720]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x73c], 0
je 0x4ea983
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x73c]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x74c], 0
je 0x4ea9a5
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov dword [eax + 0x48], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x744], 0
je 0x4ea9c7
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x744]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x748], 0
je 0x4ea9e9
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x748]
mov dword [eax + 0x24], 0
mov dword [ebp - 0x18], 0
jmp 0x4ea9fb
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 4
jge 0x4eaa2d
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x7b0], 0
je 0x4eaa2b
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x7b0]
mov dword [eax + 0x48], 0
jmp 0x4ea9f2
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
cmp dword [edx + 0x2f8], 0
je 0x4eaa9d
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov dword [edx + 0x2900], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov byte [edx + 0x28fa], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov dword [edx + 0x28f4], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov byte [edx + 0x28f9], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2fc], 0
je 0x4eab0d
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov dword [ecx + 0x2900], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28fa], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov dword [ecx + 0x28f4], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28f9], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x6a0], 0
je 0x4f089d
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x6a0]
jbe 0x4f089d
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x960]
fld dword [edx + 0x6ac]
fsub dword [eax + 0x2c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x960]
fld dword [ecx + 0x6a4]
fsub dword [edx + 0x28]
push ecx
fstp dword [esp]
call fcn.00499980
add esp, 8
fadd dword [0x5f5420]
fstp dword [ebp - 0x1c]
mov eax, dword [0x6f0ab0]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x6b0], 0
je 0x4eac0a
mov edx, dword [0x6f0ab0]
cmp dword [edx + 0x4c], 0
je 0x4eac0a
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
fld dword [eax + 0x28]
call fcn.005c5ef0
push eax
mov ecx, dword [0x6f0ab0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.005c5ef0
push eax
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x14
jle 0x4eac08
mov edx, dword [ebp - 0x960]
mov word [edx + 0x6b4], 0
jmp 0x4eac19
mov eax, dword [ebp - 0x960]
mov word [eax + 0x6b4], 0
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0xf8
jge 0x4eacac
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
mov edx, dword [ebp - 0x20]
cmp dword [edx + ecx*4 + 0x8bea0], 0
je 0x4eac92
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x960]
mov ecx, dword [edx + ecx*4 + 0x8bea0]
cmp ecx, dword [eax + 0x6a0]
jae 0x4eac92
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 0x8bea0]
mov dword [ecx + 0x6a0], eax
jmp 0x4eacac
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
mov dword [eax + edx*4 + 0x8bea0], ecx
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
test eax, eax
jl 0x4eaccf
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x60
jl 0x4ead20
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x97
jl 0x4eacf8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x99
jle 0x4ead20
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x68
je 0x4ead20
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x69
jne 0x4f07f8
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x30]
call fcn.00438180
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6ac]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6a8]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6a4]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00438180
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x10
jne 0x4eae8d
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x28]
fcomp dword [ecx + 0x28]
fnstsw ax
test ah, 0x40
je 0x4eae88
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x2c]
fcomp dword [ecx + 0x2c]
fnstsw ax
test ah, 0x40
je 0x4eae88
push 0xac
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x3bc], 0
je 0x4eae4b
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
push ecx
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x3bc]
call fcn.00576470
mov dword [ebp - 0x964], eax
jmp 0x4eae55
mov dword [ebp - 0x964], 0
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0
je 0x4eae88
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 3
jne 0x4eaf86
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
lea ecx, [ebp - 0x3c4]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004a2afd
mov dword [ebp - 0x968], eax
fild dword [ebp - 0x968]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x50]
mov dword [ebp - 0x44], 3
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x3cc], 0
je 0x4eaf43
mov ecx, dword [ebp - 0x44]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x54]
mov dword [edx], eax
mov ecx, dword [ebp - 0x50]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x4c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x3cc]
call fcn.0056d4e0
mov dword [ebp - 0x96c], eax
jmp 0x4eaf4d
mov dword [ebp - 0x96c], 0
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3c8]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
je 0x4eaf81
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0xd
jne 0x4eb152
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x3d4], 0
je 0x4eafe8
push 4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
push edx
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x3d4]
call fcn.0055ab20
mov dword [ebp - 0x970], eax
jmp 0x4eaff2
mov dword [ebp - 0x970], 0
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0
je 0x4eb14d
mov edx, dword [ebp - 0x58]
mov dword [edx + 0xa4], 0x19d
mov eax, dword [ebp - 0x58]
mov dword [eax + 0xb0], 0x1f4
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0xb8], 0x1f4
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
cmp eax, 1
jne 0x4eb0b0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x58]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x3e0]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x74
call fcn.004382d0
jmp 0x4eb10d
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
fdiv dword [0x5f46bc]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x30]
fadd dword [0x5f46cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x3ec]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x58]
mov dword [edx + 0x98], 0x40200000
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x9c], 0x40200000
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x58]
mov byte [edx + 0xac], 0
mov eax, dword [ebp - 0x58]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 8
je 0x4eb176
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0xa
jne 0x4eb1e8
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x74]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x54]
jne 0x4eb1ab
push 2
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x74]
mov ecx, eax
call fcn.004d14b3
cmp dword [0x636738], 0
je 0x4eb1e3
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eb1e3
push 0
push 0
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0xb
jne 0x4eb47c
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x6c], edx
call fcn.005c6ece
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x974], edx
fild dword [ebp - 0x974]
fstp dword [ebp - 0x68]
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x3f4], 0
je 0x4eb281
push 0x50
push 1
push 0x3b03126f
push 0x3fcccccd
push 0x3fcccccd
push 0x3fcccccd
push 0x2bc
push 0x38
mov ecx, dword [ebp - 0x3f4]
call fcn.00551610
mov dword [ebp - 0x978], eax
jmp 0x4eb28b
mov dword [ebp - 0x978], 0
mov edx, dword [ebp - 0x978]
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x4eb312
push 0xff990000
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x60]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x60]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x6c]
push edx
fld dword [ebp - 0x70]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x74]
push eax
lea ecx, [ebp - 0x400]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x408], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x408], 0
je 0x4eb391
push 0x50
push 1
push 0x3a03126f
fld dword [ebp - 0x68]
fmul dword [0x5f46cc]
fadd dword [0x5f5afc]
push ecx
fstp dword [esp]
fld dword [ebp - 0x68]
fmul dword [0x5f46cc]
fadd dword [0x5f5af8]
push ecx
fstp dword [esp]
fld dword [ebp - 0x68]
fmul dword [0x5f46cc]
fadd dword [0x5f5afc]
push ecx
fstp dword [esp]
push 0x4b0
push 0x3c
mov ecx, dword [ebp - 0x408]
call fcn.00551610
mov dword [ebp - 0x97c], eax
jmp 0x4eb39b
mov dword [ebp - 0x97c], 0
mov eax, dword [ebp - 0x97c]
mov dword [ebp - 0x404], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x404]
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x64], 0
je 0x4eb43a
push 0xff994444
mov edx, dword [ebp - 0x64]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x64]
call dword [eax + 0x3c]
fld dword [0x5f51bc]
fmul dword [ebp - 0x68]
fdiv dword [0x5f5160]
mov ecx, dword [ebp - 0x64]
fstp dword [ecx + 0x114]
mov edx, dword [ebp - 0x64]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x64]
mov dword [eax + 0x104], 1
mov ecx, dword [ebp - 0x6c]
push ecx
fld dword [ebp - 0x70]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x74]
push edx
lea ecx, [ebp - 0x414]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x64]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
mov dword [ebp - 0x5c], 0xa8
cmp dword [0x636738], 0
je 0x4eb477
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eb477
push 0
push 0
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 9
jne 0x4eb53b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x7c], edx
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x41c], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x41c], 0
je 0x4eb4f8
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x84]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x41c]
call fcn.00578030
mov dword [ebp - 0x980], eax
jmp 0x4eb502
mov dword [ebp - 0x980], 0
mov edx, dword [ebp - 0x980]
mov dword [ebp - 0x418], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x4eb536
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0xf
jne 0x4eb72b
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x424], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x424], 0
je 0x4eb59d
push 4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
push eax
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x424]
call fcn.0055ab20
mov dword [ebp - 0x984], eax
jmp 0x4eb5a7
mov dword [ebp - 0x984], 0
mov ecx, dword [ebp - 0x984]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
je 0x4eb726
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xa4], 0x19d
mov ecx, dword [ebp - 0x88]
mov dword [ecx + 0xb0], 0x1f4
mov edx, dword [ebp - 0x88]
mov dword [edx + 0xb8], 0x1f4
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
cmp ecx, 1
jne 0x4eb677
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x58]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
fdiv dword [0x5f46bc]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0x430]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x74
call fcn.004382d0
jmp 0x4eb6d7
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
fadd dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x43c]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x88]
mov dword [eax + 0x98], 0x40200000
mov ecx, dword [ebp - 0x88]
mov dword [ecx + 0x9c], 0x40200000
mov edx, dword [ebp - 0x88]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x88]
mov byte [eax + 0xac], 0
mov ecx, dword [ebp - 0x88]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 2
je 0x4eb765
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0xc
je 0x4eb765
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x1c
jne 0x4eb869
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0xc
jne 0x4eb797
mov dword [ebp - 0x8c], 1
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x1c
jne 0x4eb7b3
mov dword [ebp - 0x8c], 2
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0x444], 0
je 0x4eb81e
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x444]
call fcn.00569a40
mov dword [ebp - 0x988], eax
jmp 0x4eb828
mov dword [ebp - 0x988], 0
mov eax, dword [ebp - 0x988]
mov dword [ebp - 0x440], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x90], ecx
cmp dword [ebp - 0x90], 0
je 0x4eb864
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x11
jne 0x4eb9a8
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x60], 0
je 0x4eb9a8
cmp dword [0x636738], 0
je 0x4eb8c7
push 0x9b
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eb8c7
push 0
push 0
push 0x9b
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x868], 1
jne 0x4eb8fe
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2f8], 0
je 0x4eb8fe
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2f8]
mov byte [eax + 0x28f0], 1
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x86c], 1
jne 0x4eb935
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2fc], 0
je 0x4eb935
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f0], 1
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x868], 0
jne 0x4eb9a3
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x86c], 0
jne 0x4eb9a3
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2f8], 0
je 0x4eb97b
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f0], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2fc], 0
je 0x4eb9a3
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f0], 1
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x12
jne 0x4eba2c
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x74]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x54]
jne 0x4eb9ef
push 2
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x74]
mov ecx, eax
call fcn.004d14b3
cmp dword [0x636738], 0
je 0x4eba27
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eba27
push 0
push 0
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x13
jne 0x4ebb7e
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x60], 0
je 0x4ebb7e
cmp dword [0x636738], 0
je 0x4eba8a
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eba8a
push 0
push 0
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
cmp dword [edx + 0x2f8], 0
je 0x4ebab5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov dword [edx + 0x2900], 4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2fc], 0
je 0x4ebae0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov dword [ecx + 0x2900], 4
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x44c], eax
mov dword [ebp - 4], 8
cmp dword [ebp - 0x44c], 0
je 0x4ebb32
push 0
push 0
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x44c]
call fcn.0056c630
mov dword [ebp - 0x98c], eax
jmp 0x4ebb3c
mov dword [ebp - 0x98c], 0
mov ecx, dword [ebp - 0x98c]
mov dword [ebp - 0x448], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0
je 0x4ebb79
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x14
jne 0x4ebf9b
cmp dword [0x636738], 0
je 0x4ebbcc
push 0x99
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4ebbcc
push 0
push 0
push 0x99
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x6b0], 0
je 0x4ebf96
mov dword [ebp - 0x9c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
cmp dword [eax + 0x218], 4
je 0x4ebc13
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
cmp dword [edx + 0x218], 8
jne 0x4ebc1d
mov dword [ebp - 0x9c], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x454], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0x454], 0
je 0x4ebcb3
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x460]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 0
push 0
push 0
lea ecx, [ebp - 0x46c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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 ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 0x454]
call fcn.0055dc50
mov dword [ebp - 0x990], eax
jmp 0x4ebcbd
mov dword [ebp - 0x990], 0
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x450]
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0
je 0x4ebf96
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x6b0], 0
je 0x4ebdba
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4ebdba
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
cmp dword [edx + 0x120], 0
je 0x4ebdba
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + 0xa48]
mov dword [edx + 0x5c], eax
push 0x20
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x98]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [ebp - 0x98]
mov ecx, dword [edx + 0x5c]
mov dword [eax + 0x1a8], ecx
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x184
push ecx
call fcn.005c5f60
add esp, 0xc
jmp 0x4ebde3
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xe8
push ecx
call fcn.005c5f60
add esp, 0xc
mov edx, dword [ebp - 0x98]
mov dword [edx + 0x12c], 0x3f000000
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x130], 0x3f000000
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x134], 0x3f000000
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x98]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x11c], 0xbb8
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
fld dword [eax + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x98]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
test ecx, ecx
jle 0x4ebf23
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x4ebf23
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x60], 0
je 0x4ebee8
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa78]
push eax
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0x98]
cmp dword [edx + 0x1a4], 0
je 0x4ebf21
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x1a8]
imul ecx, ecx, 0x2a0
mov edx, dword [ecx + 0x6dfad8]
push edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x1a4]
call fcn.004c49ae
jmp 0x4ebf47
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa78]
push eax
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [ebp - 0x98]
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x128], edx
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x124], 1
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x16
jne 0x4ec081
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xa4], edx
fld dword [ebp - 0xa8]
fadd dword [0x5f493c]
fstp dword [ebp - 0xa8]
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x474], eax
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x474], 0
je 0x4ec035
push 1
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xac]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x474]
call fcn.00569100
mov dword [ebp - 0x994], eax
jmp 0x4ec03f
mov dword [ebp - 0x994], 0
mov edx, dword [ebp - 0x994]
mov dword [ebp - 0x470], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
je 0x4ec07c
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x17
jne 0x4ec1f5
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xbc], 0
jmp 0x4ec0cd
mov edx, dword [ebp - 0xbc]
add edx, 1
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], 4
jge 0x4ec1f0
mov eax, dword [ebp - 0xbc]
cdq
sub eax, edx
sar eax, 1
shl eax, 1
mov dword [ebp - 0x998], eax
fild dword [ebp - 0x998]
fadd dword [ebp - 0x34]
fsub dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0xbc]
and ecx, 0x80000001
jns 0x4ec117
dec ecx
or ecx, 0xfffffffe
inc ecx
shl ecx, 1
mov dword [ebp - 0x99c], ecx
fild dword [ebp - 0x99c]
fadd dword [ebp - 0x3c]
fsub dword [0x5f493c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x480]
call fcn.00438180
push eax
lea ecx, [ebp - 0xb8]
call fcn.004382d0
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x488], eax
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0x488], 0
je 0x4ec1a4
push 0
push 0
push 1
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xb8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xb4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xb0]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x488]
call fcn.0056c630
mov dword [ebp - 0x9a0], eax
jmp 0x4ec1ae
mov dword [ebp - 0x9a0], 0
mov ecx, dword [ebp - 0x9a0]
mov dword [ebp - 0x484], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0
je 0x4ec1eb
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4ec0be
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x18
jne 0x4ec2c9
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x490], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x490], 0
je 0x4ec27d
push 0
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x34]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x490]
call fcn.005703a0
mov dword [ebp - 0x9a4], eax
jmp 0x4ec287
mov dword [ebp - 0x9a4], 0
mov edx, dword [ebp - 0x9a4]
mov dword [ebp - 0x48c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x4ec2c4
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x19
jne 0x4ec39d
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xcc], ecx
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x498], eax
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0x498], 0
je 0x4ec351
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xd4]
mov dword [edx], eax
mov ecx, dword [ebp - 0xd0]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xcc]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x498]
call fcn.00569490
mov dword [ebp - 0x9a8], eax
jmp 0x4ec35b
mov dword [ebp - 0x9a8], 0
mov ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x494]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
je 0x4ec398
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x1b
je 0x4ec3c5
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x1d
jne 0x4ec4bc
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x1b
jne 0x4ec3e1
mov dword [ebp - 0xd8], 3
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x1d
jne 0x4ec3fd
mov dword [ebp - 0xd8], 4
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xdc], eax
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x4a0], 0
je 0x4ec471
push 0
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0xe4]
mov dword [ecx], edx
mov eax, dword [ebp - 0xe0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x4a0]
call fcn.0056da10
mov dword [ebp - 0x9ac], eax
jmp 0x4ec47b
mov dword [ebp - 0x9ac], 0
mov eax, dword [ebp - 0x9ac]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0xe8], ecx
cmp dword [ebp - 0xe8], 0
je 0x4ec4b7
mov edx, dword [ebp - 0xe8]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x1f
jne 0x4eca2f
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x6b0], 0
je 0x4eca2a
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x104]
push edx
lea ecx, [ebp - 0x4a8]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.004a2afd
mov dword [ebp - 0x9b0], eax
fild dword [ebp - 0x9b0]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x100]
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x4b0], 0
je 0x4ec597
push 4
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x104]
mov dword [eax], ecx
mov edx, dword [ebp - 0x100]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xfc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x4b0]
call fcn.0056d4e0
mov dword [ebp - 0x9b4], eax
jmp 0x4ec5a1
mov dword [ebp - 0x9b4], 0
mov edx, dword [ebp - 0x9b4]
mov dword [ebp - 0x4ac], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x4ec5de
mov ecx, dword [ebp - 0xf8]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x4b8], 0
je 0x4ec62c
push 4
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x4b8]
call fcn.0056d4e0
mov dword [ebp - 0x9b8], eax
jmp 0x4ec636
mov dword [ebp - 0x9b8], 0
mov edx, dword [ebp - 0x9b8]
mov dword [ebp - 0x4b4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x4ec673
mov ecx, dword [ebp - 0xf0]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
cmp dword [ecx + 0x218], 4
je 0x4ec6a7
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
cmp dword [eax + 0x218], 8
jne 0x4ec6b1
mov dword [ebp - 0xf4], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x4c0], 0
je 0x4ec747
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x4cc]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 0
push 0
push 0
lea ecx, [ebp - 0x4d8]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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 ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 0x4c0]
call fcn.0055dc50
mov dword [ebp - 0x9bc], eax
jmp 0x4ec751
mov dword [ebp - 0x9bc], 0
mov ecx, dword [ebp - 0x9bc]
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xec], 0
je 0x4eca2a
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x6b0], 0
je 0x4ec84e
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4ec84e
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
cmp dword [edx + 0x120], 0
je 0x4ec84e
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ebp - 0xec]
mov eax, dword [ecx + 0xa48]
mov dword [edx + 0x5c], eax
push 0x20
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
add edx, 0x126
push edx
mov eax, dword [ebp - 0xec]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [ebp - 0xec]
mov ecx, dword [edx + 0x5c]
mov dword [eax + 0x1a8], ecx
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0xec]
add ecx, 0x184
push ecx
call fcn.005c5f60
add esp, 0xc
jmp 0x4ec877
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0xec]
add ecx, 0xe8
push ecx
call fcn.005c5f60
add esp, 0xc
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x12c], 0x3f000000
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x130], 0x3f000000
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x134], 0x3f000000
mov edx, dword [ebp - 0xf4]
push edx
mov eax, dword [ebp - 0xec]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xec]
call dword [edx + 0x80]
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x11c], 0x5dc
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
fld dword [eax + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xec]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
test ecx, ecx
jle 0x4ec9b7
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x4ec9b7
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x60], 0
je 0x4ec97c
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa78]
push eax
mov ecx, dword [ebp - 0xec]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0xec]
cmp dword [edx + 0x1a4], 0
je 0x4ec9b5
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x1a8]
imul ecx, ecx, 0x2a0
mov edx, dword [ecx + 0x6dfad8]
push edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x1a4]
call fcn.004c49ae
jmp 0x4ec9db
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa78]
push eax
mov ecx, dword [ebp - 0xec]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [ebp - 0xec]
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x128], edx
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 0x124], 9
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x20
jne 0x4ecaf3
push 0xa0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x4e0], 0
je 0x4ecaa7
push 0x22331100
push 0xffffffffffffffff
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
push ecx
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x4e0]
call fcn.0056b3b0
mov dword [ebp - 0x9c0], eax
jmp 0x4ecab1
mov dword [ebp - 0x9c0], 0
mov ecx, dword [ebp - 0x9c0]
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x4dc]
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0
je 0x4ecaee
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x22
jne 0x4ecbc7
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 4], 0x13
cmp dword [ebp - 0x4e8], 0
je 0x4ecb7b
push 0
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x34]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x4e8]
call fcn.0056e880
mov dword [ebp - 0x9c4], eax
jmp 0x4ecb85
mov dword [ebp - 0x9c4], 0
mov edx, dword [ebp - 0x9c4]
mov dword [ebp - 0x4e4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x4ecbc2
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x25
jne 0x4ed0b8
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x11c], 0x3f800000
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
cmp eax, 1
jne 0x4ecc17
mov dword [ebp - 0x11c], 0x3fa66666
mov dword [ebp - 0x118], 0
jmp 0x4ecc32
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
cmp dword [ebp - 0x118], 2
jge 0x4ed081
call fcn.005c6ece
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x9c8], edx
fild dword [ebp - 0x9c8]
fstp dword [ebp - 0x124]
mov edx, dword [ebp - 0x118]
cmp dword [ebp + edx*4 - 0x114], 0
jne 0x4ecde6
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x4f0], 0
je 0x4ecd34
push 0x50
push 8
push 0
fld dword [0x5f51cc]
fmul dword [ebp - 0x124]
fadd dword [0x5f493c]
fmul dword [ebp - 0x11c]
fild dword [ebp - 0x118]
fmul dword [0x5f51c8]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5f51cc]
fmul dword [ebp - 0x124]
fadd dword [0x5f493c]
fmul dword [ebp - 0x11c]
fild dword [ebp - 0x118]
fmul dword [0x5f51c8]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5f51cc]
fmul dword [ebp - 0x124]
fadd dword [0x5f493c]
fmul dword [ebp - 0x11c]
fild dword [ebp - 0x118]
fmul dword [0x5f51c8]
fsubp st(1)
push ecx
fstp dword [esp]
push 0
push 0x6d
mov ecx, dword [ebp - 0x4f0]
call fcn.00551610
mov dword [ebp - 0x9cc], eax
jmp 0x4ecd3e
mov dword [ebp - 0x9cc], 0
mov eax, dword [ebp - 0x9cc]
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x4ec]
mov dword [ebp + ecx*4 - 0x114], edx
push 0xffffdd00
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp + eax*4 - 0x114]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + edx*4 - 0x114]
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp + eax*4 - 0x114]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + edx*4 - 0x114]
mov dword [eax + 0x104], 0
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp + ecx*4 - 0x114]
mov dword [edx + 0xf8], 0x7d0
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp + eax*4 - 0x114]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x118]
cmp dword [ebp + eax*4 - 0x114], 0
je 0x4eceae
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp + ecx*4 - 0x114]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0xfc]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [ebp - 0x9d4], edx
mov dword [ebp - 0x9d0], 0
fild qword [ebp - 0x9d4]
fmul dword [0x5f533c]
fdiv dword [0x5f5460]
fiadd dword [ebp - 0x118]
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp + edx*4 - 0x114]
fstp dword [eax + 0x114]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x2c]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f54d0]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x28]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x4fc]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ebp + ecx*4 - 0x114]
add ecx, 0x74
call fcn.004382d0
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x504], eax
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x504], 0
je 0x4ecf45
push 0x50
push 8
push 0
fld dword [0x5f51cc]
fmul dword [ebp - 0x124]
fadd dword [0x5f493c]
fmul dword [ebp - 0x11c]
push ecx
fstp dword [esp]
fld dword [0x5f51cc]
fmul dword [ebp - 0x124]
fadd dword [0x5f493c]
fmul dword [ebp - 0x11c]
push ecx
fstp dword [esp]
fld dword [0x5f51cc]
fmul dword [ebp - 0x124]
fadd dword [0x5f493c]
fmul dword [ebp - 0x11c]
push ecx
fstp dword [esp]
push 0x1f4
push 0x6d
mov ecx, dword [ebp - 0x504]
call fcn.00551610
mov dword [ebp - 0x9d8], eax
jmp 0x4ecf4f
mov dword [ebp - 0x9d8], 0
mov edx, dword [ebp - 0x9d8]
mov dword [ebp - 0x500], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x4ed07c
push 0xffffdd00
mov ecx, dword [ebp - 0x120]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x120]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x120]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x120]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x120]
mov dword [edx + 0xf8], 0x7d0
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0xfc]
mov eax, ecx
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [ebp - 0x9e0], edx
mov dword [ebp - 0x9dc], 0
fild qword [ebp - 0x9e0]
fmul dword [0x5f533c]
fdiv dword [0x5f5460]
mov edx, dword [ebp - 0x120]
fstp dword [edx + 0x114]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x2c]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f54d0]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x28]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x510]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x120]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x960]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0x120]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4ecc23
cmp dword [0x636738], 0
je 0x4ed0b3
push 0x69
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4ed0b3
push 0
push 0
push 0x69
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x26
jne 0x4ed286
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
fld dword [ebp - 0x2c]
fadd dword [0x5f493c]
fstp dword [ebp - 0x2c]
mov dword [ebp - 0x12c], 1
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x218], 0x26
jne 0x4ed109
mov dword [ebp - 0x12c], 2
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x518], eax
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x518], 0
je 0x4ed174
push 0
mov ecx, dword [ebp - 0x12c]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x518]
call fcn.005703a0
mov dword [ebp - 0x9e4], eax
jmp 0x4ed17e
mov dword [ebp - 0x9e4], 0
mov eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x514], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0
je 0x4ed1ba
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
mov dword [ebp - 0x128], 4
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x520], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x520], 0
je 0x4ed23b
push 0
mov ecx, dword [ebp - 0x128]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x34]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x520]
call fcn.00569a40
mov dword [ebp - 0x9e8], eax
jmp 0x4ed245
mov dword [ebp - 0x9e8], 0
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x51c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0
je 0x4ed281
mov edx, dword [ebp - 0x134]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x28
je 0x4ed2ae
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x15
jne 0x4ed3b1
mov dword [ebp - 0x138], 0xff33ff66
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b6]
cmp eax, 1
jne 0x4ed2d4
mov dword [ebp - 0x138], 0xff66ffaa
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b6]
cmp edx, 2
jne 0x4ed2f0
mov dword [ebp - 0x138], 0xff113388
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b6]
cmp ecx, 3
jne 0x4ed30c
mov dword [ebp - 0x138], 0xffff8800
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x528], eax
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x528], 0
je 0x4ed365
push 0
push 1
push 0xa
mov edx, dword [ebp - 0x138]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x528]
call fcn.00576050
mov dword [ebp - 0x9ec], eax
jmp 0x4ed36f
mov dword [ebp - 0x9ec], 0
mov edx, dword [ebp - 0x9ec]
mov dword [ebp - 0x524], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
je 0x4ed3ac
mov ecx, dword [ebp - 0x13c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x29
je 0x4ed3eb
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x2b
je 0x4ed3eb
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x36
jne 0x4ed530
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
lea ecx, [ebp - 0x530]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.004a2afd
mov dword [ebp - 0x9f0], eax
fild dword [ebp - 0x9f0]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x14c]
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x2b
jne 0x4ed46c
mov dword [ebp - 0x140], 1
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x36
jne 0x4ed488
mov dword [ebp - 0x140], 3
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x538], eax
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x538], 0
je 0x4ed4e4
mov edx, dword [ebp - 0x140]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x150]
mov dword [eax], ecx
mov edx, dword [ebp - 0x14c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x148]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x538]
call fcn.0056d4e0
mov dword [ebp - 0x9f4], eax
jmp 0x4ed4ee
mov dword [ebp - 0x9f4], 0
mov edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x534], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x4ed52b
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x2a
jne 0x4ed616
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x154], ecx
fld dword [ebp - 0x158]
fsub dword [0x5f493c]
fstp dword [ebp - 0x158]
push 0xac
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x540], 0
je 0x4ed5ca
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x15c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x158]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x154]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x540]
call fcn.00578a60
mov dword [ebp - 0x9f8], eax
jmp 0x4ed5d4
mov dword [ebp - 0x9f8], 0
mov ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x53c]
mov dword [ebp - 0x160], edx
cmp dword [ebp - 0x160], 0
je 0x4ed611
mov eax, dword [ebp - 0x160]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x2c
jne 0x4ed96a
mov dword [ebp - 0x16c], 0xff550088
mov dword [ebp - 0x168], 0xff555500
mov dword [ebp - 0x164], 0xff005500
mov dword [ebp - 0x170], 0
jmp 0x4ed665
mov ecx, dword [ebp - 0x170]
add ecx, 1
mov dword [ebp - 0x170], ecx
cmp dword [ebp - 0x170], 3
jge 0x4ed92d
call fcn.005c6ece
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x9fc], edx
fild dword [ebp - 0x9fc]
fadd dword [0x5f5178]
fstp dword [ebp - 0x17c]
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x548], eax
mov dword [ebp - 4], 0x1b
cmp dword [ebp - 0x548], 0
je 0x4ed71f
push 0x50
push 1
push 0x3b03126f
fild dword [ebp - 0x170]
fmul dword [0x5f5164]
fsubr dword [0x5f51c8]
push ecx
fstp dword [esp]
fild dword [ebp - 0x170]
fmul dword [0x5f5164]
fsubr dword [0x5f51c8]
push ecx
fstp dword [esp]
fild dword [ebp - 0x170]
fmul dword [0x5f5164]
fsubr dword [0x5f51c8]
push ecx
fstp dword [esp]
push 0x320
push 0x38
mov ecx, dword [ebp - 0x548]
call fcn.00551610
mov dword [ebp - 0xa00], eax
jmp 0x4ed729
mov dword [ebp - 0xa00], 0
mov edx, dword [ebp - 0xa00]
mov dword [ebp - 0x544], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0
je 0x4ed7d5
mov ecx, dword [ebp - 0x170]
mov edx, dword [ebp + ecx*4 - 0x16c]
push edx
mov eax, dword [ebp - 0x174]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x174]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x174]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x174]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x28]
push edx
fld dword [ebp - 0x2c]
fadd dword [0x5f4f98]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x554]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x174]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x174]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x55c], eax
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x55c], 0
je 0x4ed85d
push 0x50
push 1
push 0x3a03126f
fld dword [ebp - 0x17c]
fmul dword [0x5f5164]
fadd dword [0x5f51c8]
push ecx
fstp dword [esp]
fld dword [ebp - 0x17c]
fmul dword [0x5f5164]
fadd dword [0x5f51c8]
push ecx
fstp dword [esp]
fld dword [ebp - 0x17c]
fmul dword [0x5f5164]
fadd dword [0x5f51c8]
push ecx
fstp dword [esp]
push 0x1f4
push 0x3c
mov ecx, dword [ebp - 0x55c]
call fcn.00551610
mov dword [ebp - 0xa04], eax
jmp 0x4ed867
mov dword [ebp - 0xa04], 0
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0x558], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x558]
mov dword [ebp - 0x178], ecx
cmp dword [ebp - 0x178], 0
je 0x4ed928
push 0xff333355
mov edx, dword [ebp - 0x178]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x178]
call dword [eax + 0x3c]
fld dword [0x5f51bc]
fmul dword [ebp - 0x17c]
fdiv dword [0x5f5160]
mov ecx, dword [ebp - 0x178]
fstp dword [ecx + 0x114]
mov edx, dword [ebp - 0x178]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x178]
mov dword [eax + 0x104], 1
mov ecx, dword [ebp - 0x28]
push ecx
fld dword [ebp - 0x2c]
fadd dword [0x5f4f98]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x30]
push edx
lea ecx, [ebp - 0x568]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x178]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4ed656
cmp dword [0x636738], 0
je 0x4ed965
push 0x9f
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4ed965
push 0
push 0
push 0x9f
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x2e
jne 0x4eddff
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x570], eax
mov dword [ebp - 4], 0x1d
cmp dword [ebp - 0x570], 0
je 0x4eda10
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x57c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 1
push 0x3f800000
push 0x7a
push 0
push 0xffff3300
push 0x3f800000
push 0xf
push 3
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x570]
call fcn.0055d590
mov dword [ebp - 0xa08], eax
jmp 0x4eda1a
mov dword [ebp - 0xa08], 0
mov eax, dword [ebp - 0xa08]
mov dword [ebp - 0x56c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0
je 0x4eda56
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x584], eax
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x584], 0
je 0x4edae6
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x590]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 1
push 0x3f800000
push 0x38
push 0
push 0xffff3300
push 0x3e99999a
push 0xf
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x584]
call fcn.0055d590
mov dword [ebp - 0xa0c], eax
jmp 0x4edaf0
mov dword [ebp - 0xa0c], 0
mov eax, dword [ebp - 0xa0c]
mov dword [ebp - 0x580], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x580]
mov dword [ebp - 0x188], ecx
cmp dword [ebp - 0x188], 0
je 0x4edb2c
mov edx, dword [ebp - 0x188]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
fld dword [ebp - 0x2c]
fadd dword [0x5f5160]
fstp dword [ebp - 0x2c]
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x598], eax
mov dword [ebp - 4], 0x1f
cmp dword [ebp - 0x598], 0
je 0x4edbc8
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x5a4]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 1
push 0x3f800000
push 0x7a
push 0
push 0xff0033ff
push 0x3f800000
push 0xf
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x598]
call fcn.0055d590
mov dword [ebp - 0xa10], eax
jmp 0x4edbd2
mov dword [ebp - 0xa10], 0
mov eax, dword [ebp - 0xa10]
mov dword [ebp - 0x594], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x18c], 0
je 0x4edc0e
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x5ac], 0
je 0x4edc9e
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x5b8]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 1
push 0x3f800000
push 0x38
push 0
push 0xff0033ff
push 0x3e99999a
push 0xf
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x28]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x5ac]
call fcn.0055d590
mov dword [ebp - 0xa14], eax
jmp 0x4edca8
mov dword [ebp - 0xa14], 0
mov eax, dword [ebp - 0xa14]
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5a8]
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0
je 0x4edce4
mov edx, dword [ebp - 0x180]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 4], 0x21
cmp dword [ebp - 0x5c0], 0
je 0x4edd23
push 0x3f800000
push 7
push 2
mov ecx, dword [ebp - 0x5c0]
call fcn.00567a20
mov dword [ebp - 0xa18], eax
jmp 0x4edd2d
mov dword [ebp - 0xa18], 0
mov ecx, dword [ebp - 0xa18]
mov dword [ebp - 0x5bc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5bc]
mov dword [ebp - 0x184], edx
cmp dword [ebp - 0x184], 0
je 0x4eddc8
mov eax, dword [ebp - 0x184]
mov dword [eax + 0x6c], 1
push 0xffaa3300
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x184]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x5c8]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x184]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x184]
mov dword [eax + 0xa0], 0x5dc
mov ecx, dword [ebp - 0x184]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
cmp dword [0x636738], 0
je 0x4eddfa
push 0x24
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eddfa
push 0
push 0
push 0x24
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x30
je 0x4ede27
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x31
jne 0x4ee16a
fld dword [ebp - 0x2c]
fsub dword [0x5f493c]
fstp dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
sub edx, 0x30
mov dword [ebp - 0x198], edx
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x5d0], 0
je 0x4ede9c
push 0x3dcccccd
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x5d0]
call fcn.0056f0e0
mov dword [ebp - 0xa1c], eax
jmp 0x4edea6
mov dword [ebp - 0xa1c], 0
mov edx, dword [ebp - 0xa1c]
mov dword [ebp - 0x5cc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
jne 0x4eded3
jmp 0x4f4f42
mov ecx, dword [ebp - 0x19c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 4], 0x23
cmp dword [ebp - 0x5d8], 0
je 0x4edf60
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
push ecx
mov edx, dword [ebp - 0x198]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x34]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
push 0x14
mov ecx, dword [ebp - 0x5d8]
call fcn.0055dc50
mov dword [ebp - 0xa20], eax
jmp 0x4edf6a
mov dword [ebp - 0xa20], 0
mov ecx, dword [ebp - 0xa20]
mov dword [ebp - 0x5d4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5d4]
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x194], 0
je 0x4ee165
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x30
jne 0x4ee043
mov edx, dword [ebp - 0x194]
mov word [edx + 0xec], 4
mov eax, dword [ebp - 0x194]
mov word [eax + 0xe8], 4
mov ecx, dword [ebp - 0x194]
mov word [ecx + 0xee], 1
mov edx, dword [ebp - 0x194]
mov word [edx + 0xea], 1
push 0
mov eax, dword [ebp - 0x194]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x194]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3ecccccd
mov edx, dword [ebp - 0x194]
mov eax, dword [edx + 0x60]
mov dword [eax + 0x28], 0x3ecccccd
mov ecx, dword [ebp - 0x194]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x2c], 0x3ecccccd
mov eax, dword [ebp - 0x194]
mov dword [eax + 0x120], 1
jmp 0x4ee0eb
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x31
jne 0x4ee0eb
mov eax, dword [ebp - 0x194]
mov word [eax + 0xec], 2
mov ecx, dword [ebp - 0x194]
mov word [ecx + 0xe8], 2
mov edx, dword [ebp - 0x194]
mov word [edx + 0xee], 0
mov eax, dword [ebp - 0x194]
mov word [eax + 0xea], 0
push 0
mov ecx, dword [ebp - 0x194]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x194]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3e4ccccd
mov edx, dword [ebp - 0x194]
mov eax, dword [edx + 0x60]
mov dword [eax + 0x28], 0x3e4ccccd
mov ecx, dword [ebp - 0x194]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x2c], 0x3e4ccccd
mov eax, dword [ebp - 0x194]
mov dword [eax + 0x120], 0
mov ecx, dword [ebp - 0x194]
mov dword [ecx + 0x12c], 0x3f800000
mov edx, dword [ebp - 0x194]
mov dword [edx + 0x130], 0x3f800000
mov eax, dword [ebp - 0x194]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x194]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x194]
mov dword [edx + 0x124], 2
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x32
jne 0x4ee3cb
fld dword [ebp - 0x30]
fsub dword [0x5f4508]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x2c]
fsub dword [0x5f493c]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x28]
fadd dword [0x5f4508]
fstp dword [ebp - 0x28]
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
sub edx, 0x30
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x1a4], 0
jmp 0x4ee1d5
mov eax, dword [ebp - 0x1a4]
add eax, 1
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 3
jge 0x4ee3c6
fild dword [ebp - 0x1a4]
fmul dword [0x5f46c8]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fild dword [ebp - 0x1a4]
fmul dword [0x5f46c8]
fsubr dword [ebp - 0x28]
fstp dword [ebp - 0x28]
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x5e0], 0
je 0x4ee27e
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x34]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
push 0x20
mov ecx, dword [ebp - 0x5e0]
call fcn.0055dc50
mov dword [ebp - 0xa24], eax
jmp 0x4ee288
mov dword [ebp - 0xa24], 0
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
jne 0x4ee2b5
jmp 0x4ee1c6
mov ecx, dword [ebp - 0x1a8]
mov word [ecx + 0xec], 0
mov edx, dword [ebp - 0x1a8]
mov word [edx + 0xe8], 0
mov eax, dword [ebp - 0x1a8]
mov word [eax + 0xee], 0
mov ecx, dword [ebp - 0x1a8]
mov word [ecx + 0xea], 0
push 0
mov edx, dword [ebp - 0x1a8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1a8]
call dword [eax + 0x80]
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x24], 0x40000000
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x40000000
mov edx, dword [ebp - 0x1a8]
mov eax, dword [edx + 0x60]
mov dword [eax + 0x2c], 0x40000000
mov ecx, dword [ebp - 0x1a8]
mov dword [ecx + 0x120], 1
mov edx, dword [ebp - 0x1a8]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x1a8]
mov dword [eax + 0x130], 0x3f800000
mov ecx, dword [ebp - 0x1a8]
mov dword [ecx + 0x134], 0x3f800000
mov edx, dword [ebp - 0x1a8]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x1a8]
mov dword [eax + 0x124], 4
mov ecx, dword [ebp - 0x1a8]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4ee1c6
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x33
jne 0x4ee511
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.00438180
push 0xac
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 4], 0x25
cmp dword [ebp - 0x5e8], 0
je 0x4ee48d
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
push eax
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1b8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1b4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1b0]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1b8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1b4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1b0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x5e8]
call fcn.00576470
mov dword [ebp - 0xa28], eax
jmp 0x4ee497
mov dword [ebp - 0xa28], 0
mov edx, dword [ebp - 0xa28]
mov dword [ebp - 0x5e4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 0x1ac], eax
cmp dword [ebp - 0x1ac], 0
je 0x4ee4d4
mov ecx, dword [ebp - 0x1ac]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
cmp dword [0x636738], 0
je 0x4ee50c
push 0x9d
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4ee50c
push 0
push 0
push 0x9d
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x35
jne 0x4ee756
mov dword [ebp - 0x1bc], 0
jmp 0x4ee542
mov edx, dword [ebp - 0x1bc]
add edx, 1
mov dword [ebp - 0x1bc], edx
cmp dword [ebp - 0x1bc], 5
jge 0x4ee751
mov dword [ebp - 0x1c0], 0
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
add edx, 0xa
mov dword [ebp - 0x1c8], edx
fild dword [ebp - 0x1bc]
fmul dword [0x5f46cc]
fstp dword [ebp - 0x1c4]
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x5f0], 0
je 0x4ee62d
push 0x50
push 1
push 0x38d1b717
fild dword [ebp - 0x1c8]
fmul dword [0x5f52b4]
fadd dword [0x5f46c8]
fadd dword [ebp - 0x1c4]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1c8]
fmul dword [0x5f46cc]
fadd dword [0x5f46c8]
fadd dword [ebp - 0x1c4]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1c8]
fmul dword [0x5f52b4]
fadd dword [0x5f46c8]
fadd dword [ebp - 0x1c4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x1bc]
imul edx, edx, 0xc8
add edx, 0x4b0
push edx
push 0
mov ecx, dword [ebp - 0x5f0]
call fcn.00551610
mov dword [ebp - 0xa2c], eax
jmp 0x4ee637
mov dword [ebp - 0xa2c], 0
mov eax, dword [ebp - 0xa2c]
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x1c0], 0
je 0x4ee74c
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xa30], edx
fild dword [ebp - 0xa30]
fmul dword [str._n_33]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x30]
push ecx
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xa34], edx
fild dword [ebp - 0xa34]
fmul dword [str._n_33]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x5fc]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x1c0]
add ecx, 0x74
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x1c0]
add ecx, 0x14c
call fcn.004382d0
mov eax, dword [ebp - 0x1c0]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx + 0x100], 0
mov edx, dword [ebp - 0x1c0]
mov dword [edx + 0x148], 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1c0]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x1c0]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4ee533
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x48
je 0x4ee77e
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x50
jne 0x4eeb31
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x6b0], 0
je 0x4eeb2c
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x50
jne 0x4ee7b7
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x1d8], 0xffffffff
mov dword [ebp - 0x1d4], 0xffffaa55
mov dword [ebp - 0x1d0], 0xffffffff
mov dword [ebp - 0x1cc], 0xffff0000
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x74]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x54]
jne 0x4ee814
push 1
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x74]
mov ecx, eax
call fcn.004d14b3
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x604], eax
mov dword [ebp - 4], 0x27
cmp dword [ebp - 0x604], 0
je 0x4ee85b
push 0x3f800000
push 7
mov ecx, dword [ebp - 0x1dc]
add ecx, 2
push ecx
mov ecx, dword [ebp - 0x604]
call fcn.00567a20
mov dword [ebp - 0xa38], eax
jmp 0x4ee865
mov dword [ebp - 0xa38], 0
mov edx, dword [ebp - 0xa38]
mov dword [ebp - 0x600], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
je 0x4ee925
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp + ecx*8 - 0x1d4]
push edx
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1e0]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x1e0]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x60c]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1e0]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x1e0]
mov dword [eax + 0xa0], 0x320
mov ecx, dword [ebp - 0x1e0]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov dword [ebp - 0x1e4], 0
jmp 0x4ee940
mov eax, dword [ebp - 0x1e4]
add eax, 1
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 2
jge 0x4eeadf
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x614], eax
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x614], 0
je 0x4ee9f6
push 0x50
push 1
fild dword [ebp - 0x1dc]
fmul dword [0x5f549c]
fadd dword [0x5f5278]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1e4]
fmul dword [0x5f51cc]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1e4]
fmul dword [0x5f51cc]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1e4]
fmul dword [0x5f51cc]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
push 0x2bc
mov ecx, dword [ebp - 0x1dc]
lea edx, [ecx*4 + 0x38]
push edx
mov ecx, dword [ebp - 0x614]
call fcn.00551610
mov dword [ebp - 0xa3c], eax
jmp 0x4eea00
mov dword [ebp - 0xa3c], 0
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0x610], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x610]
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1e8], 0
jne 0x4eea2d
jmp 0x4ee931
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp + edx*8 - 0x1d8]
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [eax + ecx*4]
push edx
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1e8]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x1e8]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x1e8]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x620]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x1e8]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x1e8]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4ee931
cmp dword [0x636738], 0
je 0x4eeb2c
mov eax, dword [ebp - 0x1dc]
imul eax, eax, 0xb
add eax, 0xa0
push eax
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eeb2c
push 0
push 0
mov ecx, dword [ebp - 0x1dc]
imul ecx, ecx, 0xb
add ecx, 0xa0
push ecx
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x4b
jne 0x4eed1d
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1ec], 0
jmp 0x4eeb6c
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
mov dword [ebp - 0x1ec], ecx
cmp dword [ebp - 0x1ec], 5
jge 0x4eece0
mov dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x1f0], 0
jne 0x4eecdb
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x628], eax
mov dword [ebp - 4], 0x29
cmp dword [ebp - 0x628], 0
je 0x4eec23
push 0x50
push 1
push 0
fild dword [ebp - 0x1ec]
fmul dword [0x5f51d4]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1ec]
fmul dword [0x5f4508]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1ec]
fmul dword [0x5f51d4]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x1ec]
imul edx, edx, 0xc8
add edx, 0x1f4
push edx
push 0x38
mov ecx, dword [ebp - 0x628]
call fcn.00551610
mov dword [ebp - 0xa40], eax
jmp 0x4eec2d
mov dword [ebp - 0xa40], 0
mov eax, dword [ebp - 0xa40]
mov dword [ebp - 0x624], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 0
je 0x4eecdb
push 0xff55aaff
mov edx, dword [ebp - 0x1f0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1f0]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x1f0]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x1f0]
mov dword [edx + 0x104], 1
mov eax, dword [ebp - 0x28]
push eax
fild dword [ebp - 0x1ec]
fmul dword [0x5f46cc]
fadd dword [ebp - 0x2c]
fsub dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x634]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x1f0]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x1f0]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4eeb5d
cmp dword [0x636738], 0
je 0x4eed18
push 0xae
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4eed18
push 0
push 0
push 0xae
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x4c
jne 0x4eef13
mov dword [ebp - 0x218], 0xff99bbff
mov dword [ebp - 0x214], 0xff00ffaa
mov dword [ebp - 0x210], 0xffffaa00
mov dword [ebp - 0x20c], 0xff880088
mov dword [ebp - 0x208], 0xffcc8888
mov dword [ebp - 0x21c], 0
jmp 0x4eed80
mov eax, dword [ebp - 0x21c]
add eax, 1
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 5
jge 0x4eef0e
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x204], 0
mov edx, dword [ebp - 0x21c]
cmp dword [ebp + edx*4 - 0x204], 0
jne 0x4eef09
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x63c], eax
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x63c], 0
je 0x4eedfc
push 1
push 0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp + eax*4 - 0x218]
push ecx
push 0xc
mov ecx, dword [ebp - 0x63c]
call fcn.0055ab20
mov dword [ebp - 0xa44], eax
jmp 0x4eee06
mov dword [ebp - 0xa44], 0
mov edx, dword [ebp - 0xa44]
mov dword [ebp - 0x638], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x638]
mov dword [ebp + eax*4 - 0x204], ecx
mov edx, dword [ebp - 0x21c]
cmp dword [ebp + edx*4 - 0x204], 0
jne 0x4eee41
jmp 0x4eed71
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp + eax*4 - 0x204]
mov dword [ecx + 0xa4], 0
mov edx, dword [ebp - 0x960]
add edx, 0x50
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp + eax*4 - 0x204]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp + ecx*4 - 0x204]
fld dword [edx + 0x78]
fadd dword [0x5f54e0]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp + eax*4 - 0x204]
fstp dword [ecx + 0x78]
mov edx, dword [ebp - 0x21c]
imul edx, edx, 0x32
add edx, 0x514
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp + eax*4 - 0x204]
mov dword [ecx + 0xb0], edx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp + edx*4 - 0x204]
mov dword [eax + 0x98], 0x3f800000
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp + ecx*4 - 0x204]
mov dword [edx + 0x9c], 0x3f800000
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp + eax*4 - 0x204]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4eed71
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x4d
jne 0x4ef253
mov dword [ebp - 0x220], 0
jmp 0x4eef44
mov edx, dword [ebp - 0x220]
add edx, 1
mov dword [ebp - 0x220], edx
cmp dword [ebp - 0x220], 5
jge 0x4ef24e
call fcn.005c6ece
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0xa48], edx
fild dword [ebp - 0xa48]
fstp dword [ebp - 0x22c]
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x644], eax
mov dword [ebp - 4], 0x2b
cmp dword [ebp - 0x644], 0
je 0x4ef003
push 0x50
push 8
push 0x3b03126f
fild dword [ebp - 0x220]
fmul dword [0x5f5164]
fsubr dword [0x5f51cc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x220]
fmul dword [0x5f5164]
fsubr dword [0x5f51cc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x220]
fmul dword [0x5f5164]
fsubr dword [0x5f5af4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x220]
imul edx, edx, 0x64
add edx, 0x1f4
push edx
push 0x65
mov ecx, dword [ebp - 0x644]
call fcn.00551610
mov dword [ebp - 0xa4c], eax
jmp 0x4ef00d
mov dword [ebp - 0xa4c], 0
mov eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x640], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0
je 0x4ef0cf
push 0xff5500ff
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x224]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x224]
mov dword [edx + 0x104], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f51cc]
fild dword [ebp - 0x220]
fmul dword [0x5f51cc]
faddp st(1)
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x650]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x658], eax
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x658], 0
je 0x4ef162
push 0x50
push 8
push 0x3a03126f
fld dword [ebp - 0x22c]
fmul dword [0x5f5164]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
fld dword [ebp - 0x22c]
fmul dword [0x5f5164]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
fld dword [ebp - 0x22c]
fmul dword [0x5f5164]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x220]
imul ecx, ecx, 0x64
add ecx, 0x1f4
push ecx
push 0x65
mov ecx, dword [ebp - 0x658]
call fcn.00551610
mov dword [ebp - 0xa50], eax
jmp 0x4ef16c
mov dword [ebp - 0xa50], 0
mov edx, dword [ebp - 0xa50]
mov dword [ebp - 0x654], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x4ef249
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x228]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x228]
call dword [edx + 0x3c]
fld dword [0x5f51bc]
fmul dword [ebp - 0x22c]
fdiv dword [0x5f5160]
mov eax, dword [ebp - 0x228]
fstp dword [eax + 0x114]
mov ecx, dword [ebp - 0x228]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x228]
mov dword [edx + 0x104], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f51cc]
fild dword [ebp - 0x220]
fmul dword [0x5f51cc]
faddp st(1)
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x664]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x228]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4eef35
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x51
jne 0x4ef3c6
mov dword [ebp - 0x230], 0
jmp 0x4ef284
mov eax, dword [ebp - 0x230]
add eax, 1
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 6
jge 0x4ef3c1
mov dword [ebp - 0x234], 0
cmp dword [ebp - 0x234], 0
jne 0x4ef3bc
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x66c], eax
mov dword [ebp - 4], 0x2d
cmp dword [ebp - 0x66c], 0
je 0x4ef316
push 0x50
push 1
push 0
push 0x40000000
fild dword [ebp - 0x230]
fmul dword [0x5f51cc]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
push 0x40000000
mov ecx, dword [ebp - 0x230]
imul ecx, ecx, 0x32
add ecx, 0x320
push ecx
push 0x38
mov ecx, dword [ebp - 0x66c]
call fcn.00551610
mov dword [ebp - 0xa54], eax
jmp 0x4ef320
mov dword [ebp - 0xa54], 0
mov edx, dword [ebp - 0xa54]
mov dword [ebp - 0x668], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
je 0x4ef3bc
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x234]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x234]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x28]
push edx
fld dword [ebp - 0x2c]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x678]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x234]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x234]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4ef275
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x55
jne 0x4ef4d0
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x680], eax
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0x680], 0
je 0x4ef452
push 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x68c]
call fcn.00438180
sub esp, 0xc
mov edx, esp
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 ecx, dword [ebp - 0x680]
call fcn.0055a270
mov dword [ebp - 0xa58], eax
jmp 0x4ef45c
mov dword [ebp - 0xa58], 0
mov ecx, dword [ebp - 0xa58]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x67c]
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 0
je 0x4ef4cb
mov eax, dword [ebp - 0x238]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
cmp dword [0x636738], 0
je 0x4ef4cb
push 0x25
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4ef4cb
push 0
push 0
push 0x25
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x57
jne 0x4ef5af
push 0x9c
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x694], eax
mov dword [ebp - 4], 0x2f
cmp dword [ebp - 0x694], 0
je 0x4ef563
mov ecx, dword [ebp - 0x960]
push ecx
push 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x6a0]
call fcn.00438180
sub esp, 0xc
mov edx, esp
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 ecx, dword [ebp - 0x694]
call fcn.00577530
mov dword [ebp - 0xa5c], eax
jmp 0x4ef56d
mov dword [ebp - 0xa5c], 0
mov ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0x690], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x690]
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0
je 0x4ef5aa
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f07f8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x58
jne 0x4ef9d1
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x60], 0
je 0x4ef9d1
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x6b0], 0
je 0x4ef9cc
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x248]
call fcn.00438180
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x258]
call fcn.00438180
mov dword [ebp - 0x24c], 0
jmp 0x4ef667
mov eax, dword [ebp - 0x24c]
add eax, 1
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 5
jge 0x4ef994
mov dword [ebp - 0x260], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 4
je 0x4ef69c
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x218], 8
jne 0x4ef6a6
mov dword [ebp - 0x260], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0x6a8], 0
je 0x4ef728
push 0
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x258]
mov dword [eax], ecx
mov edx, dword [ebp - 0x254]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x250]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x248]
mov dword [edx], eax
mov ecx, dword [ebp - 0x244]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x240]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
push edx
mov ecx, dword [ebp - 0x6a8]
call fcn.0055dc50
mov dword [ebp - 0xa60], eax
jmp 0x4ef732
mov dword [ebp - 0xa60], 0
mov eax, dword [ebp - 0xa60]
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6a4]
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 0
je 0x4ef98f
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4ef7d4
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x4ef7d4
mov dword [ebp - 0x260], 0
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x25c]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0xa48]
mov dword [ecx + 0x5c], eax
jmp 0x4ef7f8
push 0x20
mov ecx, dword [ebp - 0x960]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x25c]
add edx, 0xe8
push edx
call fcn.005c5f60
add esp, 0xc
mov eax, dword [ebp - 0x25c]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0x25c]
mov dword [ecx + 0x12c], 0x3f000000
mov edx, dword [ebp - 0x25c]
mov dword [edx + 0x130], 0x3e99999a
mov eax, dword [ebp - 0x25c]
mov dword [eax + 0x134], 0x3e4ccccd
mov ecx, dword [ebp - 0x260]
push ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x25c]
call dword [eax + 0x80]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x118], edx
mov eax, dword [ebp - 0x24c]
imul eax, eax, 0xc8
add eax, 0x64
mov ecx, dword [ebp - 0x25c]
mov dword [ecx + 0x11c], eax
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x25c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0x128]
mov dword [eax + 0x17c], edx
mov eax, dword [ebp - 0x25c]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x1a40
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x22c]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x63daf0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x9d8]
mov ecx, dword [ecx + eax*4 + 0x6dfa78]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x60]
call fcn.004c49ae
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx + 0x2e4]
mov dword [ecx + 0x2e4], edx
mov eax, dword [ebp - 0x25c]
mov dword [eax + 0x124], 6
mov ecx, dword [ebp - 0x25c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4ef658
cmp dword [0x636738], 0
je 0x4ef9cc
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4ef9cc
push 0
push 0
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x59
jne 0x4efe06
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x264], 0
jmp 0x4efa0c
mov edx, dword [ebp - 0x264]
add edx, 1
mov dword [ebp - 0x264], edx
cmp dword [ebp - 0x264], 5
jge 0x4efe01
mov dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x218], 4
je 0x4efa41
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 8
jne 0x4efa4b
mov dword [ebp - 0x26c], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 4], 0x31
cmp dword [ebp - 0x6b0], 0
je 0x4efadb
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x6bc]
call fcn.00438180
sub esp, 0xc
mov edx, esp
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
push 0
push 0
push 0
lea ecx, [ebp - 0x6c8]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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 ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
push edx
mov ecx, dword [ebp - 0x6b0]
call fcn.0055dc50
mov dword [ebp - 0xa64], eax
jmp 0x4efae5
mov dword [ebp - 0xa64], 0
mov eax, dword [ebp - 0xa64]
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x268], ecx
cmp dword [ebp - 0x268], 0
je 0x4efdfc
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4efbd3
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x4efbd3
mov dword [ebp - 0x26c], 0
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0xa48]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x268]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x120]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x120]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x268]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x268]
call dword [eax + 0x3c]
jmp 0x4efc41
push 0x20
mov ecx, dword [ebp - 0x960]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x268]
add edx, 0xe8
push edx
call fcn.005c5f60
add esp, 0xc
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x268]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x268]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x12c], 0x3e99999a
mov eax, dword [ebp - 0x268]
mov dword [eax + 0x130], 0x3e99999a
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0x134], 0x3e99999a
mov edx, dword [ebp - 0x26c]
push edx
mov eax, dword [ebp - 0x268]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x268]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x264]
imul eax, eax, 0x64
mov ecx, dword [ebp + 8]
add ecx, eax
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x118], ecx
mov eax, dword [ebp - 0x264]
imul eax, eax, 0x32
add eax, 0x190
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0x11c], eax
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x128]
mov dword [edx + 0x17c], ecx
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x120], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x1a40
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x22c]
imul eax, eax, 0x70
lea ecx, [ecx + eax + 0x63daf0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
imul eax, eax, 0x2a0
mov edx, dword [ebp - 0x960]
mov edx, dword [edx + 0x9d8]
mov eax, dword [eax + edx*4 + 0x6dfa78]
movsx ecx, word [ecx + eax*2]
push ecx
mov edx, dword [ebp - 0x268]
mov ecx, dword [edx + 0x60]
call fcn.004c49ae
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
test ecx, ecx
jle 0x4efdba
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x4efdba
mov eax, dword [ebp - 0x268]
cmp dword [eax + 0x60], 0
je 0x4efdba
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0xa48]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa84]
push eax
mov ecx, dword [ebp - 0x268]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x60]
mov eax, dword [eax + 0x2e4]
mov dword [edx + 0x2e4], eax
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0x124], 0
mov edx, dword [ebp - 0x268]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4ef9fd
jmp 0x4f07f8
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x5a
jne 0x4efe55
cmp dword [0x636738], 0
je 0x4efe50
push 0xa9
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4efe50
push 0
push 0
push 0xa9
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x4f
jne 0x4f02ea
fld dword [ebp - 0x38]
fadd dword [0x5f5710]
fstp dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x290], 3
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x6b0], 0
je 0x4eff59
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
fld dword [eax + 0x38]
fdiv dword [0x5f5434]
fadd dword [ecx + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x6d4]
call fcn.00438180
push eax
lea ecx, [ebp - 0x284]
call fcn.004382d0
mov ecx, dword [ebp - 0x960]
xor eax, eax
mov ax, word [ecx + 0x642]
cdq
mov ecx, 0x50
idiv ecx
mov edx, dword [ebp - 0x290]
add edx, eax
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x290], 3
jge 0x4eff46
mov dword [ebp - 0x290], 3
cmp dword [ebp - 0x290], 6
jle 0x4eff59
mov dword [ebp - 0x290], 6
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0
jmp 0x4eff99
mov eax, dword [ebp - 0x288]
add eax, 1
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
cmp ecx, dword [ebp - 0x290]
jge 0x4f02e5
call fcn.005c6ece
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x288], 1
jle 0x4effd6
mov edx, dword [ebp - 0x288]
add edx, 3
mov dword [ebp - 0x28c], edx
fld dword [ebp - 0x278]
fsub dword [0x5f52b4]
fstp dword [ebp - 0xa68]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x38]
fmul dword [0x5f493c]
fstp dword [ebp - 0xa6c]
fild dword [ebp - 0x288]
fdiv dword [0x5f47f4]
fmul dword [0x5f51bc]
fadd st(0), st(0)
push ecx
fstp dword [esp]
call fcn.00424370
add esp, 4
fmul dword [ebp - 0xa6c]
fadd dword [ebp - 0xa68]
fstp dword [ebp - 0x278]
fld dword [ebp - 0x270]
fsub dword [0x5f52b4]
fstp dword [ebp - 0xa70]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x38]
fmul dword [0x5f493c]
fstp dword [ebp - 0xa74]
fild dword [ebp - 0x288]
fdiv dword [0x5f47f4]
fmul dword [0x5f51bc]
fadd st(0), st(0)
push ecx
fstp dword [esp]
call fcn.00438150
add esp, 4
fmul dword [ebp - 0xa74]
fadd dword [ebp - 0xa70]
fstp dword [ebp - 0x270]
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [eax + 0x38]
fstp dword [ebp - 0x274]
mov dword [ebp - 0x2a0], 0x777777
cmp dword [ebp - 0x28c], 8
jne 0x4f00bf
mov dword [ebp - 0x2a0], 0x883333
jmp 0x4f00fc
cmp dword [ebp - 0x28c], 7
jne 0x4f00d4
mov dword [ebp - 0x2a0], 0x884388
jmp 0x4f00fc
cmp dword [ebp - 0x28c], 6
jne 0x4f00e9
mov dword [ebp - 0x2a0], 0x338843
jmp 0x4f00fc
cmp dword [ebp - 0x28c], 5
jne 0x4f00fc
mov dword [ebp - 0x2a0], 0x222288
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0x6dc], 0
je 0x4f0159
push 0x50
push 1
push 0
push 0x3f800000
push 0x3f800000
push 0x3f800000
mov ecx, dword [ebp - 0x288]
imul ecx, ecx, 0x64
add ecx, 0x190
push ecx
push 0x38
mov ecx, dword [ebp - 0x6dc]
call fcn.00551610
mov dword [ebp - 0xa78], eax
jmp 0x4f0163
mov dword [ebp - 0xa78], 0
mov edx, dword [ebp - 0xa78]
mov dword [ebp - 0x6d8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
je 0x4f01ea
mov ecx, dword [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x298]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x298]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x298]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x298]
mov dword [edx + 0x104], 2
lea eax, [ebp - 0x278]
push eax
mov ecx, dword [ebp - 0x298]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x298]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x6e4], eax
mov dword [ebp - 4], 0x33
cmp dword [ebp - 0x6e4], 0
je 0x4f027c
push 0
mov eax, dword [ebp - 0x28c]
push eax
push 0
push 0x97
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b6]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x284]
mov dword [eax], ecx
mov edx, dword [ebp - 0x280]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x27c]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x278]
mov dword [edx], eax
mov ecx, dword [ebp - 0x274]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x270]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x6e4]
call fcn.0054e2e0
mov dword [ebp - 0xa7c], eax
jmp 0x4f0286
mov dword [ebp - 0xa7c], 0
mov ecx, dword [ebp - 0xa7c]
mov dword [ebp - 0x6e0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6e0]
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x288]
imul eax, eax, 0x64
mov ecx, dword [ebp - 0x294]
mov edx, dword [ecx + 0x24]
add edx, eax
mov eax, dword [ebp - 0x294]
mov dword [eax + 0x24], edx
cmp dword [ebp - 0x294], 0
je 0x4f02e0
mov ecx, dword [ebp - 0x294]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4eff8a
jmp 0x4f07f8
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x97
jl 0x4f0313
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x99
jle 0x4f034d
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x68
je 0x4f034d
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x69
je 0x4f034d
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x5a
jne 0x4f07f8
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
fmul dword [0x5f51d4]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x30]
fstp dword [ebp - 0x2c]
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x5c], 8
jne 0x4f0399
mov eax, dword [ebp - 0x960]
fld dword [0x5f493c]
fmul dword [eax + 0x38]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x38]
fadd dword [0x5f5710]
fstp dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2a8], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x6b0], 0
je 0x4f042e
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
fld dword [edx + 0x38]
fdiv dword [0x5f5af0]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6b0]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x6f0]
call fcn.00438180
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004382d0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0xa08]
add ecx, 1
mov edx, dword [ebp - 0x960]
mov dword [edx + 0xa08], ecx
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa41]
cmp ecx, 1
jne 0x4f0590
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x744], 0
je 0x4f0590
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x211]
cmp ecx, 1
je 0x4f0590
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa25]
test eax, eax
jne 0x4f0590
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 4], 0x34
cmp dword [ebp - 0x6f8], 0
je 0x4f0549
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0xa88]
push edx
push 0
mov eax, dword [ebp - 0x960]
mov cl, byte [eax + 0xa42]
push ecx
push 0x2710
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b6]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2a8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2a4]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x744]
add ecx, 0x74
sub esp, 0xc
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x6f8]
call fcn.0054e2e0
mov dword [ebp - 0xa80], eax
jmp 0x4f0553
mov dword [ebp - 0xa80], 0
mov edx, dword [ebp - 0xa80]
mov dword [ebp - 0x6f4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
je 0x4f0590
mov ecx, dword [ebp - 0x2b0]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x69
jne 0x4f069f
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b6]
cmp eax, 2
jne 0x4f069f
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x700], eax
mov dword [ebp - 4], 0x35
cmp dword [ebp - 0x700], 0
je 0x4f0636
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x6b0]
push edx
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2ac]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2a8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2a4]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x700]
call fcn.00569a40
mov dword [ebp - 0xa84], eax
jmp 0x4f0640
mov dword [ebp - 0xa84], 0
mov ecx, dword [ebp - 0xa84]
mov dword [ebp - 0x6fc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x2b4], edx
cmp dword [ebp - 0x2b4], 0
je 0x4f067d
mov eax, dword [ebp - 0x2b4]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6a0]
add eax, 0x2bc
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0x6a0], eax
jmp 0x4f07f8
mov edx, dword [0x277c024]
add edx, 0x750
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp - 0x2bc]
movsx ecx, word [eax + 0xbc]
mov dword [ebp - 0x2c0], ecx
cmp dword [ebp - 0x2c0], 0x3f2
jne 0x4f06df
mov edx, dword [ebp - 0x960]
mov word [edx + 0x6b6], 0x63
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x708], eax
mov dword [ebp - 4], 0x36
cmp dword [ebp - 0x708], 0
je 0x4f0793
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0xa88]
push ecx
mov edx, dword [ebp - 0x960]
xor eax, eax
mov al, byte [edx + 0x195]
push eax
mov ecx, dword [ebp - 0x960]
mov dl, byte [ecx + 0xa42]
push edx
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
push ecx
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b6]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2a8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2a4]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x708]
call fcn.0054e2e0
mov dword [ebp - 0xa88], eax
jmp 0x4f079d
mov dword [ebp - 0xa88], 0
mov edx, dword [ebp - 0xa88]
mov dword [ebp - 0x704], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x704]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
je 0x4f07da
mov ecx, dword [ebp - 0x2b8]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x6a0]
add ecx, 0x1f4
mov edx, dword [ebp - 0x960]
mov dword [edx + 0x6a0], ecx
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x97
jl 0x4f0821
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x99
jle 0x4f0857
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x6b4]
cmp edx, 0x68
je 0x4f0857
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x6b4]
cmp ecx, 0x69
je 0x4f0857
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x5a
jne 0x4f0875
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x9fc], 0
je 0x4f0875
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0xa08], 2
jl 0x4f089d
push 0x18
push 0
mov eax, dword [ebp - 0x960]
add eax, 0x6a0
push eax
call fcn.005c5b80
add esp, 0xc
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0xa08], 0
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa22]
cmp eax, 1
jne 0x4f0c65
cmp dword [0x277c1bc], 0
jne 0x4f0c65
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x808]
cmp edx, 0x1f4
jbe 0x4f0bd9
call fcn.005c6ece
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0xa8c], edx
fild dword [ebp - 0xa8c]
fstp dword [ebp - 0x2d0]
mov dword [ebp - 0x2cc], 0x40000000
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
cmp eax, 1
jne 0x4f0920
mov dword [ebp - 0x2cc], 0x3fa66666
mov dword [ebp - 0x2c8], 0
jmp 0x4f093b
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
cmp dword [ebp - 0x2c8], 2
jge 0x4f0bca
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x70c], 0
jne 0x4f0ae3
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x710], eax
mov dword [ebp - 4], 0x37
cmp dword [ebp - 0x710], 0
je 0x4f0a24
push 0x50
push 8
push 0
fld dword [0x5f51cc]
fmul dword [ebp - 0x2d0]
fadd dword [0x5f493c]
fmul dword [ebp - 0x2cc]
fild dword [ebp - 0x2c8]
fmul dword [0x5f51c8]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5f51cc]
fmul dword [ebp - 0x2d0]
fadd dword [0x5f493c]
fmul dword [ebp - 0x2cc]
fild dword [ebp - 0x2c8]
fmul dword [0x5f51c8]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5f51cc]
fmul dword [ebp - 0x2d0]
fadd dword [0x5f493c]
fmul dword [ebp - 0x2cc]
fild dword [ebp - 0x2c8]
fmul dword [0x5f51c8]
fsubp st(1)
push ecx
fstp dword [esp]
push 0
push 0x6d
mov ecx, dword [ebp - 0x710]
call fcn.00551610
mov dword [ebp - 0xa90], eax
jmp 0x4f0a2e
mov dword [ebp - 0xa90], 0
mov ecx, dword [ebp - 0xa90]
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x70c]
mov dword [eax + edx*4 + 0x70c], ecx
push 0xffffdd00
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x70c]
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + edx*4 + 0x70c]
mov eax, dword [edx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x70c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x70c]
mov dword [eax + 0x104], 0
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x70c]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x70c], 0
je 0x4f0bc5
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x70c]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0xfc]
mov eax, ecx
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [ebp - 0xa98], edx
mov dword [ebp - 0xa94], 0
fild qword [ebp - 0xa98]
fmul dword [0x5f533c]
fdiv dword [0x5f5460]
fiadd dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x70c]
fstp dword [ecx + 0x114]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x2c]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5f54d0]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x28]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x71c]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x70c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f092c
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x808], edx
mov dword [ebp - 0x2c4], 0
jmp 0x4f0bf4
mov eax, dword [ebp - 0x2c4]
add eax, 1
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 2
jge 0x4f0c63
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x70c], 0
je 0x4f0c61
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x54]
fadd dword [0x5f5710]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x728]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x70c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f0be5
jmp 0x4f0cdd
mov dword [ebp - 0x2d4], 0
jmp 0x4f0c80
mov ecx, dword [ebp - 0x2d4]
add ecx, 1
mov dword [ebp - 0x2d4], ecx
cmp dword [ebp - 0x2d4], 2
jge 0x4f0cdd
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x70c], 0
je 0x4f0cdb
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x70c]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + eax*4 + 0x70c], 0
jmp 0x4f0c71
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa1d]
cmp eax, 1
jne 0x4f0d39
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x7fc]
cmp edx, 0x3e8
jbe 0x4f0d39
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x704], 0
je 0x4f0d2a
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x704]
call fcn.00571865
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x7fc], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa20]
cmp eax, 1
jne 0x4f0e57
mov dword [ebp - 0x2d8], 0x3e8
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 0x38
jne 0x4f0d85
mov edx, dword [ebp - 0x960]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x4f0d85
mov dword [ebp - 0x2d8], 0xbb8
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x800]
cmp edx, dword [ebp - 0x2d8]
jbe 0x4f0e57
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x708], 0
je 0x4f0e57
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 0x38
jne 0x4f0e08
mov edx, dword [ebp - 0x960]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x4f0e08
call fcn.005c6ece
cdq
mov ecx, 0x32
idiv ecx
neg edx
mov dword [ebp - 0xa9c], edx
fild dword [ebp - 0xa9c]
fdiv dword [0x5f516c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x708]
fstp dword [eax + 0xac]
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x708]
call fcn.00571865
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a2338]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x708]
fstp dword [ecx + 0x90]
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
mov dword [edx + 0x800], eax
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa23]
cmp edx, 1
jne 0x4f0f8a
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x814]
cmp ecx, 0x3e8
jbe 0x4f0f8a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x2e8]
call fcn.00438180
push 0xac
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x730], eax
mov dword [ebp - 4], 0x38
cmp dword [ebp - 0x730], 0
je 0x4f0f34
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x6b0]
push eax
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2e8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2e4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2e0]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2e8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2e4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2e0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x730]
call fcn.00576470
mov dword [ebp - 0xaa0], eax
jmp 0x4f0f3e
mov dword [ebp - 0xaa0], 0
mov edx, dword [ebp - 0xaa0]
mov dword [ebp - 0x72c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x2dc], eax
cmp dword [ebp - 0x2dc], 0
je 0x4f0f7b
mov ecx, dword [ebp - 0x2dc]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x814], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa3a]
cmp eax, 1
je 0x4f0faf
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 0x2c
jne 0x4f13fe
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x211]
cmp eax, 1
je 0x4f13fe
cmp dword [0x277c1bc], 0
jne 0x4f13fe
mov dword [ebp - 0x2fc], 0xff99bbff
mov dword [ebp - 0x2f8], 0xff00ffaa
mov dword [ebp - 0x2f4], 0xffffaa00
mov dword [ebp - 0x2f0], 0xff880088
mov dword [ebp - 0x2ec], 0xffcc8888
mov dword [ebp - 0x300], 0
jmp 0x4f101f
mov ecx, dword [ebp - 0x300]
add ecx, 1
mov dword [ebp - 0x300], ecx
cmp dword [ebp - 0x300], 2
jge 0x4f13fc
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x7c0], 0
jne 0x4f1149
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x738], eax
mov dword [ebp - 4], 0x39
cmp dword [ebp - 0x738], 0
je 0x4f1090
push 1
push 0
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp + ecx*4 - 0x2fc]
push edx
push 0xc
mov ecx, dword [ebp - 0x738]
call fcn.0055ab20
mov dword [ebp - 0xaa4], eax
jmp 0x4f109a
mov dword [ebp - 0xaa4], 0
mov eax, dword [ebp - 0xaa4]
mov dword [ebp - 0x734], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x734]
mov dword [edx + ecx*4 + 0x7c0], eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x7c0], 0
jne 0x4f10e1
jmp 0x4f1010
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7c0]
mov dword [edx + 0xa4], 0
mov eax, dword [ebp - 0x960]
add eax, 0x50
push eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + ecx*4 + 0x7c0]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7c0]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f13f7
mov eax, dword [ebp - 0x300]
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0xaa8], edx
fild dword [ebp - 0xaa8]
fmul dword [0x5f493c]
fdiv dword [0x5f5178]
mov eax, dword [ebp + 8]
xor edx, edx
mov ecx, 0x1388
div ecx
mov dword [ebp - 0xab0], edx
mov dword [ebp - 0xaac], 0
fild qword [ebp - 0xab0]
fdiv dword [0x5f5aec]
faddp st(1)
fmul dword [0x5f533c]
fstp dword [ebp - 0x304]
mov edx, dword [ebp - 0x300]
and edx, 0x80000001
jns 0x4f11b8
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x4f11db
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7c0]
mov eax, dword [ebp - 0x304]
mov dword [edx + 0x8c], eax
mov eax, dword [ebp - 0x300]
cdq
mov ecx, 3
idiv ecx
cmp edx, 1
jne 0x4f120d
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
mov edx, dword [ebp - 0x304]
mov dword [ecx + 0x90], edx
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
cmp ecx, 1
jne 0x4f12a7
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x58]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x54]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x744]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x7c0]
mov dword [eax + 0x98], 0x3fc00000
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x7c0]
mov dword [eax + 0x9c], 0x3fc00000
jmp 0x4f1348
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x750]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + eax*4 + 0x7c0]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
mov dword [ecx + 0x98], 0x3f800000
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
mov dword [ecx + 0x9c], 0x3f800000
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x218], 0x2c
jne 0x4f13f7
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7c0]
mov dword [edx + 0xa4], 0x2d
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x7c0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x98], ecx
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x9c], eax
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x7c0]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x38]
fmul dword [0x5f5ae8]
fadd dword [eax + 0x78]
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
fstp dword [ecx + 0x78]
jmp 0x4f1010
jmp 0x4f1476
mov dword [ebp - 0x308], 0
jmp 0x4f1419
mov edx, dword [ebp - 0x308]
add edx, 1
mov dword [ebp - 0x308], edx
cmp dword [ebp - 0x308], 5
jge 0x4f1476
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + eax*4 + 0x7c0], 0
je 0x4f1474
mov edx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x7c0]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x960]
mov dword [edx + ecx*4 + 0x7c0], 0
jmp 0x4f140a
cmp dword [0x277c1c4], 0
jne 0x4f15d2
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa3f]
cmp ecx, 1
jne 0x4f15d2
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x840]
cmp eax, 0xfa
jbe 0x4f15d2
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x318]
call fcn.00438180
push 0xac
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x758], eax
mov dword [ebp - 4], 0x3a
cmp dword [ebp - 0x758], 0
je 0x4f1559
mov ecx, dword [ebp - 0x960]
push ecx
push 2
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x318]
mov dword [edx], eax
mov ecx, dword [ebp - 0x314]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x310]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x318]
mov dword [ecx], edx
mov eax, dword [ebp - 0x314]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x310]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x758]
call fcn.00576470
mov dword [ebp - 0xab4], eax
jmp 0x4f1563
mov dword [ebp - 0xab4], 0
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0x754], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x30c], ecx
cmp dword [ebp - 0x30c], 0
je 0x4f159f
mov edx, dword [ebp - 0x30c]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x840], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x6f8], 0
je 0x4f15d2
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x6f8]
call fcn.00571865
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa1e]
cmp ecx, 1
jne 0x4f1784
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x71c], 0
jne 0x4f173b
push 0x124
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x760], eax
mov dword [ebp - 4], 0x3b
cmp dword [ebp - 0x760], 0
je 0x4f164b
push 0xbb8
push 0
push 0x3fc00000
push 0x3fc00000
push 0x3fc00000
push 0
push 0x5e
mov ecx, dword [ebp - 0x760]
call fcn.00553fe0
mov dword [ebp - 0xab8], eax
jmp 0x4f1655
mov dword [ebp - 0xab8], 0
mov eax, dword [ebp - 0xab8]
mov dword [ebp - 0x75c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x75c]
mov dword [ecx + 0x71c], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x71c], 0
je 0x4f1739
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x71c]
mov dword [edx + 0x104], 2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x71c]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f46cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x76c]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x71c]
add ecx, 0x74
call fcn.004382d0
push 0x33333333
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x71c]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + 0x71c]
mov eax, dword [edx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x71c]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f1782
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x778]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x71c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f17c1
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x71c], 0
je 0x4f17c1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x71c]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x71c], 0
cmp dword [0x277c1c0], 0
jne 0x4f1bfc
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa26]
cmp edx, 1
jne 0x4f1bfc
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x9d8], 2
je 0x4f1806
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x9d8], 3
jne 0x4f1bfc
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x830]
cmp eax, 0x50
jbe 0x4f1bfc
mov dword [ebp - 0x320], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 4
je 0x4f1846
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x218], 8
jne 0x4f1850
mov dword [ebp - 0x320], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x780], eax
mov dword [ebp - 4], 0x3c
cmp dword [ebp - 0x780], 0
je 0x4f18e0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x78c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 0
push 0
push 0
lea ecx, [ebp - 0x798]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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 ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
push edx
mov ecx, dword [ebp - 0x780]
call fcn.0055dc50
mov dword [ebp - 0xabc], eax
jmp 0x4f18ea
mov dword [ebp - 0xabc], 0
mov eax, dword [ebp - 0xabc]
mov dword [ebp - 0x77c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x31c], ecx
cmp dword [ebp - 0x31c], 0
je 0x4f1bed
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4f19d8
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x4f19d8
mov dword [ebp - 0x320], 0
mov edx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0xa48]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x31c]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x120]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x120]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x31c]
call dword [eax + 0x3c]
jmp 0x4f1a46
push 0x20
mov ecx, dword [ebp - 0x960]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x31c]
add edx, 0xe8
push edx
call fcn.005c5f60
add esp, 0xc
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x31c]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x31c]
mov dword [edx + 0x12c], 0x3e99999a
mov eax, dword [ebp - 0x31c]
mov dword [eax + 0x130], 0x3e99999a
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x134], 0x3e99999a
mov edx, dword [ebp - 0x320]
push edx
mov eax, dword [ebp - 0x31c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x31c]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x118], ecx
mov edx, dword [ebp - 0x31c]
mov dword [edx + 0x11c], 0xc8
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ecx + 0x128]
mov dword [eax + 0x17c], edx
mov eax, dword [ebp - 0x31c]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x1a40
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x22c]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x63daf0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x9d8]
mov ecx, dword [ecx + eax*4 + 0x6dfa78]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x60]
call fcn.004c49ae
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa43]
test edx, edx
jle 0x4f1baa
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x120], 0
je 0x4f1baa
mov ecx, dword [ebp - 0x31c]
cmp dword [ecx + 0x60], 0
je 0x4f1baa
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0xa48]
imul eax, eax, 0x2a0
mov ecx, dword [eax + 0x6dfa84]
push ecx
mov edx, dword [ebp - 0x31c]
mov ecx, dword [edx + 0x60]
call fcn.004c49ae
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
mov ecx, dword [ecx + 0x2e4]
mov dword [eax + 0x2e4], ecx
mov edx, dword [ebp - 0x31c]
mov dword [edx + 0x124], 0
mov eax, dword [ebp - 0x31c]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
mov dword [edx + 0x830], eax
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa21]
cmp edx, 1
jne 0x4f1daf
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x720], 0
jne 0x4f1d66
push 0x124
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 4], 0x3d
cmp dword [ebp - 0x7a0], 0
je 0x4f1c75
push 0x1388
push 0
push 0x3fc00000
push 0x3fc00000
push 0x3fc00000
push 0
push 0x5d
mov ecx, dword [ebp - 0x7a0]
call fcn.00553fe0
mov dword [ebp - 0xac0], eax
jmp 0x4f1c7f
mov dword [ebp - 0xac0], 0
mov ecx, dword [ebp - 0xac0]
mov dword [ebp - 0x79c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x79c]
mov dword [edx + 0x720], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x720], 0
je 0x4f1d64
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x720]
mov dword [eax + 0x104], 3
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x720]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f51c8]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x7ac]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x720]
add ecx, 0x74
call fcn.004382d0
push 0x88888800
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x720]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x720]
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x720]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f1dad
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f51c8]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x7b8]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x720]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f1deb
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x720], 0
je 0x4f1deb
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x720]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x720], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa25]
cmp edx, 1
jne 0x4f1fb1
mov eax, dword [0x6f0ab0]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x4c]
jne 0x4f1fb1
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x724], 0
jne 0x4f1f68
push 0x124
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 4], 0x3e
cmp dword [ebp - 0x7c0], 0
je 0x4f1e78
push 0x1388
push 0
push 0x3f99999a
push 0x3f99999a
push 0x3f99999a
push 0
push 0x5e
mov ecx, dword [ebp - 0x7c0]
call fcn.00553fe0
mov dword [ebp - 0xac4], eax
jmp 0x4f1e82
mov dword [ebp - 0xac4], 0
mov eax, dword [ebp - 0xac4]
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x7bc]
mov dword [ecx + 0x724], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x724], 0
je 0x4f1f66
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x724]
mov dword [edx + 0x104], 4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x724]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x7cc]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x724]
add ecx, 0x74
call fcn.004382d0
push 0xaaaa0000
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x724]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + 0x724]
mov eax, dword [edx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x724]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f1faf
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x7d8]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x724]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f1fee
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x724], 0
je 0x4f1fee
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x724]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x724], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 8
jne 0x4f2014
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa3e]
cmp eax, 1
jne 0x4f2014
jmp 0x4f20ad
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 8
jne 0x4f20ad
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x75c], 0
je 0x4f20ad
mov dword [ebp - 0x324], 0
jmp 0x4f2051
mov eax, dword [ebp - 0x324]
add eax, 1
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 7
jge 0x4f20ad
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x75c], 0
je 0x4f20ab
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x75c]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + eax*4 + 0x75c], 0
jmp 0x4f2042
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa29]
cmp eax, 1
jne 0x4f23a8
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa2a]
test edx, edx
jne 0x4f23a8
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x728], 0
jne 0x4f22d8
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 4], 0x3f
cmp dword [ebp - 0x7e0], 0
je 0x4f213d
push 0x50
push 1
push 0
push 0x3ecccccd
push 0x3ecccccd
push 0x3ecccccd
push 0
push 0x1b6
mov ecx, dword [ebp - 0x7e0]
call fcn.00551610
mov dword [ebp - 0xac8], eax
jmp 0x4f2147
mov dword [ebp - 0xac8], 0
mov ecx, dword [ebp - 0xac8]
mov dword [ebp - 0x7dc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x7dc]
mov dword [edx + 0x728], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x728], 0
je 0x4f22d3
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x728]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x728]
mov dword [edx + 0x104], 2
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
cmp ecx, 1
jne 0x4f221c
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x58]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0x7ec]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x728]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f2276
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x30]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x7f8]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x728]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x728]
mov dword [eax + 0x148], 0xa
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x728]
mov dword [edx + 0x13c], 0x3dcccccd
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x728]
mov dword [ecx + 0x140], 0x3dcccccd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x728]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f23a6
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
cmp eax, 1
jne 0x4f234c
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x58]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x804]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x728]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f23a6
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x810]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x728]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f23e5
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x728], 0
je 0x4f23e5
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x728]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x728], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa2a]
cmp edx, 1
jne 0x4f26df
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa29]
test ecx, ecx
jne 0x4f26df
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x72c], 0
jne 0x4f260f
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x818], eax
mov dword [ebp - 4], 0x40
cmp dword [ebp - 0x818], 0
je 0x4f2475
push 0x50
push 1
push 0
push 0x3ecccccd
push 0x3ecccccd
push 0x3ecccccd
push 0
push 0x1b7
mov ecx, dword [ebp - 0x818]
call fcn.00551610
mov dword [ebp - 0xacc], eax
jmp 0x4f247f
mov dword [ebp - 0xacc], 0
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x814], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x814]
mov dword [ecx + 0x72c], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x72c], 0
je 0x4f260a
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x72c]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x72c]
mov dword [ecx + 0x104], 2
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
cmp eax, 1
jne 0x4f2554
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x58]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x824]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x72c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f25ae
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x830]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x72c]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x72c]
mov dword [edx + 0x148], 0xa
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x72c]
mov dword [ecx + 0x13c], 0x3dcccccd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x72c]
mov dword [eax + 0x140], 0x3dcccccd
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x72c]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f26dd
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa43]
cmp edx, 1
jne 0x4f2683
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x83c]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x72c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f26dd
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x30]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x848]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x72c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f271b
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x72c], 0
je 0x4f271b
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x72c]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x72c], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa2a]
cmp edx, 1
jne 0x4f2a16
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa29]
cmp ecx, 1
jne 0x4f2a16
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x730], 0
jne 0x4f2946
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x850], eax
mov dword [ebp - 4], 0x41
cmp dword [ebp - 0x850], 0
je 0x4f27ac
push 0x50
push 1
push 0
push 0x3ecccccd
push 0x3ecccccd
push 0x3ecccccd
push 0
push 0x1b8
mov ecx, dword [ebp - 0x850]
call fcn.00551610
mov dword [ebp - 0xad0], eax
jmp 0x4f27b6
mov dword [ebp - 0xad0], 0
mov eax, dword [ebp - 0xad0]
mov dword [ebp - 0x84c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x84c]
mov dword [ecx + 0x730], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x730], 0
je 0x4f2941
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x730]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x730]
mov dword [ecx + 0x104], 2
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
cmp eax, 1
jne 0x4f288b
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x58]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x85c]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x730]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f28e5
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x868]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x730]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x730]
mov dword [edx + 0x148], 0xa
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x730]
mov dword [ecx + 0x13c], 0x3dcccccd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x730]
mov dword [eax + 0x140], 0x3dcccccd
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x730]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f2a14
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa43]
cmp edx, 1
jne 0x4f29ba
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x874]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x730]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f2a14
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x30]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x880]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x730]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f2a52
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x730], 0
je 0x4f2a52
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x730]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x730], 0
cmp dword [0x277c1c0], 0
jne 0x4f2e3d
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa3b]
cmp edx, 1
jne 0x4f2e3d
call fcn.005c6ece
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x330], edx
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x888], eax
mov dword [ebp - 4], 0x42
cmp dword [ebp - 0x888], 0
je 0x4f2b0d
push 0x50
push 1
push 0
fild dword [ebp - 0x330]
fmul dword [str._n_33]
fadd dword [str._n_33]
push ecx
fstp dword [esp]
fild dword [ebp - 0x330]
fmul dword [0x5f5430]
fadd dword [str._n_33]
push ecx
fstp dword [esp]
fild dword [ebp - 0x330]
fmul dword [str._n_33]
fadd dword [str._n_33]
push ecx
fstp dword [esp]
push 0x5dc
push 0x38
mov ecx, dword [ebp - 0x888]
call fcn.00551610
mov dword [ebp - 0xad4], eax
jmp 0x4f2b17
mov dword [ebp - 0xad4], 0
mov edx, dword [ebp - 0xad4]
mov dword [ebp - 0x884], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0
je 0x4f2c83
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xad8], edx
fild dword [ebp - 0xad8]
fmul dword [0x5f5ae4]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
fild dword [ebp - 0x330]
fmul dword [0x5f5430]
fsubp st(1)
push ecx
fstp dword [esp]
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xadc], edx
fild dword [ebp - 0xadc]
fmul dword [0x5f5ae4]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x894]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x74
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x328]
add ecx, 0x14c
call fcn.004382d0
mov eax, dword [ebp - 0x328]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x328]
mov dword [ecx + 0x100], 0
mov eax, dword [ebp - 0x330]
cdq
mov ecx, 3
idiv ecx
mov eax, dword [ebp - 0x328]
mov dword [eax + 0x148], edx
mov ecx, dword [ebp - 0x328]
mov dword [ecx + 0x140], 0xbf99999a
mov edx, dword [ebp - 0x328]
mov dword [edx + 0x13c], 0x3dcccccd
push 0xffff3300
mov eax, dword [ebp - 0x328]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x328]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x328]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x89c], eax
mov dword [ebp - 4], 0x43
cmp dword [ebp - 0x89c], 0
je 0x4f2d0b
push 0x50
push 1
push 0x38d1b717
fild dword [ebp - 0x330]
fmul dword [0x5f52b4]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
fild dword [ebp - 0x330]
fmul dword [0x5f5430]
fadd dword [0x5f51d0]
push ecx
fstp dword [esp]
fild dword [ebp - 0x330]
fmul dword [0x5f52b4]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
push 0x5dc
push 0
mov ecx, dword [ebp - 0x89c]
call fcn.00551610
mov dword [ebp - 0xae0], eax
jmp 0x4f2d15
mov dword [ebp - 0xae0], 0
mov edx, dword [ebp - 0xae0]
mov dword [ebp - 0x898], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x898]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0x32c], 0
je 0x4f2e3d
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xae4], edx
fild dword [ebp - 0xae4]
fmul dword [0x5f52b4]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x30]
push ecx
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xae8], edx
fild dword [ebp - 0xae8]
fmul dword [0x5f52b4]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x8a8]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x32c]
add ecx, 0x74
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x32c]
add ecx, 0x14c
call fcn.004382d0
mov eax, dword [ebp - 0x32c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x32c]
mov dword [ecx + 0x100], 0
mov edx, dword [ebp - 0x32c]
mov dword [edx + 0x148], 1
mov eax, dword [ebp - 0x32c]
mov dword [eax + 0x140], 0x3fc00000
push 0xffff0000
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x32c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x32c]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
cmp dword [0x277c1c4], 0
jne 0x4f30ff
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa24]
cmp eax, 1
jne 0x4f30ff
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x74c], 0
jne 0x4f30ff
mov dword [ebp - 0x334], 3
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f5af0]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x340]
call fcn.00438180
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 4], 0x44
cmp dword [ebp - 0x8b0], 0
je 0x4f2f33
mov ecx, dword [ebp - 0x960]
push ecx
mov edx, dword [ebp - 0x334]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x340]
mov dword [eax], ecx
mov edx, dword [ebp - 0x33c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x338]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x340]
mov dword [edx], eax
mov ecx, dword [ebp - 0x33c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x338]
mov dword [edx + 8], eax
push 0x20
mov ecx, dword [ebp - 0x8b0]
call fcn.0055dc50
mov dword [ebp - 0xaec], eax
jmp 0x4f2f3d
mov dword [ebp - 0xaec], 0
mov ecx, dword [ebp - 0xaec]
mov dword [ebp - 0x8ac], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x8ac]
mov dword [edx + 0x74c], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x74c], 0
je 0x4f30fd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov word [eax + 0xec], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x74c]
mov word [edx + 0xe8], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
mov word [ecx + 0xee], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov word [eax + 0xea], 0
push 0
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x74c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3e99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3e99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3e99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x74c]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x74c]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x74c]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x74c]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f314d
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa24]
test ecx, ecx
jne 0x4f314d
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x74c], 0
je 0x4f314d
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x74c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0x74c], 0
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa40]
cmp eax, 1
jne 0x4f3446
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x740], 0
jne 0x4f335b
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 4], 0x45
cmp dword [ebp - 0x8b8], 0
je 0x4f31c2
push 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
push eax
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x8b8]
call fcn.0055ab20
mov dword [ebp - 0xaf0], eax
jmp 0x4f31cc
mov dword [ebp - 0xaf0], 0
mov ecx, dword [ebp - 0xaf0]
mov dword [ebp - 0x8b4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x8b4]
mov dword [edx + 0x740], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x740], 0
je 0x4f3356
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x740]
mov dword [eax + 0xa4], 0x19d
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x740]
mov dword [edx + 0xb8], 0x5dc
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa43]
cmp ecx, 1
jne 0x4f32a4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x58]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x54]
fadd dword [0x5f5a9c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0x8c4]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x740]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f3304
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x30]
fadd dword [0x5f4f98]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x8d0]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x740]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x740]
mov dword [eax + 0x98], 0x40000000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x740]
mov dword [edx + 0x9c], 0x3fc00000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x740]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x740]
mov byte [eax + 0xac], 1
jmp 0x4f3444
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa43]
cmp edx, 1
jne 0x4f33cf
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x8dc]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x740]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f3429
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x30]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x8e8]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x740]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x740]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x8c], eax
jmp 0x4f3493
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa40]
test edx, edx
jne 0x4f3493
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x740], 0
je 0x4f3493
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x740]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x740], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa41]
cmp edx, 1
jne 0x4f37cb
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x211]
cmp ecx, 1
je 0x4f37cb
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa25]
test eax, eax
jne 0x4f37cb
mov dword [ebp - 0x344], 0
jmp 0x4f34ef
mov ecx, dword [ebp - 0x344]
add ecx, 1
mov dword [ebp - 0x344], ecx
cmp dword [ebp - 0x344], 2
jge 0x4f37c9
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x744], 0
jne 0x4f37c4
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x8f0], eax
mov dword [ebp - 4], 0x46
cmp dword [ebp - 0x8f0], 0
je 0x4f35ae
push 0
push 1
mov ecx, dword [ebp - 0x960]
push ecx
push 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5f51d0]
fild dword [ebp - 0x344]
fmul dword [0x5f51cc]
faddp st(1)
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x8fc]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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 ecx, dword [ebp - 0x8f0]
call fcn.0055c4d0
mov dword [ebp - 0xaf4], eax
jmp 0x4f35b8
mov dword [ebp - 0xaf4], 0
mov ecx, dword [ebp - 0xaf4]
mov dword [ebp - 0x8ec], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x8ec]
mov dword [eax + edx*4 + 0x744], ecx
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x744], 0
je 0x4f37c4
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0xa43]
cmp edx, 1
jne 0x4f367f
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x960]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
fdiv dword [0x5f46bc]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x908]
call fcn.00438180
push eax
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x744]
add ecx, 0x74
call fcn.004382d0
jmp 0x4f36e6
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x914]
call fcn.00438180
push eax
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + eax*4 + 0x744]
add ecx, 0x74
call fcn.004382d0
mov edx, dword [ebp + 8]
mov dword [ebp - 0xafc], edx
mov dword [ebp - 0xaf8], 0
fild qword [ebp - 0xafc]
fild dword [ebp - 0x344]
fmul dword [0x5f54d4]
fdiv dword [0x5f46bc]
fsubp st(1)
call fcn.005c5ef0
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + ecx*4 + 0x744]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x744]
mov dword [ecx + 0xb4], 0xb17
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x744]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x744]
mov dword [ecx + 0xb8], 0x3fb33333
push 0xff999999
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x744]
call fcn.0055c8a3
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x744]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f34e0
jmp 0x4f3843
mov dword [ebp - 0x348], 0
jmp 0x4f37e6
mov edx, dword [ebp - 0x348]
add edx, 1
mov dword [ebp - 0x348], edx
cmp dword [ebp - 0x348], 2
jge 0x4f3843
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + eax*4 + 0x744], 0
je 0x4f3841
mov edx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x744]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x348]
mov edx, dword [ebp - 0x960]
mov dword [edx + ecx*4 + 0x744], 0
jmp 0x4f37d7
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0x2f1
jne 0x4f3b20
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x750], 0
jne 0x4f3b20
mov dword [ebp - 0x34c], 3
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
fld dword [eax*8 + 0x9a233c]
fadd dword [0x5f46cc]
mov ecx, dword [ebp - 0x960]
fmul dword [ecx + 0x38]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x358]
call fcn.00438180
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x750], 0
jne 0x4f3981
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x91c], eax
mov dword [ebp - 4], 0x47
cmp dword [ebp - 0x91c], 0
je 0x4f3952
mov edx, dword [ebp - 0x960]
push edx
mov eax, dword [ebp - 0x34c]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x358]
mov dword [ecx], edx
mov eax, dword [ebp - 0x354]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x350]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x358]
mov dword [eax], ecx
mov edx, dword [ebp - 0x354]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x350]
mov dword [eax + 8], ecx
push 0x14
mov ecx, dword [ebp - 0x91c]
call fcn.0055dc50
mov dword [ebp - 0xb00], eax
jmp 0x4f395c
mov dword [ebp - 0xb00], 0
mov edx, dword [ebp - 0xb00]
mov dword [ebp - 0x918], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x918]
mov dword [eax + 0x750], ecx
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x750], 0
je 0x4f3b1b
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xec], 2
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xe8], 2
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xee], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xea], 0
push 0
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x750]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + 0x750]
mov eax, dword [edx]
call dword [eax + 0x80]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x11c], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x24], 0x3db851ec
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x28], 0x3db851ec
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x2c], 0x3db851ec
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x120], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x12c], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x130], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x134], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x124], 7
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x4f4733
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0x301
jne 0x4f3e07
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x750], 0
jne 0x4f3e07
mov dword [ebp - 0x35c], 4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
fld dword [ecx*8 + 0x9a233c]
fadd dword [0x5f46cc]
mov edx, dword [ebp - 0x960]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x368]
call fcn.00438180
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x750], 0
jne 0x4f3e02
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x924], eax
mov dword [ebp - 4], 0x48
cmp dword [ebp - 0x924], 0
je 0x4f3c38
mov ecx, dword [ebp - 0x960]
push ecx
mov edx, dword [ebp - 0x35c]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x368]
mov dword [eax], ecx
mov edx, dword [ebp - 0x364]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x360]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x368]
mov dword [edx], eax
mov ecx, dword [ebp - 0x364]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x360]
mov dword [edx + 8], eax
push 0x20
mov ecx, dword [ebp - 0x924]
call fcn.0055dc50
mov dword [ebp - 0xb04], eax
jmp 0x4f3c42
mov dword [ebp - 0xb04], 0
mov ecx, dword [ebp - 0xb04]
mov dword [ebp - 0x920], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x920]
mov dword [edx + 0x750], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x750], 0
je 0x4f3e02
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xec], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xe8], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xee], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xea], 0
push 0
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x750]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3f99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3f99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3f99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f4733
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0x6be
jne 0x4f40ee
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x750], 0
jne 0x4f40ee
mov dword [ebp - 0x36c], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
fld dword [eax*8 + 0x9a233c]
fadd dword [0x5f46cc]
mov ecx, dword [ebp - 0x960]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x30]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x378]
call fcn.00438180
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x750], 0
jne 0x4f3f4e
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x92c], eax
mov dword [ebp - 4], 0x49
cmp dword [ebp - 0x92c], 0
je 0x4f3f1f
mov eax, dword [ebp - 0x960]
push eax
mov ecx, dword [ebp - 0x36c]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x378]
mov dword [edx], eax
mov ecx, dword [ebp - 0x374]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x370]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x378]
mov dword [ecx], edx
mov eax, dword [ebp - 0x374]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x370]
mov dword [ecx + 8], edx
push 0x20
mov ecx, dword [ebp - 0x92c]
call fcn.0055dc50
mov dword [ebp - 0xb08], eax
jmp 0x4f3f29
mov dword [ebp - 0xb08], 0
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0x928], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x928]
mov dword [ecx + 0x750], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x750], 0
je 0x4f40e9
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xec], 2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xe8], 2
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xee], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xea], 0
push 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x120], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f4733
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf3c
jl 0x4f4117
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf44
jle 0x4f4159
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf47
jl 0x4f4141
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf4c
jle 0x4f4159
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xfdc
jne 0x4f4645
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x750], 0
jne 0x4f4645
mov dword [ebp - 0x37c], 6
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
fld dword [edx*8 + 0x9a233c]
fadd dword [0x5f46cc]
mov eax, dword [ebp - 0x960]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x30]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x388]
call fcn.00438180
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x750], 0
jne 0x4f4287
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x934], eax
mov dword [ebp - 4], 0x4a
cmp dword [ebp - 0x934], 0
je 0x4f4258
mov edx, dword [ebp - 0x960]
push edx
mov eax, dword [ebp - 0x37c]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x388]
mov dword [ecx], edx
mov eax, dword [ebp - 0x384]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x380]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x388]
mov dword [eax], ecx
mov edx, dword [ebp - 0x384]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x380]
mov dword [eax + 8], ecx
push 0x20
mov ecx, dword [ebp - 0x934]
call fcn.0055dc50
mov dword [ebp - 0xb0c], eax
jmp 0x4f4262
mov dword [ebp - 0xb0c], 0
mov edx, dword [ebp - 0xb0c]
mov dword [ebp - 0x930], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x930]
mov dword [eax + 0x750], ecx
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x750], 0
je 0x4f4640
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xec], 3
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xe8], 3
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf3c
je 0x4f432c
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf3f
je 0x4f432c
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf42
je 0x4f432c
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf47
jl 0x4f435b
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf49
jg 0x4f435b
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xee], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xea], 0
jmp 0x4f450c
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf3d
je 0x4f4399
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf40
je 0x4f4399
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf43
jne 0x4f43c8
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xee], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xea], 1
jmp 0x4f450c
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf3e
je 0x4f4406
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf41
je 0x4f4406
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf44
jne 0x4f4435
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xee], 2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xea], 2
jmp 0x4f450c
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf4a
jne 0x4f4478
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov word [edx + 0xee], 3
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xea], 3
jmp 0x4f450c
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf4b
je 0x4f44a1
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf4c
jne 0x4f44cd
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xee], 4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xea], 4
jmp 0x4f450c
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xfdc
jne 0x4f450c
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov word [ecx + 0xee], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov word [eax + 0xea], 1
push 0
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x750]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x750]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x750]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4f4733
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0x2f1
je 0x4f4733
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0x301
je 0x4f4733
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0x6be
je 0x4f4733
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf3c
jl 0x4f46b8
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xf44
jle 0x4f4733
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0xa62]
cmp edx, 0xf47
jl 0x4f46e2
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0xa62]
cmp ecx, 0xf4c
jle 0x4f4733
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0xa62]
cmp eax, 0xfdc
je 0x4f4733
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x750], 0
je 0x4f4733
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x750]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x750], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x844]
cmp edx, 0x5dc
jbe 0x4f4769
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa18]
cmp ecx, 1
jne 0x4f4769
mov edx, dword [ebp - 0x960]
mov byte [edx + 0xa18], 0
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa18]
cmp ecx, 1
jne 0x4f4c48
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x810]
cmp eax, 0x12c
jbe 0x4f4c48
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x218], 4
je 0x4f47c1
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x218], 8
jne 0x4f47cb
mov dword [ebp - 0x390], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x93c], eax
mov dword [ebp - 4], 0x4b
cmp dword [ebp - 0x93c], 0
je 0x4f485b
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x948]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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
push 0
push 0
push 0
lea ecx, [ebp - 0x954]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
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 ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
push edx
mov ecx, dword [ebp - 0x93c]
call fcn.0055dc50
mov dword [ebp - 0xb10], eax
jmp 0x4f4865
mov dword [ebp - 0xb10], 0
mov eax, dword [ebp - 0xb10]
mov dword [ebp - 0x938], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x938]
mov dword [ebp - 0x38c], ecx
cmp dword [ebp - 0x38c], 0
je 0x4f4c39
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4f4928
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x4f4928
mov edx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0xa48]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x38c]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x38c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
mov dword [ecx + 0x1a8], eax
push 0x20
mov ecx, dword [ebp - 0x960]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x38c]
add edx, 0x184
push edx
call fcn.005c5f60
add esp, 0xc
jmp 0x4f494b
push 0x20
mov eax, dword [ebp - 0x960]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x38c]
add ecx, 0xe8
push ecx
call fcn.005c5f60
add esp, 0xc
mov edx, dword [ebp - 0x38c]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x38c]
mov dword [eax + 0x12c], 0x3f000000
mov ecx, dword [ebp - 0x38c]
mov dword [ecx + 0x130], 0x3f000000
mov edx, dword [ebp - 0x38c]
mov dword [edx + 0x134], 0x3f000000
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x38c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x38c]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x118], ecx
mov edx, dword [ebp - 0x38c]
mov dword [edx + 0x11c], 0x2bc
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x38c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x38c]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x38c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x38c]
mov edx, dword [ebp - 0x38c]
mov eax, dword [edx + 0x128]
mov dword [ecx + 0x17c], eax
mov ecx, dword [ebp - 0x38c]
mov dword [ecx + 0x120], 1
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x4f4b39
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x4f4b39
mov edx, dword [ebp - 0x38c]
cmp dword [edx + 0x60], 0
je 0x4f4acb
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x1a40
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x22c]
imul eax, eax, 0x70
lea ecx, [ecx + eax + 0x63daf0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0xa48]
imul eax, eax, 0x2a0
mov edx, dword [ebp - 0x960]
mov edx, dword [edx + 0x9d8]
mov eax, dword [eax + edx*4 + 0x6dfa78]
movsx ecx, word [ecx + eax*2]
push ecx
mov edx, dword [ebp - 0x38c]
mov ecx, dword [edx + 0x60]
call fcn.004c49ae
mov eax, dword [ebp - 0x38c]
cmp dword [eax + 0x1a4], 0
je 0x4f4b37
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x1a40
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x22c]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x63daf0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x9d8]
mov ecx, dword [ecx + eax*4 + 0x6dfad8]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x38c]
mov ecx, dword [eax + 0x1a4]
call fcn.004c49ae
jmp 0x4f4b93
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x1a40
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x22c]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x63daf0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x9d8]
mov ecx, dword [ecx + eax*4 + 0x6dfa78]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x38c]
mov ecx, dword [eax + 0x60]
call fcn.004c49ae
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x38c]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx + 0x2e4]
mov dword [ecx + 0x2e4], edx
mov eax, dword [ebp - 0x38c]
mov dword [eax + 0x124], 0
mov dword [ebp - 0x394], 0xa0
cmp dword [0x636738], 0
je 0x4f4c24
mov ecx, dword [ebp - 0x394]
push ecx
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x4f4c24
mov edx, dword [ebp - 0x394]
push edx
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042dc32
test eax, eax
jne 0x4f4c24
push 0
push 0
mov eax, dword [ebp - 0x394]
push eax
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
mov ecx, dword [ebp - 0x38c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x810], ecx
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x6b4]
cmp eax, 0x66
jne 0x4f4d44
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0xa90], 0
jne 0x4f4d44
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x21c]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x398], edx
cmp dword [ebp - 0x398], 6
jne 0x4f4ca2
mov ecx, dword [ebp - 0x960]
call fcn.004f4f52
jmp 0x4f4d18
cmp dword [ebp - 0x398], 7
jne 0x4f4cb8
mov ecx, dword [ebp - 0x960]
call fcn.004f5409
jmp 0x4f4d18
cmp dword [ebp - 0x398], 8
je 0x4f4cf7
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x21c]
cmp eax, 0x16
jl 0x4f4ce5
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x21c]
cmp edx, 0x19
jle 0x4f4cf7
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x21c]
cmp ecx, 0x20
jne 0x4f4d04
mov ecx, dword [ebp - 0x960]
call fcn.004f5e46
jmp 0x4f4d18
cmp dword [ebp - 0x398], 9
jne 0x4f4d18
mov ecx, dword [ebp - 0x960]
call fcn.004f64c1
mov edx, dword [ebp - 0x960]
mov dword [edx + 0xa90], 1
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0xa8c], eax
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0xa90], 1
jne 0x4f4f42
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0xa42]
cmp ecx, 1
jne 0x4f4f42
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0xa8c]
add eax, 0x4e2
cmp dword [ebp + 8], eax
jbe 0x4f4f42
lea ecx, [ebp - 0x3ac]
call fcn.004382a0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5f46bc]
fstp dword [ebp - 0x3a8]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x960]
movsx eax, word [eax + 0x21c]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x39c], 0xffffffff
mov dword [ebp - 0x3a0], 0
jmp 0x4f4e05
mov edx, dword [ebp - 0x3a0]
add edx, 1
mov dword [ebp - 0x3a0], edx
cmp dword [ebp - 0x3a0], 3
jge 0x4f4f32
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0x95c], eax
mov dword [ebp - 4], 0x4c
cmp dword [ebp - 0x95c], 0
je 0x4f4e9a
push 0x50
push 1
push 0x3a83126f
fild dword [ebp - 0x3a0]
fmul dword [0x5f4508]
fadd dword [0x5f5160]
push ecx
fstp dword [esp]
fild dword [ebp - 0x3a0]
fmul dword [0x5f5434]
fadd dword [0x5f5160]
push ecx
fstp dword [esp]
fild dword [ebp - 0x3a0]
fmul dword [0x5f5434]
fadd dword [0x5f5160]
push ecx
fstp dword [esp]
push 0x2bc
push 0x38
mov ecx, dword [ebp - 0x95c]
call fcn.00551610
mov dword [ebp - 0xb14], eax
jmp 0x4f4ea4
mov dword [ebp - 0xb14], 0
mov eax, dword [ebp - 0xb14]
mov dword [ebp - 0x958], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x958]
mov dword [ebp - 0x3b4], ecx
cmp dword [ebp - 0x3b4], 0
jne 0x4f4ece
jmp 0x4f4f32
mov edx, dword [ebp - 0x39c]
push edx
mov eax, dword [ebp - 0x3b4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3b4]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x3b4]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x3b4]
mov dword [ecx + 0x104], 1
lea edx, [ebp - 0x3ac]
push edx
mov ecx, dword [ebp - 0x3b4]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x3b4]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4f4df6
mov edx, dword [ebp - 0x960]
mov dword [edx + 0xa90], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4