Function at 0x50ebc9
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 0x5ab723
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb04
mov dword [ebp - 0x960], ecx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x1c8], 0
je 0x50ec01
jmp 0x5197c2
mov ecx, dword [0x684bb0]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x755]
cmp eax, 1
jne 0x50ec4b
mov ecx, dword [0x684bb0]
mov edx, dword [ecx + 0x4c]
cmp edx, dword [ebp - 0x960]
je 0x50ec4b
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
push ecx
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x764]
test edx, edx
jne 0x50ec72
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x755]
cmp ecx, 1
jne 0x50f200
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4d0], 0
je 0x50ec94
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4d0]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4d4], 0
je 0x50ecb6
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4d4]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4d8], 0
je 0x50ecd8
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4d8]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4c8], 0
je 0x50ecfa
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4c8]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4cc], 0
je 0x50ed1c
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4cc]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4dc], 0
je 0x50ed3e
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4dc]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4e0], 0
je 0x50ed60
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4e0]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4ec], 0
je 0x50ed82
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4ec]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4f0], 0
je 0x50eda4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f0]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4f4], 0
je 0x50edc6
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f4]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4f8], 0
je 0x50ede8
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f8]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4fc], 0
je 0x50ee0a
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4fc]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x500], 0
je 0x50ee2c
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x500]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x504], 0
je 0x50ee4e
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x504]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x508], 0
je 0x50ee70
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x508]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x50c], 0
je 0x50ee92
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x510], 0
je 0x50eeb4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x510]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x514], 0
je 0x50eeef
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x514]
mov edx, dword [ecx + 0x80]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x514]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x518], 0
je 0x50ef2a
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x518]
mov edx, dword [ecx + 0x80]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x518]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x51c], 0
je 0x50ef4c
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
mov dword [ecx + 0x48], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x520], 0
je 0x50ef6e
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x48], 0
mov dword [ebp - 0x14], 0
jmp 0x50ef80
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 7
jge 0x50f00d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + eax*4 + 0x52c], 0
je 0x50efb4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x52c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x548], 0
je 0x50efde
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x548]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x564], 0
je 0x50f008
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x564]
mov dword [edx + 0x24], 0
jmp 0x50ef77
mov dword [ebp - 0x14], 0
jmp 0x50f01f
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x50f051
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x580], 0
je 0x50f04f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x580]
mov dword [edx + 0x48], 0
jmp 0x50f016
mov dword [ebp - 0x14], 0
jmp 0x50f063
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 5
jge 0x50f095
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x590], 0
je 0x50f093
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x590]
mov dword [edx + 0x24], 0
jmp 0x50f05a
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2f8], 0
je 0x50f148
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov dword [ecx + 0x28f8], 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 + 0x28f3], 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 + 0x28f5], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f2], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28f4], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2fc], 0
je 0x50f1fb
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov dword [eax + 0x28f8], 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 + 0x28f3], 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 + 0x28f5], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f2], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f4], 0
jmp 0x5197c2
cmp dword [0x9362dc], 1
je 0x50f216
cmp dword [0x9362e0], 1
jne 0x50f4cc
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4ec], 0
je 0x50f238
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4ec]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4c8], 0
je 0x50f25a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4c8]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4cc], 0
je 0x50f27c
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4cc]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4d4], 0
je 0x50f29e
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4d4]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x510], 0
je 0x50f2c0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x510]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4dc], 0
je 0x50f2e2
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4dc]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4e0], 0
je 0x50f304
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4e0]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4f0], 0
je 0x50f326
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f0]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x50c], 0
je 0x50f348
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50c]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x51c], 0
je 0x50f36a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov dword [eax + 0x48], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x514], 0
je 0x50f38c
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x514]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x518], 0
je 0x50f3ae
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x518]
mov dword [eax + 0x24], 0
mov dword [ebp - 0x18], 0
jmp 0x50f3c0
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 4
jge 0x50f3f2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x580], 0
je 0x50f3f0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x580]
mov dword [eax + 0x48], 0
jmp 0x50f3b7
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
cmp dword [edx + 0x2f8], 0
je 0x50f45f
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov dword [edx + 0x28f8], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov byte [edx + 0x28f5], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov byte [edx + 0x28f2], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov byte [edx + 0x28f4], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2fc], 0
je 0x50f4cc
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov dword [ecx + 0x28f8], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28f5], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28f2], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28f4], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x470], 0
je 0x515118
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x470]
jbe 0x515118
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x960]
fld dword [edx + 0x47c]
fsub dword [eax + 0x2c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x960]
fld dword [ecx + 0x474]
fsub dword [edx + 0x28]
push ecx
fstp dword [esp]
call fcn.00494690
add esp, 8
fadd dword [0x5ae380]
fstp dword [ebp - 0x1c]
mov eax, dword [0x684bb0]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x480], 0
je 0x50f5c9
mov edx, dword [0x684bb0]
cmp dword [edx + 0x4c], 0
je 0x50f5c9
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
fld dword [ecx + 0x2c]
call fcn.00599ab0
push eax
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
fld dword [eax + 0x28]
call fcn.00599ab0
push eax
mov ecx, dword [0x684bb0]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x2c]
call fcn.00599ab0
push eax
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.00599ab0
push eax
call fcn.00560b76
add esp, 0x10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x14
jle 0x50f5c7
mov edx, dword [ebp - 0x960]
mov word [edx + 0x484], 0
jmp 0x50f5d8
mov eax, dword [ebp - 0x960]
mov word [eax + 0x484], 0
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x68
jge 0x50f668
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
mov edx, dword [ebp - 0x20]
cmp dword [edx + ecx*4 + 0x28eb4], 0
je 0x50f64e
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x960]
mov ecx, dword [edx + ecx*4 + 0x28eb4]
cmp ecx, dword [eax + 0x470]
jae 0x50f64e
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 0x28eb4]
mov dword [ecx + 0x470], eax
jmp 0x50f668
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
mov dword [eax + edx*4 + 0x28eb4], ecx
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
test eax, eax
jl 0x50f68b
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x60
jl 0x50f6dc
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x97
jl 0x50f6b4
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x99
jle 0x50f6dc
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x68
je 0x50f6dc
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x69
jne 0x515072
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x30]
call fcn.00433500
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x47c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x478]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x474]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00433500
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 2
jne 0x50f803
push 0xac
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x3ac], 0
je 0x50f7c1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
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 - 0x3ac]
call fcn.004f0410
mov dword [ebp - 0x964], eax
jmp 0x50f7cb
mov dword [ebp - 0x964], 0
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3a8]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0
je 0x50f7fe
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 3
jne 0x50f8fc
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 - 0x3b4]
call fcn.0040b380
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0049ce42
mov dword [ebp - 0x968], eax
fild dword [ebp - 0x968]
fmul dword [0x5ae1f4]
fstp dword [ebp - 0x50]
mov dword [ebp - 0x44], 3
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x3bc], 0
je 0x50f8b9
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 - 0x3bc]
call fcn.004e7380
mov dword [ebp - 0x96c], eax
jmp 0x50f8c3
mov dword [ebp - 0x96c], 0
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
je 0x50f8f7
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0xd
jne 0x50fac8
push 0xcc
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x3c4], 0
je 0x50f95e
push 4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
push edx
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x3c4]
call fcn.004d4700
mov dword [ebp - 0x970], eax
jmp 0x50f968
mov dword [ebp - 0x970], 0
mov eax, dword [ebp - 0x970]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0
je 0x50fac3
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 + 0x76a]
cmp eax, 1
jne 0x50fa26
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 + 0x936454]
fmul dword [edx + 0x38]
fdiv dword [0x5ad63c]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x3d0]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x74
call fcn.00433530
jmp 0x50fa83
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 + 0x936454]
fmul dword [ecx + 0x38]
fdiv dword [0x5ad63c]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x30]
fadd dword [0x5ad64c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x3dc]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x74
call fcn.00433530
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 [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 8
je 0x50faec
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0xa
jne 0x50fb5e
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x74]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x54]
jne 0x50fb21
push 2
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x74]
mov ecx, eax
call fcn.004f3ea9
cmp dword [0x5d4c04], 0
je 0x50fb59
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x50fb59
push 0
push 0
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0xb
jne 0x50fdf2
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.0059a83f
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x974], edx
fild dword [ebp - 0x974]
fstp dword [ebp - 0x68]
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x3e4], 0
je 0x50fbf7
push 0x50
push 1
push 0x3b03126f
push 0x3fcccccd
push 0x3fcccccd
push 0x3fcccccd
push 0x2bc
push 0x38
mov ecx, dword [ebp - 0x3e4]
call fcn.004cafc0
mov dword [ebp - 0x978], eax
jmp 0x50fc01
mov dword [ebp - 0x978], 0
mov edx, dword [ebp - 0x978]
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x50fc88
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 [0x5ae140]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x74]
push eax
lea ecx, [ebp - 0x3f0]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x3f8], 0
je 0x50fd07
push 0x50
push 1
push 0x3a03126f
fld dword [ebp - 0x68]
fmul dword [0x5ad64c]
fadd dword [0x5af72c]
push ecx
fstp dword [esp]
fld dword [ebp - 0x68]
fmul dword [0x5ad64c]
fadd dword [0x5af728]
push ecx
fstp dword [esp]
fld dword [ebp - 0x68]
fmul dword [0x5ad64c]
fadd dword [0x5af72c]
push ecx
fstp dword [esp]
push 0x4b0
push 0x3c
mov ecx, dword [ebp - 0x3f8]
call fcn.004cafc0
mov dword [ebp - 0x97c], eax
jmp 0x50fd11
mov dword [ebp - 0x97c], 0
mov eax, dword [ebp - 0x97c]
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x64], 0
je 0x50fdb0
push 0xff994444
mov edx, dword [ebp - 0x64]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x64]
call dword [eax + 0x3c]
fld dword [0x5ae134]
fmul dword [ebp - 0x68]
fdiv dword [0x5ae0dc]
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 [0x5ae140]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x74]
push edx
lea ecx, [ebp - 0x404]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x64]
add ecx, 0x74
call fcn.00433530
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
mov dword [ebp - 0x5c], 0xa8
cmp dword [0x5d4c04], 0
je 0x50fded
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x50fded
push 0
push 0
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 9
jne 0x50feb1
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.0059998a
add esp, 4
mov dword [ebp - 0x40c], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x40c], 0
je 0x50fe6e
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 - 0x40c]
call fcn.004f2050
mov dword [ebp - 0x980], eax
jmp 0x50fe78
mov dword [ebp - 0x980], 0
mov edx, dword [ebp - 0x980]
mov dword [ebp - 0x408], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x50feac
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0xf
jne 0x5100a1
push 0xcc
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x414], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x414], 0
je 0x50ff13
push 4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
push eax
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x414]
call fcn.004d4700
mov dword [ebp - 0x984], eax
jmp 0x50ff1d
mov dword [ebp - 0x984], 0
mov ecx, dword [ebp - 0x984]
mov dword [ebp - 0x410], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0x88], 0
je 0x51009c
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 + 0x76a]
cmp ecx, 1
jne 0x50ffed
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 + 0x936454]
fmul dword [eax + 0x38]
fdiv dword [0x5ad63c]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0x420]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x74
call fcn.00433530
jmp 0x51004d
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 + 0x936454]
fmul dword [edx + 0x38]
fdiv dword [0x5ad63c]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
fadd dword [0x5ad64c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x42c]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x74
call fcn.00433530
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 [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x10
je 0x5100db
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0xc
je 0x5100db
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x1c
jne 0x5101df
fld dword [ebp - 0x38]
fadd dword [0x5ad8bc]
fstp dword [ebp - 0x38]
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0xc
jne 0x51010d
mov dword [ebp - 0x8c], 1
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x1c
jne 0x510129
mov dword [ebp - 0x8c], 2
push 0xc8
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x434], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0x434], 0
je 0x510194
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 - 0x434]
call fcn.004e38a0
mov dword [ebp - 0x988], eax
jmp 0x51019e
mov dword [ebp - 0x988], 0
mov eax, dword [ebp - 0x988]
mov dword [ebp - 0x430], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x90], ecx
cmp dword [ebp - 0x90], 0
je 0x5101da
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x11
jne 0x51031e
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x60], 0
je 0x51031e
cmp dword [0x5d4c04], 0
je 0x51023d
push 0x9b
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x51023d
push 0
push 0
push 0x9b
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x638], 1
jne 0x510274
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2f8], 0
je 0x510274
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 + 0x63c], 1
jne 0x5102ab
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
cmp dword [eax + 0x2fc], 0
je 0x5102ab
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 + 0x638], 0
jne 0x510319
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x63c], 0
jne 0x510319
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2f8], 0
je 0x5102f1
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 0x510319
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28f0], 1
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x12
jne 0x5103a2
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x74]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x54]
jne 0x510365
push 2
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x74]
mov ecx, eax
call fcn.004f3ea9
cmp dword [0x5d4c04], 0
je 0x51039d
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x51039d
push 0
push 0
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x13
jne 0x5104f4
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x60], 0
je 0x5104f4
cmp dword [0x5d4c04], 0
je 0x510400
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x510400
push 0
push 0
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
cmp dword [edx + 0x2f8], 0
je 0x51042b
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov dword [edx + 0x28f8], 4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2fc], 0
je 0x510456
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov dword [ecx + 0x28f8], 4
push 0xb0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x43c], eax
mov dword [ebp - 4], 8
cmp dword [ebp - 0x43c], 0
je 0x5104a8
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 - 0x43c]
call fcn.004e6480
mov dword [ebp - 0x98c], eax
jmp 0x5104b2
mov dword [ebp - 0x98c], 0
mov ecx, dword [ebp - 0x98c]
mov dword [ebp - 0x438], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0
je 0x5104ef
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x14
jne 0x51090e
cmp dword [0x5d4c04], 0
je 0x510542
push 0x99
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x510542
push 0
push 0
push 0x99
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x480], 0
je 0x510909
mov dword [ebp - 0x9c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
cmp dword [eax + 0x200], 4
je 0x510589
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
cmp dword [edx + 0x200], 8
jne 0x510593
mov dword [ebp - 0x9c], 1
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x444], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0x444], 0
je 0x510629
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x450]
call fcn.00433500
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 - 0x45c]
call fcn.00433500
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 + 0x480]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 0x444]
call fcn.004d79b0
mov dword [ebp - 0x990], eax
jmp 0x510633
mov dword [ebp - 0x990], 0
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0x440], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x440]
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0
je 0x510909
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x480], 0
je 0x510730
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
movsx eax, byte [edx + 0x76a]
test eax, eax
jle 0x510730
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
cmp dword [edx + 0x120], 0
je 0x510730
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0x98]
mov eax, dword [ecx + 0x76c]
mov dword [edx + 0x5c], eax
push 0x20
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x98]
add eax, 0xe8
push eax
call fcn.00599ae0
add esp, 0xc
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
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 + 0x480]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x184
push ecx
call fcn.00599ae0
add esp, 0xc
jmp 0x510759
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xe8
push ecx
call fcn.00599ae0
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 + 0x7c]
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 + 0x480]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
fld dword [eax + 0x30]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
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 + 0x76a]
test ecx, ecx
jle 0x510896
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x510896
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x60], 0
je 0x51085b
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x67a108]
push eax
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x60]
call fcn.004be9a4
mov edx, dword [ebp - 0x98]
cmp dword [edx + 0x1a4], 0
je 0x510894
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x1a8]
imul ecx, ecx, 0x2a0
mov edx, dword [ecx + 0x67a168]
push edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x1a4]
call fcn.004be9a4
jmp 0x5108ba
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x67a108]
push eax
mov ecx, dword [ebp - 0x98]
mov ecx, dword [ecx + 0x60]
call fcn.004be9a4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
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 [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x16
jne 0x5109f4
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 [0x5ad8bc]
fstp dword [ebp - 0xa8]
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x464], eax
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x464], 0
je 0x5109a8
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 - 0x464]
call fcn.004e2fa0
mov dword [ebp - 0x994], eax
jmp 0x5109b2
mov dword [ebp - 0x994], 0
mov edx, dword [ebp - 0x994]
mov dword [ebp - 0x460], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
je 0x5109ef
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x17
jne 0x510b68
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 0x510a40
mov edx, dword [ebp - 0xbc]
add edx, 1
mov dword [ebp - 0xbc], edx
cmp dword [ebp - 0xbc], 4
jge 0x510b63
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 [0x5ad8bc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0xbc]
and ecx, 0x80000001
jns 0x510a8a
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 [0x5ad8bc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x470]
call fcn.00433500
push eax
lea ecx, [ebp - 0xb8]
call fcn.00433530
push 0xb0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x478], eax
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0x478], 0
je 0x510b17
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 - 0x478]
call fcn.004e6480
mov dword [ebp - 0x9a0], eax
jmp 0x510b21
mov dword [ebp - 0x9a0], 0
mov ecx, dword [ebp - 0x9a0]
mov dword [ebp - 0x474], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0
je 0x510b5e
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x510a31
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x18
jne 0x510c3c
fld dword [ebp - 0x38]
fadd dword [0x5ad8bc]
fstp dword [ebp - 0x38]
push 0xc0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x480], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x480], 0
je 0x510bf0
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 - 0x480]
call fcn.004ea1d0
mov dword [ebp - 0x9a4], eax
jmp 0x510bfa
mov dword [ebp - 0x9a4], 0
mov edx, dword [ebp - 0x9a4]
mov dword [ebp - 0x47c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x510c37
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x19
jne 0x510d10
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.0059998a
add esp, 4
mov dword [ebp - 0x488], eax
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0x488], 0
je 0x510cc4
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 - 0x488]
call fcn.004e3310
mov dword [ebp - 0x9a8], eax
jmp 0x510cce
mov dword [ebp - 0x9a8], 0
mov ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x484], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
je 0x510d0b
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x1b
je 0x510d38
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x1d
jne 0x510df8
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xd8], edx
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x490], eax
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x490], 0
je 0x510dac
push 0
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xe0]
mov dword [eax], ecx
mov edx, dword [ebp - 0xdc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xd8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x490]
call fcn.004e7890
mov dword [ebp - 0x9ac], eax
jmp 0x510db6
mov dword [ebp - 0x9ac], 0
mov edx, dword [ebp - 0x9ac]
mov dword [ebp - 0x48c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x510df3
mov ecx, dword [ebp - 0xe4]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x1f
jne 0x511366
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x480], 0
je 0x511361
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xf8]
push eax
mov ecx, dword [ebp - 0x100]
push ecx
lea ecx, [ebp - 0x498]
call fcn.0040b380
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0049ce42
mov dword [ebp - 0x9b0], eax
fild dword [ebp - 0x9b0]
fmul dword [0x5ae1f4]
fstp dword [ebp - 0xfc]
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x4a0], 0
je 0x510ed3
push 4
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x100]
mov dword [ecx], edx
mov eax, dword [ebp - 0xfc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xf8]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x4a0]
call fcn.004e7380
mov dword [ebp - 0x9b4], eax
jmp 0x510edd
mov dword [ebp - 0x9b4], 0
mov eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0xf4], ecx
cmp dword [ebp - 0xf4], 0
je 0x510f19
mov edx, dword [ebp - 0xf4]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x4a8], 0
je 0x510f67
push 4
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 - 0x4a8]
call fcn.004e7380
mov dword [ebp - 0x9b8], eax
jmp 0x510f71
mov dword [ebp - 0x9b8], 0
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0xec], ecx
cmp dword [ebp - 0xec], 0
je 0x510fad
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
cmp dword [edx + 0x200], 4
je 0x510fe1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
cmp dword [ecx + 0x200], 8
jne 0x510feb
mov dword [ebp - 0xf0], 1
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x4b0], 0
je 0x511081
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x4bc]
call fcn.00433500
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 - 0x4c8]
call fcn.00433500
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 + 0x480]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 0x4b0]
call fcn.004d79b0
mov dword [ebp - 0x9bc], eax
jmp 0x51108b
mov dword [ebp - 0x9bc], 0
mov ecx, dword [ebp - 0x9bc]
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x4ac]
mov dword [ebp - 0xe8], edx
cmp dword [ebp - 0xe8], 0
je 0x511361
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x480], 0
je 0x511188
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
movsx eax, byte [edx + 0x76a]
test eax, eax
jle 0x511188
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
cmp dword [edx + 0x120], 0
je 0x511188
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0xe8]
mov eax, dword [ecx + 0x76c]
mov dword [edx + 0x5c], eax
push 0x20
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
add edx, 0x126
push edx
mov eax, dword [ebp - 0xe8]
add eax, 0xe8
push eax
call fcn.00599ae0
add esp, 0xc
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [ebp - 0xe8]
mov ecx, dword [edx + 0x5c]
mov dword [eax + 0x1a8], ecx
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0xe8]
add ecx, 0x184
push ecx
call fcn.00599ae0
add esp, 0xc
jmp 0x5111b1
push 0x20
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0xe8]
add ecx, 0xe8
push ecx
call fcn.00599ae0
add esp, 0xc
mov edx, dword [ebp - 0xe8]
mov dword [edx + 0x12c], 0x3f000000
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x130], 0x3f000000
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x134], 0x3f000000
mov edx, dword [ebp - 0xf0]
push edx
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xe8]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x11c], 0x5dc
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
fld dword [eax + 0x30]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xe8]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x76a]
test ecx, ecx
jle 0x5112ee
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x5112ee
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x60], 0
je 0x5112b3
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x67a108]
push eax
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ecx + 0x60]
call fcn.004be9a4
mov edx, dword [ebp - 0xe8]
cmp dword [edx + 0x1a4], 0
je 0x5112ec
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x1a8]
imul ecx, ecx, 0x2a0
mov edx, dword [ecx + 0x67a168]
push edx
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x1a4]
call fcn.004be9a4
jmp 0x511312
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x67a108]
push eax
mov ecx, dword [ebp - 0xe8]
mov ecx, dword [ecx + 0x60]
call fcn.004be9a4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [eax + 0x34]
mov dword [ecx + 0x128], edx
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0xe8]
mov dword [ecx + 0x124], 9
mov edx, dword [ebp - 0xe8]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x20
jne 0x51142a
push 0xa0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x4d0], 0
je 0x5113de
push 0x22331100
push 0xffffffffffffffff
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
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 - 0x4d0]
call fcn.004e5250
mov dword [ebp - 0x9c0], eax
jmp 0x5113e8
mov dword [ebp - 0x9c0], 0
mov ecx, dword [ebp - 0x9c0]
mov dword [ebp - 0x4cc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x4cc]
mov dword [ebp - 0x104], edx
cmp dword [ebp - 0x104], 0
je 0x511425
mov eax, dword [ebp - 0x104]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x22
jne 0x5114fe
fld dword [ebp - 0x38]
fadd dword [0x5ad8bc]
fstp dword [ebp - 0x38]
push 0xb0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 4], 0x13
cmp dword [ebp - 0x4d8], 0
je 0x5114b2
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 - 0x4d8]
call fcn.004e86a0
mov dword [ebp - 0x9c4], eax
jmp 0x5114bc
mov dword [ebp - 0x9c4], 0
mov edx, dword [ebp - 0x9c4]
mov dword [ebp - 0x4d4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x5114f9
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x25
jne 0x5119ef
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x118], 0x3f800000
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
cmp eax, 1
jne 0x51154e
mov dword [ebp - 0x118], 0x3fa66666
mov dword [ebp - 0x114], 0
jmp 0x511569
mov ecx, dword [ebp - 0x114]
add ecx, 1
mov dword [ebp - 0x114], ecx
cmp dword [ebp - 0x114], 2
jge 0x5119b8
call fcn.0059a83f
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x9c8], edx
fild dword [ebp - 0x9c8]
fstp dword [ebp - 0x120]
mov edx, dword [ebp - 0x114]
cmp dword [ebp + edx*4 - 0x110], 0
jne 0x51171d
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x4e0], 0
je 0x51166b
push 0x50
push 8
push 0
fld dword [0x5ae140]
fmul dword [ebp - 0x120]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x118]
fild dword [ebp - 0x114]
fmul dword [0x5ae13c]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5ae140]
fmul dword [ebp - 0x120]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x118]
fild dword [ebp - 0x114]
fmul dword [0x5ae13c]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5ae140]
fmul dword [ebp - 0x120]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x118]
fild dword [ebp - 0x114]
fmul dword [0x5ae13c]
fsubp st(1)
push ecx
fstp dword [esp]
push 0
push 0x6d
mov ecx, dword [ebp - 0x4e0]
call fcn.004cafc0
mov dword [ebp - 0x9cc], eax
jmp 0x511675
mov dword [ebp - 0x9cc], 0
mov eax, dword [ebp - 0x9cc]
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x4dc]
mov dword [ebp + ecx*4 - 0x110], edx
push 0xffffdd00
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp + eax*4 - 0x110]
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp + edx*4 - 0x110]
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp + eax*4 - 0x110]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp + edx*4 - 0x110]
mov dword [eax + 0x104], 0
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp + ecx*4 - 0x110]
mov dword [edx + 0xf8], 0x7d0
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp + eax*4 - 0x110]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
mov eax, dword [ebp - 0x114]
cmp dword [ebp + eax*4 - 0x110], 0
je 0x5117e5
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp + ecx*4 - 0x110]
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 [0x5ae27c]
fdiv dword [0x5ae3c0]
fiadd dword [ebp - 0x114]
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp + edx*4 - 0x110]
fstp dword [eax + 0x114]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x2c]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5ae434]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x28]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x4ec]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x114]
mov ecx, dword [ebp + ecx*4 - 0x110]
add ecx, 0x74
call fcn.00433530
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x4f4], 0
je 0x51187c
push 0x50
push 8
push 0
fld dword [0x5ae140]
fmul dword [ebp - 0x120]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x118]
push ecx
fstp dword [esp]
fld dword [0x5ae140]
fmul dword [ebp - 0x120]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x118]
push ecx
fstp dword [esp]
fld dword [0x5ae140]
fmul dword [ebp - 0x120]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x118]
push ecx
fstp dword [esp]
push 0x1f4
push 0x6d
mov ecx, dword [ebp - 0x4f4]
call fcn.004cafc0
mov dword [ebp - 0x9d8], eax
jmp 0x511886
mov dword [ebp - 0x9d8], 0
mov edx, dword [ebp - 0x9d8]
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x5119b3
push 0xffffdd00
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x11c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x11c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x11c]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x11c]
mov dword [edx + 0xf8], 0x7d0
mov eax, dword [ebp - 0x11c]
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 [0x5ae27c]
fdiv dword [0x5ae3c0]
mov edx, dword [ebp - 0x11c]
fstp dword [edx + 0x114]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x2c]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5ae434]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x28]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x500]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x11c]
add ecx, 0x74
call fcn.00433530
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x960]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0x11c]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x51155a
cmp dword [0x5d4c04], 0
je 0x5119ea
push 0x69
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x5119ea
push 0
push 0
push 0x69
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x26
jne 0x511bbd
fld dword [ebp - 0x38]
fadd dword [0x5ad8bc]
fstp dword [ebp - 0x38]
fld dword [ebp - 0x2c]
fadd dword [0x5ad8bc]
fstp dword [ebp - 0x2c]
mov dword [ebp - 0x128], 1
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x200], 0x26
jne 0x511a40
mov dword [ebp - 0x128], 2
push 0xc0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x508], eax
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x508], 0
je 0x511aab
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 - 0x508]
call fcn.004ea1d0
mov dword [ebp - 0x9e4], eax
jmp 0x511ab5
mov dword [ebp - 0x9e4], 0
mov eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x504], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
je 0x511af1
mov edx, dword [ebp - 0x12c]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
fld dword [ebp - 0x38]
fadd dword [0x5ad8bc]
fstp dword [ebp - 0x38]
mov dword [ebp - 0x124], 4
push 0xc8
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x510], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x510], 0
je 0x511b72
push 0
mov ecx, dword [ebp - 0x124]
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 - 0x510]
call fcn.004e38a0
mov dword [ebp - 0x9e8], eax
jmp 0x511b7c
mov dword [ebp - 0x9e8], 0
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x50c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0
je 0x511bb8
mov edx, dword [ebp - 0x130]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x28
je 0x511be5
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x15
jne 0x511ce8
mov dword [ebp - 0x134], 0xff33ff66
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x486]
cmp eax, 1
jne 0x511c0b
mov dword [ebp - 0x134], 0xff66ffaa
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x486]
cmp edx, 2
jne 0x511c27
mov dword [ebp - 0x134], 0xff113388
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x486]
cmp ecx, 3
jne 0x511c43
mov dword [ebp - 0x134], 0xffff8800
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x518], eax
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x518], 0
je 0x511c9c
push 0
push 1
push 0xa
mov edx, dword [ebp - 0x134]
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 - 0x518]
call fcn.004f0010
mov dword [ebp - 0x9ec], eax
jmp 0x511ca6
mov dword [ebp - 0x9ec], 0
mov edx, dword [ebp - 0x9ec]
mov dword [ebp - 0x514], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x511ce3
mov ecx, dword [ebp - 0x138]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x29
je 0x511d22
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x2b
je 0x511d22
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x36
jne 0x511e67
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x520]
call fcn.0040b380
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0049ce42
mov dword [ebp - 0x9f0], eax
fild dword [ebp - 0x9f0]
fmul dword [0x5ae1f4]
fstp dword [ebp - 0x148]
mov dword [ebp - 0x13c], 0
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x2b
jne 0x511da3
mov dword [ebp - 0x13c], 1
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x36
jne 0x511dbf
mov dword [ebp - 0x13c], 3
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x528], eax
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x528], 0
je 0x511e1b
mov edx, dword [ebp - 0x13c]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x148]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x144]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x528]
call fcn.004e7380
mov dword [ebp - 0x9f4], eax
jmp 0x511e25
mov dword [ebp - 0x9f4], 0
mov edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x524], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x511e62
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x2a
jne 0x511f4d
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x150], ecx
fld dword [ebp - 0x154]
fsub dword [0x5ad8bc]
fstp dword [ebp - 0x154]
push 0xac
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x530], eax
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x530], 0
je 0x511f01
push 0
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x158]
mov dword [edx], eax
mov ecx, dword [ebp - 0x154]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x150]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x530]
call fcn.004f2a40
mov dword [ebp - 0x9f8], eax
jmp 0x511f0b
mov dword [ebp - 0x9f8], 0
mov ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x15c], edx
cmp dword [ebp - 0x15c], 0
je 0x511f48
mov eax, dword [ebp - 0x15c]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x2c
jne 0x5122a1
mov dword [ebp - 0x168], 0xff550088
mov dword [ebp - 0x164], 0xff555500
mov dword [ebp - 0x160], 0xff005500
mov dword [ebp - 0x16c], 0
jmp 0x511f9c
mov ecx, dword [ebp - 0x16c]
add ecx, 1
mov dword [ebp - 0x16c], ecx
cmp dword [ebp - 0x16c], 3
jge 0x512264
call fcn.0059a83f
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x9fc], edx
fild dword [ebp - 0x9fc]
fadd dword [0x5ae0f0]
fstp dword [ebp - 0x178]
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x538], eax
mov dword [ebp - 4], 0x1b
cmp dword [ebp - 0x538], 0
je 0x512056
push 0x50
push 1
push 0x3b03126f
fild dword [ebp - 0x16c]
fmul dword [0x5ae5ec]
fsubr dword [0x5ae13c]
push ecx
fstp dword [esp]
fild dword [ebp - 0x16c]
fmul dword [0x5ae5ec]
fsubr dword [0x5ae13c]
push ecx
fstp dword [esp]
fild dword [ebp - 0x16c]
fmul dword [0x5ae5ec]
fsubr dword [0x5ae13c]
push ecx
fstp dword [esp]
push 0x320
push 0x38
mov ecx, dword [ebp - 0x538]
call fcn.004cafc0
mov dword [ebp - 0xa00], eax
jmp 0x512060
mov dword [ebp - 0xa00], 0
mov edx, dword [ebp - 0xa00]
mov dword [ebp - 0x534], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x534]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
je 0x51210c
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp + ecx*4 - 0x168]
push edx
mov eax, dword [ebp - 0x170]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x170]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x170]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x170]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x28]
push edx
fld dword [ebp - 0x2c]
fadd dword [0x5adf18]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x544]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x170]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x170]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x54c], eax
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x54c], 0
je 0x512194
push 0x50
push 1
push 0x3a03126f
fld dword [ebp - 0x178]
fmul dword [0x5ae5ec]
fadd dword [0x5ae13c]
push ecx
fstp dword [esp]
fld dword [ebp - 0x178]
fmul dword [0x5ae5ec]
fadd dword [0x5ae13c]
push ecx
fstp dword [esp]
fld dword [ebp - 0x178]
fmul dword [0x5ae5ec]
fadd dword [0x5ae13c]
push ecx
fstp dword [esp]
push 0x1f4
push 0x3c
mov ecx, dword [ebp - 0x54c]
call fcn.004cafc0
mov dword [ebp - 0xa04], eax
jmp 0x51219e
mov dword [ebp - 0xa04], 0
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0x548], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x174], ecx
cmp dword [ebp - 0x174], 0
je 0x51225f
push 0xff333355
mov edx, dword [ebp - 0x174]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x174]
call dword [eax + 0x3c]
fld dword [0x5ae134]
fmul dword [ebp - 0x178]
fdiv dword [0x5ae0dc]
mov ecx, dword [ebp - 0x174]
fstp dword [ecx + 0x114]
mov edx, dword [ebp - 0x174]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x174]
mov dword [eax + 0x104], 1
mov ecx, dword [ebp - 0x28]
push ecx
fld dword [ebp - 0x2c]
fadd dword [0x5adf18]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x30]
push edx
lea ecx, [ebp - 0x558]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x174]
add ecx, 0x74
call fcn.00433530
mov eax, dword [ebp - 0x174]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x511f8d
cmp dword [0x5d4c04], 0
je 0x51229c
push 0x9f
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x51229c
push 0
push 0
push 0x9f
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x2e
jne 0x512736
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x560], eax
mov dword [ebp - 4], 0x1d
cmp dword [ebp - 0x560], 0
je 0x512347
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x56c]
call fcn.00433500
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 - 0x560]
call fcn.004d7310
mov dword [ebp - 0xa08], eax
jmp 0x512351
mov dword [ebp - 0xa08], 0
mov eax, dword [ebp - 0xa08]
mov dword [ebp - 0x55c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x18c], ecx
cmp dword [ebp - 0x18c], 0
je 0x51238d
mov edx, dword [ebp - 0x18c]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x574], eax
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x574], 0
je 0x51241d
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x580]
call fcn.00433500
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 - 0x574]
call fcn.004d7310
mov dword [ebp - 0xa0c], eax
jmp 0x512427
mov dword [ebp - 0xa0c], 0
mov eax, dword [ebp - 0xa0c]
mov dword [ebp - 0x570], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0
je 0x512463
mov edx, dword [ebp - 0x184]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
fld dword [ebp - 0x2c]
fadd dword [0x5ae0dc]
fstp dword [ebp - 0x2c]
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x588], eax
mov dword [ebp - 4], 0x1f
cmp dword [ebp - 0x588], 0
je 0x5124ff
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x594]
call fcn.00433500
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 - 0x588]
call fcn.004d7310
mov dword [ebp - 0xa10], eax
jmp 0x512509
mov dword [ebp - 0xa10], 0
mov eax, dword [ebp - 0xa10]
mov dword [ebp - 0x584], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x584]
mov dword [ebp - 0x188], ecx
cmp dword [ebp - 0x188], 0
je 0x512545
mov edx, dword [ebp - 0x188]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x59c], eax
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x59c], 0
je 0x5125d5
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0x5a8]
call fcn.00433500
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 - 0x59c]
call fcn.004d7310
mov dword [ebp - 0xa14], eax
jmp 0x5125df
mov dword [ebp - 0xa14], 0
mov eax, dword [ebp - 0xa14]
mov dword [ebp - 0x598], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x598]
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0
je 0x51261b
mov edx, dword [ebp - 0x17c]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
push 0xc0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 4], 0x21
cmp dword [ebp - 0x5b0], 0
je 0x51265a
push 0x3f800000
push 7
push 2
mov ecx, dword [ebp - 0x5b0]
call fcn.004e1860
mov dword [ebp - 0xa18], eax
jmp 0x512664
mov dword [ebp - 0xa18], 0
mov ecx, dword [ebp - 0xa18]
mov dword [ebp - 0x5ac], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5ac]
mov dword [ebp - 0x180], edx
cmp dword [ebp - 0x180], 0
je 0x5126ff
mov eax, dword [ebp - 0x180]
mov dword [eax + 0x6c], 1
push 0xffaa3300
mov ecx, dword [ebp - 0x180]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x180]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x5b8]
call fcn.0040b380
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x180]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x180]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x180]
mov dword [eax + 0xa0], 0x5dc
mov ecx, dword [ebp - 0x180]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
cmp dword [0x5d4c04], 0
je 0x512731
push 0x24
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x512731
push 0
push 0
push 0x24
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x30
je 0x51275e
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x31
jne 0x5129fc
fld dword [ebp - 0x2c]
fsub dword [0x5ad8bc]
fstp dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
sub edx, 0x30
mov dword [ebp - 0x194], edx
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x5c0], 0
je 0x5127f8
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
push ecx
mov edx, dword [ebp - 0x194]
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 - 0x5c0]
call fcn.004d79b0
mov dword [ebp - 0xa1c], eax
jmp 0x512802
mov dword [ebp - 0xa1c], 0
mov ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0x5bc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5bc]
mov dword [ebp - 0x190], edx
cmp dword [ebp - 0x190], 0
je 0x5129f7
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x30
jne 0x5128d8
mov edx, dword [ebp - 0x190]
mov word [edx + 0xec], 4
mov eax, dword [ebp - 0x190]
mov word [eax + 0xe8], 4
mov ecx, dword [ebp - 0x190]
mov word [ecx + 0xee], 1
mov edx, dword [ebp - 0x190]
mov word [edx + 0xea], 1
push 0
mov eax, dword [ebp - 0x190]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x190]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3ecccccd
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x60]
mov dword [eax + 0x28], 0x3ecccccd
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x2c], 0x3ecccccd
mov eax, dword [ebp - 0x190]
mov dword [eax + 0x120], 1
jmp 0x51297d
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x31
jne 0x51297d
mov eax, dword [ebp - 0x190]
mov word [eax + 0xec], 2
mov ecx, dword [ebp - 0x190]
mov word [ecx + 0xe8], 2
mov edx, dword [ebp - 0x190]
mov word [edx + 0xee], 0
mov eax, dword [ebp - 0x190]
mov word [eax + 0xea], 0
push 0
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x190]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x190]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3e4ccccd
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x60]
mov dword [eax + 0x28], 0x3e4ccccd
mov ecx, dword [ebp - 0x190]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x2c], 0x3e4ccccd
mov eax, dword [ebp - 0x190]
mov dword [eax + 0x120], 0
mov ecx, dword [ebp - 0x190]
mov dword [ecx + 0x12c], 0x3f800000
mov edx, dword [ebp - 0x190]
mov dword [edx + 0x130], 0x3f800000
mov eax, dword [ebp - 0x190]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x190]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x190]
mov dword [edx + 0x124], 2
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x32
jne 0x512c5a
fld dword [ebp - 0x30]
fsub dword [0x5ad488]
fstp dword [ebp - 0x30]
fld dword [ebp - 0x2c]
fsub dword [0x5ad8bc]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x28]
fadd dword [0x5ad488]
fstp dword [ebp - 0x28]
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
sub edx, 0x30
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x19c], 0
jmp 0x512a67
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 3
jge 0x512c55
fild dword [ebp - 0x19c]
fmul dword [0x5ad648]
fadd dword [ebp - 0x30]
fstp dword [ebp - 0x30]
fild dword [ebp - 0x19c]
fmul dword [0x5ad648]
fsubr dword [ebp - 0x28]
fstp dword [ebp - 0x28]
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 4], 0x23
cmp dword [ebp - 0x5c8], 0
je 0x512b10
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
push edx
mov eax, dword [ebp - 0x198]
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 - 0x5c8]
call fcn.004d79b0
mov dword [ebp - 0xa20], eax
jmp 0x512b1a
mov dword [ebp - 0xa20], 0
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0x5c4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
jne 0x512b47
jmp 0x512a58
mov ecx, dword [ebp - 0x1a0]
mov word [ecx + 0xec], 0
mov edx, dword [ebp - 0x1a0]
mov word [edx + 0xe8], 0
mov eax, dword [ebp - 0x1a0]
mov word [eax + 0xee], 0
mov ecx, dword [ebp - 0x1a0]
mov word [ecx + 0xea], 0
push 0
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1a0]
call dword [eax + 0x7c]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x24], 0x40000000
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x40000000
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx + 0x60]
mov dword [eax + 0x2c], 0x40000000
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + 0x120], 1
mov edx, dword [ebp - 0x1a0]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x130], 0x3f800000
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx + 0x134], 0x3f800000
mov edx, dword [ebp - 0x1a0]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x1a0]
mov dword [eax + 0x124], 4
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x512a58
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x33
jne 0x512da0
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 - 0x1b0]
call fcn.00433500
push 0xac
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x5d0], 0
je 0x512d1c
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
push eax
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1b0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1ac]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1a8]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1b0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1ac]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1a8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x5d0]
call fcn.004f0410
mov dword [ebp - 0xa24], eax
jmp 0x512d26
mov dword [ebp - 0xa24], 0
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0x5cc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x512d63
mov ecx, dword [ebp - 0x1a4]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
cmp dword [0x5d4c04], 0
je 0x512d9b
push 0x9d
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x512d9b
push 0
push 0
push 0x9d
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x35
jne 0x512fe5
mov dword [ebp - 0x1b4], 0
jmp 0x512dd1
mov edx, dword [ebp - 0x1b4]
add edx, 1
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 5
jge 0x512fe0
mov dword [ebp - 0x1b8], 0
call fcn.0059a83f
cdq
mov ecx, 0xa
idiv ecx
add edx, 0xa
mov dword [ebp - 0x1c0], edx
fild dword [ebp - 0x1b4]
fmul dword [0x5ad64c]
fstp dword [ebp - 0x1bc]
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 4], 0x25
cmp dword [ebp - 0x5d8], 0
je 0x512ebc
push 0x50
push 1
push 0x38d1b717
fild dword [ebp - 0x1c0]
fmul dword [0x5ae1f4]
fadd dword [0x5ad648]
fadd dword [ebp - 0x1bc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1c0]
fmul dword [0x5ad64c]
fadd dword [0x5ad648]
fadd dword [ebp - 0x1bc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1c0]
fmul dword [0x5ae1f4]
fadd dword [0x5ad648]
fadd dword [ebp - 0x1bc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x1b4]
imul edx, edx, 0xc8
add edx, 0x4b0
push edx
push 0
mov ecx, dword [ebp - 0x5d8]
call fcn.004cafc0
mov dword [ebp - 0xa28], eax
jmp 0x512ec6
mov dword [ebp - 0xa28], 0
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5d4]
mov dword [ebp - 0x1b8], ecx
cmp dword [ebp - 0x1b8], 0
je 0x512fdb
call fcn.0059a83f
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xa2c], edx
fild dword [ebp - 0xa2c]
fmul dword [str._n_o]
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.0059a83f
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xa30], edx
fild dword [ebp - 0xa30]
fmul dword [str._n_o]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x5e4]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x1b8]
add ecx, 0x74
call fcn.00433530
push eax
mov ecx, dword [ebp - 0x1b8]
add ecx, 0x14c
call fcn.00433530
mov eax, dword [ebp - 0x1b8]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x1b8]
mov dword [ecx + 0x100], 0
mov edx, dword [ebp - 0x1b8]
mov dword [edx + 0x148], 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1b8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1b8]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x512dc2
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x48
je 0x51300d
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x50
jne 0x5133c0
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x480], 0
je 0x5133bb
mov dword [ebp - 0x1d4], 0
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x50
jne 0x513046
mov dword [ebp - 0x1d4], 1
mov dword [ebp - 0x1d0], 0xffffffff
mov dword [ebp - 0x1cc], 0xffffaa55
mov dword [ebp - 0x1c8], 0xffffffff
mov dword [ebp - 0x1c4], 0xffff0000
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x74]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x54]
jne 0x5130a3
push 1
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x74]
mov ecx, eax
call fcn.004f3ea9
push 0xc0
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x5ec], 0
je 0x5130ea
push 0x3f800000
push 7
mov ecx, dword [ebp - 0x1d4]
add ecx, 2
push ecx
mov ecx, dword [ebp - 0x5ec]
call fcn.004e1860
mov dword [ebp - 0xa34], eax
jmp 0x5130f4
mov dword [ebp - 0xa34], 0
mov edx, dword [ebp - 0xa34]
mov dword [ebp - 0x5e8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
je 0x5131b4
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp + ecx*8 - 0x1cc]
push edx
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1d8]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x1d8]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x5f4]
call fcn.0040b380
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1d8]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x1d8]
mov dword [eax + 0xa0], 0x320
mov ecx, dword [ebp - 0x1d8]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
mov dword [ebp - 0x1dc], 0
jmp 0x5131cf
mov eax, dword [ebp - 0x1dc]
add eax, 1
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 2
jge 0x51336e
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 4], 0x27
cmp dword [ebp - 0x5fc], 0
je 0x513285
push 0x50
push 1
fild dword [ebp - 0x1d4]
fmul dword [0x5ae3fc]
fadd dword [0x5ae1cc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1dc]
fmul dword [0x5ae140]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1dc]
fmul dword [0x5ae140]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1dc]
fmul dword [0x5ae140]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
push 0x2bc
mov ecx, dword [ebp - 0x1d4]
lea edx, [ecx*4 + 0x38]
push edx
mov ecx, dword [ebp - 0x5fc]
call fcn.004cafc0
mov dword [ebp - 0xa38], eax
jmp 0x51328f
mov dword [ebp - 0xa38], 0
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x1e0], ecx
cmp dword [ebp - 0x1e0], 0
jne 0x5132bc
jmp 0x5131c0
mov edx, dword [ebp - 0x1d4]
lea eax, [ebp + edx*8 - 0x1d0]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [eax + ecx*4]
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 + 0x6c], 1
mov ecx, dword [ebp - 0x1e0]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
fld dword [eax + 0x30]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x608]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x1e0]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x1e0]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x5131c0
cmp dword [0x5d4c04], 0
je 0x5133bb
mov eax, dword [ebp - 0x1d4]
imul eax, eax, 0xb
add eax, 0xa0
push eax
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x5133bb
push 0
push 0
mov ecx, dword [ebp - 0x1d4]
imul ecx, ecx, 0xb
add ecx, 0xa0
push ecx
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x4b
jne 0x5135ac
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e4], 0
jmp 0x5133fb
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
cmp dword [ebp - 0x1e4], 5
jge 0x51356f
mov dword [ebp - 0x1e8], 0
cmp dword [ebp - 0x1e8], 0
jne 0x51356a
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x610], eax
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x610], 0
je 0x5134b2
push 0x50
push 1
push 0
fild dword [ebp - 0x1e4]
fmul dword [0x5ae148]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1e4]
fmul dword [0x5ad488]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x1e4]
fmul dword [0x5ae148]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x1e4]
imul edx, edx, 0xc8
add edx, 0x1f4
push edx
push 0x38
mov ecx, dword [ebp - 0x610]
call fcn.004cafc0
mov dword [ebp - 0xa3c], eax
jmp 0x5134bc
mov dword [ebp - 0xa3c], 0
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0x60c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1e8], 0
je 0x51356a
push 0xff55aaff
mov edx, dword [ebp - 0x1e8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1e8]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x1e8]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x1e8]
mov dword [edx + 0x104], 1
mov eax, dword [ebp - 0x28]
push eax
fild dword [ebp - 0x1e4]
fmul dword [0x5ad64c]
fadd dword [ebp - 0x2c]
fsub dword [0x5ad488]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x61c]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x1e8]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp - 0x1e8]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x5133ec
cmp dword [0x5d4c04], 0
je 0x5135a7
push 0xae
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x5135a7
push 0
push 0
push 0xae
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x4c
jne 0x5137a2
mov dword [ebp - 0x210], 0xff99bbff
mov dword [ebp - 0x20c], 0xff00ffaa
mov dword [ebp - 0x208], 0xffffaa00
mov dword [ebp - 0x204], 0xff880088
mov dword [ebp - 0x200], 0xffcc8888
mov dword [ebp - 0x214], 0
jmp 0x51360f
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 5
jge 0x51379d
mov ecx, dword [ebp - 0x214]
mov dword [ebp + ecx*4 - 0x1fc], 0
mov edx, dword [ebp - 0x214]
cmp dword [ebp + edx*4 - 0x1fc], 0
jne 0x513798
push 0xcc
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x624], eax
mov dword [ebp - 4], 0x29
cmp dword [ebp - 0x624], 0
je 0x51368b
push 1
push 0
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + eax*4 - 0x210]
push ecx
push 0xc
mov ecx, dword [ebp - 0x624]
call fcn.004d4700
mov dword [ebp - 0xa40], eax
jmp 0x513695
mov dword [ebp - 0xa40], 0
mov edx, dword [ebp - 0xa40]
mov dword [ebp - 0x620], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x620]
mov dword [ebp + eax*4 - 0x1fc], ecx
mov edx, dword [ebp - 0x214]
cmp dword [ebp + edx*4 - 0x1fc], 0
jne 0x5136d0
jmp 0x513600
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + eax*4 - 0x1fc]
mov dword [ecx + 0xa4], 0
mov edx, dword [ebp - 0x960]
add edx, 0x50
push edx
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + eax*4 - 0x1fc]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp + ecx*4 - 0x1fc]
fld dword [edx + 0x78]
fadd dword [0x5ae444]
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + eax*4 - 0x1fc]
fstp dword [ecx + 0x78]
mov edx, dword [ebp - 0x214]
imul edx, edx, 0x32
add edx, 0x514
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + eax*4 - 0x1fc]
mov dword [ecx + 0xb0], edx
mov edx, dword [ebp - 0x214]
mov eax, dword [ebp + edx*4 - 0x1fc]
mov dword [eax + 0x98], 0x3f800000
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp + ecx*4 - 0x1fc]
mov dword [edx + 0x9c], 0x3f800000
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp + eax*4 - 0x1fc]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x513600
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x4d
jne 0x513ae2
mov dword [ebp - 0x218], 0
jmp 0x5137d3
mov edx, dword [ebp - 0x218]
add edx, 1
mov dword [ebp - 0x218], edx
cmp dword [ebp - 0x218], 5
jge 0x513add
call fcn.0059a83f
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0xa44], edx
fild dword [ebp - 0xa44]
fstp dword [ebp - 0x224]
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x62c], eax
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x62c], 0
je 0x513892
push 0x50
push 8
push 0x3b03126f
fild dword [ebp - 0x218]
fmul dword [0x5ae5ec]
fsubr dword [0x5ae140]
push ecx
fstp dword [esp]
fild dword [ebp - 0x218]
fmul dword [0x5ae5ec]
fsubr dword [0x5ae140]
push ecx
fstp dword [esp]
fild dword [ebp - 0x218]
fmul dword [0x5ae5ec]
fsubr dword [0x5aec40]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x218]
imul edx, edx, 0x64
add edx, 0x1f4
push edx
push 0x65
mov ecx, dword [ebp - 0x62c]
call fcn.004cafc0
mov dword [ebp - 0xa48], eax
jmp 0x51389c
mov dword [ebp - 0xa48], 0
mov eax, dword [ebp - 0xa48]
mov dword [ebp - 0x628], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x628]
mov dword [ebp - 0x21c], ecx
cmp dword [ebp - 0x21c], 0
je 0x51395e
push 0xff5500ff
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x21c]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x21c]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x21c]
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 [0x5ae140]
fild dword [ebp - 0x218]
fmul dword [0x5ae140]
faddp st(1)
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x638]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x21c]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x640], eax
mov dword [ebp - 4], 0x2b
cmp dword [ebp - 0x640], 0
je 0x5139f1
push 0x50
push 8
push 0x3a03126f
fld dword [ebp - 0x224]
fmul dword [0x5ae5ec]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
fld dword [ebp - 0x224]
fmul dword [0x5ae5ec]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
fld dword [ebp - 0x224]
fmul dword [0x5ae5ec]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x218]
imul ecx, ecx, 0x64
add ecx, 0x1f4
push ecx
push 0x65
mov ecx, dword [ebp - 0x640]
call fcn.004cafc0
mov dword [ebp - 0xa4c], eax
jmp 0x5139fb
mov dword [ebp - 0xa4c], 0
mov edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x63c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x513ad8
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x220]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x220]
call dword [edx + 0x3c]
fld dword [0x5ae134]
fmul dword [ebp - 0x224]
fdiv dword [0x5ae0dc]
mov eax, dword [ebp - 0x220]
fstp dword [eax + 0x114]
mov ecx, dword [ebp - 0x220]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x220]
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 [0x5ae140]
fild dword [ebp - 0x218]
fmul dword [0x5ae140]
faddp st(1)
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x64c]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x220]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp - 0x220]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x5137c4
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x51
jne 0x513c55
mov dword [ebp - 0x228], 0
jmp 0x513b13
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 6
jge 0x513c50
mov dword [ebp - 0x22c], 0
cmp dword [ebp - 0x22c], 0
jne 0x513c4b
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x654], eax
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x654], 0
je 0x513ba5
push 0x50
push 1
push 0
push 0x40000000
fild dword [ebp - 0x228]
fmul dword [0x5ae140]
fadd dword [0x5ad8bc]
push ecx
fstp dword [esp]
push 0x40000000
mov ecx, dword [ebp - 0x228]
imul ecx, ecx, 0x32
add ecx, 0x320
push ecx
push 0x38
mov ecx, dword [ebp - 0x654]
call fcn.004cafc0
mov dword [ebp - 0xa50], eax
jmp 0x513baf
mov dword [ebp - 0xa50], 0
mov edx, dword [ebp - 0xa50]
mov dword [ebp - 0x650], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
je 0x513c4b
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x22c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x22c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x22c]
mov dword [ecx + 0x104], 1
mov edx, dword [ebp - 0x28]
push edx
fld dword [ebp - 0x2c]
fadd dword [0x5ae140]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x660]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x22c]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x22c]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x513b04
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x55
jne 0x513d5f
push 0x90
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x668], eax
mov dword [ebp - 4], 0x2d
cmp dword [ebp - 0x668], 0
je 0x513ce1
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 - 0x674]
call fcn.00433500
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 - 0x668]
call fcn.004d3e70
mov dword [ebp - 0xa54], eax
jmp 0x513ceb
mov dword [ebp - 0xa54], 0
mov ecx, dword [ebp - 0xa54]
mov dword [ebp - 0x664], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x664]
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0
je 0x513d5a
mov eax, dword [ebp - 0x230]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
cmp dword [0x5d4c04], 0
je 0x513d5a
push 0x25
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x513d5a
push 0
push 0
push 0x25
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x57
jne 0x513e3e
push 0x9c
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x67c], eax
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0x67c], 0
je 0x513df2
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 - 0x688]
call fcn.00433500
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 - 0x67c]
call fcn.004f1500
mov dword [ebp - 0xa58], eax
jmp 0x513dfc
mov dword [ebp - 0xa58], 0
mov ecx, dword [ebp - 0xa58]
mov dword [ebp - 0x678], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x678]
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 0
je 0x513e39
mov eax, dword [ebp - 0x234]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x515072
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x58
jne 0x514290
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x60], 0
je 0x514290
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x480], 0
je 0x51428b
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 - 0x694]
call fcn.00433500
mov ecx, dword [eax]
mov dword [ebp - 0x240], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x23c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x6a0]
call fcn.00433500
mov ecx, dword [eax]
mov dword [ebp - 0x250], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x24c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], 0
jmp 0x513f2a
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 5
jge 0x514253
mov dword [ebp - 0x258], 0
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x200], 4
je 0x513f5f
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x200], 8
jne 0x513f69
mov dword [ebp - 0x258], 1
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 4], 0x2f
cmp dword [ebp - 0x6a8], 0
je 0x513feb
push 0
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x250]
mov dword [ecx], edx
mov eax, dword [ebp - 0x24c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x248]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x240]
mov dword [eax], ecx
mov edx, dword [ebp - 0x23c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x238]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
push eax
mov ecx, dword [ebp - 0x6a8]
call fcn.004d79b0
mov dword [ebp - 0xa5c], eax
jmp 0x513ff5
mov dword [ebp - 0xa5c], 0
mov ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0x6a4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6a4]
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 0
je 0x51424e
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x76a]
test ecx, ecx
jle 0x514097
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x514097
mov dword [ebp - 0x258], 0
push 0x20
mov eax, dword [ebp - 0x960]
add eax, 0x126
push eax
mov ecx, dword [ebp - 0x254]
add ecx, 0xe8
push ecx
call fcn.00599ae0
add esp, 0xc
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x76c]
mov dword [edx + 0x5c], ecx
jmp 0x5140ba
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x166
push edx
mov eax, dword [ebp - 0x254]
add eax, 0xe8
push eax
call fcn.00599ae0
add esp, 0xc
mov ecx, dword [ebp - 0x254]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x254]
mov dword [edx + 0x12c], 0x3f000000
mov eax, dword [ebp - 0x254]
mov dword [eax + 0x130], 0x3e99999a
mov ecx, dword [ebp - 0x254]
mov dword [ecx + 0x134], 0x3e4ccccd
mov edx, dword [ebp - 0x258]
push edx
mov eax, dword [ebp - 0x254]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x254]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x118], ecx
mov edx, dword [ebp - 0x244]
imul edx, edx, 0xc8
add edx, 0x64
mov eax, dword [ebp - 0x254]
mov dword [eax + 0x11c], edx
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x254]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x254]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0x128]
mov dword [eax + 0x17c], edx
mov eax, dword [ebp - 0x254]
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 + 0x210]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x5d8180]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x708]
mov ecx, dword [ecx + eax*4 + 0x67a108]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0x60]
call fcn.004be9a4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx + 0x2e4]
mov dword [ecx + 0x2e4], edx
mov eax, dword [ebp - 0x254]
mov dword [eax + 0x124], 6
mov ecx, dword [ebp - 0x254]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x513f1b
cmp dword [0x5d4c04], 0
je 0x51428b
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x51428b
push 0
push 0
push 0xa0
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x59
jne 0x5146c2
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x25c], 0
jmp 0x5142cb
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 5
jge 0x5146bd
mov dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x200], 4
je 0x514300
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 8
jne 0x51430a
mov dword [ebp - 0x264], 1
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0x6b0], 0
je 0x51439a
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x6bc]
call fcn.00433500
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.00433500
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.004d79b0
mov dword [ebp - 0xa60], eax
jmp 0x5143a4
mov dword [ebp - 0xa60], 0
mov eax, dword [ebp - 0xa60]
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x260], 0
je 0x5146b8
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
test eax, eax
jle 0x514492
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x514492
mov dword [ebp - 0x264], 0
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x76c]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x260]
add eax, 0xe8
push eax
call fcn.00599ae0
add esp, 0xc
mov ecx, dword [ebp - 0x260]
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 [0x5ae1f4]
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 - 0x260]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x260]
call dword [eax + 0x3c]
jmp 0x514500
push 0x20
mov ecx, dword [ebp - 0x960]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x260]
add edx, 0xe8
push edx
call fcn.00599ae0
add esp, 0xc
mov eax, dword [ebp - 0x260]
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 [0x5ae1f4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x260]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x260]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x260]
mov dword [edx + 0x12c], 0x3e99999a
mov eax, dword [ebp - 0x260]
mov dword [eax + 0x130], 0x3e99999a
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x134], 0x3e99999a
mov edx, dword [ebp - 0x264]
push edx
mov eax, dword [ebp - 0x260]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x260]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x25c]
imul eax, eax, 0x64
mov ecx, dword [ebp + 8]
add ecx, eax
mov edx, dword [ebp - 0x260]
mov dword [edx + 0x118], ecx
mov eax, dword [ebp - 0x25c]
imul eax, eax, 0x32
add eax, 0x190
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x11c], eax
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 0x128]
mov dword [edx + 0x17c], ecx
mov edx, dword [ebp - 0x260]
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 + 0x210]
imul eax, eax, 0x70
lea ecx, [ecx + eax + 0x5d8180]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x5c]
imul eax, eax, 0x2a0
mov edx, dword [ebp - 0x960]
mov edx, dword [edx + 0x708]
mov eax, dword [eax + edx*4 + 0x67a108]
movsx ecx, word [ecx + eax*2]
push ecx
mov edx, dword [ebp - 0x260]
mov ecx, dword [edx + 0x60]
call fcn.004be9a4
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x76a]
test ecx, ecx
jle 0x514676
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x120], 0
je 0x514676
mov eax, dword [ebp - 0x260]
cmp dword [eax + 0x60], 0
je 0x514676
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x76c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x67a114]
push eax
mov ecx, dword [ebp - 0x260]
mov ecx, dword [ecx + 0x60]
call fcn.004be9a4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx + 0x60]
mov eax, dword [eax + 0x2e4]
mov dword [edx + 0x2e4], eax
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0x124], 0
mov edx, dword [ebp - 0x260]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x5142bc
jmp 0x515072
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x5a
jne 0x514711
cmp dword [0x5d4c04], 0
je 0x51470c
push 0xa9
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x51470c
push 0
push 0
push 0xa9
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x4f
jne 0x514ba5
fld dword [ebp - 0x38]
fadd dword [0x5ae690]
fstp dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x288], 3
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x480], 0
je 0x514814
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
fld dword [eax + 0x38]
fdiv dword [0x5ae3c8]
fadd dword [ecx + 0x30]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x6d4]
call fcn.00433500
push eax
lea ecx, [ebp - 0x27c]
call fcn.00433530
mov ecx, dword [ebp - 0x960]
xor eax, eax
mov al, byte [ecx + 0x413]
cdq
mov ecx, 0x50
idiv ecx
mov edx, dword [ebp - 0x288]
add edx, eax
mov dword [ebp - 0x288], edx
cmp dword [ebp - 0x288], 3
jge 0x514801
mov dword [ebp - 0x288], 3
cmp dword [ebp - 0x288], 6
jle 0x514814
mov dword [ebp - 0x288], 6
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x270], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
jmp 0x514854
mov eax, dword [ebp - 0x280]
add eax, 1
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
cmp ecx, dword [ebp - 0x288]
jge 0x514ba0
call fcn.0059a83f
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x294], edx
cmp dword [ebp - 0x280], 1
jle 0x514891
mov edx, dword [ebp - 0x280]
add edx, 3
mov dword [ebp - 0x284], edx
fld dword [ebp - 0x270]
fsub dword [0x5ae1f4]
fstp dword [ebp - 0xa64]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x38]
fmul dword [0x5ad8bc]
fstp dword [ebp - 0xa68]
fild dword [ebp - 0x280]
fdiv dword [0x5ad774]
fmul dword [0x5ae134]
fadd st(0), st(0)
push ecx
fstp dword [esp]
call fcn.00425ed0
add esp, 4
fmul dword [ebp - 0xa68]
fadd dword [ebp - 0xa64]
fstp dword [ebp - 0x270]
fld dword [ebp - 0x268]
fsub dword [0x5ae1f4]
fstp dword [ebp - 0xa6c]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x38]
fmul dword [0x5ad8bc]
fstp dword [ebp - 0xa70]
fild dword [ebp - 0x280]
fdiv dword [0x5ad774]
fmul dword [0x5ae134]
fadd st(0), st(0)
push ecx
fstp dword [esp]
call fcn.00494650
add esp, 4
fmul dword [ebp - 0xa70]
fadd dword [ebp - 0xa6c]
fstp dword [ebp - 0x268]
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [eax + 0x38]
fstp dword [ebp - 0x26c]
mov dword [ebp - 0x298], 0x777777
cmp dword [ebp - 0x284], 8
jne 0x51497a
mov dword [ebp - 0x298], 0x883333
jmp 0x5149b7
cmp dword [ebp - 0x284], 7
jne 0x51498f
mov dword [ebp - 0x298], 0x884388
jmp 0x5149b7
cmp dword [ebp - 0x284], 6
jne 0x5149a4
mov dword [ebp - 0x298], 0x338843
jmp 0x5149b7
cmp dword [ebp - 0x284], 5
jne 0x5149b7
mov dword [ebp - 0x298], 0x222288
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 4], 0x31
cmp dword [ebp - 0x6dc], 0
je 0x514a14
push 0x50
push 1
push 0
push 0x3f800000
push 0x3f800000
push 0x3f800000
mov ecx, dword [ebp - 0x280]
imul ecx, ecx, 0x64
add ecx, 0x190
push ecx
push 0x38
mov ecx, dword [ebp - 0x6dc]
call fcn.004cafc0
mov dword [ebp - 0xa74], eax
jmp 0x514a1e
mov dword [ebp - 0xa74], 0
mov edx, dword [ebp - 0xa74]
mov dword [ebp - 0x6d8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x6d8]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
je 0x514aa5
mov ecx, dword [ebp - 0x298]
push ecx
mov edx, dword [ebp - 0x290]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x290]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x290]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x290]
mov dword [edx + 0x104], 2
lea eax, [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0x290]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x290]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
push 0x94
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x6e4], eax
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0x6e4], 0
je 0x514b37
push 0
mov eax, dword [ebp - 0x284]
push eax
push 0
push 0x97
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x486]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x27c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x278]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x274]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x270]
mov dword [edx], eax
mov ecx, dword [ebp - 0x26c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x268]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x6e4]
call fcn.004c7c90
mov dword [ebp - 0xa78], eax
jmp 0x514b41
mov dword [ebp - 0xa78], 0
mov ecx, dword [ebp - 0xa78]
mov dword [ebp - 0x6e0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6e0]
mov dword [ebp - 0x28c], edx
mov eax, dword [ebp - 0x280]
imul eax, eax, 0x64
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx + 0x24]
add edx, eax
mov eax, dword [ebp - 0x28c]
mov dword [eax + 0x24], edx
cmp dword [ebp - 0x28c], 0
je 0x514b9b
mov ecx, dword [ebp - 0x28c]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x514845
jmp 0x515072
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x97
jl 0x514bce
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x99
jle 0x514c08
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x68
je 0x514c08
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x69
je 0x514c08
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x5a
jne 0x515072
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x960]
fld dword [edx*8 + 0x936454]
fmul dword [eax + 0x38]
fmul dword [0x5ae148]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x30]
fstp dword [ebp - 0x2c]
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x5c], 8
jne 0x514c54
mov eax, dword [ebp - 0x960]
fld dword [0x5ad8bc]
fmul dword [eax + 0x38]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
fld dword [ebp - 0x38]
fadd dword [0x5ae690]
fstp dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2a0], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x480], 0
je 0x514ce9
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
fld dword [edx + 0x38]
fdiv dword [0x5aecc8]
fadd dword [eax + 0x30]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x480]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x6f0]
call fcn.00433500
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00433530
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x738]
add ecx, 1
mov edx, dword [ebp - 0x960]
mov dword [edx + 0x738], ecx
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x768]
cmp ecx, 1
jne 0x514e4b
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x514], 0
je 0x514e4b
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x1f9]
cmp ecx, 1
je 0x514e4b
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x755]
test eax, eax
jne 0x514e4b
push 0x94
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 4], 0x33
cmp dword [ebp - 0x6f8], 0
je 0x514e04
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x7ac]
push edx
push 0
mov eax, dword [ebp - 0x960]
mov cl, byte [eax + 0x769]
push ecx
push 0x2710
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x486]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2a4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2a0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x29c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x514]
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.004c7c90
mov dword [ebp - 0xa7c], eax
jmp 0x514e0e
mov dword [ebp - 0xa7c], 0
mov edx, dword [ebp - 0xa7c]
mov dword [ebp - 0x6f4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0
je 0x514e4b
mov ecx, dword [ebp - 0x2a8]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x69
jne 0x514f5a
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x486]
cmp eax, 2
jne 0x514f5a
push 0xc8
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x700], eax
mov dword [ebp - 4], 0x34
cmp dword [ebp - 0x700], 0
je 0x514ef1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x480]
push edx
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2a4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2a0]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x29c]
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.004e38a0
mov dword [ebp - 0xa80], eax
jmp 0x514efb
mov dword [ebp - 0xa80], 0
mov ecx, dword [ebp - 0xa80]
mov dword [ebp - 0x6fc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x2ac], edx
cmp dword [ebp - 0x2ac], 0
je 0x514f38
mov eax, dword [ebp - 0x2ac]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x470]
add eax, 0x2bc
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0x470], eax
jmp 0x515072
push 0x94
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x708], eax
mov dword [ebp - 4], 0x35
cmp dword [ebp - 0x708], 0
je 0x51500e
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x7ac]
push eax
mov ecx, dword [ebp - 0x960]
xor edx, edx
mov dl, byte [ecx + 0x195]
push edx
mov eax, dword [ebp - 0x960]
mov cl, byte [eax + 0x769]
push ecx
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
push eax
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x486]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2a4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2a0]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x29c]
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 - 0x708]
call fcn.004c7c90
mov dword [ebp - 0xa84], eax
jmp 0x515018
mov dword [ebp - 0xa84], 0
mov ecx, dword [ebp - 0xa84]
mov dword [ebp - 0x704], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x704]
mov dword [ebp - 0x2b0], edx
cmp dword [ebp - 0x2b0], 0
je 0x515055
mov eax, dword [ebp - 0x2b0]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x470]
add eax, 0x1f4
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0x470], eax
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x97
jl 0x51509b
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x99
jle 0x5150d1
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x484]
cmp ecx, 0x68
je 0x5150d1
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x69
je 0x5150d1
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x484]
cmp edx, 0x5a
jne 0x5150ef
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x72c], 0
je 0x5150ef
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x738], 2
jl 0x515118
push 0x18
push 0
mov edx, dword [ebp - 0x960]
add edx, 0x470
push edx
call fcn.005998e0
add esp, 0xc
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x738], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x752]
cmp edx, 1
jne 0x5154e0
cmp dword [0x9362d8], 0
jne 0x5154e0
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x5d8]
cmp ecx, 0x1f4
jbe 0x515454
call fcn.0059a83f
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0xa88], edx
fild dword [ebp - 0xa88]
fstp dword [ebp - 0x2c0]
mov dword [ebp - 0x2bc], 0x40000000
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
cmp eax, 1
jne 0x51519b
mov dword [ebp - 0x2bc], 0x3fa66666
mov dword [ebp - 0x2b8], 0
jmp 0x5151b6
mov ecx, dword [ebp - 0x2b8]
add ecx, 1
mov dword [ebp - 0x2b8], ecx
cmp dword [ebp - 0x2b8], 2
jge 0x515445
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x4dc], 0
jne 0x51535e
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x710], eax
mov dword [ebp - 4], 0x36
cmp dword [ebp - 0x710], 0
je 0x51529f
push 0x50
push 8
push 0
fld dword [0x5ae140]
fmul dword [ebp - 0x2c0]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x2bc]
fild dword [ebp - 0x2b8]
fmul dword [0x5ae13c]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5ae140]
fmul dword [ebp - 0x2c0]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x2bc]
fild dword [ebp - 0x2b8]
fmul dword [0x5ae13c]
fsubp st(1)
push ecx
fstp dword [esp]
fld dword [0x5ae140]
fmul dword [ebp - 0x2c0]
fadd dword [0x5ad8bc]
fmul dword [ebp - 0x2bc]
fild dword [ebp - 0x2b8]
fmul dword [0x5ae13c]
fsubp st(1)
push ecx
fstp dword [esp]
push 0
push 0x6d
mov ecx, dword [ebp - 0x710]
call fcn.004cafc0
mov dword [ebp - 0xa8c], eax
jmp 0x5152a9
mov dword [ebp - 0xa8c], 0
mov ecx, dword [ebp - 0xa8c]
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x70c]
mov dword [eax + edx*4 + 0x4dc], ecx
push 0xffffdd00
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x4dc]
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + edx*4 + 0x4dc]
mov eax, dword [edx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x4dc]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x4dc]
mov dword [eax + 0x104], 0
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x4dc]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x4dc], 0
je 0x515440
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x4dc]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0xfc]
mov eax, ecx
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [ebp - 0xa94], edx
mov dword [ebp - 0xa90], 0
fild qword [ebp - 0xa94]
fmul dword [0x5ae27c]
fdiv dword [0x5ae3c0]
fiadd dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x4dc]
fstp dword [ecx + 0x114]
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x2c]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5ae434]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x28]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x71c]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x4dc]
add ecx, 0x74
call fcn.00433530
jmp 0x5151a7
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x5d8], edx
mov dword [ebp - 0x2b4], 0
jmp 0x51546f
mov eax, dword [ebp - 0x2b4]
add eax, 1
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 2
jge 0x5154de
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x4dc], 0
je 0x5154dc
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x54]
fadd dword [0x5ae690]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x728]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x4dc]
add ecx, 0x74
call fcn.00433530
jmp 0x515460
jmp 0x515558
mov dword [ebp - 0x2c4], 0
jmp 0x5154fb
mov ecx, dword [ebp - 0x2c4]
add ecx, 1
mov dword [ebp - 0x2c4], ecx
cmp dword [ebp - 0x2c4], 2
jge 0x515558
mov edx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x4dc], 0
je 0x515556
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x4dc]
push eax
mov ecx, dword [0x13c1aac]
mov edx, dword [ecx]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + eax*4 + 0x4dc], 0
jmp 0x5154ec
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x74d]
cmp eax, 1
jne 0x5155b4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x5cc]
cmp edx, 0x3e8
jbe 0x5155b4
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4d4], 0
je 0x5155a5
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4d4]
call fcn.004eb695
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x5cc], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x750]
cmp eax, 1
jne 0x5156d2
mov dword [ebp - 0x2c8], 0x3e8
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 0x38
jne 0x515600
mov edx, dword [ebp - 0x960]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x515600
mov dword [ebp - 0x2c8], 0xbb8
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x5d0]
cmp edx, dword [ebp - 0x2c8]
jbe 0x5156d2
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4d8], 0
je 0x5156d2
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 0x38
jne 0x515683
mov edx, dword [ebp - 0x960]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x515683
call fcn.0059a83f
cdq
mov ecx, 0x32
idiv ecx
neg edx
mov dword [ebp - 0xa98], edx
fild dword [ebp - 0xa98]
fdiv dword [0x5ae0e4]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4d8]
fstp dword [eax + 0xac]
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4d8]
call fcn.004eb695
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x960]
fld dword [ecx*8 + 0x936450]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4d8]
fstp dword [ecx + 0x90]
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
mov dword [edx + 0x5d0], eax
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x753]
cmp edx, 1
jne 0x515805
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x5e4]
cmp ecx, 0x3e8
jbe 0x515805
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 - 0x2d8]
call fcn.00433500
push 0xac
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x730], eax
mov dword [ebp - 4], 0x37
cmp dword [ebp - 0x730], 0
je 0x5157af
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x480]
push eax
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2d8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2d4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2d0]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2d8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2d4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2d0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x730]
call fcn.004f0410
mov dword [ebp - 0xa9c], eax
jmp 0x5157b9
mov dword [ebp - 0xa9c], 0
mov edx, dword [ebp - 0xa9c]
mov dword [ebp - 0x72c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x2cc], eax
cmp dword [ebp - 0x2cc], 0
je 0x5157f6
mov ecx, dword [ebp - 0x2cc]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x5e4], ecx
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x761]
cmp eax, 1
je 0x51582a
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 0x2c
jne 0x515c79
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x1f9]
cmp eax, 1
je 0x515c79
cmp dword [0x9362d8], 0
jne 0x515c79
mov dword [ebp - 0x2ec], 0xff99bbff
mov dword [ebp - 0x2e8], 0xff00ffaa
mov dword [ebp - 0x2e4], 0xffffaa00
mov dword [ebp - 0x2e0], 0xff880088
mov dword [ebp - 0x2dc], 0xffcc8888
mov dword [ebp - 0x2f0], 0
jmp 0x51589a
mov ecx, dword [ebp - 0x2f0]
add ecx, 1
mov dword [ebp - 0x2f0], ecx
cmp dword [ebp - 0x2f0], 2
jge 0x515c77
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x590], 0
jne 0x5159c4
push 0xcc
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x738], eax
mov dword [ebp - 4], 0x38
cmp dword [ebp - 0x738], 0
je 0x51590b
push 1
push 0
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp + ecx*4 - 0x2ec]
push edx
push 0xc
mov ecx, dword [ebp - 0x738]
call fcn.004d4700
mov dword [ebp - 0xaa0], eax
jmp 0x515915
mov dword [ebp - 0xaa0], 0
mov eax, dword [ebp - 0xaa0]
mov dword [ebp - 0x734], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x734]
mov dword [edx + ecx*4 + 0x590], eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x590], 0
jne 0x51595c
jmp 0x51588b
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x590]
mov dword [edx + 0xa4], 0
mov eax, dword [ebp - 0x960]
add eax, 0x50
push eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + ecx*4 + 0x590]
add ecx, 0x74
call fcn.00433530
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x590]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515c72
mov eax, dword [ebp - 0x2f0]
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0xaa4], edx
fild dword [ebp - 0xaa4]
fmul dword [0x5ad8bc]
fdiv dword [0x5ae0f0]
mov eax, dword [ebp + 8]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov dword [ebp - 0xaac], edx
mov dword [ebp - 0xaa8], 0
fild qword [ebp - 0xaac]
fdiv dword [0x5ae3c0]
faddp st(1)
fmul dword [0x5ae27c]
fstp dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x2f0]
and edx, 0x80000001
jns 0x515a33
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x515a56
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x590]
mov eax, dword [ebp - 0x2f4]
mov dword [edx + 0x8c], eax
mov eax, dword [ebp - 0x2f0]
cdq
mov ecx, 3
idiv ecx
cmp edx, 1
jne 0x515a88
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
mov edx, dword [ebp - 0x2f4]
mov dword [ecx + 0x90], edx
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x76a]
cmp ecx, 1
jne 0x515b22
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.00433500
push eax
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x590]
mov dword [eax + 0x98], 0x3fc00000
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x590]
mov dword [eax + 0x9c], 0x3fc00000
jmp 0x515bc3
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 + 0x936454]
fmul dword [edx + 0x38]
fdiv dword [0x5ad63c]
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.00433500
push eax
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + eax*4 + 0x590]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
mov dword [ecx + 0x98], 0x3f800000
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
mov dword [ecx + 0x9c], 0x3f800000
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x200], 0x2c
jne 0x515c72
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x590]
mov dword [edx + 0xa4], 0x2d
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x590]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x98], ecx
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x9c], eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x590]
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x38]
fmul dword [0x5af724]
fadd dword [eax + 0x78]
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
fstp dword [ecx + 0x78]
jmp 0x51588b
jmp 0x515cf1
mov dword [ebp - 0x2f8], 0
jmp 0x515c94
mov edx, dword [ebp - 0x2f8]
add edx, 1
mov dword [ebp - 0x2f8], edx
cmp dword [ebp - 0x2f8], 5
jge 0x515cf1
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + eax*4 + 0x590], 0
je 0x515cef
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x590]
push ecx
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x960]
mov dword [edx + ecx*4 + 0x590], 0
jmp 0x515c85
cmp dword [0x9362e0], 0
jne 0x515e4d
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x766]
cmp ecx, 1
jne 0x515e4d
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x610]
cmp eax, 0xfa
jbe 0x515e4d
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 - 0x308]
call fcn.00433500
push 0xac
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x758], eax
mov dword [ebp - 4], 0x39
cmp dword [ebp - 0x758], 0
je 0x515dd4
mov ecx, dword [ebp - 0x960]
push ecx
push 2
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x308]
mov dword [edx], eax
mov ecx, dword [ebp - 0x304]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x300]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x308]
mov dword [ecx], edx
mov eax, dword [ebp - 0x304]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x300]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x758]
call fcn.004f0410
mov dword [ebp - 0xab0], eax
jmp 0x515dde
mov dword [ebp - 0xab0], 0
mov eax, dword [ebp - 0xab0]
mov dword [ebp - 0x754], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x2fc], ecx
cmp dword [ebp - 0x2fc], 0
je 0x515e1a
mov edx, dword [ebp - 0x2fc]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x610], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4c8], 0
je 0x515e4d
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4c8]
call fcn.004eb695
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x74e]
cmp ecx, 1
jne 0x515fff
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4ec], 0
jne 0x515fb6
push 0x124
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x760], eax
mov dword [ebp - 4], 0x3a
cmp dword [ebp - 0x760], 0
je 0x515ec6
push 0xbb8
push 0
push 0x3fc00000
push 0x3fc00000
push 0x3fc00000
push 0
push 0x5e
mov ecx, dword [ebp - 0x760]
call fcn.004cd960
mov dword [ebp - 0xab4], eax
jmp 0x515ed0
mov dword [ebp - 0xab4], 0
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0x75c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x75c]
mov dword [ecx + 0x4ec], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4ec], 0
je 0x515fb4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4ec]
mov dword [edx + 0x104], 2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4ec]
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 [0x5ad64c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x76c]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x4ec]
add ecx, 0x74
call fcn.00433530
push 0x33333333
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4ec]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + 0x4ec]
mov eax, dword [edx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4ec]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x515ffd
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5ad64c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x778]
call fcn.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4ec]
add ecx, 0x74
call fcn.00433530
jmp 0x51603c
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4ec], 0
je 0x51603c
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4ec]
push eax
mov ecx, dword [0x13c1aac]
mov edx, dword [ecx]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x4ec], 0
cmp dword [0x9362dc], 0
jne 0x516474
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x756]
cmp edx, 1
jne 0x516474
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x708], 2
je 0x516081
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x708], 3
jne 0x516474
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x600]
cmp eax, 0x50
jbe 0x516474
mov dword [ebp - 0x310], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 4
je 0x5160c1
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x200], 8
jne 0x5160cb
mov dword [ebp - 0x310], 1
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x780], eax
mov dword [ebp - 4], 0x3b
cmp dword [ebp - 0x780], 0
je 0x51615b
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x78c]
call fcn.00433500
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.00433500
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.004d79b0
mov dword [ebp - 0xab8], eax
jmp 0x516165
mov dword [ebp - 0xab8], 0
mov eax, dword [ebp - 0xab8]
mov dword [ebp - 0x77c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x30c], ecx
cmp dword [ebp - 0x30c], 0
je 0x516465
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
test eax, eax
jle 0x516253
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x516253
mov dword [ebp - 0x310], 0
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x76c]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x30c]
add eax, 0xe8
push eax
call fcn.00599ae0
add esp, 0xc
mov ecx, dword [ebp - 0x30c]
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 [0x5ae1f4]
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 - 0x30c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x30c]
call dword [eax + 0x3c]
jmp 0x5162c1
push 0x20
mov ecx, dword [ebp - 0x960]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x30c]
add edx, 0xe8
push edx
call fcn.00599ae0
add esp, 0xc
mov eax, dword [ebp - 0x30c]
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 [0x5ae1f4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x30c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x30c]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x30c]
mov dword [ecx + 0x15c], 1
mov edx, dword [ebp - 0x30c]
mov dword [edx + 0x12c], 0x3e99999a
mov eax, dword [ebp - 0x30c]
mov dword [eax + 0x130], 0x3e99999a
mov ecx, dword [ebp - 0x30c]
mov dword [ecx + 0x134], 0x3e99999a
mov edx, dword [ebp - 0x310]
push edx
mov eax, dword [ebp - 0x30c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x30c]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x118], ecx
mov edx, dword [ebp - 0x30c]
mov dword [edx + 0x11c], 0xc8
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ecx + 0x128]
mov dword [eax + 0x17c], edx
mov eax, dword [ebp - 0x30c]
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 + 0x210]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x5d8180]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x708]
mov ecx, dword [ecx + eax*4 + 0x67a108]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x30c]
mov ecx, dword [eax + 0x60]
call fcn.004be9a4
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x76a]
test edx, edx
jle 0x516422
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x120], 0
je 0x516422
mov ecx, dword [ebp - 0x30c]
cmp dword [ecx + 0x60], 0
je 0x516422
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x76c]
imul eax, eax, 0x2a0
mov ecx, dword [eax + 0x67a114]
push ecx
mov edx, dword [ebp - 0x30c]
mov ecx, dword [edx + 0x60]
call fcn.004be9a4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp - 0x30c]
mov eax, dword [edx + 0x60]
mov ecx, dword [ecx + 0x2e4]
mov dword [eax + 0x2e4], ecx
mov edx, dword [ebp - 0x30c]
mov dword [edx + 0x124], 0
mov eax, dword [ebp - 0x30c]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
mov dword [edx + 0x600], eax
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x751]
cmp edx, 1
jne 0x516627
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4f0], 0
jne 0x5165de
push 0x124
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 4], 0x3c
cmp dword [ebp - 0x7a0], 0
je 0x5164ed
push 0x1388
push 0
push 0x3fc00000
push 0x3fc00000
push 0x3fc00000
push 0
push 0x5d
mov ecx, dword [ebp - 0x7a0]
call fcn.004cd960
mov dword [ebp - 0xabc], eax
jmp 0x5164f7
mov dword [ebp - 0xabc], 0
mov ecx, dword [ebp - 0xabc]
mov dword [ebp - 0x79c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x79c]
mov dword [edx + 0x4f0], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4f0], 0
je 0x5165dc
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f0]
mov dword [eax + 0x104], 3
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4f0]
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 [0x5ae13c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x7ac]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4f0]
add ecx, 0x74
call fcn.00433530
push 0x88888800
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f0]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f0]
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f0]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x516625
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x960]
fld dword [edx + 0x30]
fadd dword [0x5ae13c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x7b8]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4f0]
add ecx, 0x74
call fcn.00433530
jmp 0x516663
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4f0], 0
je 0x516663
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4f0]
push edx
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x4f0], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x755]
cmp edx, 1
jne 0x516829
mov eax, dword [0x684bb0]
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [eax + 0x4c]
jne 0x516829
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4f4], 0
jne 0x5167e0
push 0x124
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 4], 0x3d
cmp dword [ebp - 0x7c0], 0
je 0x5166f0
push 0x1388
push 0
push 0x3f99999a
push 0x3f99999a
push 0x3f99999a
push 0
push 0x5e
mov ecx, dword [ebp - 0x7c0]
call fcn.004cd960
mov dword [ebp - 0xac0], eax
jmp 0x5166fa
mov dword [ebp - 0xac0], 0
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x7bc]
mov dword [ecx + 0x4f4], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4f4], 0
je 0x5167de
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4f4]
mov dword [edx + 0x104], 4
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f4]
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 [0x5ad488]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x7cc]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x4f4]
add ecx, 0x74
call fcn.00433530
push 0xaaaa0000
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4f4]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + 0x4f4]
mov eax, dword [edx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4f4]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x516827
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5ad488]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x7d8]
call fcn.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f4]
add ecx, 0x74
call fcn.00433530
jmp 0x516866
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4f4], 0
je 0x516866
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f4]
push eax
mov ecx, dword [0x13c1aac]
mov edx, dword [ecx]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x4f4], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 8
jne 0x51688c
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x765]
cmp eax, 1
jne 0x51688c
jmp 0x516925
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 8
jne 0x516925
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x52c], 0
je 0x516925
mov dword [ebp - 0x314], 0
jmp 0x5168c9
mov eax, dword [ebp - 0x314]
add eax, 1
mov dword [ebp - 0x314], eax
cmp dword [ebp - 0x314], 7
jge 0x516925
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x960]
cmp dword [edx + ecx*4 + 0x52c], 0
je 0x516923
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + eax*4 + 0x52c]
push edx
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + eax*4 + 0x52c], 0
jmp 0x5168ba
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x759]
cmp eax, 1
jne 0x516c20
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x75a]
test edx, edx
jne 0x516c20
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4f8], 0
jne 0x516b50
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 4], 0x3e
cmp dword [ebp - 0x7e0], 0
je 0x5169b5
push 0x50
push 1
push 0
push 0x3ecccccd
push 0x3ecccccd
push 0x3ecccccd
push 0
push 0x1b6
mov ecx, dword [ebp - 0x7e0]
call fcn.004cafc0
mov dword [ebp - 0xac4], eax
jmp 0x5169bf
mov dword [ebp - 0xac4], 0
mov ecx, dword [ebp - 0xac4]
mov dword [ebp - 0x7dc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x7dc]
mov dword [edx + 0x4f8], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4f8], 0
je 0x516b4b
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f8]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4f8]
mov dword [edx + 0x104], 2
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x76a]
cmp ecx, 1
jne 0x516a94
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 + 0x936454]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0x7ec]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x4f8]
add ecx, 0x74
call fcn.00433530
jmp 0x516aee
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 + 0x936454]
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.00433500
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x4f8]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f8]
mov dword [eax + 0x148], 0xa
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4f8]
mov dword [edx + 0x13c], 0x3dcccccd
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f8]
mov dword [ecx + 0x140], 0x3dcccccd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f8]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x516c1e
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
cmp eax, 1
jne 0x516bc4
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 + 0x936454]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x804]
call fcn.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f8]
add ecx, 0x74
call fcn.00433530
jmp 0x516c1e
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 + 0x936454]
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.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4f8]
add ecx, 0x74
call fcn.00433530
jmp 0x516c5d
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x4f8], 0
je 0x516c5d
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4f8]
push eax
mov ecx, dword [0x13c1aac]
mov edx, dword [ecx]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x4f8], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x75a]
cmp edx, 1
jne 0x516f57
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x759]
test ecx, ecx
jne 0x516f57
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x4fc], 0
jne 0x516e87
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x818], eax
mov dword [ebp - 4], 0x3f
cmp dword [ebp - 0x818], 0
je 0x516ced
push 0x50
push 1
push 0
push 0x3ecccccd
push 0x3ecccccd
push 0x3ecccccd
push 0
push 0x1b7
mov ecx, dword [ebp - 0x818]
call fcn.004cafc0
mov dword [ebp - 0xac8], eax
jmp 0x516cf7
mov dword [ebp - 0xac8], 0
mov eax, dword [ebp - 0xac8]
mov dword [ebp - 0x814], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x814]
mov dword [ecx + 0x4fc], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4fc], 0
je 0x516e82
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4fc]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4fc]
mov dword [ecx + 0x104], 2
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
cmp eax, 1
jne 0x516dcc
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 + 0x936454]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x824]
call fcn.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4fc]
add ecx, 0x74
call fcn.00433530
jmp 0x516e26
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 + 0x936454]
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.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4fc]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4fc]
mov dword [edx + 0x148], 0xa
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x4fc]
mov dword [ecx + 0x13c], 0x3dcccccd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x4fc]
mov dword [eax + 0x140], 0x3dcccccd
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4fc]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x516f55
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x76a]
cmp edx, 1
jne 0x516efb
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 + 0x936454]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x83c]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4fc]
add ecx, 0x74
call fcn.00433530
jmp 0x516f55
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 + 0x936454]
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.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x4fc]
add ecx, 0x74
call fcn.00433530
jmp 0x516f93
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x4fc], 0
je 0x516f93
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x4fc]
push edx
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x4fc], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x75a]
cmp edx, 1
jne 0x51728e
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x759]
cmp ecx, 1
jne 0x51728e
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x500], 0
jne 0x5171be
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x850], eax
mov dword [ebp - 4], 0x40
cmp dword [ebp - 0x850], 0
je 0x517024
push 0x50
push 1
push 0
push 0x3ecccccd
push 0x3ecccccd
push 0x3ecccccd
push 0
push 0x1b8
mov ecx, dword [ebp - 0x850]
call fcn.004cafc0
mov dword [ebp - 0xacc], eax
jmp 0x51702e
mov dword [ebp - 0xacc], 0
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x84c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x84c]
mov dword [ecx + 0x500], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x500], 0
je 0x5171b9
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x500]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x500]
mov dword [ecx + 0x104], 2
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
cmp eax, 1
jne 0x517103
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 + 0x936454]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x50]
push edx
lea ecx, [ebp - 0x85c]
call fcn.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x500]
add ecx, 0x74
call fcn.00433530
jmp 0x51715d
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 + 0x936454]
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.00433500
push eax
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x500]
add ecx, 0x74
call fcn.00433530
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x500]
mov dword [edx + 0x148], 0xa
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x500]
mov dword [ecx + 0x13c], 0x3dcccccd
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x500]
mov dword [eax + 0x140], 0x3dcccccd
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x500]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x51728c
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x76a]
cmp edx, 1
jne 0x517232
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 + 0x936454]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x874]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x500]
add ecx, 0x74
call fcn.00433530
jmp 0x51728c
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 + 0x936454]
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.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x500]
add ecx, 0x74
call fcn.00433530
jmp 0x5172ca
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x500], 0
je 0x5172ca
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x500]
push edx
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x500], 0
cmp dword [0x9362dc], 0
jne 0x5176b5
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x762]
cmp edx, 1
jne 0x5176b5
call fcn.0059a83f
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x320], edx
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x888], eax
mov dword [ebp - 4], 0x41
cmp dword [ebp - 0x888], 0
je 0x517385
push 0x50
push 1
push 0
fild dword [ebp - 0x320]
fmul dword [str._n_o]
fadd dword [str._n_o]
push ecx
fstp dword [esp]
fild dword [ebp - 0x320]
fmul dword [0x5ae39c]
fadd dword [str._n_o]
push ecx
fstp dword [esp]
fild dword [ebp - 0x320]
fmul dword [str._n_o]
fadd dword [str._n_o]
push ecx
fstp dword [esp]
push 0x5dc
push 0x38
mov ecx, dword [ebp - 0x888]
call fcn.004cafc0
mov dword [ebp - 0xad0], eax
jmp 0x51738f
mov dword [ebp - 0xad0], 0
mov edx, dword [ebp - 0xad0]
mov dword [ebp - 0x884], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
je 0x5174fb
call fcn.0059a83f
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xad4], edx
fild dword [ebp - 0xad4]
fmul dword [0x5af720]
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 + 0x936454]
fmul dword [edx + 0x38]
mov eax, dword [ebp - 0x960]
fadd dword [eax + 0x30]
fild dword [ebp - 0x320]
fmul dword [0x5ae39c]
fsubp st(1)
push ecx
fstp dword [esp]
call fcn.0059a83f
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xad8], edx
fild dword [ebp - 0xad8]
fmul dword [0x5af720]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x894]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x318]
add ecx, 0x74
call fcn.00433530
push eax
mov ecx, dword [ebp - 0x318]
add ecx, 0x14c
call fcn.00433530
mov eax, dword [ebp - 0x318]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x318]
mov dword [ecx + 0x100], 0
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 3
idiv ecx
mov eax, dword [ebp - 0x318]
mov dword [eax + 0x148], edx
mov ecx, dword [ebp - 0x318]
mov dword [ecx + 0x140], 0xbf99999a
mov edx, dword [ebp - 0x318]
mov dword [edx + 0x13c], 0x3dcccccd
push 0xffff3300
mov eax, dword [ebp - 0x318]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x318]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x89c], eax
mov dword [ebp - 4], 0x42
cmp dword [ebp - 0x89c], 0
je 0x517583
push 0x50
push 1
push 0x38d1b717
fild dword [ebp - 0x320]
fmul dword [0x5ae1f4]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
fild dword [ebp - 0x320]
fmul dword [0x5ae39c]
fadd dword [0x5ae144]
push ecx
fstp dword [esp]
fild dword [ebp - 0x320]
fmul dword [0x5ae1f4]
fadd dword [0x5ae1f4]
push ecx
fstp dword [esp]
push 0x5dc
push 0
mov ecx, dword [ebp - 0x89c]
call fcn.004cafc0
mov dword [ebp - 0xadc], eax
jmp 0x51758d
mov dword [ebp - 0xadc], 0
mov edx, dword [ebp - 0xadc]
mov dword [ebp - 0x898], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x898]
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
je 0x5176b5
call fcn.0059a83f
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xae0], edx
fild dword [ebp - 0xae0]
fmul dword [0x5ae1f4]
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.0059a83f
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [ebp - 0xae4], edx
fild dword [ebp - 0xae4]
fmul dword [0x5ae1f4]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x8a8]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x31c]
add ecx, 0x74
call fcn.00433530
push eax
mov ecx, dword [ebp - 0x31c]
add ecx, 0x14c
call fcn.00433530
mov eax, dword [ebp - 0x31c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x31c]
mov dword [ecx + 0x100], 0
mov edx, dword [ebp - 0x31c]
mov dword [edx + 0x148], 1
mov eax, dword [ebp - 0x31c]
mov dword [eax + 0x140], 0x3fc00000
push 0xffff0000
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x31c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x31c]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
cmp dword [0x9362e0], 0
jne 0x517974
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x754]
cmp eax, 1
jne 0x517974
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x51c], 0
jne 0x517974
mov dword [ebp - 0x324], 3
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x960]
fld dword [ecx + 0x30]
fadd dword [0x5aecc8]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x330]
call fcn.00433500
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 4], 0x43
cmp dword [ebp - 0x8b0], 0
je 0x5177ab
mov ecx, dword [ebp - 0x960]
push ecx
mov edx, dword [ebp - 0x324]
push edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x330]
mov dword [eax], ecx
mov edx, dword [ebp - 0x32c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x328]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x330]
mov dword [edx], eax
mov ecx, dword [ebp - 0x32c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x328]
mov dword [edx + 8], eax
push 0x20
mov ecx, dword [ebp - 0x8b0]
call fcn.004d79b0
mov dword [ebp - 0xae8], eax
jmp 0x5177b5
mov dword [ebp - 0xae8], 0
mov ecx, dword [ebp - 0xae8]
mov dword [ebp - 0x8ac], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x8ac]
mov dword [edx + 0x51c], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x51c], 0
je 0x517972
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov word [eax + 0xec], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x51c]
mov word [edx + 0xe8], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
mov word [ecx + 0xee], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov word [eax + 0xea], 0
push 0
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x51c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov edx, dword [eax]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3e99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3e99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3e99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x51c]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x51c]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x51c]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x51c]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x5179c2
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x754]
test ecx, ecx
jne 0x5179c2
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x51c], 0
je 0x5179c2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x51c]
push ecx
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0x51c], 0
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x767]
cmp eax, 1
jne 0x517cd5
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x510], 0
jne 0x517bea
push 0xcc
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x8b8], eax
mov dword [ebp - 4], 0x44
cmp dword [ebp - 0x8b8], 0
je 0x517a37
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.004d4700
mov dword [ebp - 0xaec], eax
jmp 0x517a41
mov dword [ebp - 0xaec], 0
mov ecx, dword [ebp - 0xaec]
mov dword [ebp - 0x8b4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x8b4]
mov dword [edx + 0x510], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x510], 0
je 0x517be5
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x510]
mov dword [eax + 0xa4], 0x19d
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x510]
mov dword [edx + 0xb8], 0x5dc
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x76a]
cmp ecx, 1
jne 0x517b19
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 + 0x936454]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0x8c4]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x510]
add ecx, 0x74
call fcn.00433530
jmp 0x517b79
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 + 0x936454]
fmul dword [eax + 0x38]
mov ecx, dword [ebp - 0x960]
fadd dword [ecx + 0x30]
fadd dword [0x5ad64c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x8d0]
call fcn.00433500
push eax
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x510]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x510]
mov dword [eax + 0x98], 0x3f333333
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x510]
mov dword [edx + 0x9c], 0x3f333333
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x510]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x510]
mov byte [eax + 0xac], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x510]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x517cd3
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x76a]
cmp edx, 1
jne 0x517c5e
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 + 0x936454]
fmul dword [ecx + 0x38]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x8dc]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x510]
add ecx, 0x74
call fcn.00433530
jmp 0x517cb8
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 + 0x936454]
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.00433500
push eax
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x510]
add ecx, 0x74
call fcn.00433530
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x510]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x8c], eax
jmp 0x517d22
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x767]
test edx, edx
jne 0x517d22
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x510], 0
je 0x517d22
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x510]
push edx
mov eax, dword [0x13c1aac]
mov edx, dword [eax]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x510], 0
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x768]
cmp edx, 1
jne 0x51805a
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x1f9]
cmp ecx, 1
je 0x51805a
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x755]
test eax, eax
jne 0x51805a
mov dword [ebp - 0x334], 0
jmp 0x517d7e
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
cmp dword [ebp - 0x334], 2
jge 0x518058
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x514], 0
jne 0x518053
push 0xcc
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x8f0], eax
mov dword [ebp - 4], 0x45
cmp dword [ebp - 0x8f0], 0
je 0x517e3d
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 [0x5ae144]
fild dword [ebp - 0x334]
fmul dword [0x5ae140]
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.00433500
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.004d6200
mov dword [ebp - 0xaf0], eax
jmp 0x517e47
mov dword [ebp - 0xaf0], 0
mov ecx, dword [ebp - 0xaf0]
mov dword [ebp - 0x8ec], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x8ec]
mov dword [eax + edx*4 + 0x514], ecx
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
cmp dword [eax + edx*4 + 0x514], 0
je 0x518053
mov ecx, dword [ebp - 0x960]
movsx edx, byte [ecx + 0x76a]
cmp edx, 1
jne 0x517f0e
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 + 0x936454]
fmul dword [ecx + 0x38]
fdiv dword [0x5ad63c]
mov edx, dword [ebp - 0x960]
fadd dword [edx + 0x54]
fsub dword [0x5ad64c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x908]
call fcn.00433500
push eax
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x514]
add ecx, 0x74
call fcn.00433530
jmp 0x517f75
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 + 0x936454]
fmul dword [edx + 0x38]
fdiv dword [0x5ad63c]
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.00433500
push eax
mov eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + eax*4 + 0x514]
add ecx, 0x74
call fcn.00433530
mov edx, dword [ebp + 8]
mov dword [ebp - 0xaf8], edx
mov dword [ebp - 0xaf4], 0
fild qword [ebp - 0xaf8]
fild dword [ebp - 0x334]
fmul dword [0x5ae438]
fdiv dword [0x5ad63c]
fsubp st(1)
call fcn.00599ab0
mov ecx, dword [ebp - 0x334]
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + ecx*4 + 0x514]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x514]
mov dword [ecx + 0xb4], 0xb17
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x514]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x514]
mov dword [ecx + 0xb8], 0x3fb33333
push 0xff999999
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x514]
call fcn.004d65d3
mov ecx, dword [ebp - 0x334]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + ecx*4 + 0x514]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x517d6f
jmp 0x5180d2
mov dword [ebp - 0x338], 0
jmp 0x518075
mov edx, dword [ebp - 0x338]
add edx, 1
mov dword [ebp - 0x338], edx
cmp dword [ebp - 0x338], 2
jge 0x5180d2
mov eax, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + eax*4 + 0x514], 0
je 0x5180d0
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + edx*4 + 0x514]
push ecx
mov edx, dword [0x13c1aac]
mov eax, dword [edx]
mov ecx, dword [0x13c1aac]
call dword [eax + 0x60]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x960]
mov dword [edx + ecx*4 + 0x514], 0
jmp 0x518066
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0x2f1
jne 0x5183ac
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x520], 0
jne 0x5183ac
mov dword [ebp - 0x33c], 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 + 0x936454]
fadd dword [0x5ad64c]
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 - 0x348]
call fcn.00433500
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x520], 0
jne 0x518210
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x91c], eax
mov dword [ebp - 4], 0x46
cmp dword [ebp - 0x91c], 0
je 0x5181e1
mov edx, dword [ebp - 0x960]
push edx
mov eax, dword [ebp - 0x33c]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x348]
mov dword [ecx], edx
mov eax, dword [ebp - 0x344]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x340]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x348]
mov dword [eax], ecx
mov edx, dword [ebp - 0x344]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x340]
mov dword [eax + 8], ecx
push 0x14
mov ecx, dword [ebp - 0x91c]
call fcn.004d79b0
mov dword [ebp - 0xafc], eax
jmp 0x5181eb
mov dword [ebp - 0xafc], 0
mov edx, dword [ebp - 0xafc]
mov dword [ebp - 0x918], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x918]
mov dword [eax + 0x520], ecx
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x520], 0
je 0x5183a7
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xec], 2
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xe8], 2
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xee], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xea], 0
push 0
mov edx, dword [ebp - 0x960]
mov ecx, dword [edx + 0x520]
mov eax, dword [ebp - 0x960]
mov edx, dword [eax + 0x520]
mov eax, dword [edx]
call dword [eax + 0x7c]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x11c], 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x24], 0x3db851ec
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x28], 0x3db851ec
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ecx + 0x60]
mov dword [edx + 0x2c], 0x3db851ec
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x120], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x12c], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x130], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x134], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x124], 7
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
push edx
mov eax, dword [0x684bb0]
mov ecx, dword [eax + 0x2c]
call fcn.00554b29
jmp 0x518fb6
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0x301
jne 0x518690
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x520], 0
jne 0x518690
mov dword [ebp - 0x34c], 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 + 0x936454]
fadd dword [0x5ad64c]
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 - 0x358]
call fcn.00433500
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x520], 0
jne 0x51868b
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x924], eax
mov dword [ebp - 4], 0x47
cmp dword [ebp - 0x924], 0
je 0x5184c4
mov ecx, dword [ebp - 0x960]
push ecx
mov edx, dword [ebp - 0x34c]
push 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
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x358]
mov dword [edx], eax
mov ecx, dword [ebp - 0x354]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x350]
mov dword [edx + 8], eax
push 0x20
mov ecx, dword [ebp - 0x924]
call fcn.004d79b0
mov dword [ebp - 0xb00], eax
jmp 0x5184ce
mov dword [ebp - 0xb00], 0
mov ecx, dword [ebp - 0xb00]
mov dword [ebp - 0x920], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp - 0x920]
mov dword [edx + 0x520], eax
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x520], 0
je 0x51868b
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xec], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xe8], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xee], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xea], 0
push 0
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x520]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov edx, dword [eax]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3f99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3f99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3f99999a
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x518fb6
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0x6be
jne 0x518974
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x520], 0
jne 0x518974
mov dword [ebp - 0x35c], 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 + 0x936454]
fadd dword [0x5ad64c]
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 - 0x368]
call fcn.00433500
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x520], 0
jne 0x5187d7
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x92c], eax
mov dword [ebp - 4], 0x48
cmp dword [ebp - 0x92c], 0
je 0x5187a8
mov eax, dword [ebp - 0x960]
push eax
mov ecx, dword [ebp - 0x35c]
push 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
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x368]
mov dword [ecx], edx
mov eax, dword [ebp - 0x364]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x360]
mov dword [ecx + 8], edx
push 0x20
mov ecx, dword [ebp - 0x92c]
call fcn.004d79b0
mov dword [ebp - 0xb04], eax
jmp 0x5187b2
mov dword [ebp - 0xb04], 0
mov eax, dword [ebp - 0xb04]
mov dword [ebp - 0x928], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp - 0x928]
mov dword [ecx + 0x520], edx
mov eax, dword [ebp - 0x960]
cmp dword [eax + 0x520], 0
je 0x51896f
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xec], 2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xe8], 2
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xee], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xea], 0
push 0
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov edx, dword [eax]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x120], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x518fb6
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf3c
jl 0x51899d
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf44
jle 0x5189df
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf47
jl 0x5189c7
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf4c
jle 0x5189df
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xfdc
jne 0x518ec8
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x520], 0
jne 0x518ec8
mov dword [ebp - 0x36c], 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 + 0x936454]
fadd dword [0x5ad64c]
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 - 0x378]
call fcn.00433500
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x520], 0
jne 0x518b0d
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x934], eax
mov dword [ebp - 4], 0x49
cmp dword [ebp - 0x934], 0
je 0x518ade
mov edx, dword [ebp - 0x960]
push edx
mov eax, dword [ebp - 0x36c]
push 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
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x378]
mov dword [eax], ecx
mov edx, dword [ebp - 0x374]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x370]
mov dword [eax + 8], ecx
push 0x20
mov ecx, dword [ebp - 0x934]
call fcn.004d79b0
mov dword [ebp - 0xb08], eax
jmp 0x518ae8
mov dword [ebp - 0xb08], 0
mov edx, dword [ebp - 0xb08]
mov dword [ebp - 0x930], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x930]
mov dword [eax + 0x520], ecx
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x520], 0
je 0x518ec3
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xec], 3
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xe8], 3
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf3c
je 0x518bb2
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf3f
je 0x518bb2
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf42
je 0x518bb2
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf47
jl 0x518be1
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf49
jg 0x518be1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xee], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xea], 0
jmp 0x518d92
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf3d
je 0x518c1f
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf40
je 0x518c1f
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf43
jne 0x518c4e
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xee], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xea], 1
jmp 0x518d92
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf3e
je 0x518c8c
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf41
je 0x518c8c
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf44
jne 0x518cbb
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xee], 2
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xea], 2
jmp 0x518d92
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf4a
jne 0x518cfe
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov word [edx + 0xee], 3
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xea], 3
jmp 0x518d92
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf4b
je 0x518d27
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf4c
jne 0x518d53
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xee], 4
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xea], 4
jmp 0x518d92
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xfdc
jne 0x518d92
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov word [ecx + 0xee], 1
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov word [eax + 0xea], 1
push 0
mov ecx, dword [ebp - 0x960]
mov ecx, dword [ecx + 0x520]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov edx, dword [eax]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x11c], 0
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x24], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x28], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov ecx, dword [eax + 0x60]
mov dword [ecx + 0x2c], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x120], 1
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x12c], 0x3f800000
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov dword [ecx + 0x130], 0x3f800000
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
mov dword [eax + 0x134], 0x3f800000
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x520]
mov dword [edx + 0x124], 5
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x520]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
jmp 0x518fb6
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0x2f1
je 0x518fb6
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0x301
je 0x518fb6
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0x6be
je 0x518fb6
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf3c
jl 0x518f3b
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xf44
jle 0x518fb6
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x784]
cmp edx, 0xf47
jl 0x518f65
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x784]
cmp ecx, 0xf4c
jle 0x518fb6
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x784]
cmp eax, 0xfdc
je 0x518fb6
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x520], 0
je 0x518fb6
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x520]
push eax
mov ecx, dword [0x13c1aac]
mov edx, dword [ecx]
mov ecx, dword [0x13c1aac]
call dword [edx + 0x60]
mov eax, dword [ebp - 0x960]
mov dword [eax + 0x520], 0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x614]
cmp edx, 0x5dc
jbe 0x518fec
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x748]
cmp ecx, 1
jne 0x518fec
mov edx, dword [ebp - 0x960]
mov byte [edx + 0x748], 0
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x748]
cmp ecx, 1
jne 0x5194c8
mov edx, dword [ebp - 0x960]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x5e0]
cmp eax, 0x12c
jbe 0x5194c8
mov dword [ebp - 0x380], 0
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x200], 4
je 0x519044
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x200], 8
jne 0x51904e
mov dword [ebp - 0x380], 1
push 0x1b4
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x93c], eax
mov dword [ebp - 4], 0x4a
cmp dword [ebp - 0x93c], 0
je 0x5190de
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x948]
call fcn.00433500
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.00433500
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.004d79b0
mov dword [ebp - 0xb0c], eax
jmp 0x5190e8
mov dword [ebp - 0xb0c], 0
mov eax, dword [ebp - 0xb0c]
mov dword [ebp - 0x938], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x938]
mov dword [ebp - 0x37c], ecx
cmp dword [ebp - 0x37c], 0
je 0x5194b9
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
test eax, eax
jle 0x5191ab
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x5191ab
mov edx, dword [ebp - 0x37c]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x76c]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x960]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x37c]
add eax, 0xe8
push eax
call fcn.00599ae0
add esp, 0xc
mov ecx, dword [ebp - 0x37c]
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 - 0x37c]
add edx, 0x184
push edx
call fcn.00599ae0
add esp, 0xc
jmp 0x5191ce
push 0x20
mov eax, dword [ebp - 0x960]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x37c]
add ecx, 0xe8
push ecx
call fcn.00599ae0
add esp, 0xc
mov edx, dword [ebp - 0x37c]
mov dword [edx + 0x15c], 1
mov eax, dword [ebp - 0x37c]
mov dword [eax + 0x12c], 0x3f000000
mov ecx, dword [ebp - 0x37c]
mov dword [ecx + 0x130], 0x3f000000
mov edx, dword [ebp - 0x37c]
mov dword [edx + 0x134], 0x3f000000
mov eax, dword [ebp - 0x380]
push eax
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x37c]
call dword [edx + 0x7c]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x118], ecx
mov edx, dword [ebp - 0x37c]
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 [0x5ae1f4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x28]
push ecx
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x37c]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ebp - 0x37c]
mov eax, dword [edx + 0x128]
mov dword [ecx + 0x17c], eax
mov ecx, dword [ebp - 0x37c]
mov dword [ecx + 0x120], 1
mov edx, dword [ebp - 0x960]
movsx eax, byte [edx + 0x76a]
test eax, eax
jle 0x5193b9
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x120], 0
je 0x5193b9
mov edx, dword [ebp - 0x37c]
cmp dword [edx + 0x60], 0
je 0x51934b
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x1a40
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x210]
imul eax, eax, 0x70
lea ecx, [ecx + eax + 0x5d8180]
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x76c]
imul eax, eax, 0x2a0
mov edx, dword [ebp - 0x960]
mov edx, dword [edx + 0x708]
mov eax, dword [eax + edx*4 + 0x67a108]
movsx ecx, word [ecx + eax*2]
push ecx
mov edx, dword [ebp - 0x37c]
mov ecx, dword [edx + 0x60]
call fcn.004be9a4
mov eax, dword [ebp - 0x37c]
cmp dword [eax + 0x1a4], 0
je 0x5193b7
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x1a40
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x210]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x5d8180]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x708]
mov ecx, dword [ecx + eax*4 + 0x67a168]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 0x1a4]
call fcn.004be9a4
jmp 0x519413
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x1a40
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x210]
imul ecx, ecx, 0x70
lea edx, [edx + ecx + 0x5d8180]
mov eax, dword [ebp - 0x960]
mov ecx, dword [eax + 0x5c]
imul ecx, ecx, 0x2a0
mov eax, dword [ebp - 0x960]
mov eax, dword [eax + 0x708]
mov ecx, dword [ecx + eax*4 + 0x67a108]
movsx edx, word [edx + ecx*2]
push edx
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 0x60]
call fcn.004be9a4
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx + 0x2e4]
mov dword [ecx + 0x2e4], edx
mov eax, dword [ebp - 0x37c]
mov dword [eax + 0x124], 0
mov dword [ebp - 0x384], 0xa0
cmp dword [0x5d4c04], 0
je 0x5194a4
mov ecx, dword [ebp - 0x384]
push ecx
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
test eax, eax
je 0x5194a4
mov edx, dword [ebp - 0x384]
push edx
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d3e0
test eax, eax
jne 0x5194a4
push 0
push 0
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [0x5d4c04]
call fcn.0042be7d
mov ecx, eax
call fcn.0042d13b
mov ecx, dword [ebp - 0x37c]
push ecx
mov edx, dword [0x684bb0]
mov ecx, dword [edx + 0x2c]
call fcn.00554b29
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x5e0], ecx
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x484]
cmp eax, 0x66
jne 0x5195c4
mov ecx, dword [ebp - 0x960]
cmp dword [ecx + 0x7b4], 0
jne 0x5195c4
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x204]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x388], edx
cmp dword [ebp - 0x388], 6
jne 0x519522
mov ecx, dword [ebp - 0x960]
call fcn.005197d2
jmp 0x519598
cmp dword [ebp - 0x388], 7
jne 0x519538
mov ecx, dword [ebp - 0x960]
call fcn.00519ced
jmp 0x519598
cmp dword [ebp - 0x388], 8
je 0x519577
mov edx, dword [ebp - 0x960]
movsx eax, word [edx + 0x204]
cmp eax, 0x16
jl 0x519565
mov ecx, dword [ebp - 0x960]
movsx edx, word [ecx + 0x204]
cmp edx, 0x19
jle 0x519577
mov eax, dword [ebp - 0x960]
movsx ecx, word [eax + 0x204]
cmp ecx, 0x20
jne 0x519584
mov ecx, dword [ebp - 0x960]
call fcn.0051a727
jmp 0x519598
cmp dword [ebp - 0x388], 9
jne 0x519598
mov ecx, dword [ebp - 0x960]
call fcn.0051add4
mov edx, dword [ebp - 0x960]
mov dword [edx + 0x7b4], 1
mov eax, dword [0x9362cc]
mov edx, dword [eax]
mov ecx, dword [0x9362cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x960]
mov dword [ecx + 0x7b0], eax
mov edx, dword [ebp - 0x960]
cmp dword [edx + 0x7b4], 1
jne 0x5197c2
mov eax, dword [ebp - 0x960]
movsx ecx, byte [eax + 0x769]
cmp ecx, 1
jne 0x5197c2
mov edx, dword [ebp - 0x960]
mov eax, dword [edx + 0x7b0]
add eax, 0x4e2
cmp dword [ebp + 8], eax
jbe 0x5197c2
lea ecx, [ebp - 0x39c]
call fcn.004334d0
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x39c], edx
mov eax, dword [ebp - 0x960]
fld dword [eax + 0x30]
fadd dword [0x5ad63c]
fstp dword [ebp - 0x398]
mov ecx, dword [ebp - 0x960]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x960]
movsx eax, word [eax + 0x204]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x38c], 0xffffffff
mov dword [ebp - 0x390], 0
jmp 0x519685
mov edx, dword [ebp - 0x390]
add edx, 1
mov dword [ebp - 0x390], edx
cmp dword [ebp - 0x390], 3
jge 0x5197b2
push 0x180
call fcn.0059998a
add esp, 4
mov dword [ebp - 0x95c], eax
mov dword [ebp - 4], 0x4b
cmp dword [ebp - 0x95c], 0
je 0x51971a
push 0x50
push 1
push 0x3a83126f
fild dword [ebp - 0x390]
fmul dword [0x5ad488]
fadd dword [0x5ae0dc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x390]
fmul dword [0x5ae3c8]
fadd dword [0x5ae0dc]
push ecx
fstp dword [esp]
fild dword [ebp - 0x390]
fmul dword [0x5ae3c8]
fadd dword [0x5ae0dc]
push ecx
fstp dword [esp]
push 0x2bc
push 0x38
mov ecx, dword [ebp - 0x95c]
call fcn.004cafc0
mov dword [ebp - 0xb10], eax
jmp 0x519724
mov dword [ebp - 0xb10], 0
mov eax, dword [ebp - 0xb10]
mov dword [ebp - 0x958], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x958]
mov dword [ebp - 0x3a4], ecx
cmp dword [ebp - 0x3a4], 0
jne 0x51974e
jmp 0x5197b2
mov edx, dword [ebp - 0x38c]
push edx
mov eax, dword [ebp - 0x3a4]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3a4]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x3a4]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x3a4]
mov dword [ecx + 0x104], 1
lea edx, [ebp - 0x39c]
push edx
mov ecx, dword [ebp - 0x3a4]
add ecx, 0x74
call fcn.00433530
mov eax, dword [ebp - 0x3a4]
push eax
mov ecx, dword [0x684bb0]
mov ecx, dword [ecx + 0x2c]
call fcn.00554b29
jmp 0x519676
mov edx, dword [ebp - 0x960]
mov dword [edx + 0x7b4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4