Function at 0x48b2be
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f042b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1260
call fcn.005c6530
push esi
mov dword [ebp - 0x1010], ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x14], 0x3fc00000
lea ecx, [ebp - 0x4c]
call fcn.00438170
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x2a]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x30], 0
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x68
jne 0x48b35b
mov eax, dword [ebp - 0x10]
mov word [eax + 0x38], 0x27
mov byte [ebp - 0x30], 1
cmp dword [ebp - 0x40], 0
jne 0x48b498
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
jmp 0x48b37e
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0xd
jge 0x48b3db
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39d
jne 0x48b39c
cmp dword [ebp - 0x54], 1
jl 0x48b39c
jmp 0x48b3db
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39e
jne 0x48b3b5
cmp dword [ebp - 0x54], 2
jl 0x48b3b5
jmp 0x48b3db
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + eax*8 + 0x3c]
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
cmp edx, dword [ecx + 0x20]
jne 0x48b3d9
mov dword [ebp - 0x50], 1
jmp 0x48b3db
jmp 0x48b375
cmp dword [ebp - 0x50], 1
je 0x48b401
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x37
jle 0x48b493
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x3f
jle 0x48b493
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x24]
mov dword [ebp - 0x1014], ecx
fild dword [ebp - 0x1014]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x22]
mov dword [ebp - 0x1018], eax
fild dword [ebp - 0x1018]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xa88]
call fcn.0040bed0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040bf00
push 0x10
push 0
lea ecx, [ebp - 0x64]
push ecx
call fcn.005c5b80
add esp, 0xc
mov edx, dword [0x277c024]
mov ax, word [edx + 0xdfc]
mov word [ebp - 0x5e], ax
mov word [ebp - 0x60], 0x369
mov ecx, dword [ebp - 0x10]
mov dx, word [ecx + 0x2a]
mov word [ebp - 0x58], dx
push 0x10
lea eax, [ebp - 0x64]
push eax
call fcn.0054da23
add esp, 8
jmp 0x491210
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x30]
and edx, 8
test edx, edx
je 0x48b660
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2f8], 0
je 0x48b58f
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0x5c], 3
je 0x48b4ef
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x5c], 8
je 0x48b4ef
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + 0x218], 0x28
jne 0x48b504
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28fc], 5
jmp 0x48b57a
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0xe8], 0x65
jne 0x48b525
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2f8]
mov byte [edx + 0x28fc], 2
jmp 0x48b57a
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0xe8], 0x29
jne 0x48b546
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2f8]
mov byte [eax + 0x28fc], 3
jmp 0x48b57a
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + 0xe8], 0x67
jne 0x48b567
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28fc], 4
jmp 0x48b57a
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov byte [ecx + 0x28fc], 1
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2f8]
mov edx, dword [ebp - 0x6c]
mov dword [ecx + 0x80], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x60]
cmp dword [ecx + 0x2fc], 0
je 0x48b660
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0x5c], 3
je 0x48b5c0
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x5c], 8
je 0x48b5c0
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + 0x218], 0x28
jne 0x48b5d5
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28fc], 5
jmp 0x48b64b
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0xe8], 0x65
jne 0x48b5f6
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2fc]
mov byte [edx + 0x28fc], 2
jmp 0x48b64b
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0xe8], 0x29
jne 0x48b617
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x60]
mov eax, dword [edx + 0x2fc]
mov byte [eax + 0x28fc], 3
jmp 0x48b64b
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + 0xe8], 0x67
jne 0x48b638
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28fc], 4
jmp 0x48b64b
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov byte [ecx + 0x28fc], 1
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x60]
mov ecx, dword [eax + 0x2fc]
mov edx, dword [ebp - 0x6c]
mov dword [ecx + 0x80], edx
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x218], 0x20
jne 0x48b6a1
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
cmp edx, 4
jne 0x48b6a1
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax + 0x4c]
jne 0x48b6a1
mov edx, dword [0x9a21cc]
mov eax, dword [edx]
mov ecx, dword [0x9a21cc]
call dword [eax + 8]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x834], eax
mov dword [ebp - 0x68], 0
jmp 0x48b6b3
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 0xd
jge 0x48b705
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 4]
cmp ecx, 0x39d
jne 0x48b6d2
cmp dword [ebp - 0x68], 1
jl 0x48b6d2
jmp 0x48b705
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39e
jne 0x48b6ea
cmp dword [ebp - 0x68], 2
jl 0x48b6ea
jmp 0x48b705
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x68]
mov esi, dword [ebp - 0x10]
mov ax, word [esi + eax*8 + 0x3c]
mov word [edx + ecx*2 + 0x84a], ax
jmp 0x48b6aa
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx + 0x38]
push edx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x1010]
call fcn.00481223
mov ecx, dword [ebp - 0x40]
add ecx, 0x28
push ecx
lea ecx, [ebp - 0x4c]
call fcn.0040bf00
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0x5c], 0x14
jne 0x48b74a
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov cx, word [eax + 0x16a]
test ecx, ecx
jne 0x48b74a
mov dword [ebp - 0x2c], 1
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x48b77a
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x48b863
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x48b863
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
test eax, eax
jl 0x48b863
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x68
jge 0x48b863
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x630], edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x48b863
mov edx, dword [0x277c024]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x7c8], ecx
push 0x492
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x28]
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x28]
mov eax, dword [edx]
call dword [eax + 0x48]
mov dword [ebp - 0x74], eax
push 0x10050
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x28]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x28]
mov edx, dword [eax]
call dword [edx + 0x48]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x74], 0
je 0x48b828
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x630]
push ecx
mov edx, dword [ebp - 0x74]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x74]
call dword [eax + 0x88]
cmp dword [ebp - 0x70], 0
je 0x48b863
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x630]
push edx
push 0x614824
lea eax, [ebp - 0x94]
push eax
call fcn.005c5b24
add esp, 0xc
push 0
lea ecx, [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x70]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x70]
call dword [eax + 0x80]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x40]
cmp edx, dword [ecx + 0x4c]
jne 0x48b8c1
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
cmp ecx, 1
jne 0x48b88c
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
je 0x48b8c1
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x491210
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x491210
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2e]
cmp eax, 0xfe
jne 0x491210
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 4
jne 0x48b8f1
mov eax, dword [ebp - 0x40]
mov byte [eax + 0xa18], 1
mov ecx, dword [0x9a21cc]
mov edx, dword [ecx]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x844], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x1f8]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x28], 0
jne 0x48b967
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx + 0x38]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x101c], ecx
fild dword [ebp - 0x101c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x26]
mov dword [ebp - 0x1020], eax
fild dword [ebp - 0x1020]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xa90]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2e]
push ecx
mov ecx, dword [ebp - 0x40]
call fcn.00507487
jmp 0x48ba11
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2e]
cmp eax, 0xfe
je 0x48ba11
mov ecx, dword [ebp - 0x40]
movsx edx, word [ecx + 0x21c]
cmp edx, 0x32
jle 0x48b9a9
mov eax, dword [ebp - 0x10]
movsx cx, byte [eax + 0x38]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2e]
push ecx
mov ecx, dword [ebp - 0x40]
call fcn.00507062
jmp 0x48b9c6
mov edx, dword [ebp - 0x10]
mov ax, word [edx + 0x38]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2e]
push eax
mov ecx, dword [ebp - 0x40]
call fcn.00507062
mov ecx, dword [ebp - 0x28]
fld dword [ecx + 0x30]
fadd dword [0x5f5434]
fstp dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x28]
je 0x48ba11
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
fld dword [eax + 0x2c]
fsub dword [ecx + 0x2c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
fld dword [edx + 0x28]
fsub dword [eax + 0x28]
push ecx
fstp dword [esp]
call fcn.00499980
add esp, 8
fadd dword [0x5f5420]
fstp dword [ebp - 0x98]
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x62
jne 0x48ba6f
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x1024], ecx
fild dword [ebp - 0x1024]
mov edx, dword [ebp - 0x40]
fsub dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x1028], ecx
fild dword [ebp - 0x1028]
mov edx, dword [ebp - 0x40]
fsub dword [edx + 0x28]
push ecx
fstp dword [esp]
call fcn.00499980
add esp, 8
fadd dword [0x5f5420]
fstp dword [ebp - 0x98]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x30]
and ecx, 1
test ecx, ecx
je 0x48ba8b
mov edx, dword [ebp - 0x40]
mov dword [edx + 0x9fc], 1
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x218], 0x2c
je 0x48baa6
mov ecx, dword [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0x40]
call fcn.004e2bd3
cmp dword [ebp - 0x28], 0
je 0x48bb02
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x40]
je 0x48bb02
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax + 0x4c]
je 0x48bb02
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x218], 0x38
jne 0x48bade
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov cx, word [eax + 0x166]
test ecx, ecx
je 0x48bb02
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x1b
je 0x48bb02
fld dword [ebp - 0x98]
fadd dword [0x5f51bc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
call fcn.004e2bd3
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
test edx, edx
jl 0x48bb19
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jl 0x48bb5e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x97
jl 0x48bb36
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x9b
jle 0x48bb5e
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
je 0x48bb5e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x69
je 0x48bb5e
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x6f
jne 0x48bddc
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x10]
mov dx, word [ecx + 0x38]
mov word [eax + 0x6b4], dx
mov eax, dword [ebp - 0x10]
movzx cx, byte [eax + 0x31]
mov edx, dword [ebp - 0x40]
mov word [edx + 0x6b6], cx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x48bb9d
mov edx, dword [ebp - 0x40]
mov word [edx + 0x6b6], 1
cmp dword [ebp - 0x28], 0
jne 0x48bc73
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x102c], ecx
fild dword [ebp - 0x102c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x26]
mov dword [ebp - 0x1030], eax
fild dword [ebp - 0x1030]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xa98]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x1034], eax
fild dword [ebp - 0x1034]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x9c]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x1038], ecx
fild dword [ebp - 0x1038]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x103c], ecx
fild dword [ebp - 0x103c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xaa4]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x6a4
call fcn.004382d0
mov edx, dword [ebp - 0x40]
mov dword [edx + 0x6b0], 0
jmp 0x48bd67
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0x6b0], ecx
cmp dword [ebp - 0x28], 0
je 0x48bd38
cmp dword [ebp - 0x40], 0
je 0x48bd38
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x218], 0x38
jne 0x48bd38
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov cx, word [eax + 0x166]
test ecx, ecx
jne 0x48bd38
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
fld dword [edx + 0x2c]
fsub dword [eax + 0x2c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
fld dword [eax + 0x28]
fsub dword [ecx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xa8]
call fcn.00438180
fld dword [ebp - 0xa0]
fdiv dword [0x5f46bc]
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
push ecx
fld dword [ebp - 0xa8]
fdiv dword [0x5f46bc]
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xab0]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x6a4
call fcn.004382d0
jmp 0x48bd67
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xabc]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x6a4
call fcn.004382d0
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x97
jl 0x48bd84
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x99
jle 0x48bd9c
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x68
je 0x48bd9c
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x69
jne 0x48bdbd
mov edx, dword [0x9a21cc]
mov eax, dword [edx]
mov ecx, dword [0x9a21cc]
call dword [eax + 8]
add eax, 0xc8
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x6a0], eax
jmp 0x48bddc
mov edx, dword [0x9a21cc]
mov eax, dword [edx]
mov ecx, dword [0x9a21cc]
call dword [eax + 8]
add eax, 0x1f4
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x6a0], eax
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0x218], 0x3e
jne 0x48bf56
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov cx, word [eax + 0x166]
cmp ecx, 2
jne 0x48bf56
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x6c
jne 0x48bf56
cmp dword [ebp - 0x28], 0
je 0x48bf56
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xb4]
call fcn.00438180
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xc4]
call fcn.00438180
fld dword [ebp - 0xc0]
fadd dword [0x5f493c]
fstp dword [ebp - 0xc0]
fld dword [ebp - 0xb0]
fadd dword [0x5f493c]
fstp dword [ebp - 0xb0]
mov dword [ebp - 0xb8], 5
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xac4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xac4], 0
je 0x48bf0f
push 0
mov eax, dword [ebp - 0xb8]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0xc4]
mov dword [ecx], edx
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xbc]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xb4]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb0]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xac]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xac4]
call fcn.005703a0
mov dword [ebp - 0x1040], eax
jmp 0x48bf19
mov dword [ebp - 0x1040], 0
mov edx, dword [ebp - 0x1040]
mov dword [ebp - 0xac0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xac0]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x48bf56
mov ecx, dword [ebp - 0xc8]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 6
jne 0x48c072
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00438180
push 0xdc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xacc], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0xacc], 0
je 0x48c026
push 0
push 5
push 0x3f800000
push 0x3e8
push 0xff222299
push 0xff5555ff
push 0
push 0
push 0
lea ecx, [ebp - 0xad8]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x28]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xd8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xd4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xd0]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xacc]
call fcn.005607d0
mov dword [ebp - 0x1044], eax
jmp 0x48c030
mov dword [ebp - 0x1044], 0
mov ecx, dword [ebp - 0x1044]
mov dword [ebp - 0xac8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xac8]
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
je 0x48c06d
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 3
jne 0x48c176
cmp dword [ebp - 0x40], 0
je 0x48c171
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xe8]
call fcn.00438180
fld dword [ebp - 0xe4]
fsub dword [0x5f4508]
fstp dword [ebp - 0xe4]
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xae0], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0xae0], 0
je 0x48c11e
push 1
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xe8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xe4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xae0]
call fcn.0056e190
mov dword [ebp - 0x1048], eax
jmp 0x48c128
mov dword [ebp - 0x1048], 0
mov edx, dword [ebp - 0x1048]
mov dword [ebp - 0xadc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xadc]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x1010]
cmp dword [ecx + 0x2c], 0
je 0x48c171
cmp dword [ebp - 0xdc], 0
je 0x48c171
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x491210
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 5
jne 0x48c2b4
cmp dword [ebp - 0x40], 0
je 0x48c2af
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xf8]
call fcn.00438180
fld dword [ebp - 0xf4]
fsub dword [0x5f4508]
fstp dword [ebp - 0xf4]
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xae8], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0xae8], 0
je 0x48c224
push 0
push 2
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xf8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xf4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xf0]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xae8]
call fcn.00561770
mov dword [ebp - 0x104c], eax
jmp 0x48c22e
mov dword [ebp - 0x104c], 0
mov ecx, dword [ebp - 0x104c]
mov dword [ebp - 0xae4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xae4]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x48c277
cmp dword [ebp - 0xec], 0
je 0x48c277
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
cmp dword [0x636738], 0
je 0x48c2af
push 0x97
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48c2af
push 0
push 0
push 0x97
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x2d
jne 0x48c4df
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x28]
mov dword [ebp - 0x1050], eax
fild dword [ebp - 0x1050]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x28]
mov dword [ebp - 0x1054], edx
fild dword [ebp - 0x1054]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x1058], ecx
fild dword [ebp - 0x1058]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xaf0]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x105c], eax
fild dword [ebp - 0x105c]
fmul dword [0x5f52b4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x26]
mov dword [ebp - 0x1060], edx
fild dword [ebp - 0x1060]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x108]
call fcn.00438180
cmp dword [ebp - 0x28], 0
je 0x48c3b9
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x28]
fld dword [edx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xafc]
call fcn.00438180
push eax
lea ecx, [ebp - 0x108]
call fcn.004382d0
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xb04], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0xb04], 0
je 0x48c44f
push 0x3e8
push 0
push 0
push 0
lea ecx, [ebp - 0xb10]
call fcn.00438180
sub esp, 0xc
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
push 1
push 0x3f800000
push 0x38
push 1
push 0
push 0x3dcccccd
push 0x14
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x108]
mov dword [ecx], edx
mov eax, dword [ebp - 0x104]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x100]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xb04]
call fcn.0055d590
mov dword [ebp - 0x1064], eax
jmp 0x48c459
mov dword [ebp - 0x1064], 0
mov eax, dword [ebp - 0x1064]
mov dword [ebp - 0xb00], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xb00]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x48c4a2
cmp dword [ebp - 0xfc], 0
je 0x48c4a2
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
cmp dword [0x636738], 0
je 0x48c4da
push 0x9e
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48c4da
push 0
push 0
push 0x9e
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x22
jne 0x48c641
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
cmp edx, 0xfe
jne 0x48c641
cmp dword [ebp - 0x40], 0
je 0x48c63c
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x750], 0
je 0x48c63c
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xb18], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0xb18], 0
je 0x48c572
push 0x50
push 1
push 0x3b03126f
push 0x3dcccccd
push 0x3dcccccd
push 0x3dcccccd
push 0x2bc
push 1
mov ecx, dword [ebp - 0xb18]
call fcn.00551610
mov dword [ebp - 0x1068], eax
jmp 0x48c57c
mov dword [ebp - 0x1068], 0
mov ecx, dword [ebp - 0x1068]
mov dword [ebp - 0xb14], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb14]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0
je 0x48c63c
mov eax, dword [ebp - 0x10c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x750]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x750]
fld dword [edx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x750]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xb24]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 0x14c
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x10c]
add ecx, 0x74
call fcn.004382d0
push 0xffaaeeff
mov eax, dword [ebp - 0x10c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x10c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x20
jne 0x48c7a3
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
cmp edx, 0xfe
jne 0x48c7a3
cmp dword [ebp - 0x40], 0
je 0x48c79e
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x750], 0
je 0x48c79e
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0xb2c], 0
je 0x48c6d4
push 0x50
push 1
push 0x3b03126f
push 0x3dcccccd
push 0x3dcccccd
push 0x3dcccccd
push 0x2bc
push 1
mov ecx, dword [ebp - 0xb2c]
call fcn.00551610
mov dword [ebp - 0x106c], eax
jmp 0x48c6de
mov dword [ebp - 0x106c], 0
mov ecx, dword [ebp - 0x106c]
mov dword [ebp - 0xb28], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb28]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0
je 0x48c79e
mov eax, dword [ebp - 0x110]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x750]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x750]
fld dword [edx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x750]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xb38]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x110]
add ecx, 0x14c
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x110]
add ecx, 0x74
call fcn.004382d0
push 0xffffaa00
mov eax, dword [ebp - 0x110]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x110]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x24
jne 0x48cb93
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
cmp edx, 0xfe
jne 0x48c900
cmp dword [ebp - 0x40], 0
je 0x48c900
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x750], 0
je 0x48c900
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xb40], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0xb40], 0
je 0x48c836
push 0x50
push 1
push 0x3b03126f
push 0x3dcccccd
push 0x3dcccccd
push 0x3dcccccd
push 0x2bc
push 1
mov ecx, dword [ebp - 0xb40]
call fcn.00551610
mov dword [ebp - 0x1070], eax
jmp 0x48c840
mov dword [ebp - 0x1070], 0
mov ecx, dword [ebp - 0x1070]
mov dword [ebp - 0xb3c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xb3c]
mov dword [ebp - 0x13c], edx
cmp dword [ebp - 0x13c], 0
je 0x48c900
mov eax, dword [ebp - 0x13c]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x750]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x750]
fld dword [edx + 0x30]
fadd dword [0x5f52b4]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x750]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xb4c]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x13c]
add ecx, 0x14c
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x13c]
add ecx, 0x74
call fcn.004382d0
push 0xffaaeeff
mov eax, dword [ebp - 0x13c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x13c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
lea ecx, [ebp - 0x138]
call fcn.004382a0
cmp dword [ebp - 0x28], 0
jne 0x48c9e6
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x28]
mov dword [ebp - 0x1074], eax
fild dword [ebp - 0x1074]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x26]
mov dword [ebp - 0x1078], edx
fild dword [ebp - 0x1078]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xb54]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x107c], eax
fild dword [ebp - 0x107c]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x140]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x1080], ecx
fild dword [ebp - 0x1080]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x1084], ecx
fild dword [ebp - 0x1084]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xb60]
call fcn.00438180
push eax
lea ecx, [ebp - 0x138]
call fcn.004382d0
jmp 0x48ca12
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xb6c]
call fcn.00438180
push eax
lea ecx, [ebp - 0x138]
call fcn.004382d0
mov dword [ebp - 0x12c], 0
jmp 0x48ca2d
mov edx, dword [ebp - 0x12c]
add edx, 1
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 6
jge 0x48cb8e
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xb74], eax
mov dword [ebp - 4], 8
cmp dword [ebp - 0xb74], 0
je 0x48cb1c
push 0
push 1
mov eax, dword [ebp - 0x12c]
add eax, 3
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x1088], edx
fild dword [ebp - 0x1088]
fmul dword [0x5f46cc]
fadd dword [ebp - 0x130]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x134]
push edx
mov eax, dword [ebp - 0x12c]
cdq
mov ecx, 3
idiv ecx
mov dword [ebp - 0x108c], edx
fild dword [ebp - 0x108c]
fmul dword [0x5f46cc]
fadd dword [ebp - 0x138]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xb80]
call fcn.00438180
sub esp, 0xc
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
push 0
push 0
push 0
lea ecx, [ebp - 0xb8c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xb74]
call fcn.00572a50
mov dword [ebp - 0x1090], eax
jmp 0x48cb26
mov dword [ebp - 0x1090], 0
mov ecx, dword [ebp - 0x1090]
mov dword [ebp - 0xb70], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xb70]
mov dword [ebp + edx*4 - 0x128], eax
mov ecx, dword [ebp - 0x12c]
cmp dword [ebp + ecx*4 - 0x128], 0
jne 0x48cb61
jmp 0x48ca1e
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x48cb89
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp + eax*4 - 0x128]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48ca1e
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x29
je 0x48cbc7
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x1d
je 0x48cbc7
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x21
je 0x48cbc7
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 2
jne 0x48d0c3
mov dword [ebp - 0x144], 0
jmp 0x48cbe2
mov edx, dword [ebp - 0x144]
add edx, 1
mov dword [ebp - 0x144], edx
cmp dword [ebp - 0x144], 0xd
jge 0x48d0be
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x48cc0f
cmp dword [ebp - 0x144], 4
jl 0x48cc0d
jmp 0x48d0be
jmp 0x48cc2c
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
imul eax, eax, 0x60
mov ecx, dword [eax + 0x11da884]
cmp ecx, dword [ebp - 0x144]
jg 0x48cc2c
jmp 0x48d0be
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + edx*8 + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
je 0x48d0b9
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0x40]
je 0x48d0b9
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x21
je 0x48cdeb
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x10]
mov ax, word [edx + 0x38]
mov word [ecx + 0x6b4], ax
mov ecx, dword [ebp - 0x10]
movzx dx, byte [ecx + 0x31]
mov eax, dword [ebp - 0x148]
mov word [eax + 0x6b6], dx
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x148]
mov dword [ecx + 0x6b0], edx
cmp dword [ebp - 0x148], 0
je 0x48cd89
cmp dword [ebp - 0x40], 0
je 0x48cd89
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0x218], 0x38
jne 0x48cd89
mov ecx, dword [ebp - 0x148]
xor edx, edx
mov dx, word [ecx + 0x166]
test edx, edx
jne 0x48cd89
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x40]
fld dword [eax + 0x2c]
fsub dword [ecx + 0x2c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x40]
fld dword [ecx + 0x28]
fsub dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x154]
call fcn.00438180
fld dword [ebp - 0x14c]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x40]
fadd dword [eax + 0x2c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x148]
mov edx, dword [ecx + 0x30]
push edx
fld dword [ebp - 0x154]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x40]
fadd dword [eax + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xb98]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x6a4
call fcn.004382d0
jmp 0x48cdc4
mov ecx, dword [ebp - 0x148]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0xba4]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x148]
add ecx, 0x6a4
call fcn.004382d0
mov ecx, dword [0x9a21cc]
mov edx, dword [ecx]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
add eax, 0x1f4
mov ecx, dword [ebp - 0x148]
mov dword [ecx + 0x6a0], eax
jmp 0x48d0b9
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2f]
test eax, eax
je 0x48ce24
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
cmp edx, 1
jne 0x48d0b9
cmp dword [ebp - 0x40], 0
je 0x48d0b9
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x48d0b9
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2e]
cmp eax, 0xfe
jne 0x48ce47
mov dword [ebp - 0x158], 1
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
cmp edx, 0xfd
jne 0x48ce61
mov dword [ebp - 0x158], 2
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2e]
cmp ecx, 0xfc
jne 0x48cfeb
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x24]
mov dword [ebp - 0x1094], eax
fild dword [ebp - 0x1094]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
push 0x3f800000
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x22]
mov dword [ebp - 0x1098], edx
fild dword [ebp - 0x1098]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x164]
call fcn.00438180
cmp dword [ebp - 0x40], 0
je 0x48cef9
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x164], ecx
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x38]
fmul dword [0x5f54e8]
mov eax, dword [ebp - 0x40]
fadd dword [eax + 0x30]
fstp dword [ebp - 0x160]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x15c], edx
push 0xdc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xbac], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0xbac], 0
je 0x48cf93
push 0
push 5
push 0x3f800000
push 0x3e8
push 0xff222299
push 0xff5555ff
push 0
push 0
push 0
lea ecx, [ebp - 0xbb8]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x148]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x164]
mov dword [edx], eax
mov ecx, dword [ebp - 0x160]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x15c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xbac]
call fcn.005607d0
mov dword [ebp - 0x109c], eax
jmp 0x48cf9d
mov dword [ebp - 0x109c], 0
mov ecx, dword [ebp - 0x109c]
mov dword [ebp - 0xba8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xba8]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x48cfe6
cmp dword [ebp - 0x168], 0
je 0x48cfe6
mov ecx, dword [ebp - 0x168]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48d0b9
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xbc0], eax
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0xbc0], 0
je 0x48d066
mov eax, dword [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x148]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x148]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0xbcc]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xbc0]
call fcn.00578490
mov dword [ebp - 0x10a0], eax
jmp 0x48d070
mov dword [ebp - 0x10a0], 0
mov ecx, dword [ebp - 0x10a0]
mov dword [ebp - 0xbbc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbbc]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x48d0b9
cmp dword [ebp - 0x16c], 0
je 0x48d0b9
mov ecx, dword [ebp - 0x16c]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48cbd3
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x34
jne 0x48d5a6
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2e]
cmp eax, 0xfe
jne 0x48d323
lea ecx, [ebp - 0x178]
call fcn.004382a0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x184]
call fcn.00438180
cmp dword [ebp - 0x28], 0
je 0x48d31e
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xbd8]
call fcn.00438180
push eax
lea ecx, [ebp - 0x178]
call fcn.004382d0
push 0xac
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xbe0], eax
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0xbe0], 0
je 0x48d1ca
mov eax, dword [ebp - 0x28]
push eax
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x178]
mov dword [ecx], edx
mov eax, dword [ebp - 0x174]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x170]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x184]
mov dword [eax], ecx
mov edx, dword [ebp - 0x180]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x17c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xbe0]
call fcn.00576470
mov dword [ebp - 0x10a4], eax
jmp 0x48d1d4
mov dword [ebp - 0x10a4], 0
mov edx, dword [ebp - 0x10a4]
mov dword [ebp - 0xbdc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xbdc]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
je 0x48d211
mov ecx, dword [ebp - 0x190]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov dword [ebp - 0x188], eax
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xbe8], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0xbe8], 0
je 0x48d27e
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x178]
mov dword [eax], ecx
mov edx, dword [ebp - 0x174]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x170]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xbe8]
call fcn.0055a270
mov dword [ebp - 0x10a8], eax
jmp 0x48d288
mov dword [ebp - 0x10a8], 0
mov edx, dword [ebp - 0x10a8]
mov dword [ebp - 0xbe4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
je 0x48d2c5
mov ecx, dword [ebp - 0x18c]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x6fc], 0
je 0x48d2e6
mov ecx, dword [ebp - 0x188]
push ecx
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x6fc]
call fcn.00571865
cmp dword [0x636738], 0
je 0x48d31e
push 0x9c
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48d31e
push 0
push 0
push 0x9c
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x48d5a1
lea ecx, [ebp - 0x1ac]
call fcn.004382a0
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.00438180
cmp dword [ebp - 0x28], 0
jne 0x48d432
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x28]
mov dword [ebp - 0x10ac], eax
fild dword [ebp - 0x10ac]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x26]
mov dword [ebp - 0x10b0], edx
fild dword [ebp - 0x10b0]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xbf0]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x10b4], eax
fild dword [ebp - 0x10b4]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x10b8], ecx
fild dword [ebp - 0x10b8]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x1bc]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x10bc], ecx
fild dword [ebp - 0x10bc]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xbfc]
call fcn.00438180
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004382d0
jmp 0x48d45e
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xc08]
call fcn.00438180
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004382d0
lea edx, [ebp - 0x1b8]
push edx
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.00499b00
push 0x40e00000
lea ecx, [ebp - 0xc14]
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.00499b60
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004382d0
lea edx, [ebp - 0x1a0]
push edx
lea eax, [ebp - 0xc20]
push eax
lea ecx, [ebp - 0x1b8]
call fcn.00499aa0
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004382d0
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xc28], eax
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0xc28], 0
je 0x48d51a
push 0
push 0
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1a8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1a4]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xc28]
call fcn.0056c630
mov dword [ebp - 0x10c0], eax
jmp 0x48d524
mov dword [ebp - 0x10c0], 0
mov eax, dword [ebp - 0x10c0]
mov dword [ebp - 0xc24], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc24]
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 0
je 0x48d577
mov edx, dword [ebp - 0x198]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0xc30]
call fcn.0040bed0
push eax
mov ecx, dword [ebp - 0x194]
add ecx, 0x8c
call fcn.0040bf00
mov ecx, dword [ebp - 0x1010]
cmp dword [ecx + 0x2c], 0
je 0x48d5a1
cmp dword [ebp - 0x194], 0
je 0x48d5a1
mov edx, dword [ebp - 0x194]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x491210
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x1e
je 0x48d5c2
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x17
jne 0x48d765
cmp dword [ebp - 0x40], 0
je 0x48d760
mov dword [ebp - 0x1c4], 0
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00438180
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x17
jne 0x48d6b8
mov dword [ebp - 0x1c4], 2
cmp dword [ebp - 0x28], 0
jne 0x48d683
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x10c4], ecx
fild dword [ebp - 0x10c4]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
fld dword [ebp - 0x14]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x26]
mov dword [ebp - 0x10c8], eax
fild dword [ebp - 0x10c8]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xc3c]
call fcn.00438180
push eax
lea ecx, [ebp - 0x1d0]
call fcn.004382d0
jmp 0x48d6b8
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x28]
fld dword [eax + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xc48]
call fcn.00438180
push eax
lea ecx, [ebp - 0x1d0]
call fcn.004382d0
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xc50], eax
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0xc50], 0
je 0x48d719
push 0x3dcccccd
mov eax, dword [ebp - 0x1c4]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1d0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1cc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1c8]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xc50]
call fcn.0056f0e0
mov dword [ebp - 0x10cc], eax
jmp 0x48d723
mov dword [ebp - 0x10cc], 0
mov eax, dword [ebp - 0x10cc]
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x1c0], 0
je 0x48d760
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x491210
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x37
jne 0x48dace
mov dword [ebp - 0x1d4], 3
lea ecx, [ebp - 0x1e4]
call fcn.004382a0
cmp dword [ebp - 0x28], 0
jne 0x48d871
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x10d0], ecx
fild dword [ebp - 0x10d0]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x26]
mov dword [ebp - 0x10d4], eax
fild dword [ebp - 0x10d4]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xc58]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x10d8], eax
fild dword [ebp - 0x10d8]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x10dc], ecx
fild dword [ebp - 0x10dc]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
fld dword [ebp - 0x1e8]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x26]
mov dword [ebp - 0x10e0], eax
fild dword [ebp - 0x10e0]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xc64]
call fcn.00438180
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004382d0
jmp 0x48d94e
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x28]
fld dword [eax + 0x30]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xc70]
call fcn.00438180
push eax
lea ecx, [ebp - 0x1e4]
call fcn.004382d0
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xc78], eax
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0xc78], 0
je 0x48d907
push 0x3dcccccd
mov eax, dword [ebp - 0x1d4]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1e4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1e0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1dc]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xc78]
call fcn.0056f0e0
mov dword [ebp - 0x10e4], eax
jmp 0x48d911
mov dword [ebp - 0x10e4], 0
mov eax, dword [ebp - 0x10e4]
mov dword [ebp - 0xc74], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc74]
mov dword [ebp - 0x1ec], ecx
cmp dword [ebp - 0x1ec], 0
je 0x48d94e
mov edx, dword [ebp - 0x1ec]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
mov dword [ebp - 0x1d8], 0
jmp 0x48d969
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
cmp dword [ebp - 0x1d8], 0xd
jge 0x48dac9
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39d
jne 0x48d994
cmp dword [ebp - 0x1d8], 1
jl 0x48d994
jmp 0x48dac9
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39e
jne 0x48d9b3
cmp dword [ebp - 0x1d8], 2
jl 0x48d9b3
jmp 0x48dac9
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + eax*8 + 0x3c]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x48dac4
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xc80], eax
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0xc80], 0
je 0x48da6d
mov eax, dword [ebp - 0x1f0]
push eax
push 5
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x1f0]
fld dword [eax + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xc8c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xc80]
call fcn.00561770
mov dword [ebp - 0x10e8], eax
jmp 0x48da77
mov dword [ebp - 0x10e8], 0
mov ecx, dword [ebp - 0x10e8]
mov dword [ebp - 0xc7c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xc7c]
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 0
je 0x48dac4
mov eax, dword [ebp - 0x1f4]
mov dword [eax + 0x84], 0x7d0
mov ecx, dword [ebp - 0x1f4]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48d95a
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x4c
jne 0x48db11
cmp dword [0x636738], 0
je 0x48db0c
push 0x22
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48db0c
push 0
push 0
push 0x22
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x4d
jne 0x48db54
cmp dword [0x636738], 0
je 0x48db4f
push 0x24
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48db4f
push 0
push 0
push 0x24
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x57
jne 0x48de21
cmp dword [0x277c1bc], 0
jne 0x48de1c
mov dword [ebp - 0x1f8], 0
jmp 0x48db8c
mov eax, dword [ebp - 0x1f8]
add eax, 1
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0xa
jge 0x48de1c
call fcn.005c6ece
mov dword [ebp - 0x200], eax
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xc94], eax
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0xc94], 0
je 0x48dc85
push 0x50
push 1
push 0
mov ecx, dword [ebp - 0x1f8]
and ecx, 0x80000001
jns 0x48dbe4
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [ebp - 0x10ec], ecx
fild dword [ebp - 0x10ec]
fmul dword [0x5f52b4]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x1f8]
and edx, 0x80000001
jns 0x48dc13
dec edx
or edx, 0xfffffffe
inc edx
mov dword [ebp - 0x10f0], edx
fild dword [ebp - 0x10f0]
fmul dword [0x5f52b4]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x1f8]
and eax, 0x80000001
jns 0x48dc41
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x10f4], eax
fild dword [ebp - 0x10f4]
fmul dword [0x5f52b4]
fadd dword [0x5f51cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x1f8]
imul ecx, ecx, 0x96
add ecx, 0x3e8
push ecx
push 0x38
mov ecx, dword [ebp - 0xc94]
call fcn.00551610
mov dword [ebp - 0x10f8], eax
jmp 0x48dc8f
mov dword [ebp - 0x10f8], 0
mov edx, dword [ebp - 0x10f8]
mov dword [ebp - 0xc90], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc90]
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x48dcbc
jmp 0x48db7d
mov eax, dword [ebp - 0x1f8]
cdq
mov ecx, 3
idiv ecx
mov dword [ebp - 0x10fc], edx
fild dword [ebp - 0x10fc]
fmul dword [0x5f54e4]
fadd dword [0x5f54e0]
mov edx, dword [ebp - 0x1fc]
fstp dword [edx + 0x13c]
mov eax, dword [ebp - 0x1fc]
mov dword [eax + 0x140], 0xc0000000
mov ecx, dword [ebp - 0x1fc]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x1fc]
mov dword [edx + 0x148], 3
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x2c]
fadd dword [0x5f4508]
mov eax, dword [ebp - 0x200]
cdq
mov ecx, 5
idiv ecx
sub edx, 3
mov dword [ebp - 0x1100], edx
fild dword [ebp - 0x1100]
fmul dword [0x5f52b4]
faddp st(1)
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x30]
fadd dword [0x5f4508]
mov eax, dword [ebp - 0x200]
cdq
mov ecx, 5
idiv ecx
sub edx, 3
mov dword [ebp - 0x1104], edx
fild dword [ebp - 0x1104]
fmul dword [0x5f52b4]
faddp st(1)
fadd dword [0x5f46bc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x28]
fadd dword [0x5f4508]
mov eax, dword [ebp - 0x200]
cdq
mov ecx, 5
idiv ecx
sub edx, 3
mov dword [ebp - 0x1108], edx
fild dword [ebp - 0x1108]
fmul dword [0x5f52b4]
faddp st(1)
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xca0]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x1fc]
add ecx, 0x14c
call fcn.004382d0
push eax
mov ecx, dword [ebp - 0x1fc]
add ecx, 0x74
call fcn.004382d0
push 0xff4444ff
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1fc]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x1fc]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48db7d
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x56
jne 0x48e65d
cmp dword [ebp - 0x40], 0
je 0x48e658
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x22c]
call fcn.00438180
push 0
push 0
lea ecx, [ebp - 0x20c]
call fcn.0040bed0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x214], 0
jmp 0x48de98
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
cmp dword [ebp - 0x214], 0xd
jge 0x48e04b
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39d
jne 0x48dec3
cmp dword [ebp - 0x214], 1
jl 0x48dec3
jmp 0x48e04b
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39e
jne 0x48dee2
cmp dword [ebp - 0x214], 2
jl 0x48dee2
jmp 0x48e04b
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + eax*8 + 0x3c]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x48e046
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0x248]
call fcn.00438180
mov edx, dword [ebp - 0x238]
fld dword [ebp - 0x20c]
fadd dword [edx + 0x28]
fstp dword [ebp - 0x20c]
mov eax, dword [ebp - 0x238]
fld dword [ebp - 0x208]
fadd dword [eax + 0x2c]
fstp dword [ebp - 0x208]
mov ecx, dword [ebp - 0x220]
add ecx, 1
mov dword [ebp - 0x220], ecx
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xca8], eax
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0xca8], 0
je 0x48dfff
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x248]
mov dword [edx], eax
mov ecx, dword [ebp - 0x244]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x240]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x22c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x228]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x224]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xca8]
call fcn.0054e2e0
mov dword [ebp - 0x110c], eax
jmp 0x48e009
mov dword [ebp - 0x110c], 0
mov eax, dword [ebp - 0x110c]
mov dword [ebp - 0xca4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0
je 0x48e046
mov edx, dword [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x48de89
lea ecx, [ebp - 0x21c]
call fcn.00438170
cmp dword [ebp - 0x220], 0
jle 0x48e097
fild dword [ebp - 0x220]
fdivr dword [ebp - 0x20c]
fstp dword [ebp - 0x20c]
fild dword [ebp - 0x220]
fdivr dword [ebp - 0x208]
fstp dword [ebp - 0x208]
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.0040bf00
jmp 0x48e0ec
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x28]
mov dword [ebp - 0x1110], eax
fild dword [ebp - 0x1110]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x26]
mov dword [ebp - 0x1114], edx
fild dword [ebp - 0x1114]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xcb0]
call fcn.0040bed0
push eax
lea ecx, [ebp - 0x21c]
call fcn.0040bf00
fld dword [ebp - 0x218]
fchs
mov eax, dword [ebp - 0x40]
fadd dword [eax + 0x2c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x40]
fld dword [ebp - 0x21c]
fsub dword [ecx + 0x28]
push ecx
fstp dword [esp]
call fcn.00499980
add esp, 8
fst dword [ebp - 0x204]
fsub dword [0x5f5420]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x204]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 1
je 0x48e14d
fld dword [ebp - 0x204]
fadd dword [0x5f533c]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x204]
fcomp dword [0x5f533c]
fnstsw ax
test ah, 0x41
jne 0x48e172
fld dword [ebp - 0x204]
fsub dword [0x5f533c]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x204]
fmul dword [0x5f4f08]
fdiv dword [0x5f533c]
call fcn.005c5ef0
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x234]
sub edx, 3
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x234]
add eax, 3
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x230], 0
jl 0x48e336
cmp dword [ebp - 0x210], 0xc
jg 0x48e336
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0x214], ecx
jmp 0x48e1e4
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x210]
jge 0x48e331
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x1010]
fld dword [ebp - 0x218]
fadd dword [edx + ecx*8 + 0x27758]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x1010]
fld dword [ebp - 0x21c]
fadd dword [ecx + eax*8 + 0x27754]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x254]
call fcn.0040bed0
mov edx, dword [ebp - 0x250]
push edx
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x254]
push ecx
lea ecx, [ebp - 0x260]
call fcn.00438180
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xcb8], eax
mov dword [ebp - 4], 0x13
cmp dword [ebp - 0xcb8], 0
je 0x48e2e5
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x260]
mov dword [edx], eax
mov ecx, dword [ebp - 0x25c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x258]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x22c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x228]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x224]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xcb8]
call fcn.0054e2e0
mov dword [ebp - 0x1118], eax
jmp 0x48e2ef
mov dword [ebp - 0x1118], 0
mov eax, dword [ebp - 0x1118]
mov dword [ebp - 0xcb4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 0
je 0x48e32c
mov edx, dword [ebp - 0x24c]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x48e1d5
jmp 0x48e658
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x264], 0xc
cmp dword [ebp - 0x230], 0
jge 0x48e370
mov ecx, dword [ebp - 0x230]
add ecx, 0xc
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x264], edx
jmp 0x48e38b
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x210]
sub ecx, 0xc
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x268], 0
jmp 0x48e3a6
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x268]
cmp eax, dword [ebp - 0x264]
jge 0x48e4f3
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x1010]
fld dword [ebp - 0x218]
fadd dword [edx + ecx*8 + 0x27758]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x1010]
fld dword [ebp - 0x21c]
fadd dword [ecx + eax*8 + 0x27754]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x278]
call fcn.0040bed0
mov edx, dword [ebp - 0x274]
push edx
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x278]
push ecx
lea ecx, [ebp - 0x284]
call fcn.00438180
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xcc0], eax
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0xcc0], 0
je 0x48e4a7
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x284]
mov dword [edx], eax
mov ecx, dword [ebp - 0x280]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x27c]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x22c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x228]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x224]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xcc0]
call fcn.0054e2e0
mov dword [ebp - 0x111c], eax
jmp 0x48e4b1
mov dword [ebp - 0x111c], 0
mov eax, dword [ebp - 0x111c]
mov dword [ebp - 0xcbc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xcbc]
mov dword [ebp - 0x270], ecx
cmp dword [ebp - 0x270], 0
je 0x48e4ee
mov edx, dword [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x48e397
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x268], ecx
jmp 0x48e510
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 0xc
jge 0x48e658
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x1010]
fld dword [ebp - 0x218]
fadd dword [ecx + eax*8 + 0x27758]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x1010]
fld dword [ebp - 0x21c]
fadd dword [eax + edx*8 + 0x27754]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x290]
call fcn.0040bed0
mov ecx, dword [ebp - 0x28c]
push ecx
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x290]
push eax
lea ecx, [ebp - 0x29c]
call fcn.00438180
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xcc8], eax
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0xcc8], 0
je 0x48e60c
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x29c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x298]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x294]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x22c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x228]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x224]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xcc8]
call fcn.0054e2e0
mov dword [ebp - 0x1120], eax
jmp 0x48e616
mov dword [ebp - 0x1120], 0
mov edx, dword [ebp - 0x1120]
mov dword [ebp - 0xcc4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xcc4]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
je 0x48e653
mov ecx, dword [ebp - 0x288]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48e501
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x63
jne 0x48ec36
cmp dword [ebp - 0x28], 0
je 0x48ec31
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x218], 4
je 0x48e699
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x218], 8
jne 0x48e6a3
mov dword [ebp - 0x2a8], 1
push 0x1b4
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0xcd0], 0
je 0x48e730
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xcdc]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
push 0
push 0
push 0
lea ecx, [ebp - 0xce8]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x5c]
push edx
mov ecx, dword [ebp - 0xcd0]
call fcn.0055dc50
mov dword [ebp - 0x1124], eax
jmp 0x48e73a
mov dword [ebp - 0x1124], 0
mov eax, dword [ebp - 0x1124]
mov dword [ebp - 0xccc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xccc]
mov dword [ebp - 0x2a0], ecx
cmp dword [ebp - 0x2a0], 0
je 0x48e99b
cmp dword [ebp - 0x28], 0
je 0x48e7f1
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx + 0xa43]
test eax, eax
jle 0x48e7f1
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x120], 0
je 0x48e7f1
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xa48]
mov dword [edx + 0x5c], ecx
push 0x20
mov edx, dword [ebp - 0x28]
add edx, 0x126
push edx
mov eax, dword [ebp - 0x2a0]
add eax, 0xe8
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x5c]
mov dword [ecx + 0x1a8], eax
push 0x20
mov ecx, dword [ebp - 0x28]
add ecx, 0x166
push ecx
mov edx, dword [ebp - 0x2a0]
add edx, 0x184
push edx
call fcn.005c5f60
add esp, 0xc
jmp 0x48e811
push 0x20
mov eax, dword [ebp - 0x28]
add eax, 0x166
push eax
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xe8
push ecx
call fcn.005c5f60
add esp, 0xc
mov edx, dword [ebp - 0x2a0]
mov dword [edx + 0x12c], 0x3f000000
mov eax, dword [ebp - 0x2a0]
mov dword [eax + 0x130], 0x3f000000
mov ecx, dword [ebp - 0x2a0]
mov dword [ecx + 0x134], 0x3f000000
mov edx, dword [ebp - 0x2a8]
push edx
mov eax, dword [ebp - 0x2a0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2a0]
call dword [edx + 0x80]
mov eax, dword [ebp - 0x2a0]
mov dword [eax + 0x15c], 1
mov ecx, dword [ebp - 0x2a0]
mov dword [ecx + 0x11c], 0xbb8
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x28]
fld dword [ecx + 0x30]
fadd dword [0x5f47f4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2a0]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0xa43]
test ecx, ecx
jle 0x48e930
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x120], 0
je 0x48e930
mov eax, dword [ebp - 0x2a0]
cmp dword [eax + 0x60], 0
je 0x48e8f5
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa78]
push eax
mov ecx, dword [ebp - 0x2a0]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0x2a0]
cmp dword [edx + 0x1a4], 0
je 0x48e92e
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 0x1a8]
imul ecx, ecx, 0x2a0
mov edx, dword [ecx + 0x6dfad8]
push edx
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [eax + 0x1a4]
call fcn.004c49ae
jmp 0x48e954
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ecx + 0x5c]
imul edx, edx, 0x2a0
mov eax, dword [edx + 0x6dfa78]
push eax
mov ecx, dword [ebp - 0x2a0]
mov ecx, dword [ecx + 0x60]
call fcn.004c49ae
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x2a0]
mov dword [edx + 0x120], 1
mov eax, dword [ebp - 0x2a0]
mov dword [eax + 0x124], 8
mov ecx, dword [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov dword [ebp - 0x2a4], 0xaaaaaaaa
mov dword [ebp - 0x2ac], 0xffffffff
jmp 0x48e9c0
mov eax, dword [ebp - 0x2ac]
add eax, 1
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 2
jge 0x48eb13
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xcf0], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0xcf0], 0
je 0x48ea13
push 0
push 0
mov ecx, dword [ebp - 0x2a4]
push ecx
push 0x1fa
mov ecx, dword [ebp - 0xcf0]
call fcn.0055ab20
mov dword [ebp - 0x1128], eax
jmp 0x48ea1d
mov dword [ebp - 0x1128], 0
mov edx, dword [ebp - 0x1128]
mov dword [ebp - 0xcec], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xcec]
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x48eb0e
mov ecx, dword [ebp - 0x2b4]
mov dword [ecx + 0x6c], 1
mov edx, dword [ebp - 0x2b4]
mov byte [edx + 0xac], 1
mov eax, dword [ebp - 0x2b4]
mov dword [eax + 0xb8], 0xbb8
mov ecx, dword [ebp - 0x2b4]
mov dword [ecx + 0xb0], 0xbb8
mov edx, dword [ebp - 0x2b4]
mov dword [edx + 0x98], 0x3fc00000
mov eax, dword [ebp - 0x2b4]
mov dword [eax + 0x9c], 0x40400000
fild dword [ebp - 0x2ac]
fmul dword [0x5f51cc]
mov ecx, dword [ebp - 0x28]
fadd dword [ecx + 0x2c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x28]
fld dword [edx + 0x30]
fsub dword [0x5f4508]
push ecx
fstp dword [esp]
fild dword [ebp - 0x2ac]
fmul dword [0x5f51cc]
mov eax, dword [ebp - 0x28]
fadd dword [eax + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xcfc]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x2b4]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0x2b4]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48e9b1
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd04], eax
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0xd04], 0
je 0x48eb52
push 0x3f800000
push 0x76
push 4
mov ecx, dword [ebp - 0xd04]
call fcn.00567a20
mov dword [ebp - 0x112c], eax
jmp 0x48eb5c
mov dword [ebp - 0x112c], 0
mov eax, dword [ebp - 0x112c]
mov dword [ebp - 0xd00], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd00]
mov dword [ebp - 0x2b0], ecx
cmp dword [ebp - 0x2b0], 0
je 0x48ebff
mov edx, dword [ebp - 0x2b0]
mov dword [edx + 0xa0], 0x1f40
mov eax, dword [ebp - 0x2a4]
push eax
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2b0]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x2b0]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xd0c]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2b0]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x2b0]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
cmp dword [0x636738], 0
je 0x48ec31
push 1
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48ec31
push 0
push 0
push 1
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x64
jne 0x48ec7f
cmp dword [0x636738], 0
je 0x48ec7a
push 0x9c
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x48ec7a
push 0
push 0
push 0x9c
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x6a
je 0x48ec97
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6c
jne 0x48ecdb
mov dword [ebp - 0x2b8], 0
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x6c
jne 0x48ecb7
mov dword [ebp - 0x2b8], 1
cmp dword [ebp - 0x28], 0
je 0x48ecd6
cmp dword [ebp - 0x40], 0
je 0x48ecd6
mov ecx, dword [ebp - 0x2b8]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x40]
call fcn.005076d2
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6b
jne 0x48ee48
cmp dword [ebp - 0x28], 0
je 0x48ee43
cmp dword [ebp - 0x40], 0
je 0x48ee43
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x40]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
fmul dword [0x5f51d4]
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x30]
fstp dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x5c], 8
jne 0x48ed45
mov ecx, dword [ebp - 0x40]
fld dword [0x5f493c]
fmul dword [ecx + 0x38]
fadd dword [ebp - 0x2c0]
fstp dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x2c0]
push ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00438180
push 0xdc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd14], eax
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0xd14], 0
je 0x48edfc
push 0
push 5
push 0x3f800000
push 0x3e8
push 0xff554411
push 0xffffaa00
push 0
push 0
push 0
lea ecx, [ebp - 0xd20]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x28]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x2cc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2c4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xd14]
call fcn.005607d0
mov dword [ebp - 0x1130], eax
jmp 0x48ee06
mov dword [ebp - 0x1130], 0
mov ecx, dword [ebp - 0x1130]
mov dword [ebp - 0xd10], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd10]
mov dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x2bc], 0
je 0x48ee43
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x6d
jne 0x48efb5
cmp dword [ebp - 0x28], 0
je 0x48efb0
cmp dword [ebp - 0x40], 0
je 0x48efb0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x40]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
fmul dword [0x5f51d4]
mov ecx, dword [ebp - 0x40]
fadd dword [ecx + 0x30]
fstp dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0x5c], 0x2a
jne 0x48eeb2
mov eax, dword [ebp - 0x40]
fld dword [0x5f493c]
fmul dword [eax + 0x38]
fadd dword [ebp - 0x2d4]
fstp dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x2d4]
push eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x2e0]
call fcn.00438180
push 0xdc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd28], eax
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0xd28], 0
je 0x48ef69
push 0
push 5
push 0x3f800000
push 0x3e8
push 0xaa663311
push 0xff550000
push 0
push 0
push 0
lea ecx, [ebp - 0xd34]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x28]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x2e0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2dc]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2d8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xd28]
call fcn.005607d0
mov dword [ebp - 0x1134], eax
jmp 0x48ef73
mov dword [ebp - 0x1134], 0
mov ecx, dword [ebp - 0x1134]
mov dword [ebp - 0xd24], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd24]
mov dword [ebp - 0x2d0], edx
cmp dword [ebp - 0x2d0], 0
je 0x48efb0
mov eax, dword [ebp - 0x2d0]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x6e
jne 0x48fa15
push 0
push 0
push 0
lea ecx, [ebp - 0x2f8]
call fcn.00438180
push 0
push 0
push 0
lea ecx, [ebp - 0x2ec]
call fcn.00438180
mov dword [ebp - 0x308], 0
mov dword [ebp - 0x68], 0
jmp 0x48f003
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 0xd
jge 0x48f3b9
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39d
jne 0x48f028
cmp dword [ebp - 0x68], 1
jl 0x48f028
jmp 0x48f3b9
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39e
jne 0x48f044
cmp dword [ebp - 0x68], 2
jl 0x48f044
jmp 0x48f3b9
call fcn.005c6ece
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x310], edx
call fcn.005c6ece
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x314], edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + edx*8 + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
je 0x48f211
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x30c]
cmp edx, dword [ecx + 0x4c]
jne 0x48f0b7
mov dword [ebp - 0x308], 1
mov eax, dword [ebp - 0x30c]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x30c]
fld dword [edx + 0x30]
fsub dword [0x5f5178]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x30c]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xd40]
call fcn.00438180
push eax
lea ecx, [ebp - 0x2f8]
call fcn.004382d0
lea edx, [ebp - 0x2f8]
push edx
lea ecx, [ebp - 0x2ec]
call fcn.004382d0
mov dword [ebp - 0x2e8], 0x3f800000
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd48], eax
mov dword [ebp - 4], 0x1b
cmp dword [ebp - 0xd48], 0
je 0x48f189
push 0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2f8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2f4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2f0]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x2ec]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2e8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2e4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xd48]
call fcn.00572a50
mov dword [ebp - 0x1138], eax
jmp 0x48f193
mov dword [ebp - 0x1138], 0
mov ecx, dword [ebp - 0x1138]
mov dword [ebp - 0xd44], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd44]
mov dword [ebp - 0x318], edx
cmp dword [ebp - 0x318], 0
je 0x48f1e2
call fcn.005c6ece
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax + 0x80]
add ecx, edx
mov edx, dword [ebp - 0x318]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x48f20c
cmp dword [ebp - 0x318], 0
je 0x48f20c
mov ecx, dword [ebp - 0x318]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48f3b4
fld dword [ebp - 0x2f8]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x48f3b4
fld dword [ebp - 0x2f4]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x48f3b4
fld dword [ebp - 0x2f0]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x48f3b4
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd50], eax
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0xd50], 0
je 0x48f33a
push 0
push 3
fild dword [ebp - 0x314]
fadd dword [ebp - 0x2f0]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x2f4]
push eax
fild dword [ebp - 0x310]
fadd dword [ebp - 0x2f8]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xd5c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
fild dword [ebp - 0x314]
fadd dword [ebp - 0x2e4]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x2e8]
push ecx
fild dword [ebp - 0x310]
fadd dword [ebp - 0x2ec]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xd68]
call fcn.00438180
sub esp, 0xc
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xd50]
call fcn.00572a50
mov dword [ebp - 0x113c], eax
jmp 0x48f344
mov dword [ebp - 0x113c], 0
mov ecx, dword [ebp - 0x113c]
mov dword [ebp - 0xd4c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd4c]
mov dword [ebp - 0x31c], edx
call fcn.005c6ece
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x80]
add ecx, edx
mov edx, dword [ebp - 0x31c]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x48f3b4
cmp dword [ebp - 0x31c], 0
je 0x48f3b4
mov ecx, dword [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48effa
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x834]
add esi, 0x6a4
mov ecx, dword [0x9a21cc]
mov edx, dword [ecx]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
cmp esi, eax
jae 0x48f5c2
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
sub eax, 0x3e8
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x834], eax
mov dword [ebp - 0x320], 0xfffffffd
jmp 0x48f41a
mov edx, dword [ebp - 0x320]
add edx, 1
mov dword [ebp - 0x320], edx
cmp dword [ebp - 0x320], 3
jge 0x48f575
mov dword [ebp - 0x328], 0xfffffffd
jmp 0x48f442
mov eax, dword [ebp - 0x328]
add eax, 1
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 3
jge 0x48f570
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd70], eax
mov dword [ebp - 4], 0x1d
cmp dword [ebp - 0xd70], 0
je 0x48f4a7
push 0x50
push 1
push 0x3a83126f
push 0x40000000
push 0x40000000
push 0x40000000
push 0xfa0
push 0xc1
mov ecx, dword [ebp - 0xd70]
call fcn.00551610
mov dword [ebp - 0x1140], eax
jmp 0x48f4b1
mov dword [ebp - 0x1140], 0
mov ecx, dword [ebp - 0x1140]
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd6c]
mov dword [ebp - 0x32c], edx
cmp dword [ebp - 0x32c], 0
je 0x48f56b
mov eax, dword [ebp - 0x320]
and eax, 0x80000001
jns 0x48f4ef
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x32c]
mov dword [ecx + 0x100], eax
fild dword [ebp - 0x328]
fadd st(0), st(0)
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x30]
push ecx
fild dword [ebp - 0x320]
fadd st(0), st(0)
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xd7c]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x32c]
add ecx, 0x74
call fcn.004382d0
push 0xff777799
mov eax, dword [ebp - 0x32c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x32c]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x32c]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x48f433
jmp 0x48f40b
mov edx, dword [0x6f0ab0]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 0
je 0x48f5c2
mov ecx, dword [0x9a21cc]
mov edx, dword [ecx]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x324]
mov dword [ecx + 0x20a6c], eax
mov edx, dword [ebp - 0x40]
add edx, 0x28
push edx
mov ecx, dword [ebp - 0x324]
add ecx, 0x20a64
call fcn.0040bf00
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x28]
call fcn.005c5ef0
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x40]
fld dword [edx + 0x28]
call fcn.005c5ef0
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x2fc], 0x7d0
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x308], 0
jne 0x48f63f
mov dword [ebp - 0x2fc], 0x3e8
cmp dword [ebp - 0x304], 0x12
jge 0x48fa10
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov esi, dword [ecx + 0x7dc]
add esi, dword [ebp - 0x2fc]
mov edx, dword [0x9a21cc]
mov eax, dword [edx]
mov ecx, dword [0x9a21cc]
call dword [eax + 8]
cmp esi, eax
jae 0x48fa10
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
movsx eax, byte [edx + 0x211]
test eax, eax
jne 0x48fa10
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
cmp dword [edx + 0x9d8], 0xc
je 0x48fa10
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9d8], 0xb
je 0x48fa10
mov dword [ebp - 0x334], 4
mov dword [ebp - 0x330], 5
cmp dword [ebp - 0x308], 0
jne 0x48f6ef
mov dword [ebp - 0x334], 8
mov dword [ebp - 0x330], 9
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
cmp edx, dword [ebp - 0x334]
jge 0x48fa10
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x26ebc], 0
cmp dword [0x6136d0], 0
jne 0x48f72c
mov ecx, dword [ebp - 0x1010]
call fcn.00452add
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
fld dword [ecx + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x3ac], eax
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a4], 0
cmp dword [ebp - 0x3ac], 0x93a
jg 0x48f78a
mov ecx, dword [ebp - 0x330]
neg ecx
mov dword [ebp - 0x3a8], ecx
jmp 0x48f7a2
cmp dword [ebp - 0x3ac], 0x942
jl 0x48f7a2
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x3a8], edx
cmp dword [ebp - 0x3b0], 0xf57
jg 0x48f7be
mov eax, dword [ebp - 0x330]
neg eax
mov dword [ebp - 0x3a4], eax
jmp 0x48f7d6
cmp dword [ebp - 0x3b0], 0xf5f
jl 0x48f7d6
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
fild dword [ebp - 0x3a8]
fadd dword [eax + 0x28]
call fcn.005c5ef0
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
fild dword [ebp - 0x3a4]
fadd dword [edx + 0x2c]
call fcn.005c5ef0
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x39c], 0x925
jge 0x48f828
mov dword [ebp - 0x39c], 0x925
jmp 0x48f83e
cmp dword [ebp - 0x39c], 0x957
jle 0x48f83e
mov dword [ebp - 0x39c], 0x957
cmp dword [ebp - 0x3a0], 0xf43
jge 0x48f856
mov dword [ebp - 0x39c], 0xf43
jmp 0x48f86c
cmp dword [ebp - 0x3a0], 0xf70
jle 0x48f86c
mov dword [ebp - 0x3a0], 0xf70
push 0x30
push 0
lea eax, [ebp - 0x364]
push eax
call fcn.005c5b80
add esp, 0xc
push 8
mov ecx, dword [ebp - 0x1010]
add ecx, 0xd4
push ecx
push 0xc
lea edx, [ebp - 0x364]
push edx
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x39c]
push ecx
mov edx, dword [ebp - 0x3b0]
push edx
mov eax, dword [ebp - 0x3ac]
push eax
call fcn.0054084c
add esp, 0x20
lea ecx, [ebp - 0x364]
push ecx
call fcn.005c5a20
add esp, 4
test eax, eax
ja 0x48f8d8
mov eax, 1
jmp 0x4954a2
push 0x34
push 0
lea edx, [ebp - 0x398]
push edx
call fcn.005c5b80
add esp, 0xc
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0x392], dx
mov ax, word [ebp - 0x39c]
mov word [ebp - 0x38c], ax
mov cx, word [ebp - 0x3a0]
mov word [ebp - 0x38a], cx
mov dword [ebp - 0x388], 2
mov word [ebp - 0x394], 0x36c
mov edx, dword [0x6185b4]
mov dword [ebp - 0x384], edx
mov ax, word [ebp - 0x39c]
mov word [ebp - 0x368], ax
mov cx, word [ebp - 0x3a0]
mov word [ebp - 0x366], cx
mov edx, dword [ebp - 0x394]
and edx, 0xffff
mov dword [0x63a2a8], edx
movsx eax, word [ebp - 0x38c]
mov ecx, dword [ebp - 0x1010]
mov dword [ecx + 0x8b698], eax
movsx edx, word [ebp - 0x38a]
mov eax, dword [ebp - 0x1010]
mov dword [eax + 0x8b69c], edx
mov ecx, dword [ebp - 0x368]
and ecx, 0xffff
mov edx, dword [ebp - 0x1010]
mov dword [edx + 0x8b688], ecx
mov eax, dword [ebp - 0x366]
and eax, 0xffff
mov ecx, dword [ebp - 0x1010]
mov dword [ecx + 0x8b68c], eax
push 0x34
lea edx, [ebp - 0x398]
push edx
call fcn.0054da23
add esp, 8
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov dword [edx + 0x7dc], eax
lea eax, [ebp - 0x398]
push eax
push 0x36c
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x4c]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov edx, dword [eax]
call dword [edx + 4]
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6f
jne 0x48fecd
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00438180
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xd84], eax
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0xd84], 0
je 0x48fa8d
push 0x3f800000
push 0x76
push 0x46
mov ecx, dword [ebp - 0xd84]
call fcn.00567a20
mov dword [ebp - 0x1144], eax
jmp 0x48fa97
mov dword [ebp - 0x1144], 0
mov ecx, dword [ebp - 0x1144]
mov dword [ebp - 0xd80], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd80]
mov dword [ebp - 0x3cc], edx
cmp dword [ebp - 0x3cc], 0
je 0x48fb38
push 0xaa660000
mov eax, dword [ebp - 0x3cc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x3cc]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x3cc]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xd8c]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x3cc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3cc]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x3cc]
mov dword [eax + 0xa0], 0xc80
mov ecx, dword [ebp - 0x3cc]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0
push 0
push 0
lea ecx, [ebp - 0x3e8]
call fcn.00438180
lea ecx, [ebp - 0x400]
call fcn.004382a0
lea ecx, [ebp - 0x3dc]
call fcn.004382a0
lea ecx, [ebp - 0x3bc]
call fcn.004382a0
lea ecx, [ebp - 0x3c8]
call fcn.00438170
mov dword [ebp - 0x3d0], 0
jmp 0x48fb90
mov eax, dword [ebp - 0x3d0]
add eax, 1
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 0xd
jge 0x48fec8
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39d
jne 0x48fbbc
cmp dword [ebp - 0x3d0], 1
jl 0x48fbbc
jmp 0x48fec8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 4]
cmp ecx, 0x39e
jne 0x48fbdb
cmp dword [ebp - 0x3d0], 2
jl 0x48fbdb
jmp 0x48fec8
call fcn.005c6ece
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x408], edx
call fcn.005c6ece
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x40c], edx
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + edx*8 + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0
je 0x48fd5b
mov ecx, dword [ebp - 0x404]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x404]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0xd98]
call fcn.00438180
push eax
lea ecx, [ebp - 0x3e8]
call fcn.004382d0
lea ecx, [ebp - 0x3e8]
push ecx
lea ecx, [ebp - 0x400]
call fcn.004382d0
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xda0], eax
mov dword [ebp - 4], 0x1f
cmp dword [ebp - 0xda0], 0
je 0x48fcd8
push 0
push 1
push 8
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x400]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3fc]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x3f8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xda0]
call fcn.0056c630
mov dword [ebp - 0x1148], eax
jmp 0x48fce2
mov dword [ebp - 0x1148], 0
mov ecx, dword [ebp - 0x1148]
mov dword [ebp - 0xd9c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xd9c]
mov dword [ebp - 0x410], edx
cmp dword [ebp - 0x410], 0
je 0x48fd35
mov eax, dword [ebp - 0x3d4]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
lea ecx, [ebp - 0xda8]
call fcn.0040bed0
push eax
mov ecx, dword [ebp - 0x410]
add ecx, 0x8c
call fcn.0040bf00
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x48fd56
mov eax, dword [ebp - 0x410]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x48fec3
fld dword [ebp - 0x3e8]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x48fec3
fld dword [ebp - 0x3e4]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x48fec3
fld dword [ebp - 0x3e0]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x48fec3
fild dword [ebp - 0x40c]
fadd dword [ebp - 0x3e0]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x3e4]
push edx
fild dword [ebp - 0x408]
fadd dword [ebp - 0x3e8]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xdb4]
call fcn.00438180
push eax
lea ecx, [ebp - 0x400]
call fcn.004382d0
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xdbc], eax
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0xdbc], 0
je 0x48fe45
push 0
push 1
push 8
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x400]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3fc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3f8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xdbc]
call fcn.0056c630
mov dword [ebp - 0x114c], eax
jmp 0x48fe4f
mov dword [ebp - 0x114c], 0
mov edx, dword [ebp - 0x114c]
mov dword [ebp - 0xdb8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xdb8]
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0
je 0x48fea2
mov ecx, dword [ebp - 0x3d4]
push ecx
mov edx, dword [ebp - 0x3dc]
push edx
lea ecx, [ebp - 0xdc4]
call fcn.0040bed0
push eax
mov ecx, dword [ebp - 0x414]
add ecx, 0x8c
call fcn.0040bf00
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x48fec3
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48fb81
jmp 0x491210
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x218], 0x38
jne 0x49030e
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dx, word [ecx + 0x166]
test edx, edx
jne 0x49030e
lea ecx, [ebp - 0x438]
call fcn.004382a0
lea ecx, [ebp - 0x420]
call fcn.004382a0
push 0
push 0
push 0
lea ecx, [ebp - 0x444]
call fcn.00438180
mov eax, dword [ebp - 0x40]
add eax, 0x70
push eax
lea ecx, [ebp - 0x420]
call fcn.004382d0
mov ecx, dword [ebp - 0x40]
add ecx, 0x7c
push ecx
lea ecx, [ebp - 0x438]
call fcn.004382d0
lea ecx, [ebp - 0x42c]
call fcn.004382a0
mov dword [ebp - 0x68], 0
jmp 0x48ff59
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 0xd
jge 0x490309
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 4]
cmp ecx, 0x39d
jne 0x48ff7f
cmp dword [ebp - 0x68], 1
jl 0x48ff7f
jmp 0x490309
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39e
jne 0x48ff9a
cmp dword [ebp - 0x68], 2
jl 0x48ff9a
jmp 0x490309
call fcn.005c6ece
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x44c], edx
call fcn.005c6ece
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x450], edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + edx*8 + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x490164
mov ecx, dword [ebp - 0x68]
and ecx, 0x80000001
jns 0x490002
dec ecx
or ecx, 0xfffffffe
inc ecx
add ecx, 1
imul ecx, ecx, 0xc
mov edx, dword [ebp - 0x40]
lea eax, [edx + ecx + 0x64]
push eax
lea ecx, [ebp - 0x42c]
call fcn.004382d0
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x448]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xdd0]
call fcn.00438180
push eax
lea ecx, [ebp - 0x444]
call fcn.004382d0
push 0xdc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xdd8], eax
mov dword [ebp - 4], 0x21
cmp dword [ebp - 0xdd8], 0
je 0x4900f3
push 0
push 5
push 0x3f800000
push 0x3e8
push 0xff222299
push 0xffff0000
push 0
push 0
push 0
lea ecx, [ebp - 0xde4]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x448]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x42c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x428]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x424]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xdd8]
call fcn.005607d0
mov dword [ebp - 0x1150], eax
jmp 0x4900fd
mov dword [ebp - 0x1150], 0
mov ecx, dword [ebp - 0x1150]
mov dword [ebp - 0xdd4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xdd4]
mov dword [ebp - 0x454], edx
cmp dword [ebp - 0x454], 0
je 0x490135
mov eax, dword [ebp - 0x454]
mov dword [eax + 0x84], 0x3e4ccccd
mov ecx, dword [ebp - 0x1010]
cmp dword [ecx + 0x2c], 0
je 0x49015f
cmp dword [ebp - 0x454], 0
je 0x49015f
mov edx, dword [ebp - 0x454]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x490304
fld dword [ebp - 0x444]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x490304
fld dword [ebp - 0x440]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x490304
fld dword [ebp - 0x43c]
fcomp dword [0x5f4594]
fnstsw ax
test ah, 0x40
jne 0x490304
mov ecx, dword [ebp - 0x68]
and ecx, 0x80000001
jns 0x4901b9
dec ecx
or ecx, 0xfffffffe
inc ecx
add ecx, 1
imul ecx, ecx, 0xc
mov edx, dword [ebp - 0x40]
lea eax, [edx + ecx + 0x64]
push eax
lea ecx, [ebp - 0x42c]
call fcn.004382d0
push 0xdc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xdec], eax
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0xdec], 0
je 0x490298
push 0
push 5
push 0x3f800000
push 0x3e8
push 0xff222299
push 0xffff0000
fild dword [ebp - 0x450]
fadd dword [ebp - 0x43c]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x440]
push ecx
fild dword [ebp - 0x44c]
fadd dword [ebp - 0x444]
fsub dword [0x5f54dc]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xdf8]
call fcn.00438180
sub esp, 0xc
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x42c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x428]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x424]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xdec]
call fcn.005607d0
mov dword [ebp - 0x1154], eax
jmp 0x4902a2
mov dword [ebp - 0x1154], 0
mov eax, dword [ebp - 0x1154]
mov dword [ebp - 0xde8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xde8]
mov dword [ebp - 0x458], ecx
cmp dword [ebp - 0x458], 0
je 0x4902da
mov edx, dword [ebp - 0x458]
mov dword [edx + 0x84], 0x3ecccccd
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x490304
cmp dword [ebp - 0x458], 0
je 0x490304
mov ecx, dword [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x48ff50
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x71
jne 0x490675
push 0
push 7
mov ecx, dword [ebp - 0x40]
call fcn.0050225c
mov dword [ebp - 0x468], 0xff33ff66
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00438180
push 0xc0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe00], eax
mov dword [ebp - 4], 0x23
cmp dword [ebp - 0xe00], 0
je 0x49039c
push 0x3f800000
push 0x76
push 0x46
mov ecx, dword [ebp - 0xe00]
call fcn.00567a20
mov dword [ebp - 0x1158], eax
jmp 0x4903a6
mov dword [ebp - 0x1158], 0
mov ecx, dword [ebp - 0x1158]
mov dword [ebp - 0xdfc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xdfc]
mov dword [ebp - 0x478], edx
cmp dword [ebp - 0x478], 0
je 0x490447
push 0xaa660000
mov eax, dword [ebp - 0x478]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x478]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x478]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xe08]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x478]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x478]
mov dword [eax + 0xa0], 0xc80
mov ecx, dword [ebp - 0x478]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
push 0
push 0
push 0
lea ecx, [ebp - 0x494]
call fcn.00438180
lea ecx, [ebp - 0x488]
call fcn.004382a0
lea ecx, [ebp - 0x464]
call fcn.004382a0
lea ecx, [ebp - 0x474]
call fcn.00438170
mov dword [ebp - 0x47c], 0
jmp 0x490494
mov eax, dword [ebp - 0x47c]
add eax, 1
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 0xd
jge 0x490670
mov ecx, dword [ebp - 0x47c]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + ecx*8 + 0x3c]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0
je 0x49066b
mov eax, dword [ebp - 0x4a4]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x4a4]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x4a4]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xe14]
call fcn.00438180
push eax
lea ecx, [ebp - 0x494]
call fcn.004382d0
fld dword [ebp - 0x490]
fadd dword [0x5f493c]
fstp dword [ebp - 0x490]
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe1c], eax
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0xe1c], 0
je 0x490578
push 0
push 1
push 8
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x494]
mov dword [eax], ecx
mov edx, dword [ebp - 0x490]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x48c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0xe1c]
call fcn.0056c630
mov dword [ebp - 0x115c], eax
jmp 0x490582
mov dword [ebp - 0x115c], 0
mov edx, dword [ebp - 0x115c]
mov dword [ebp - 0xe18], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x1010]
cmp dword [ecx + 0x2c], 0
je 0x4905c2
mov edx, dword [ebp - 0x4a8]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe24], eax
mov dword [ebp - 4], 0x25
cmp dword [ebp - 0xe24], 0
je 0x490624
push 0
push 1
push 0xa
mov ecx, dword [ebp - 0x468]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x494]
mov dword [edx], eax
mov ecx, dword [ebp - 0x490]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x48c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xe24]
call fcn.00576050
mov dword [ebp - 0x1160], eax
jmp 0x49062e
mov dword [ebp - 0x1160], 0
mov ecx, dword [ebp - 0x1160]
mov dword [ebp - 0xe20], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xe20]
mov dword [ebp - 0x4ac], edx
cmp dword [ebp - 0x4ac], 0
je 0x49066b
mov eax, dword [ebp - 0x4ac]
push eax
mov ecx, dword [0x6f0ab0]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x490485
jmp 0x491210
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x72
jne 0x490aa4
push 0
push 0
push 0
lea ecx, [ebp - 0x4c4]
call fcn.00438180
push 0
push 0
push 0
lea ecx, [ebp - 0x4b8]
call fcn.00438180
mov dword [ebp - 0x4c8], 0
push 0
push 7
mov ecx, dword [ebp - 0x40]
call fcn.0050225c
mov dword [ebp - 0x68], 0
jmp 0x4906cf
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 0xd
jge 0x490a9f
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + edx*8 + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x4cc], eax
cmp dword [ebp - 0x4cc], 0
je 0x490a9a
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x4cc]
fld dword [eax + 0x30]
fsub dword [0x5f5178]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xe30]
call fcn.00438180
push eax
lea ecx, [ebp - 0x4c4]
call fcn.004382d0
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.004382d0
mov dword [ebp - 0x4b4], 0x3f800000
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe38], eax
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0xe38], 0
je 0x4907c1
push 0x3dcccccd
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x4b8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4b4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x4b0]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xe38]
call fcn.0056f0e0
mov dword [ebp - 0x1164], eax
jmp 0x4907cb
mov dword [ebp - 0x1164], 0
mov eax, dword [ebp - 0x1164]
mov dword [ebp - 0xe34], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe34]
mov dword [ebp - 0x4e0], ecx
cmp dword [ebp - 0x4e0], 0
je 0x490808
mov edx, dword [ebp - 0x4e0]
push edx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
lea ecx, [ebp - 0x4ec]
call fcn.004382a0
mov dword [ebp - 0x4f0], 0
jmp 0x49082e
mov ecx, dword [ebp - 0x4f0]
add ecx, 1
mov dword [ebp - 0x4f0], ecx
cmp dword [ebp - 0x4f0], 4
jge 0x490958
mov eax, dword [ebp - 0x4f0]
cdq
sub eax, edx
sar eax, 1
shl eax, 1
mov dword [ebp - 0x1168], eax
fild dword [ebp - 0x1168]
fadd dword [ebp - 0x4bc]
fsub dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x4c0]
push edx
mov eax, dword [ebp - 0x4f0]
and eax, 0x80000001
jns 0x49087d
dec eax
or eax, 0xfffffffe
inc eax
shl eax, 1
mov dword [ebp - 0x116c], eax
fild dword [ebp - 0x116c]
fadd dword [ebp - 0x4c4]
fsub dword [0x5f493c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xe44]
call fcn.00438180
push eax
lea ecx, [ebp - 0x4ec]
call fcn.004382d0
push 0xb0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe4c], eax
mov dword [ebp - 4], 0x27
cmp dword [ebp - 0xe4c], 0
je 0x49090d
push 0
push 0
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x4ec]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4e8]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x4e4]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xe4c]
call fcn.0056c630
mov dword [ebp - 0x1170], eax
jmp 0x490917
mov dword [ebp - 0x1170], 0
mov eax, dword [ebp - 0x1170]
mov dword [ebp - 0xe48], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe48]
mov dword [ebp - 0x500], ecx
cmp dword [ebp - 0x500], 0
je 0x490953
mov edx, dword [ebp - 0x500]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x49081f
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x4cc]
fld dword [eax + 0x30]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x4cc]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x4fc]
call fcn.00438180
fld dword [ebp - 0x4f4]
fsub dword [0x5f5160]
push ecx
fstp dword [esp]
fld dword [ebp - 0x4f8]
fadd dword [0x5f5178]
push ecx
fstp dword [esp]
fld dword [ebp - 0x4fc]
fadd dword [0x5f5160]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x4dc]
call fcn.00438180
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe54], eax
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0xe54], 0
je 0x490a46
push 0
push 0
push 0
push 0x2711
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x4fc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x4f8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x4f4]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x4dc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x4d8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x4d4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xe54]
call fcn.0054e2e0
mov dword [ebp - 0x1174], eax
jmp 0x490a50
mov dword [ebp - 0x1174], 0
mov ecx, dword [ebp - 0x1174]
mov dword [ebp - 0xe50], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xe50]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x4d0]
mov dword [eax + 0x70], 0xffffff00
cmp dword [ebp - 0x4d0], 0
je 0x490a9a
mov ecx, dword [ebp - 0x4d0]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x4906c6
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x73
jne 0x490ee4
push 0
push 0
push 0
lea ecx, [ebp - 0x51c]
call fcn.00438180
push 0
push 0
push 0
lea ecx, [ebp - 0x510]
call fcn.00438180
mov edx, dword [ebp - 0x40]
cmp dword [edx + 0x218], 0x49
je 0x490aee
push 0
push 7
mov ecx, dword [ebp - 0x40]
call fcn.0050225c
mov dword [ebp - 0x68], 0
jmp 0x490b00
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xd
jge 0x490c66
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + ecx*8 + 0x3c]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 0
je 0x490c61
mov eax, dword [ebp - 0x520]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x520]
fld dword [edx + 0x30]
fsub dword [0x5f5178]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x520]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xe60]
call fcn.00438180
push eax
lea ecx, [ebp - 0x51c]
call fcn.004382d0
lea edx, [ebp - 0x51c]
push edx
lea ecx, [ebp - 0x510]
call fcn.004382d0
mov dword [ebp - 0x50c], 0x41200000
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe68], eax
mov dword [ebp - 4], 0x29
cmp dword [ebp - 0xe68], 0
je 0x490c0e
push 0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x51c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x518]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x514]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x510]
mov dword [edx], eax
mov ecx, dword [ebp - 0x50c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x508]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xe68]
call fcn.00572a50
mov dword [ebp - 0x1178], eax
jmp 0x490c18
mov dword [ebp - 0x1178], 0
mov ecx, dword [ebp - 0x1178]
mov dword [ebp - 0xe64], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xe64]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x490c61
cmp dword [ebp - 0x524], 0
je 0x490c61
mov ecx, dword [ebp - 0x524]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x490af7
call fcn.005c6ece
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 6
jl 0x490edf
mov edx, dword [ebp - 0x40]
mov esi, dword [edx + 0x834]
add esi, 0xfa0
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
cmp esi, eax
jae 0x490edf
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
sub eax, 0x7d0
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x834], eax
mov dword [ebp - 0x528], 0xfffffffd
jmp 0x490ce6
mov edx, dword [ebp - 0x528]
add edx, 1
mov dword [ebp - 0x528], edx
cmp dword [ebp - 0x528], 3
jge 0x490e41
mov dword [ebp - 0x530], 0xfffffffd
jmp 0x490d0e
mov eax, dword [ebp - 0x530]
add eax, 1
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 3
jge 0x490e3c
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe70], eax
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0xe70], 0
je 0x490d73
push 0x50
push 1
push 0x3a83126f
push 0x40000000
push 0x40000000
push 0x40000000
push 0xfa0
push 0xc1
mov ecx, dword [ebp - 0xe70]
call fcn.00551610
mov dword [ebp - 0x117c], eax
jmp 0x490d7d
mov dword [ebp - 0x117c], 0
mov ecx, dword [ebp - 0x117c]
mov dword [ebp - 0xe6c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x534], edx
cmp dword [ebp - 0x534], 0
je 0x490e37
mov eax, dword [ebp - 0x528]
and eax, 0x80000001
jns 0x490dbb
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x534]
mov dword [ecx + 0x100], eax
fild dword [ebp - 0x530]
fadd st(0), st(0)
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x2c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x30]
push ecx
fild dword [ebp - 0x528]
fadd st(0), st(0)
mov edx, dword [ebp - 0x40]
fadd dword [edx + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xe7c]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x534]
add ecx, 0x74
call fcn.004382d0
push 0xff777799
mov eax, dword [ebp - 0x534]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x534]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x534]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x490cff
jmp 0x490cd7
mov edx, dword [0x6f0ab0]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
je 0x490e8e
mov ecx, dword [0x9a21cc]
mov edx, dword [ecx]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x52c]
mov dword [ecx + 0x20a6c], eax
mov edx, dword [ebp - 0x40]
add edx, 0x28
push edx
mov ecx, dword [ebp - 0x52c]
add ecx, 0x20a64
call fcn.0040bf00
push 0xb
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x74]
mov ecx, eax
call fcn.004d14b3
cmp dword [0x636738], 0
je 0x490edf
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
test eax, eax
je 0x490edf
push 0
push 0
push 0xa0
mov ecx, dword [0x636738]
call fcn.0042c6cf
mov ecx, eax
call fcn.0042d98d
jmp 0x491210
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x74
jne 0x491210
push 0
push 0
push 0
lea ecx, [ebp - 0x550]
call fcn.00438180
push 0
push 0
push 0
lea ecx, [ebp - 0x540]
call fcn.00438180
push 0
push 7
mov ecx, dword [ebp - 0x40]
call fcn.0050225c
mov dword [ebp - 0x68], 0
jmp 0x490f34
mov edx, dword [ebp - 0x68]
add edx, 1
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 0xd
jge 0x491099
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + eax*8 + 0x3c]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x554], eax
cmp dword [ebp - 0x554], 0
je 0x491094
mov eax, dword [ebp - 0x554]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x554]
fld dword [edx + 0x30]
fsub dword [0x5f5178]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x554]
mov ecx, dword [eax + 0x28]
push ecx
lea ecx, [ebp - 0xe88]
call fcn.00438180
push eax
lea ecx, [ebp - 0x550]
call fcn.004382d0
lea edx, [ebp - 0x550]
push edx
lea ecx, [ebp - 0x540]
call fcn.004382d0
mov dword [ebp - 0x53c], 0x41200000
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe90], eax
mov dword [ebp - 4], 0x2b
cmp dword [ebp - 0xe90], 0
je 0x491041
push 0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x550]
mov dword [eax], ecx
mov edx, dword [ebp - 0x54c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x548]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x540]
mov dword [edx], eax
mov ecx, dword [ebp - 0x53c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x538]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xe90]
call fcn.00572a50
mov dword [ebp - 0x1180], eax
jmp 0x49104b
mov dword [ebp - 0x1180], 0
mov ecx, dword [ebp - 0x1180]
mov dword [ebp - 0xe8c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xe8c]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x491094
cmp dword [ebp - 0x558], 0
je 0x491094
mov ecx, dword [ebp - 0x558]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x490f2b
mov dword [ebp - 0x544], 0xfffffffd
jmp 0x4910b4
mov eax, dword [ebp - 0x544]
add eax, 1
mov dword [ebp - 0x544], eax
cmp dword [ebp - 0x544], 3
jge 0x491210
mov dword [ebp - 0x55c], 0xfffffffd
jmp 0x4910dc
mov ecx, dword [ebp - 0x55c]
add ecx, 1
mov dword [ebp - 0x55c], ecx
cmp dword [ebp - 0x55c], 3
jge 0x49120b
push 0x184
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xe98], eax
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0xe98], 0
je 0x491141
push 0x50
push 1
push 0x3a83126f
push 0x40000000
push 0x40000000
push 0x40000000
push 0xfa0
push 0xc1
mov ecx, dword [ebp - 0xe98]
call fcn.00551610
mov dword [ebp - 0x1184], eax
jmp 0x49114b
mov dword [ebp - 0x1184], 0
mov edx, dword [ebp - 0x1184]
mov dword [ebp - 0xe94], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe94]
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x560], 0
je 0x491206
mov ecx, dword [ebp - 0x544]
and ecx, 0x80000001
jns 0x49118a
dec ecx
or ecx, 0xfffffffe
inc ecx
mov edx, dword [ebp - 0x560]
mov dword [edx + 0x100], ecx
fild dword [ebp - 0x55c]
fadd st(0), st(0)
mov eax, dword [ebp - 0x40]
fadd dword [eax + 0x2c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x30]
push edx
fild dword [ebp - 0x544]
fadd st(0), st(0)
mov eax, dword [ebp - 0x40]
fadd dword [eax + 0x28]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xea4]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x560]
add ecx, 0x74
call fcn.004382d0
push 0xff777799
mov ecx, dword [ebp - 0x560]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x560]
call dword [edx + 0x3c]
mov eax, dword [ebp - 0x560]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4910cd
jmp 0x4910a5
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x20]
call fcn.004382a0
lea ecx, [ebp - 0x3c]
call fcn.004382a0
cmp dword [ebp - 0x40], 0
je 0x491264
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0xeb0]
call fcn.00438180
push eax
lea ecx, [ebp - 0x20]
call fcn.004382d0
jmp 0x4912f7
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x28]
mov dword [ebp - 0x1188], edx
fild dword [ebp - 0x1188]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x118c], ecx
fild dword [ebp - 0x118c]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xeb8]
call fcn.0040bed0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x1190], eax
fild dword [ebp - 0x1190]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x564]
mov ecx, dword [ebp - 0x48]
push ecx
fld dword [ebp - 0x564]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xec4]
call fcn.00438180
push eax
lea ecx, [ebp - 0x20]
call fcn.004382d0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 3
je 0x49134e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
imul eax, eax, 0x60
cmp dword [eax + 0x11da83c], 4
je 0x49134e
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
imul edx, edx, 0x60
cmp dword [edx + 0x11da83c], 5
je 0x49134e
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da83c], 6
jne 0x493643
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x28]
mov dword [ebp - 0x1194], eax
fild dword [ebp - 0x1194]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x26]
mov dword [ebp - 0x1198], edx
fild dword [ebp - 0x1198]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xecc]
call fcn.0040bed0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.004a2afd
mov dword [ebp - 0x119c], eax
fild dword [ebp - 0x119c]
fmul dword [0x5f52b4]
fstp dword [ebp - 0x568]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
mov dword [ebp - 0x11a0], ecx
fild dword [ebp - 0x11a0]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x568]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
mov dword [ebp - 0x11a4], ecx
fild dword [ebp - 0x11a4]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xed8]
call fcn.00438180
push eax
lea ecx, [ebp - 0x3c]
call fcn.004382d0
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x491432
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x492698
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x492698
mov dword [ebp - 0x56c], 0
jmp 0x49144d
mov edx, dword [ebp - 0x56c]
add edx, 1
mov dword [ebp - 0x56c], edx
cmp dword [ebp - 0x56c], 0xd
jge 0x492698
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 4]
cmp ecx, 0x39d
jne 0x491479
cmp dword [ebp - 0x56c], 1
jl 0x491479
jmp 0x492698
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39e
jne 0x491497
cmp dword [ebp - 0x56c], 2
jl 0x491497
jmp 0x492698
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + ecx*8 + 0x3c]
push eax
mov ecx, dword [0x277c024]
mov edx, dword [ecx]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x570], eax
cmp dword [ebp - 0x570], 0
je 0x492693
mov eax, dword [ebp - 0x570]
movsx ecx, byte [eax + 0xa51]
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0x570]
movsx eax, byte [edx + 0xa51]
test eax, eax
jne 0x4914fa
mov dword [ebp - 0x574], 1
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
cmp dword [edx + ecx*8 + 0x40], 0xfffffffd
je 0x49151e
mov eax, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffc
jne 0x491696
lea edx, [ebp - 0x57c]
push edx
lea eax, [ebp - 0x578]
push eax
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00437f7e
add esp, 0x14
test eax, eax
je 0x491691
mov dword [ebp - 0x580], 0
cmp dword [0x277c1bc], 0
je 0x4915ab
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x49158e
mov dword [ebp - 0x580], 1
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x570]
cmp eax, dword [edx + 0x4c]
jne 0x4915a9
mov dword [ebp - 0x580], 1
jmp 0x4915b5
mov dword [ebp - 0x580], 1
cmp dword [ebp - 0x580], 0
je 0x491691
push 0x614828
lea ecx, [ebp - 0x600]
push ecx
call fcn.005c5b24
add esp, 8
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xee0], eax
mov dword [ebp - 4], 0x2d
cmp dword [ebp - 0xee0], 0
je 0x49164a
push 4
push 0
push 0x5dc
push 1
mov edx, dword [ebp - 0x24]
push edx
push 0x40000000
push 0xffffffffffffffff
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
mov ecx, dword [ebp - 0x57c]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x578]
push edx
lea eax, [ebp - 0x600]
push eax
mov ecx, dword [ebp - 0xee0]
call fcn.00423190
mov dword [ebp - 0x11a8], eax
jmp 0x491654
mov dword [ebp - 0x11a8], 0
mov ecx, dword [ebp - 0x11a8]
mov dword [ebp - 0xedc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xedc]
mov dword [ebp - 0x604], edx
cmp dword [ebp - 0x604], 0
je 0x491691
mov eax, dword [ebp - 0x604]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x3c]
call fcn.005351e9
jmp 0x49253c
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
test eax, eax
jl 0x491a9b
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x68
jge 0x491a9b
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
imul ecx, ecx, 0x60
cmp dword [ecx + 0x11da84c], 6
jne 0x491a9b
mov edx, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x10]
cmp dword [eax + edx*8 + 0x40], 0
jge 0x4916f0
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
cmp dword [edx + ecx*8 + 0x40], 0xfffffffa
jg 0x491a9b
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x4917ff
mov edx, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv dword [ebp - 0x574]
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x62c]
sub edx, eax
test edx, edx
jle 0x491756
mov eax, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0x574]
mov edx, dword [ebp - 0x570]
mov ecx, dword [edx + 0x62c]
sub ecx, eax
mov edx, dword [ebp - 0x570]
mov dword [edx + 0x62c], ecx
jmp 0x491766
mov eax, dword [ebp - 0x570]
mov dword [eax + 0x62c], 0
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x570]
cmp edx, dword [ecx + 0x4c]
jne 0x4917ff
mov eax, dword [ebp - 0x1010]
xor ecx, ecx
mov cx, word [eax + 0x26ea8]
mov edx, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x10]
sub ecx, dword [eax + edx*8 + 0x40]
test ecx, ecx
jle 0x4917ce
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + ecx*8 + 0x40]
cdq
idiv dword [ebp - 0x574]
mov ecx, dword [ebp - 0x1010]
mov dx, word [ecx + 0x26ea8]
sub dx, ax
mov eax, dword [ebp - 0x1010]
mov word [eax + 0x26ea8], dx
jmp 0x4917dd
mov ecx, dword [ebp - 0x1010]
mov word [ecx + 0x26ea8], 0
push 0x30
mov edx, dword [ebp - 0x570]
add edx, 0x614
push edx
mov eax, dword [0x277c024]
add eax, 0x7ac
push eax
call fcn.005c5f60
add esp, 0xc
lea ecx, [ebp - 0x60c]
push ecx
lea edx, [ebp - 0x608]
push edx
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x570]
fld dword [edx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00437f7e
add esp, 0x14
test eax, eax
je 0x491a62
mov edx, dword [ebp - 0x570]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jle 0x491892
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x14
jge 0x491892
mov ecx, dword [ebp - 0x570]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1d
jle 0x491892
mov dword [ebp - 0x11ac], 1
jmp 0x49189c
mov dword [ebp - 0x11ac], 0
xor edx, edx
cmp dword [ebp - 0x11ac], 1
sete dl
test edx, edx
je 0x491910
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x4918d2
mov ecx, dword [ebp - 0x570]
cmp dword [ecx + 0x20], 0x3e8
jae 0x491910
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x20]
cmp edx, dword [eax + 0x20]
jne 0x4918fa
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x2a]
cmp ecx, 0x3e8
jge 0x491910
push 0x614830
lea edx, [ebp - 0x690]
push edx
call fcn.005c5b24
add esp, 8
jmp 0x491945
mov eax, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*8 + 0x40]
neg eax
mov edx, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [edx + 0x30]
and ecx, 1
add ecx, 1
cdq
idiv ecx
push eax
push 0x614834
lea edx, [ebp - 0x690]
push edx
call fcn.005c5b24
add esp, 0xc
mov dword [ebp - 0x610], 0
cmp dword [0x277c1bc], 0
je 0x49198d
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x491970
mov dword [ebp - 0x610], 1
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x570]
cmp eax, dword [edx + 0x4c]
jne 0x49198b
mov dword [ebp - 0x610], 1
jmp 0x491997
mov dword [ebp - 0x610], 1
cmp dword [ebp - 0x610], 0
je 0x491a62
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xee8], eax
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0xee8], 0
je 0x491a1b
push 2
push 0
push 0x5dc
push 1
mov ecx, dword [ebp - 0x24]
push ecx
push 0x40000000
push 0xff5555ff
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
mov edx, dword [ebp - 0x60c]
add edx, eax
push edx
mov eax, dword [ebp - 0x608]
push eax
lea ecx, [ebp - 0x690]
push ecx
mov ecx, dword [ebp - 0xee8]
call fcn.00423190
mov dword [ebp - 0x11b0], eax
jmp 0x491a25
mov dword [ebp - 0x11b0], 0
mov edx, dword [ebp - 0x11b0]
mov dword [ebp - 0xee4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xee4]
mov dword [ebp - 0x694], eax
cmp dword [ebp - 0x694], 0
je 0x491a62
mov ecx, dword [ebp - 0x694]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x3c]
call fcn.005351e9
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x491a96
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.00481b2b
jmp 0x49253c
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x491c28
mov edx, dword [ebp - 0x570]
cmp dword [edx + 0x1d0], 0
jbe 0x491b29
mov eax, dword [ebp - 0x570]
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + 0x1cc]
sub eax, dword [edx + ecx*8 + 0x40]
test eax, eax
jbe 0x491afe
mov ecx, dword [ebp - 0x570]
mov edx, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x1cc]
sub ecx, dword [eax + edx*8 + 0x40]
mov edx, dword [ebp - 0x570]
mov dword [edx + 0x1cc], ecx
jmp 0x491b0e
mov eax, dword [ebp - 0x570]
mov dword [eax + 0x1cc], 0
mov ecx, dword [ebp - 0x570]
movsx edx, word [ecx + 0x1cc]
mov eax, dword [ebp - 0x570]
mov dword [eax + 0x62c], edx
jmp 0x491b8f
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + ecx*8 + 0x40]
cdq
idiv dword [ebp - 0x574]
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x62c]
sub edx, eax
test edx, edx
jle 0x491b7f
mov eax, dword [ebp - 0x56c]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0x574]
mov edx, dword [ebp - 0x570]
mov ecx, dword [edx + 0x62c]
sub ecx, eax
mov edx, dword [ebp - 0x570]
mov dword [edx + 0x62c], ecx
jmp 0x491b8f
mov eax, dword [ebp - 0x570]
mov dword [eax + 0x62c], 0
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x570]
cmp edx, dword [ecx + 0x4c]
jne 0x491c28
mov eax, dword [ebp - 0x1010]
xor ecx, ecx
mov cx, word [eax + 0x26ea8]
mov edx, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x10]
sub ecx, dword [eax + edx*8 + 0x40]
test ecx, ecx
jle 0x491bf7
mov ecx, dword [ebp - 0x56c]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + ecx*8 + 0x40]
cdq
idiv dword [ebp - 0x574]
mov ecx, dword [ebp - 0x1010]
mov dx, word [ecx + 0x26ea8]
sub dx, ax
mov eax, dword [ebp - 0x1010]
mov word [eax + 0x26ea8], dx
jmp 0x491c06
mov ecx, dword [ebp - 0x1010]
mov word [ecx + 0x26ea8], 0
push 0x30
mov edx, dword [ebp - 0x570]
add edx, 0x614
push edx
mov eax, dword [0x277c024]
add eax, 0x7ac
push eax
call fcn.005c5f60
add esp, 0xc
mov ecx, dword [ebp - 0x570]
mov edx, dword [ebp - 0x10]
mov ax, word [edx + 0x2a]
mov word [ecx + 0x848], ax
mov dword [ebp - 0x6a0], 0
mov ecx, dword [ebp - 0x570]
cmp dword [ecx + 0x218], 0x38
jne 0x491cf2
mov edx, dword [ebp - 0x570]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x491cf2
cmp dword [ebp - 0x570], 0
je 0x491cf2
cmp dword [ebp - 0x40], 0
je 0x491cf2
lea ecx, [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x698]
push edx
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x2c]
fmul dword [0x5f4508]
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x2c]
fmul dword [0x5f4508]
faddp st(1)
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x570]
fld dword [edx + 0x30]
fsub dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x28]
fmul dword [0x5f4508]
mov ecx, dword [ebp - 0x40]
fld dword [ecx + 0x28]
fmul dword [0x5f4508]
faddp st(1)
push ecx
fstp dword [esp]
call fcn.00437f7e
add esp, 0x14
mov dword [ebp - 0x6a0], eax
jmp 0x491d35
lea edx, [ebp - 0x69c]
push edx
lea eax, [ebp - 0x698]
push eax
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x28]
push edx
call fcn.00437f7e
add esp, 0x14
mov dword [ebp - 0x6a0], eax
cmp dword [ebp - 0x6a0], 0
je 0x49253c
cmp dword [ebp - 0x570], 0
je 0x491d51
cmp dword [ebp - 0x40], 0
jne 0x491d5b
mov eax, 1
jmp 0x4954a2
mov dword [ebp - 0x6a4], 0
jmp 0x491d76
mov eax, dword [ebp - 0x6a4]
add eax, 1
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x30]
and edx, 1
add edx, 1
cmp dword [ebp - 0x6a4], edx
jge 0x49253c
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x30]
and ecx, 1
add ecx, 1
mov edx, dword [ebp - 0x56c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv ecx
mov dword [ebp - 0x728], eax
cmp dword [ebp - 0x728], 0
jle 0x492537
mov ecx, dword [ebp - 0x570]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jle 0x491e0f
mov edx, dword [ebp - 0x570]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x14
jge 0x491e0f
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1d
jle 0x491e0f
mov dword [ebp - 0x11b4], 1
jmp 0x491e19
mov dword [ebp - 0x11b4], 0
xor ecx, ecx
cmp dword [ebp - 0x11b4], 1
sete cl
test ecx, ecx
je 0x491ee2
mov edx, dword [ebp - 0x570]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x12
jne 0x491e65
mov eax, dword [ebp - 0x570]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1e
jne 0x491e65
mov dword [ebp - 0x11b8], 1
jmp 0x491e6f
mov dword [ebp - 0x11b8], 0
xor ecx, ecx
cmp dword [ebp - 0x11b8], 0
sete cl
test ecx, ecx
je 0x491ee2
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x2a]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x20]
jne 0x491ea5
mov eax, dword [ebp - 0x570]
cmp dword [eax + 0x20], 0x3e8
jae 0x491ee2
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [edx + 0x20]
jne 0x491ecc
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x2a]
cmp eax, 0x3e8
jge 0x491ee2
push 0x61483c
lea ecx, [ebp - 0x724]
push ecx
call fcn.005c5b24
add esp, 8
jmp 0x491efd
mov edx, dword [ebp - 0x728]
push edx
push 0x614840
lea eax, [ebp - 0x724]
push eax
call fcn.005c5b24
add esp, 0xc
mov dword [ebp - 0x738], 0
mov dword [ebp - 0x72c], 0x3f800000
mov dword [ebp - 0x734], 0xffffffff
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x4f
jne 0x491f38
mov eax, dword [ebp - 0x56c]
imul eax, eax, 0x64
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x730], 0
cmp dword [0x277c1bc], 0
je 0x491f80
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x491f63
mov dword [ebp - 0x730], 1
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x570]
cmp edx, dword [ecx + 0x4c]
jne 0x491f7e
mov dword [ebp - 0x730], 1
jmp 0x491f8a
mov dword [ebp - 0x730], 1
cmp dword [ebp - 0x730], 0
je 0x492311
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x30]
and ecx, 2
test ecx, ecx
je 0x4920a9
cmp dword [ebp - 0x6a0], 0
je 0x4920a4
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xef0], eax
mov dword [ebp - 4], 0x2f
cmp dword [ebp - 0xef0], 0
je 0x49207b
push 5
push 0
push 0x5dc
push 1
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x72c]
push eax
mov ecx, dword [ebp - 0x734]
push ecx
fild dword [ebp - 0x69c]
fld dword [0x5f46d0]
fmul dword [0x612f40]
fsubp st(1)
mov edx, dword [ebp - 0x6a4]
imul edx, edx, 0x28
mov dword [ebp - 0x11bc], edx
fild dword [ebp - 0x11bc]
fmul dword [0x612f40]
fsubp st(1)
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
mov dword [ebp - 0x11c0], eax
fiadd dword [ebp - 0x11c0]
call fcn.005c5ef0
push eax
mov eax, dword [ebp - 0x6a4]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x698]
sub ecx, eax
push ecx
lea edx, [ebp - 0x724]
push edx
mov ecx, dword [ebp - 0xef0]
call fcn.00423190
mov dword [ebp - 0x11c4], eax
jmp 0x492085
mov dword [ebp - 0x11c4], 0
mov eax, dword [ebp - 0x11c4]
mov dword [ebp - 0xeec], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xeec]
mov dword [ebp - 0x738], ecx
jmp 0x49228b
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x570]
cmp eax, dword [edx + 0x4c]
jne 0x4921a7
cmp dword [ebp - 0x6a0], 0
je 0x4921a2
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xef8], eax
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0xef8], 0
je 0x492179
push 4
push 0
push 0x5dc
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x72c]
push edx
mov eax, dword [ebp - 0x734]
push eax
fild dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x6a4]
imul ecx, ecx, 0x14
mov dword [ebp - 0x11c8], ecx
fild dword [ebp - 0x11c8]
fmul dword [0x612f40]
fsubp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
add esi, eax
push esi
mov edx, dword [ebp - 0x6a4]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x698]
sub eax, edx
push eax
lea ecx, [ebp - 0x724]
push ecx
mov ecx, dword [ebp - 0xef8]
call fcn.00423190
mov dword [ebp - 0x11cc], eax
jmp 0x492183
mov dword [ebp - 0x11cc], 0
mov edx, dword [ebp - 0x11cc]
mov dword [ebp - 0xef4], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xef4]
mov dword [ebp - 0x738], eax
jmp 0x49228b
cmp dword [ebp - 0x6a0], 0
je 0x49228b
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf00], eax
mov dword [ebp - 4], 0x31
cmp dword [ebp - 0xf00], 0
je 0x492262
push 3
push 0
push 0x5dc
push 1
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x72c]
push edx
mov eax, dword [ebp - 0x734]
push eax
fild dword [ebp - 0x69c]
mov ecx, dword [ebp - 0x6a4]
imul ecx, ecx, 0x14
mov dword [ebp - 0x11d0], ecx
fild dword [ebp - 0x11d0]
fmul dword [0x612f40]
fsubp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
add esi, eax
push esi
mov edx, dword [ebp - 0x6a4]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x698]
sub eax, edx
push eax
lea ecx, [ebp - 0x724]
push ecx
mov ecx, dword [ebp - 0xf00]
call fcn.00423190
mov dword [ebp - 0x11d4], eax
jmp 0x49226c
mov dword [ebp - 0x11d4], 0
mov edx, dword [ebp - 0x11d4]
mov dword [ebp - 0xefc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xefc]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x570]
cmp dword [ecx + 0x218], 0x38
jne 0x4922f3
mov edx, dword [ebp - 0x570]
xor eax, eax
mov ax, word [edx + 0x166]
test eax, eax
jne 0x4922f3
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x40]
cmp edx, dword [ecx + 0x4c]
je 0x4922f3
cmp dword [ebp - 0x738], 0
je 0x4922f3
mov eax, dword [ebp - 0x738]
mov dword [eax + 0xd4], 0x3f000000
mov ecx, dword [ebp - 0x738]
cmp dword [ecx + 0xac], 5
jne 0x4922f3
mov edx, dword [ebp - 0x738]
mov dword [edx + 0xac], 6
cmp dword [ebp - 0x738], 0
je 0x492311
mov eax, dword [ebp - 0x738]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x3c]
call fcn.005351e9
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x570]
cmp eax, dword [edx + 0x4c]
jne 0x49234c
cmp dword [ebp - 0x40], 0
je 0x49234c
mov ecx, dword [ebp - 0x40]
add ecx, 0xf0
push ecx
push 0x614844
mov edx, dword [ebp - 0x1010]
add edx, 0x27714
push edx
call fcn.005c5b24
add esp, 0xc
mov eax, dword [ebp - 0x570]
movsx ecx, byte [eax + 0xa40]
cmp ecx, 1
jne 0x492537
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf08], eax
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0xf08], 0
je 0x4923ae
push 4
mov edx, dword [ebp - 0x570]
mov eax, dword [edx + 0x34]
push eax
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0xf08]
call fcn.0055ab20
mov dword [ebp - 0x11d8], eax
jmp 0x4923b8
mov dword [ebp - 0x11d8], 0
mov ecx, dword [ebp - 0x11d8]
mov dword [ebp - 0xf04], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xf04]
mov dword [ebp - 0x73c], edx
cmp dword [ebp - 0x73c], 0
je 0x492537
mov eax, dword [ebp - 0x73c]
mov dword [eax + 0xa4], 0x19d
mov ecx, dword [ebp - 0x73c]
mov dword [ecx + 0xb0], 0x1f4
mov edx, dword [ebp - 0x73c]
mov dword [edx + 0xb8], 0x1f4
mov eax, dword [ebp - 0x570]
movsx ecx, byte [eax + 0xa43]
cmp ecx, 1
jne 0x492488
mov edx, dword [ebp - 0x570]
mov eax, dword [edx + 0x58]
push eax
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x570]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
fdiv dword [0x5f46bc]
mov ecx, dword [ebp - 0x570]
fadd dword [ecx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x570]
mov eax, dword [edx + 0x50]
push eax
lea ecx, [ebp - 0xf14]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x73c]
add ecx, 0x74
call fcn.004382d0
jmp 0x4924e8
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x570]
fld dword [ecx*8 + 0x9a233c]
fmul dword [edx + 0x38]
fdiv dword [0x5f46bc]
mov eax, dword [ebp - 0x570]
fadd dword [eax + 0x30]
fadd dword [0x5f46cc]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x570]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0xf20]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0x73c]
add ecx, 0x74
call fcn.004382d0
mov eax, dword [ebp - 0x73c]
mov dword [eax + 0x98], 0x40200000
mov ecx, dword [ebp - 0x73c]
mov dword [ecx + 0x9c], 0x40200000
mov edx, dword [ebp - 0x73c]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp - 0x73c]
mov byte [eax + 0xac], 0
mov ecx, dword [ebp - 0x73c]
push ecx
mov edx, dword [0x6f0ab0]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x491d67
mov eax, dword [ebp - 0x570]
cmp dword [eax + 0x62c], 0
jge 0x4925aa
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x4925aa
mov eax, dword [ebp - 0x570]
mov dword [eax + 0x62c], 0
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x570]
cmp edx, dword [ecx + 0x4c]
jne 0x49259b
push 0x30
mov eax, dword [ebp - 0x570]
add eax, 0x614
push eax
mov ecx, dword [0x277c024]
add ecx, 0x7ac
push ecx
call fcn.005c5f60
add esp, 0xc
mov edx, dword [ebp - 0x1010]
mov word [edx + 0x26ea8], 0
mov eax, dword [ebp - 0x570]
mov ecx, dword [ebp - 0x570]
mov edx, dword [eax + 0x62c]
cmp edx, dword [ecx + 0x624]
jle 0x49261d
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x49261d
mov edx, dword [ebp - 0x570]
mov eax, dword [ebp - 0x570]
mov ecx, dword [eax + 0x624]
mov dword [edx + 0x62c], ecx
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x570]
cmp eax, dword [edx + 0x4c]
jne 0x49261d
push 0x30
mov ecx, dword [ebp - 0x570]
add ecx, 0x614
push ecx
mov edx, dword [0x277c024]
add edx, 0x7ac
push edx
call fcn.005c5f60
add esp, 0xc
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x570]
cmp ecx, dword [eax + 0x4c]
jne 0x492686
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2f]
test eax, eax
jne 0x492686
mov ecx, dword [0x277c024]
mov edx, dword [ebp - 0x570]
mov eax, dword [edx + 0x62c]
mov dword [ecx + 0x7c4], eax
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x570]
cmp edx, dword [ecx + 0x4c]
jne 0x492686
push 0x30
mov eax, dword [ebp - 0x570]
add eax, 0x614
push eax
mov ecx, dword [0x277c024]
add ecx, 0x7ac
push ecx
call fcn.005c5f60
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x570]
call fcn.004e1c68
jmp 0x49143e
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x4926c9
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
cmp edx, 1
jne 0x49363e
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
test eax, eax
jne 0x49277e
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf28], eax
mov dword [ebp - 4], 0x33
cmp dword [ebp - 0xf28], 0
je 0x492726
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
mov ecx, dword [ebp - 0xf28]
call fcn.0056ddd0
mov dword [ebp - 0x11dc], eax
jmp 0x492730
mov dword [ebp - 0x11dc], 0
mov eax, dword [ebp - 0x11dc]
mov dword [ebp - 0xf24], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf24]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x492779
cmp dword [ebp - 0x740], 0
je 0x492779
mov eax, dword [ebp - 0x740]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 1
jne 0x49286a
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x748], eax
fld dword [ebp - 0x74c]
fsub dword [0x5f4508]
fstp dword [ebp - 0x74c]
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf30], eax
mov dword [ebp - 4], 0x34
cmp dword [ebp - 0xf30], 0
je 0x492812
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x750]
mov dword [ecx], edx
mov eax, dword [ebp - 0x74c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x748]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xf30]
call fcn.0056e190
mov dword [ebp - 0x11e0], eax
jmp 0x49281c
mov dword [ebp - 0x11e0], 0
mov eax, dword [ebp - 0x11e0]
mov dword [ebp - 0xf2c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf2c]
mov dword [ebp - 0x744], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x492865
cmp dword [ebp - 0x744], 0
je 0x492865
mov eax, dword [ebp - 0x744]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x1a
jne 0x492bab
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x760], eax
fld dword [ebp - 0x764]
fsub dword [0x5f4508]
fstp dword [ebp - 0x764]
push 0x90
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf38], eax
mov dword [ebp - 4], 0x35
cmp dword [ebp - 0xf38], 0
je 0x4928fe
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x768]
mov dword [ecx], edx
mov eax, dword [ebp - 0x764]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x760]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xf38]
call fcn.0056c070
mov dword [ebp - 0x11e4], eax
jmp 0x492908
mov dword [ebp - 0x11e4], 0
mov eax, dword [ebp - 0x11e4]
mov dword [ebp - 0xf34], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf34]
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x492951
cmp dword [ebp - 0x754], 0
je 0x492951
mov eax, dword [ebp - 0x754]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
cmp dword [ebp - 0x40], 0
jne 0x492961
mov eax, 1
jmp 0x4954a2
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x4c]
mov eax, dword [ebp - 0x1010]
mov edx, dword [eax + 0x4c]
mov eax, dword [edx]
call dword [eax + 0x50]
cmp eax, 1
jne 0x492987
mov eax, 1
jmp 0x4954a2
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x4929f8
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
xor edx, edx
mov dx, word [ecx + 0x878]
test edx, edx
je 0x4929f8
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
xor edx, edx
mov dx, word [ecx + 0x878]
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov cx, word [eax + 0x878]
cmp edx, ecx
je 0x4929ee
mov edx, dword [0x277c024]
xor eax, eax
mov ax, word [edx + 0xf62]
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dx, word [ecx + 0x878]
cmp eax, edx
jne 0x4929f8
mov eax, 1
jmp 0x4954a2
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x75c], 0
jmp 0x492a1d
mov eax, dword [ebp - 0x75c]
add eax, 1
mov dword [ebp - 0x75c], eax
cmp dword [ebp - 0x75c], 0xd
jge 0x492a52
mov ecx, dword [ebp - 0x75c]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + ecx*8 + 0x3c]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x20]
jne 0x492a50
mov dword [ebp - 0x758], 1
jmp 0x492a52
jmp 0x492a0e
cmp dword [ebp - 0x758], 1
jne 0x492ba6
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
je 0x492ba6
mov edx, dword [ebp - 0x40]
xor eax, eax
mov al, byte [edx + 0x214]
test eax, eax
jne 0x492ba6
mov dword [ebp - 0x76c], 0
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
movsx eax, word [edx + 0x614]
test eax, eax
jle 0x492af7
mov ecx, dword [ebp - 0x40]
movsx eax, word [ecx + 0x614]
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x4c]
movsx ecx, word [ecx + 0x614]
cdq
idiv ecx
mov dword [ebp - 0x11e8], eax
fild dword [ebp - 0x11e8]
fmul dword [0x5f54d8]
mov edx, dword [ebp - 0x40]
xor eax, eax
mov ax, word [edx + 0x63e]
mov dword [ebp - 0x11ec], eax
fimul dword [ebp - 0x11ec]
fdiv dword [0x5f516c]
fstp dword [ebp - 0x76c]
jmp 0x492b3d
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
movsx eax, word [edx + 0x614]
mov dword [ebp - 0x11f0], eax
fild dword [ebp - 0x11f0]
fmul dword [0x5f54d8]
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dx, word [ecx + 0x63e]
mov dword [ebp - 0x11f4], edx
fimul dword [ebp - 0x11f4]
fdiv dword [0x5f516c]
fstp dword [ebp - 0x76c]
fld dword [ebp - 0x76c]
fcomp dword [0x5f54d4]
fnstsw ax
test ah, 1
je 0x492b5a
mov dword [ebp - 0x76c], 0x44fa0000
fld dword [ebp - 0x76c]
fcomp dword [0x5f54d8]
fnstsw ax
test ah, 0x41
jne 0x492b77
mov dword [ebp - 0x76c], 0x457a0000
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x76c]
mov dword [eax + 0x26f00], ecx
mov edx, dword [0x9a21cc]
mov eax, dword [edx]
mov ecx, dword [0x9a21cc]
call dword [eax + 8]
mov ecx, dword [ebp - 0x1010]
mov dword [ecx + 0x26efc], eax
jmp 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 7
jne 0x492dac
mov dword [ebp - 0x770], 0
jmp 0x492bd6
mov ecx, dword [ebp - 0x770]
add ecx, 1
mov dword [ebp - 0x770], ecx
cmp dword [ebp - 0x770], 0xd
jge 0x492da7
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 4]
cmp eax, 0x39d
jne 0x492c01
cmp dword [ebp - 0x770], 1
jl 0x492c01
jmp 0x492da7
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39e
jne 0x492c20
cmp dword [ebp - 0x770], 2
jl 0x492c20
jmp 0x492da7
mov eax, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + eax*8 + 0x3c]
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x34]
mov dword [ebp - 0x774], eax
cmp dword [ebp - 0x774], 0
je 0x492da2
mov dword [ebp - 0x77c], 0
cmp dword [ebp - 0x40], 0
je 0x492c70
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x774]
mov eax, dword [edx + 0x2c]
push eax
fld dword [ebp - 0x77c]
fadd dword [0x5f4508]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x28]
push edx
lea ecx, [ebp - 0x794]
call fcn.00438180
fld dword [ebp - 0x78c]
fsub dword [0x5f5160]
push ecx
fstp dword [esp]
fld dword [ebp - 0x790]
fadd dword [0x5f5178]
push ecx
fstp dword [esp]
fld dword [ebp - 0x794]
fadd dword [0x5f5160]
push ecx
fstp dword [esp]
lea ecx, [ebp - 0x788]
call fcn.00438180
push 0x94
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf40], eax
mov dword [ebp - 4], 0x36
cmp dword [ebp - 0xf40], 0
je 0x492d5b
push 0
push 0
push 0
push 0x2711
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x794]
mov dword [eax], ecx
mov edx, dword [ebp - 0x790]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x78c]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x788]
mov dword [edx], eax
mov ecx, dword [ebp - 0x784]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x780]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xf40]
call fcn.0054e2e0
mov dword [ebp - 0x11f8], eax
jmp 0x492d65
mov dword [ebp - 0x11f8], 0
mov ecx, dword [ebp - 0x11f8]
mov dword [ebp - 0xf3c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xf3c]
mov dword [ebp - 0x778], edx
cmp dword [ebp - 0x778], 0
je 0x492da2
mov eax, dword [ebp - 0x778]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x492bc7
jmp 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x23
jne 0x492e96
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf48], eax
mov dword [ebp - 4], 0x37
cmp dword [ebp - 0xf48], 0
je 0x492e3e
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
push 0
push 0
push 0
lea ecx, [ebp - 0xf54]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xf48]
call fcn.00572a50
mov dword [ebp - 0x11fc], eax
jmp 0x492e48
mov dword [ebp - 0x11fc], 0
mov ecx, dword [ebp - 0x11fc]
mov dword [ebp - 0xf44], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xf44]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x492e91
cmp dword [ebp - 0x798], 0
je 0x492e91
mov ecx, dword [ebp - 0x798]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x49363e
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x27
jne 0x493161
mov edx, dword [ebp - 0x30]
and edx, 0xff
test edx, edx
jne 0x493161
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
push 0
push 0
push 0
lea ecx, [ebp - 0x7a8]
call fcn.00438180
mov dword [ebp - 0x7ac], 0
jmp 0x492eef
mov eax, dword [ebp - 0x7ac]
add eax, 1
mov dword [ebp - 0x7ac], eax
cmp dword [ebp - 0x7ac], 4
jge 0x493066
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], ecx
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf5c], eax
mov dword [ebp - 4], 0x38
cmp dword [ebp - 0xf5c], 0
je 0x492fe8
push 0
push 4
fld dword [ebp - 0x34]
fsub dword [0x5f54d0]
mov eax, dword [ebp - 0x7b0]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1200], eax
fild dword [ebp - 0x1200]
fmul dword [0x5f54cc]
faddp st(1)
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x38]
push edx
fld dword [ebp - 0x3c]
fsub dword [0x5f54d0]
mov eax, dword [ebp - 0x7b0]
and eax, 0x80000001
jns 0x492f7e
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 0x1204], eax
fild dword [ebp - 0x1204]
fmul dword [0x5f54cc]
faddp st(1)
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xf68]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x7a8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x7a4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x7a0]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xf5c]
call fcn.00572a50
mov dword [ebp - 0x1208], eax
jmp 0x492ff2
mov dword [ebp - 0x1208], 0
mov eax, dword [ebp - 0x1208]
mov dword [ebp - 0xf58], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf58]
mov dword [ebp - 0x7b4], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x493061
cmp dword [ebp - 0x7b4], 0
je 0x493061
mov eax, dword [ebp - 0x7ac]
imul eax, eax, 0xc8
mov ecx, dword [ebp - 0x7b4]
mov edx, dword [ecx + 0x80]
add edx, eax
mov eax, dword [ebp - 0x7b4]
mov dword [eax + 0x80], edx
mov ecx, dword [ebp - 0x7b4]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
jmp 0x492ee0
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf70], eax
mov dword [ebp - 4], 0x39
cmp dword [ebp - 0xf70], 0
je 0x4930eb
push 0
push 4
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
lea ecx, [ebp - 0xf7c]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x7a8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x7a4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x7a0]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xf70]
call fcn.00572a50
mov dword [ebp - 0x120c], eax
jmp 0x4930f5
mov dword [ebp - 0x120c], 0
mov eax, dword [ebp - 0x120c]
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf6c]
mov dword [ebp - 0x79c], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x49315c
cmp dword [ebp - 0x79c], 0
je 0x49315c
mov eax, dword [ebp - 0x79c]
mov ecx, dword [eax + 0x80]
add ecx, 0x10e
mov edx, dword [ebp - 0x79c]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x79c]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x27
jne 0x4933f6
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
cmp ecx, 1
jne 0x4933f6
fld dword [ebp - 0x38]
fadd dword [0x5f46bc]
fstp dword [ebp - 0x38]
push 0
push 0
push 0
lea ecx, [ebp - 0x7c4]
call fcn.00438180
mov dword [ebp - 0x7c8], 0
jmp 0x4931bb
mov edx, dword [ebp - 0x7c8]
add edx, 1
mov dword [ebp - 0x7c8], edx
cmp dword [ebp - 0x7c8], 4
jge 0x49330d
mov eax, dword [ebp - 0x7c8]
mov dword [ebp - 0x7cc], eax
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf84], eax
mov dword [ebp - 4], 0x3a
cmp dword [ebp - 0xf84], 0
je 0x4932b5
push 0
push 9
fld dword [ebp - 0x34]
fsub dword [0x5f5168]
mov eax, dword [ebp - 0x7cc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1210], eax
fild dword [ebp - 0x1210]
fmul dword [0x5f54d0]
faddp st(1)
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x38]
push ecx
fld dword [ebp - 0x3c]
fsub dword [0x5f5168]
mov edx, dword [ebp - 0x7cc]
and edx, 0x80000001
jns 0x49324b
dec edx
or edx, 0xfffffffe
inc edx
mov dword [ebp - 0x1214], edx
fild dword [ebp - 0x1214]
fmul dword [0x5f54d0]
faddp st(1)
push ecx
fstp dword [esp]
lea ecx, [ebp - 0xf90]
call fcn.00438180
sub esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x7c4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x7c0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x7bc]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xf84]
call fcn.00572a50
mov dword [ebp - 0x1218], eax
jmp 0x4932bf
mov dword [ebp - 0x1218], 0
mov eax, dword [ebp - 0x1218]
mov dword [ebp - 0xf80], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf80]
mov dword [ebp - 0x7d0], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x493308
cmp dword [ebp - 0x7d0], 0
je 0x493308
mov eax, dword [ebp - 0x7d0]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x4931ac
fld dword [ebp - 0x38]
fadd dword [0x5f46cc]
fstp dword [ebp - 0x38]
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xf98], eax
mov dword [ebp - 4], 0x3b
cmp dword [ebp - 0xf98], 0
je 0x49339e
push 0
push 0xa
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0xfa4]
call fcn.00438180
sub esp, 0xc
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x7c4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x7c0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x7bc]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xf98]
call fcn.00572a50
mov dword [ebp - 0x121c], eax
jmp 0x4933a8
mov dword [ebp - 0x121c], 0
mov eax, dword [ebp - 0x121c]
mov dword [ebp - 0xf94], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xf94]
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x2c], 0
je 0x4933f1
cmp dword [ebp - 0x7b8], 0
je 0x4933f1
mov eax, dword [ebp - 0x7b8]
push eax
mov ecx, dword [ebp - 0x1010]
mov ecx, dword [ecx + 0x2c]
call fcn.005351e9
jmp 0x49363e
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x61
jne 0x49363e
fld dword [ebp - 0x38]
fadd dword [0x5f493c]
fstp dword [ebp - 0x38]
mov dword [ebp - 0x7e0], 0
jmp 0x49342d
mov ecx, dword [ebp - 0x7e0]
add ecx, 1
mov dword [ebp - 0x7e0], ecx
cmp dword [ebp - 0x7e0], 0x64
jge 0x49351d
mov edx, dword [ebp - 0x7e0]
add edx, 0x3a99
push edx
mov eax, dword [0x277c024]
mov edx, dword [eax]
mov ecx, dword [0x277c024]
call dword [edx + 0x38]
mov dword [ebp - 0x7e4], eax
cmp dword [ebp - 0x7e4], 0
je 0x493518
mov eax, dword [ebp - 0x7e4]
movsx ecx, word [eax + 0xe8]
cmp ecx, 0x2ea
jne 0x493518
mov edx, dword [ebp - 0x7e4]
mov dword [ebp - 0x7e8], edx
fld dword [ebp - 0x20]
call fcn.005c5ef0
mov esi, eax
mov eax, dword [ebp - 0x7e8]
fld dword [eax + 0x268]
call fcn.005c5ef0
cmp esi, eax
jne 0x493518
fld dword [ebp - 0x18]
call fcn.005c5ef0
mov esi, eax
mov ecx, dword [ebp - 0x7e8]
fld dword [ecx + 0x26c]
call fcn.005c5ef0
cmp esi, eax
jne 0x493518
mov edx, dword [ebp - 0x7e8]
mov byte [edx + 0x285], 1
mov eax, dword [ebp - 0x7e8]
mov ecx, dword [ebp - 0x7e8]
fld dword [eax + 0x278]
fmul dword [ecx + 0x280]
fadd dword [ebp - 0x20]
fstp dword [ebp - 0x20]
mov edx, dword [ebp - 0x7e8]
mov eax, dword [ebp - 0x7e8]
fld dword [edx + 0x274]
fmul dword [eax + 0x280]
fsubr dword [ebp - 0x18]
fstp dword [ebp - 0x18]
jmp 0x49351d
jmp 0x49341e
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
fld dword [ebp - 0x3c]
fsub dword [edx + 0x28]
fstp dword [ebp - 0x7d8]
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
fld dword [ebp - 0x34]
fsub dword [ecx + 0x2c]
fstp dword [ebp - 0x7dc]
push 0xc8
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfac], eax
mov dword [ebp - 4], 0x3c
cmp dword [ebp - 0xfac], 0
je 0x4935ad
push 0
push 2
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 - 0x20]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x18]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0xfac]
call fcn.00572a50
mov dword [ebp - 0x1220], eax
jmp 0x4935b7
mov dword [ebp - 0x1220], 0
mov eax, dword [ebp - 0x1220]
mov dword [ebp - 0xfa8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xfa8]
mov dword [ebp - 0x7d4], ecx
fld dword [ebp - 0x7d8]
fmul dword [ebp - 0x7d8]
fld dword [ebp - 0x7dc]
fmul dword [ebp - 0x7dc]
faddp st(1)
sub esp, 8
fstp qword [esp]
call fcn.005c8544
add esp, 8
mov edx, dword [ebp - 0x7d4]
fstp dword [edx + 0xc0]
mov eax, dword [ebp - 0x1010]
cmp dword [eax + 0x2c], 0
je 0x493634
cmp dword [ebp - 0x7d4], 0
je 0x493634
mov ecx, dword [ebp - 0x7d4]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x2c]
call fcn.005351e9
mov eax, 1
jmp 0x4954a2
jmp 0x495264
mov dword [ebp - 0x7ec], 0
jmp 0x49365e
mov eax, dword [ebp - 0x7ec]
add eax, 1
mov dword [ebp - 0x7ec], eax
cmp dword [ebp - 0x7ec], 0xd
jge 0x495264
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 4]
cmp edx, 0x39d
jne 0x49368a
cmp dword [ebp - 0x7ec], 1
jl 0x49368a
jmp 0x495264
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 4]
cmp ecx, 0x39e
jne 0x4936a9
cmp dword [ebp - 0x7ec], 2
jl 0x4936a9
jmp 0x495264
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + edx*8 + 0x3c]
push ecx
mov edx, dword [0x277c024]
mov eax, dword [edx]
mov ecx, dword [0x277c024]
call dword [eax + 0x34]
mov dword [ebp - 0x7f0], eax
cmp dword [ebp - 0x7f0], 0
je 0x49525f
mov ecx, dword [ebp - 0x7f0]
movsx edx, byte [ecx + 0xa51]
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x7f0]
movsx ecx, byte [eax + 0xa51]
test ecx, ecx
jne 0x49370c
mov dword [ebp - 0x888], 1
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x4c], 0
je 0x493783
mov eax, dword [ebp - 0x7f0]
fld dword [eax + 0x2c]
call fcn.005c5ef0
push eax
mov ecx, dword [ebp - 0x7f0]
fld dword [ecx + 0x28]
call fcn.005c5ef0
push eax
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
fld dword [eax + 0x2c]
call fcn.005c5ef0
push eax
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
fld dword [edx + 0x28]
call fcn.005c5ef0
push eax
call fcn.00541324
add esp, 0x10
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0x88c], 0x14
jle 0x493783
push str.____damage_font_error_distance_:__d_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x4954a2
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x4937b3
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2f]
test eax, eax
jne 0x494fc6
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x40]
cmp edx, dword [ecx + 0x4c]
jne 0x494fc6
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffd
je 0x4937d7
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
cmp dword [eax + edx*8 + 0x40], 0xfffffffc
jne 0x49394f
lea ecx, [ebp - 0x898]
push ecx
lea edx, [ebp - 0x894]
push edx
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x7f0]
fld dword [edx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00437f7e
add esp, 0x14
test eax, eax
je 0x49394a
mov dword [ebp - 0x89c], 0
cmp dword [0x277c1bc], 0
je 0x493864
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x493847
mov dword [ebp - 0x89c], 1
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x7f0]
cmp edx, dword [ecx + 0x4c]
jne 0x493862
mov dword [ebp - 0x89c], 1
jmp 0x49386e
mov dword [ebp - 0x89c], 1
cmp dword [ebp - 0x89c], 0
je 0x49394a
push str.miss
lea eax, [ebp - 0x91c]
push eax
call fcn.005c5b24
add esp, 8
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfb4], eax
mov dword [ebp - 4], 0x3d
cmp dword [ebp - 0xfb4], 0
je 0x493903
push 4
push 0
push 0x5dc
push 1
mov ecx, dword [ebp - 0x24]
push ecx
push 0x40000000
push 0xffffffffffffffff
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
mov edx, dword [ebp - 0x898]
add edx, eax
push edx
mov eax, dword [ebp - 0x894]
push eax
lea ecx, [ebp - 0x91c]
push ecx
mov ecx, dword [ebp - 0xfb4]
call fcn.00423190
mov dword [ebp - 0x1224], eax
jmp 0x49390d
mov dword [ebp - 0x1224], 0
mov edx, dword [ebp - 0x1224]
mov dword [ebp - 0xfb0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xfb0]
mov dword [ebp - 0x920], eax
cmp dword [ebp - 0x920], 0
je 0x49394a
mov ecx, dword [ebp - 0x920]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x3c]
call fcn.005351e9
jmp 0x494e24
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x493e42
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x68
jge 0x493e42
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
imul edx, edx, 0x60
cmp dword [edx + 0x11da84c], 6
jne 0x493e42
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + eax*8 + 0x40], 0
jge 0x4939a9
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
cmp dword [eax + edx*8 + 0x40], 0xfffffffa
jg 0x493e42
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x493ba5
mov eax, dword [ebp - 0x7f0]
cmp dword [eax + 0x1d0], 0
jbe 0x493a6e
mov ecx, dword [ebp - 0x7ec]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + ecx*8 + 0x40]
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x1cc]
sub ecx, dword [eax + edx*8 + 0x40]
test ecx, ecx
jbe 0x493a23
mov edx, dword [ebp - 0x7f0]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
mov edx, dword [edx + 0x1cc]
sub edx, dword [ecx + eax*8 + 0x40]
mov eax, dword [ebp - 0x7f0]
mov dword [eax + 0x1cc], edx
jmp 0x493a33
mov ecx, dword [ebp - 0x7f0]
mov dword [ecx + 0x1cc], 0
cmp dword [ebp - 0x888], 0
jne 0x493a46
mov dword [ebp - 0x888], 1
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x1cc]
xor edx, edx
div dword [ebp - 0x888]
movsx eax, ax
mov ecx, dword [ebp - 0x7f0]
mov dword [ecx + 0x62c], eax
jmp 0x493af3
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv dword [ebp - 0x888]
mov dword [ebp - 0x930], eax
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ecx + 0x62c]
sub edx, dword [ebp - 0x930]
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x934]
cmp ecx, dword [eax + 0x624]
jle 0x493ac6
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x624]
mov dword [ebp - 0x934], eax
cmp dword [ebp - 0x934], 0
jle 0x493ae3
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x934]
mov dword [ecx + 0x62c], edx
jmp 0x493af3
mov eax, dword [ebp - 0x7f0]
mov dword [eax + 0x62c], 0
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x7f0]
cmp edx, dword [ecx + 0x4c]
jne 0x493ba5
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0x888]
mov dword [ebp - 0x938], eax
mov edx, dword [ebp - 0x1010]
xor eax, eax
mov ax, word [edx + 0x26ea8]
add eax, dword [ebp - 0x938]
mov dword [ebp - 0x93c], eax
cmp dword [ebp - 0x93c], 0x186a0
jle 0x493b53
mov dword [ebp - 0x93c], 0x186a0
cmp dword [ebp - 0x93c], 0
jle 0x493b72
mov ecx, dword [ebp - 0x1010]
mov dx, word [ebp - 0x93c]
mov word [ecx + 0x26ea8], dx
jmp 0x493b81
mov eax, dword [ebp - 0x1010]
mov word [eax + 0x26ea8], 0
push 0x30
mov ecx, dword [ebp - 0x7f0]
add ecx, 0x614
push ecx
mov edx, dword [0x277c024]
add edx, 0x7ac
push edx
call fcn.005c5f60
add esp, 0xc
lea eax, [ebp - 0x928]
push eax
lea ecx, [ebp - 0x924]
push ecx
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x7f0]
fld dword [ecx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x28]
push eax
call fcn.00437f7e
add esp, 0x14
test eax, eax
je 0x493e09
mov ecx, dword [ebp - 0x7f0]
fld dword [ecx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jle 0x493c38
mov edx, dword [ebp - 0x7f0]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x14
jge 0x493c38
mov eax, dword [ebp - 0x7f0]
fld dword [eax + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1d
jle 0x493c38
mov dword [ebp - 0x1228], 1
jmp 0x493c42
mov dword [ebp - 0x1228], 0
xor ecx, ecx
cmp dword [ebp - 0x1228], 1
sete cl
test ecx, ecx
je 0x493cb5
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x2a]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x20]
jne 0x493c78
mov eax, dword [ebp - 0x7f0]
cmp dword [eax + 0x20], 0x3e8
jae 0x493cb5
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [edx + 0x20]
jne 0x493c9f
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x2a]
cmp eax, 0x3e8
jge 0x493cb5
push 0x614878
lea ecx, [ebp - 0x9c0]
push ecx
call fcn.005c5b24
add esp, 8
jmp 0x493cec
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + edx*8 + 0x40]
neg eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x30]
mov ecx, edx
and ecx, 1
add ecx, 1
cdq
idiv ecx
push eax
push 0x61487c
lea edx, [ebp - 0x9c0]
push edx
call fcn.005c5b24
add esp, 0xc
mov dword [ebp - 0x940], 0
cmp dword [0x277c1bc], 0
je 0x493d34
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x493d17
mov dword [ebp - 0x940], 1
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x7f0]
cmp eax, dword [edx + 0x4c]
jne 0x493d32
mov dword [ebp - 0x940], 1
jmp 0x493d3e
mov dword [ebp - 0x940], 1
cmp dword [ebp - 0x940], 0
je 0x493e09
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfbc], eax
mov dword [ebp - 4], 0x3e
cmp dword [ebp - 0xfbc], 0
je 0x493dc2
push 2
push 0
push 0x5dc
push 1
mov ecx, dword [ebp - 0x24]
push ecx
push 0x40000000
push 0xff5555ff
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
mov edx, dword [ebp - 0x928]
add edx, eax
push edx
mov eax, dword [ebp - 0x924]
push eax
lea ecx, [ebp - 0x9c0]
push ecx
mov ecx, dword [ebp - 0xfbc]
call fcn.00423190
mov dword [ebp - 0x122c], eax
jmp 0x493dcc
mov dword [ebp - 0x122c], 0
mov edx, dword [ebp - 0x122c]
mov dword [ebp - 0xfb8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xfb8]
mov dword [ebp - 0x9c4], eax
cmp dword [ebp - 0x9c4], 0
je 0x493e09
mov ecx, dword [ebp - 0x9c4]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x3c]
call fcn.005351e9
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x493e3d
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [eax + 0x18]
push edx
mov ecx, dword [ebp - 0x1010]
call fcn.00481b2b
jmp 0x494e24
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x494043
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + edx*8 + 0x40]
mov dword [ebp - 0x9d4], ecx
cmp dword [ebp - 0x9d4], 0xf4240
jle 0x493e7b
mov dword [ebp - 0x9d4], 0
cmp dword [ebp - 0x9d4], 0
jl 0x493f2a
mov edx, dword [ebp - 0x7f0]
cmp dword [edx + 0x1d0], 0
jbe 0x493eda
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x1cc]
sub ecx, dword [ebp - 0x9d4]
mov edx, dword [ebp - 0x7f0]
mov dword [edx + 0x1cc], ecx
mov eax, dword [ebp - 0x7f0]
mov eax, dword [eax + 0x1cc]
xor edx, edx
div dword [ebp - 0x888]
movsx ecx, ax
mov edx, dword [ebp - 0x7f0]
mov dword [edx + 0x62c], ecx
jmp 0x493f2a
mov eax, dword [ebp - 0x9d4]
cdq
idiv dword [ebp - 0x888]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x62c]
sub ecx, dword [ebp - 0x9d4]
mov dword [ebp - 0x9d8], ecx
cmp dword [ebp - 0x9d8], 0
jge 0x493f18
mov dword [ebp - 0x9d8], 0
mov edx, dword [ebp - 0x7f0]
mov eax, dword [ebp - 0x9d8]
mov dword [edx + 0x62c], eax
mov ecx, dword [ebp - 0x7f0]
cmp dword [ecx + 0x62c], 0
jge 0x493f49
mov edx, dword [ebp - 0x7f0]
mov dword [edx + 0x62c], 0
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x7f0]
cmp ecx, dword [eax + 0x4c]
jne 0x494043
mov edx, dword [ebp - 0x1010]
xor eax, eax
mov ax, word [edx + 0x26ea8]
mov ecx, dword [ebp - 0x7ec]
mov edx, dword [ebp - 0x10]
sub eax, dword [edx + ecx*8 + 0x40]
test eax, eax
jle 0x493fa1
mov eax, dword [ebp - 0x1010]
mov cx, word [eax + 0x26ea8]
sub cx, word [ebp - 0x9d4]
mov edx, dword [ebp - 0x1010]
mov word [edx + 0x26ea8], cx
jmp 0x493fb0
mov eax, dword [ebp - 0x1010]
mov word [eax + 0x26ea8], 0
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x2a]
cmp edx, 0x3e8
jle 0x49401f
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0
jle 0x493fe8
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x26eac]
sub eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x1010]
mov dword [ecx + 0x26eac], eax
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x26eac], 0
jae 0x494007
mov eax, dword [ebp - 0x1010]
mov dword [eax + 0x26eac], 0
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x26eac]
mov dword [ecx + 0x630], eax
push 0x30
mov ecx, dword [ebp - 0x7f0]
add ecx, 0x614
push ecx
mov edx, dword [0x277c024]
add edx, 0x7ac
push edx
call fcn.005c5f60
add esp, 0xc
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x10]
mov dx, word [ecx + 0x2a]
mov word [eax + 0x848], dx
mov dword [ebp - 0x9d0], 0
mov eax, dword [ebp - 0x7f0]
cmp dword [eax + 0x218], 0x38
jne 0x49410d
mov ecx, dword [ebp - 0x7f0]
xor edx, edx
mov dx, word [ecx + 0x166]
test edx, edx
jne 0x49410d
cmp dword [ebp - 0x7f0], 0
je 0x49410d
cmp dword [ebp - 0x40], 0
je 0x49410d
lea eax, [ebp - 0x9cc]
push eax
lea ecx, [ebp - 0x9c8]
push ecx
mov edx, dword [ebp - 0x7f0]
fld dword [edx + 0x2c]
fmul dword [0x5f4508]
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x2c]
fmul dword [0x5f4508]
faddp st(1)
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x7f0]
fld dword [ecx + 0x30]
fsub dword [0x5f493c]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x7f0]
fld dword [edx + 0x28]
fmul dword [0x5f4508]
mov eax, dword [ebp - 0x40]
fld dword [eax + 0x28]
fmul dword [0x5f4508]
faddp st(1)
push ecx
fstp dword [esp]
call fcn.00437f7e
add esp, 0x14
mov dword [ebp - 0x9d0], eax
jmp 0x494150
lea ecx, [ebp - 0x9cc]
push ecx
lea edx, [ebp - 0x9c8]
push edx
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x7f0]
fld dword [edx + 0x30]
fadd dword [0x5f493c]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.00437f7e
add esp, 0x14
mov dword [ebp - 0x9d0], eax
cmp dword [ebp - 0x9d0], 0
je 0x494e24
cmp dword [ebp - 0x7f0], 0
je 0x49416c
cmp dword [ebp - 0x40], 0
jne 0x494176
mov eax, 1
jmp 0x4954a2
mov dword [ebp - 0x9dc], 0
jmp 0x494191
mov edx, dword [ebp - 0x9dc]
add edx, 1
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x30]
and ecx, 1
add ecx, 1
cmp dword [ebp - 0x9dc], ecx
jge 0x494e24
mov dword [ebp - 0x9e0], 0
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x30]
and eax, 4
test eax, eax
je 0x4941d0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + eax*8 + 0x40]
sub eax, dword [ebp - 0x9e0]
mov edx, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [edx + 0x30]
and ecx, 1
add ecx, 1
cdq
idiv ecx
mov dword [ebp - 0xa64], eax
cmp dword [ebp - 0xa64], 0xf4240
jle 0x494210
mov dword [ebp - 0xa64], 0
cmp dword [ebp - 0xa64], 0
jle 0x494e1f
mov edx, dword [ebp - 0x7f0]
fld dword [edx + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x10
jle 0x49426b
mov eax, dword [ebp - 0x7f0]
fld dword [eax + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x14
jge 0x49426b
mov ecx, dword [ebp - 0x7f0]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1d
jle 0x49426b
mov dword [ebp - 0x1230], 1
jmp 0x494275
mov dword [ebp - 0x1230], 0
xor edx, edx
cmp dword [ebp - 0x1230], 1
sete dl
test edx, edx
je 0x49433f
mov eax, dword [ebp - 0x7f0]
fld dword [eax + 0x28]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x12
jne 0x4942c1
mov ecx, dword [ebp - 0x7f0]
fld dword [ecx + 0x2c]
call fcn.005c5ef0
sar eax, 7
cmp eax, 0x1e
jne 0x4942c1
mov dword [ebp - 0x1234], 1
jmp 0x4942cb
mov dword [ebp - 0x1234], 0
xor edx, edx
cmp dword [ebp - 0x1234], 0
sete dl
test edx, edx
je 0x49433f
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x494301
mov ecx, dword [ebp - 0x7f0]
cmp dword [ecx + 0x20], 0x3e8
jae 0x49433f
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ecx + 0x20]
cmp edx, dword [eax + 0x20]
jne 0x494329
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x2a]
cmp ecx, 0x3e8
jge 0x49433f
push 0x614884
lea edx, [ebp - 0xa60]
push edx
call fcn.005c5b24
add esp, 8
jmp 0x49439f
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x30]
and ecx, 4
test ecx, ecx
je 0x494384
cmp dword [ebp - 0x9dc], 0
jne 0x494384
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x48], 0
jle 0x494382
mov eax, dword [ebp - 0x9e0]
push eax
mov ecx, dword [ebp - 0xa64]
push ecx
push str._d___d
lea edx, [ebp - 0xa60]
push edx
call fcn.005c5b24
add esp, 0x10
jmp 0x49439f
mov eax, dword [ebp - 0xa64]
push eax
push 0x614890
lea ecx, [ebp - 0xa60]
push ecx
call fcn.005c5b24
add esp, 0xc
mov dword [ebp - 0xa68], 0
cmp dword [0x277c1bc], 0
je 0x4943e7
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x4943ca
mov dword [ebp - 0xa68], 1
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x7f0]
cmp edx, dword [ecx + 0x4c]
jne 0x4943e5
mov dword [ebp - 0xa68], 1
jmp 0x4943f1
mov dword [ebp - 0xa68], 1
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x26]
cmp ecx, 0x469
jne 0x494412
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x28]
cmp eax, 0x6ab
je 0x494455
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x26]
cmp edx, 0x45c
jne 0x494434
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cx, word [eax + 0x28]
cmp ecx, 0x6ab
je 0x494455
mov edx, dword [ebp - 0x10]
xor eax, eax
mov ax, word [edx + 0x26]
cmp eax, 0x446
jne 0x49445f
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + 0x28]
cmp edx, 0x69a
jne 0x49445f
mov dword [ebp - 0xa68], 0
cmp dword [ebp - 0xa68], 0
je 0x494bfb
mov dword [ebp - 0xa74], 0
mov dword [ebp - 0xa6c], 0x3f800000
mov dword [ebp - 0xa70], 0xffffffff
cmp dword [ebp - 0x7ec], 0
jle 0x49481d
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dx, word [ecx + eax*8 + 0x3c]
mov eax, dword [ebp - 0x7ec]
mov ecx, dword [ebp - 0x10]
xor esi, esi
mov si, word [ecx + eax*8 + 0x34]
cmp edx, esi
jne 0x49481d
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov dword [eax + 0xb4c], 0
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x30]
and edx, 2
test edx, edx
je 0x49460a
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0xb4c], 1
cmp dword [ebp - 0x9d0], 0
je 0x494605
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfc4], eax
mov dword [ebp - 4], 0x3f
cmp dword [ebp - 0xfc4], 0
je 0x4945dc
push 5
mov edx, dword [ebp - 0x9dc]
push edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x30]
and ecx, 2
imul ecx, ecx, 0x12c
add ecx, 0x4b0
push ecx
push 9
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0xa6c]
push eax
mov ecx, dword [ebp - 0xa70]
push ecx
fild dword [ebp - 0x9cc]
fld dword [0x5f46d0]
fmul dword [0x612f40]
fsubp st(1)
mov edx, dword [ebp - 0x9dc]
imul edx, edx, 0x28
mov dword [ebp - 0x1238], edx
fild dword [ebp - 0x1238]
fmul dword [0x612f40]
fsubp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
add esi, eax
push esi
mov eax, dword [ebp - 0x9c8]
add eax, 0x14
mov ecx, dword [ebp - 0x9dc]
imul ecx, ecx, 0xa
sub eax, ecx
push eax
lea edx, [ebp - 0xa60]
push edx
mov ecx, dword [ebp - 0xfc4]
call fcn.00423190
mov dword [ebp - 0x123c], eax
jmp 0x4945e6
mov dword [ebp - 0x123c], 0
mov eax, dword [ebp - 0x123c]
mov dword [ebp - 0xfc0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xfc0]
mov dword [ebp - 0xa74], ecx
jmp 0x494818
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x7f0]
cmp eax, dword [edx + 0x4c]
jne 0x49471e
cmp dword [ebp - 0x9d0], 0
je 0x494719
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfcc], eax
mov dword [ebp - 4], 0x40
cmp dword [ebp - 0xfcc], 0
je 0x4946f0
push 4
mov ecx, dword [ebp - 0x9dc]
push ecx
push 0x4b0
push 1
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0xa6c]
push eax
mov ecx, dword [ebp - 0xa70]
push ecx
fild dword [ebp - 0x9cc]
fld dword [0x5f543c]
fmul dword [0x612f40]
fsubp st(1)
mov edx, dword [ebp - 0x9dc]
imul edx, edx, 0x14
mov dword [ebp - 0x1240], edx
fild dword [ebp - 0x1240]
fmul dword [0x612f40]
fsubp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
add esi, eax
push esi
mov eax, dword [ebp - 0x9c8]
add eax, 0x14
mov ecx, dword [ebp - 0x9dc]
imul ecx, ecx, 0xa
sub eax, ecx
push eax
lea edx, [ebp - 0xa60]
push edx
mov ecx, dword [ebp - 0xfcc]
call fcn.00423190
mov dword [ebp - 0x1244], eax
jmp 0x4946fa
mov dword [ebp - 0x1244], 0
mov eax, dword [ebp - 0x1244]
mov dword [ebp - 0xfc8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xfc8]
mov dword [ebp - 0xa74], ecx
jmp 0x494818
cmp dword [ebp - 0x9d0], 0
je 0x494818
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfd4], eax
mov dword [ebp - 4], 0x41
cmp dword [ebp - 0xfd4], 0
je 0x4947ef
push 3
mov edx, dword [ebp - 0x9dc]
push edx
push 0x4b0
push 1
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xa6c]
push ecx
mov edx, dword [ebp - 0xa70]
push edx
fild dword [ebp - 0x9cc]
fld dword [0x5f543c]
fmul dword [0x612f40]
fsubp st(1)
mov eax, dword [ebp - 0x9dc]
imul eax, eax, 0x14
mov dword [ebp - 0x1248], eax
fild dword [ebp - 0x1248]
fmul dword [0x612f40]
fsubp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
add esi, eax
push esi
mov ecx, dword [ebp - 0x9c8]
add ecx, 0x14
mov edx, dword [ebp - 0x9dc]
imul edx, edx, 0xa
sub ecx, edx
push ecx
lea eax, [ebp - 0xa60]
push eax
mov ecx, dword [ebp - 0xfd4]
call fcn.00423190
mov dword [ebp - 0x124c], eax
jmp 0x4947f9
mov dword [ebp - 0x124c], 0
mov ecx, dword [ebp - 0x124c]
mov dword [ebp - 0xfd0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xfd0]
mov dword [ebp - 0xa74], edx
jmp 0x494b75
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0xb4c], 0
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x30]
and eax, 2
test eax, eax
je 0x494967
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov dword [edx + 0xb4c], 1
cmp dword [ebp - 0x9d0], 0
je 0x494962
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfdc], eax
mov dword [ebp - 4], 0x42
cmp dword [ebp - 0xfdc], 0
je 0x494939
push 5
mov eax, dword [ebp - 0x9dc]
push eax
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x30]
and edx, 2
imul edx, edx, 0x226
mov eax, dword [ebp - 0x9dc]
imul eax, eax, 0x3e8
lea ecx, [edx + eax + 0x3e8]
push ecx
push 9
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0xa6c]
push eax
mov ecx, dword [ebp - 0xa70]
push ecx
fild dword [ebp - 0x9cc]
fld dword [0x5f543c]
fmul dword [0x612f40]
faddp st(1)
mov edx, dword [ebp - 0x9dc]
imul edx, edx, 0x28
mov dword [ebp - 0x1250], edx
fild dword [ebp - 0x1250]
fmul dword [0x612f40]
faddp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f54bc]
call fcn.005c5ef0
add esi, eax
push esi
mov eax, dword [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0xa60]
push ecx
mov ecx, dword [ebp - 0xfdc]
call fcn.00423190
mov dword [ebp - 0x1254], eax
jmp 0x494943
mov dword [ebp - 0x1254], 0
mov edx, dword [ebp - 0x1254]
mov dword [ebp - 0xfd8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xfd8]
mov dword [ebp - 0xa74], eax
jmp 0x494b75
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x7f0]
cmp edx, dword [ecx + 0x4c]
jne 0x494a7b
cmp dword [ebp - 0x9d0], 0
je 0x494a76
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfe4], eax
mov dword [ebp - 4], 0x43
cmp dword [ebp - 0xfe4], 0
je 0x494a4d
push 4
mov eax, dword [ebp - 0x9dc]
push eax
mov ecx, dword [ebp - 0x9dc]
imul ecx, ecx, 0x3e8
add ecx, 0x3e8
push ecx
push 1
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0xa6c]
push eax
mov ecx, dword [ebp - 0xa70]
push ecx
fild dword [ebp - 0x9cc]
fld dword [0x5f46d0]
fmul dword [0x612f40]
faddp st(1)
mov edx, dword [ebp - 0x9dc]
imul edx, edx, 0x14
mov dword [ebp - 0x1258], edx
fild dword [ebp - 0x1258]
fmul dword [0x612f40]
faddp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f4cd4]
call fcn.005c5ef0
add esi, eax
push esi
mov eax, dword [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0xa60]
push ecx
mov ecx, dword [ebp - 0xfe4]
call fcn.00423190
mov dword [ebp - 0x125c], eax
jmp 0x494a57
mov dword [ebp - 0x125c], 0
mov edx, dword [ebp - 0x125c]
mov dword [ebp - 0xfe0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xfe0]
mov dword [ebp - 0xa74], eax
jmp 0x494b75
cmp dword [ebp - 0x9d0], 0
je 0x494b75
push 0x2a0
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xfec], eax
mov dword [ebp - 4], 0x44
cmp dword [ebp - 0xfec], 0
je 0x494b4c
push 3
mov ecx, dword [ebp - 0x9dc]
push ecx
mov edx, dword [ebp - 0x9dc]
imul edx, edx, 0x3e8
add edx, 0x3e8
push edx
push 1
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xa6c]
push ecx
mov edx, dword [ebp - 0xa70]
push edx
fild dword [ebp - 0x9cc]
fld dword [0x5f46d0]
fmul dword [0x612f40]
faddp st(1)
mov eax, dword [ebp - 0x9dc]
imul eax, eax, 0x14
mov dword [ebp - 0x1260], eax
fild dword [ebp - 0x1260]
fmul dword [0x612f40]
faddp st(1)
call fcn.005c5ef0
mov esi, eax
fld dword [0x612f40]
fmul dword [0x5f4cd4]
call fcn.005c5ef0
add esi, eax
push esi
mov ecx, dword [ebp - 0x9c8]
push ecx
lea edx, [ebp - 0xa60]
push edx
mov ecx, dword [ebp - 0xfec]
call fcn.00423190
mov dword [ebp - 0x1264], eax
jmp 0x494b56
mov dword [ebp - 0x1264], 0
mov eax, dword [ebp - 0x1264]
mov dword [ebp - 0xfe8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xfe8]
mov dword [ebp - 0xa74], ecx
mov edx, dword [ebp - 0x7f0]
cmp dword [edx + 0x218], 0x38
jne 0x494bdd
mov eax, dword [ebp - 0x7f0]
xor ecx, ecx
mov cx, word [eax + 0x166]
test ecx, ecx
jne 0x494bdd
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
je 0x494bdd
cmp dword [ebp - 0xa74], 0
je 0x494bdd
mov ecx, dword [ebp - 0xa74]
mov dword [ecx + 0xd4], 0x3f000000
mov edx, dword [ebp - 0xa74]
cmp dword [edx + 0xac], 5
jne 0x494bdd
mov eax, dword [ebp - 0xa74]
mov dword [eax + 0xac], 6
cmp dword [ebp - 0xa74], 0
je 0x494bfb
mov ecx, dword [ebp - 0xa74]
push ecx
mov edx, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x3c]
call fcn.005351e9
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x7f0]
cmp ecx, dword [eax + 0x4c]
jne 0x494c35
cmp dword [ebp - 0x40], 0
je 0x494c35
mov edx, dword [ebp - 0x40]
add edx, 0xf0
push edx
push 0x614894
mov eax, dword [ebp - 0x1010]
add eax, 0x27714
push eax
call fcn.005c5b24
add esp, 0xc
mov ecx, dword [ebp - 0x7f0]
movsx edx, byte [ecx + 0xa40]
cmp edx, 1
jne 0x494e1f
push 0xcc
call fcn.005c5dd3
add esp, 4
mov dword [ebp - 0xff4], eax
mov dword [ebp - 4], 0x45
cmp dword [ebp - 0xff4], 0
je 0x494c97
push 4
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x34]
push ecx
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0xff4]
call fcn.0055ab20
mov dword [ebp - 0x1268], eax
jmp 0x494ca1
mov dword [ebp - 0x1268], 0
mov edx, dword [ebp - 0x1268]
mov dword [ebp - 0xff0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xff0]
mov dword [ebp - 0xa78], eax
cmp dword [ebp - 0xa78], 0
je 0x494e1f
mov ecx, dword [ebp - 0xa78]
mov dword [ecx + 0xa4], 0x19d
mov edx, dword [ebp - 0xa78]
mov dword [edx + 0xb0], 0x1f4
mov eax, dword [ebp - 0xa78]
mov dword [eax + 0xb8], 0x1f4
mov ecx, dword [ebp - 0x7f0]
movsx edx, byte [ecx + 0xa43]
cmp edx, 1
jne 0x494d71
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x58]
push ecx
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp - 0x7f0]
fld dword [eax*8 + 0x9a233c]
fmul dword [ecx + 0x38]
fdiv dword [0x5f46bc]
mov edx, dword [ebp - 0x7f0]
fadd dword [edx + 0x54]
fsub dword [0x5f46cc]
push ecx
fstp dword [esp]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x50]
push ecx
lea ecx, [ebp - 0x1000]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0xa78]
add ecx, 0x74
call fcn.004382d0
jmp 0x494dd1
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0x7f0]
fld dword [edx*8 + 0x9a233c]
fmul dword [eax + 0x38]
fdiv dword [0x5f46bc]
mov ecx, dword [ebp - 0x7f0]
fadd dword [ecx + 0x30]
fadd dword [0x5f46cc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0x7f0]
mov eax, dword [edx + 0x28]
push eax
lea ecx, [ebp - 0x100c]
call fcn.00438180
push eax
mov ecx, dword [ebp - 0xa78]
add ecx, 0x74
call fcn.004382d0
mov ecx, dword [ebp - 0xa78]
mov dword [ecx + 0x98], 0x40200000
mov edx, dword [ebp - 0xa78]
mov dword [edx + 0x9c], 0x40200000
mov eax, dword [ebp - 0xa78]
mov dword [eax + 0x6c], 1
mov ecx, dword [ebp - 0xa78]
mov byte [ecx + 0xac], 0
mov edx, dword [ebp - 0xa78]
push edx
mov eax, dword [0x6f0ab0]
mov ecx, dword [eax + 0x2c]
call fcn.005351e9
jmp 0x494182
mov ecx, dword [ebp - 0x7f0]
cmp dword [ecx + 0x62c], 0
jge 0x494e5e
mov edx, dword [ebp - 0x10]
xor eax, eax
mov al, byte [edx + 0x2f]
test eax, eax
jne 0x494e5e
mov ecx, dword [ebp - 0x7f0]
mov dword [ecx + 0x62c], 0
mov edx, dword [ebp - 0x1010]
mov word [edx + 0x26ea8], 0
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [eax + 0x62c]
cmp edx, dword [ecx + 0x624]
jle 0x494e9c
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x494e9c
mov edx, dword [ebp - 0x7f0]
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x624]
mov dword [edx + 0x62c], ecx
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x7f0]
cmp eax, dword [edx + 0x4c]
jne 0x494ed0
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x494ed0
mov eax, dword [0x277c024]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ecx + 0x62c]
mov dword [eax + 0x7c4], edx
push 0
mov ecx, dword [ebp - 0x7f0]
call fcn.004e1c68
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x8b608]
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x1010]
cmp dword [edx + 0x8b608], 0
je 0x494fc6
mov dword [ebp - 0xa7c], 0
jmp 0x494f1d
mov eax, dword [ebp - 0xa7c]
add eax, 1
mov dword [ebp - 0xa7c], eax
mov ecx, dword [ebp - 0x890]
mov edx, dword [ebp - 0xa7c]
cmp edx, dword [ecx + 0x210]
jge 0x494fc6
mov eax, dword [ebp - 0xa7c]
mov ecx, dword [ebp - 0x890]
mov edx, dword [ecx + eax*4 + 0x214]
mov dword [ebp - 0xa80], edx
mov eax, dword [ebp - 0xa80]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [eax + 0xe54]
cmp edx, dword [ecx + 0x20]
jne 0x494fc1
mov eax, dword [ebp - 0x7f0]
mov ecx, dword [eax + 0x624]
push ecx
mov edx, dword [ebp - 0xa80]
mov ecx, dword [edx + 0xe6c]
mov eax, dword [ebp - 0xa80]
mov edx, dword [eax + 0xe6c]
mov eax, dword [edx]
call dword [eax + 0x8c]
mov ecx, dword [ebp - 0x7f0]
mov edx, dword [ecx + 0x62c]
push edx
mov eax, dword [ebp - 0xa80]
mov ecx, dword [eax + 0xe6c]
mov edx, dword [ebp - 0xa80]
mov eax, dword [edx + 0xe6c]
mov edx, dword [eax]
call dword [edx + 0x88]
jmp 0x494fc6
jmp 0x494f0e
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x495014
mov edx, dword [ebp - 0x10]
movsx eax, word [edx + 0x38]
cmp eax, 0x68
jge 0x495014
mov ecx, dword [ebp - 0x10]
movsx edx, word [ecx + 0x38]
cmp edx, 0x1d
je 0x495014
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
imul ecx, ecx, 0x60
mov edx, dword [ecx + 0x11da84c]
mov dword [ebp - 0x126c], edx
cmp dword [ebp - 0x126c], 8
je 0x49500a
jmp 0x495014
mov eax, 1
jmp 0x4954a2
cmp dword [ebp - 0x40], 0
je 0x49502a
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x5c], 0xb
jne 0x49502a
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 0
mov dword [ebp - 0x874], 0
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x860], 0x3e8
mov dword [ebp - 0x85c], 0x3e8
mov dword [ebp - 0x858], 0x3e8
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x84c], 0
mov dword [ebp - 0x848], 0
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x824], 0x2bc
mov dword [ebp - 0x820], 0x2bc
mov dword [ebp - 0x81c], 0x2bc
mov dword [ebp - 0x818], 0x3e8
mov dword [ebp - 0x814], 0x3e8
mov dword [ebp - 0x810], 0x3e8
mov dword [ebp - 0x80c], 0x3e8
mov dword [ebp - 0x808], 0x3e8
mov dword [ebp - 0x804], 0x3e8
mov dword [ebp - 0x800], 0x3e8
mov dword [ebp - 0x7fc], 0x3e8
mov dword [ebp - 0x7f8], 0x3e8
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
cmp edx, 9
jle 0x4951a6
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x2e], 9
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2e]
sub edx, 4
mov dword [ebp - 0x7f4], edx
mov eax, dword [ebp - 0x10]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x97
jne 0x4951cd
mov dword [ebp - 0x2c], 5
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x4951f5
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov dl, byte [ecx + 0x2f]
test edx, edx
jne 0x49525f
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x49525f
mov edx, dword [ebp - 0x7ec]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv dword [ebp - 0x888]
mov ecx, dword [ebp - 0x7f0]
mov dword [ecx + 0x694], eax
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x7f0]
add ecx, 0x698
call fcn.0040bf00
mov eax, dword [0x9a21cc]
mov edx, dword [eax]
mov ecx, dword [0x9a21cc]
call dword [edx + 8]
mov ecx, dword [ebp - 0x2c]
imul ecx, ecx, 0x18
lea edx, [ebp + ecx - 0x884]
mov ecx, dword [ebp - 0x7f4]
add eax, dword [edx + ecx*4]
add eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x7f0]
mov dword [edx + 0x690], eax
jmp 0x49364f
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x2f]
test ecx, ecx
jne 0x49549d
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x40]
cmp eax, dword [edx + 0x4c]
jne 0x495394
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x26eac], eax
mov ecx, dword [ebp - 0x1010]
xor edx, edx
mov dx, word [ecx + 0x26ea8]
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
cmp edx, dword [ecx + 0x62c]
jge 0x4952d5
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x1010]
mov dx, word [eax + 0x62c]
mov word [ecx + 0x26ea8], dx
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x26eac]
cmp eax, dword [ecx + 0x630]
jae 0x49530d
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1010]
mov ecx, dword [edx + 0x630]
mov dword [eax + 0x26eac], ecx
mov edx, dword [ebp - 0x1010]
xor eax, eax
mov ax, word [edx + 0x26ea8]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x624]
jle 0x49534a
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1010]
mov ax, word [ecx + 0x624]
mov word [edx + 0x26ea8], ax
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x26eac]
cmp ecx, dword [edx + 0x628]
jbe 0x495382
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [eax + 0x628]
mov dword [ecx + 0x26eac], edx
push 0
mov ecx, dword [ebp - 0x1010]
call fcn.004480c9
jmp 0x49549d
mov eax, dword [ebp - 0x1010]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax + 0x4c]
jne 0x49549d
mov edx, dword [ebp - 0x1010]
xor eax, eax
mov ax, word [edx + 0x26ea8]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
cmp eax, dword [edx + 0x62c]
jge 0x4953e3
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1010]
mov ax, word [ecx + 0x62c]
mov word [edx + 0x26ea8], ax
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x26eac]
cmp ecx, dword [edx + 0x630]
jae 0x49541b
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [eax + 0x630]
mov dword [ecx + 0x26eac], edx
mov eax, dword [ebp - 0x1010]
xor ecx, ecx
mov cx, word [eax + 0x26ea8]
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x624]
jle 0x495458
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1010]
mov cx, word [edx + 0x624]
mov word [eax + 0x26ea8], cx
mov edx, dword [ebp - 0x1010]
mov eax, dword [edx + 0x4c]
mov ecx, dword [ebp - 0x1010]
mov edx, dword [ecx + 0x26eac]
cmp edx, dword [eax + 0x628]
jbe 0x495490
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1010]
mov eax, dword [ecx + 0x628]
mov dword [edx + 0x26eac], eax
push 0x10
mov ecx, dword [ebp - 0x1010]
call fcn.004480c9
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4