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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1cc
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0065284f
test eax, eax
jne 0x65325e
mov eax, 0xffffffff
jmp 0x655644
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x120]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x65327a
mov eax, 0xffffffff
jmp 0x655644
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.00652879
test eax, eax
je 0x653293
mov eax, 0xffffffff
jmp 0x655644
mov eax, dword [ebp - 0x24]
mov dword [eax], 0xfff88e3b
mov eax, dword [ebp - 0x24]
mov dword [eax + 4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
test eax, eax
jg 0x6532ba
mov eax, 0xffffffff
jmp 0x655644
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
test eax, eax
jle 0x6532cf
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
cmp eax, 2
jle 0x6532d9
mov eax, 0xffffffff
jmp 0x655644
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x653313
mov dword [ebp - 0xa8], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0xa8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00667303
test eax, eax
jns 0x653313
mov eax, 0xffffffff
jmp 0x655644
mov eax, dword [ebp - 0x24]
add eax, 0x14
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x6c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x7c], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x65334b
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f30]
test eax, eax
je 0x653362
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x110]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f44], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f48], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f4c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x128]
test eax, eax
je 0x6533cc
call fcn.00667dfe
and eax, 1
mov edx, eax
mov eax, dword [ebp - 0x24]
and edx, 1
lea ecx, [edx + edx]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffffd
or edx, ecx
mov byte [eax + 0x14f00], dl
jmp 0x6533df
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffffd
mov byte [eax + 0x14f00], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x124]
test eax, eax
je 0x653412
call fcn.00667df4
and eax, 1
mov edx, eax
mov eax, dword [ebp - 0x24]
mov ecx, edx
and ecx, 1
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffffe
or edx, ecx
mov byte [eax + 0x14f00], dl
jmp 0x653425
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffffe
mov byte [eax + 0x14f00], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x12c]
test eax, eax
je 0x653486
call fcn.00667e08
and eax, 1
mov edx, eax
mov eax, dword [ebp - 0x24]
and edx, 1
lea ecx, [edx*4]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffffb
or edx, ecx
mov byte [eax + 0x14f00], dl
call fcn.00667e12
and eax, 1
mov edx, eax
mov eax, dword [ebp - 0x24]
and edx, 1
lea ecx, [edx*8]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffff7
or edx, ecx
mov byte [eax + 0x14f00], dl
jmp 0x6534ac
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffffb
mov byte [eax + 0x14f00], dl
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax + 0x14f00]
and edx, 0xfffffff7
mov byte [eax + 0x14f00], dl
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x58], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x78]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x90], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x68]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x94], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x98], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x9c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xa0], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x34]
cmp eax, 1
jne 0x653527
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 3
jne 0x653539
mov edx, 1
jmp 0x65353e
mov edx, 2
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x38], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 1
je 0x653559
mov eax, dword [ebp + 8]
mov dword [eax + 0x34], 0
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x653598
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
cmp eax, 0x80
je 0x653598
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
test eax, eax
jne 0x653598
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 1
jbe 0x6535b4
cmp eax, 4
je 0x6535b4
mov eax, dword [ebp + 8]
mov dword [eax + 0x38], 0
jmp 0x6535b5
nop
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x88], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x65362c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
test eax, eax
jne 0x65362c
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
fldz
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x65360b
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
fld qword [0x72f6c8]
fmulp st(1)
fucompi st(1)
fstp st(0)
setae al
jmp 0x65361c
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fabs
fldz
fucompi st(1)
fstp st(0)
setae al
test al, al
je 0x65362c
mov eax, dword [ebp + 8]
fld dword [0x72f6d0]
fstp dword [eax + 0x64]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x65378d
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fldz
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x65378d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x6536b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [0x72f6d8]
fmulp st(1)
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov ah, 0xc
mov word [ebp - 0x1b0], ax
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov eax, dword [ebp - 0x1b4]
mov dword [esp], eax
call fcn.00667213
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
fld qword [0x72f6e0]
fmulp st(1)
fdivp st(1)
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov ah, 0xc
mov word [ebp - 0x1b0], ax
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00667303
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
test eax, eax
jns 0x653757
mov dword [esp + 8], 0x292
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72edef
call fcn.0068b697
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x88]
test eax, eax
jne 0x65378d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066709c
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x65386e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp eax, 0x3e7f
jg 0x6537e7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov edx, 8
cmp eax, 8
cmovge edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov edx, 0x40
cmp eax, 0x40
cmovle edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
jmp 0x65386e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp eax, 0x7cff
jg 0x653832
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov edx, 8
cmp eax, 8
cmovge edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov edx, 0xa0
cmp eax, 0xa0
cmovle edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
jmp 0x65386e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov edx, 0x20
cmp eax, 0x20
cmovge edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov edx, 0x140
cmp eax, 0x140
cmovle edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x653ba3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 1
je 0x653896
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 4
jne 0x653ba3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp + 8]
fld dword [eax + 0xa0]
faddp st(1)
fstp dword [ebp - 0x2c]
lea eax, [ebp - 0x1a0]
mov ebx, 0x6b79c0
mov edx, 0x36
mov edi, eax
mov esi, ebx
mov ecx, edx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 2
jmp 0x653b96
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x188
mov eax, dword [eax]
cmp ecx, eax
jne 0x6539d3
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x184
fld dword [eax]
fld dword [ebp - 0x2c]
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x6539d3
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea ebx, [ebp - 0x18]
add eax, ebx
sub eax, 0x184
fld dword [eax]
fld dword [ebp - 0x2c]
fdivrp st(1)
fstp qword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x17c
fld dword [eax]
fld qword [ebp - 0x38]
fmulp st(1)
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov ah, 0xc
mov word [ebp - 0x1b0], ax
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa4], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [ebp - 0x38]
fsubrp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0xa0]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x188
mov eax, dword [eax]
cmp ecx, eax
jl 0x653b92
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea ebx, [ebp - 0x18]
add eax, ebx
sub eax, 0x184
fld dword [eax]
fld dword [ebp - 0x2c]
fucompi st(1)
fstp st(0)
jb 0x653b92
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x180
fld dword [eax]
fld dword [ebp - 0x2c]
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x653b92
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x180
fld dword [eax]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea ebx, [ebp - 0x18]
add eax, ebx
sub eax, 0x184
fld dword [eax]
fsubp st(1)
fstp dword [ebp - 0x3c]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x178
fld dword [eax]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x17c
fld dword [eax]
fsubp st(1)
fstp dword [ebp - 0x40]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea ebx, [ebp - 0x18]
add eax, ebx
sub eax, 0x17c
fld dword [eax]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea esi, [ebp - 0x18]
add eax, esi
sub eax, 0x184
fld dword [eax]
fld dword [ebp - 0x2c]
fsubrp st(1)
fmul dword [ebp - 0x40]
fdiv dword [ebp - 0x3c]
faddp st(1)
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov ah, 0xc
mov word [ebp - 0x1b0], ax
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 8]
mov dword [eax + 0xa4], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [ebp - 0x48]
fsubrp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0xa0]
mov edx, dword [ebp - 0x1c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 3
lea edi, [ebp - 0x18]
add eax, edi
sub eax, 0x188
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
test eax, eax
jne 0x653ba2
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], 0xffffffff
jmp 0x653ba2
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 8
jle 0x6538dd
jmp 0x653ba3
nop
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
test eax, eax
jne 0x653fbf
fld qword [0x72f6e8]
fstp qword [ebp - 0xb0]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 4
ja 0x653e3b
mov eax, dword [eax*4 + 0x72ee48]
jmp eax
mov dword [ebp - 0x1a0], 0x4c2c
mov dword [ebp - 0x19c], 0x4a38
mov dword [ebp - 0x198], 0x4844
mov dword [ebp - 0x194], 0x4650
mov dword [ebp - 0x190], 0x445c
mov dword [ebp - 0x18c], 0x4074
mov dword [ebp - 0x188], 0x3c8c
mov dword [ebp - 0x184], 0x38a4
mov dword [ebp - 0x180], 0x30d4
mov dword [ebp - 0x17c], 0x251c
mov dword [ebp - 0x178], 0xf6e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
test eax, eax
js 0x653f42
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
cmp eax, 9
jg 0x653f42
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fstp qword [ebp - 0x80]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
add eax, 1
mov eax, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fstp qword [ebp - 0x88]
mov eax, dword [ebp + 8]
fld dword [eax + 0xa0]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fstp qword [esp + 0x10]
fld qword [ebp - 0x88]
fstp qword [esp + 8]
fld qword [ebp - 0x80]
fstp qword [esp]
call fcn.00653201
fstp qword [ebp - 0xb0]
jmp 0x653f4e
fld qword [0x72f6f0]
fstp qword [ebp - 0xb0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 3
jne 0x653f82
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x653f6e
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 3
jne 0x653f82
fld qword [ebp - 0xb0]
fld qword [0x72f700]
fmulp st(1)
fstp qword [ebp - 0xb0]
fld qword [ebp - 0xb0]
fnstcw word [ebp - 0x1ae]
movzx eax, word [ebp - 0x1ae]
mov ah, 0xc
mov word [ebp - 0x1b0], ax
fldcw word [ebp - 0x1b0]
fistp dword [ebp - 0x1b4]
fldcw word [ebp - 0x1ae]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x65401c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
lea edx, [eax + eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
cmp edx, eax
jle 0x653ff9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00652cba
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 1
je 0x654032
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 4
jne 0x654053
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
mov edx, 0x5dc0
cmp eax, 0x5dc0
cmovle edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
jmp 0x654072
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
mov edx, 0x5014
cmp eax, 0x5014
cmovle edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x10]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar edx, 1
cmp eax, edx
cmovle edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x6540f0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [0x72f6e0]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 3
jne 0x65414c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [0x72f6e0]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x80]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x80], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xb8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x24], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xbc]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x28], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x5dc0
jg 0x6541a8
mov edx, 1
jmp 0x6541ad
mov edx, 2
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 3
je 0x65426e
cmp eax, 3
ja 0x6541d2
cmp eax, 1
jb 0x6542c1
jmp 0x6541db
cmp eax, 4
jne 0x6542c1
fld dword [0x72f708]
fstp dword [ebp - 0x1a0]
fld dword [0x72f70c]
fstp dword [ebp - 0x19c]
fld dword [0x72f710]
fstp dword [ebp - 0x198]
fld dword [0x72f714]
fstp dword [ebp - 0x194]
fld dword [0x72f718]
fstp dword [ebp - 0x190]
fld dword [0x72f71c]
fstp dword [ebp - 0x18c]
fld dword [0x72f720]
fstp dword [ebp - 0x188]
fld dword [0x72f724]
fstp dword [ebp - 0x184]
fld dword [0x72f728]
fstp dword [ebp - 0x180]
fld dword [0x72f72c]
fstp dword [ebp - 0x17c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
fld dword [ebp + eax*4 - 0x1a0]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
jmp 0x654310
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [0x72f6e0]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
jmp 0x654310
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
shl eax, 4
mov edx, eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fld qword [0x72f6e0]
fmulp st(1)
fdivp st(1)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp + 8]
fstp dword [eax + 0x64]
nop
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
cmp eax, 4
jne 0x654325
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 1
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xa4], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
test eax, eax
jle 0x654425
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc4]
test eax, eax
js 0x6543ae
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc4]
add eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf4]
jmp 0x6543d7
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf4]
jmp 0x65443b
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0xec]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
test eax, eax
jle 0x65457b
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov ecx, eax
shr ecx, 0x1f
add eax, ecx
sar eax, 1
cmp edx, eax
jge 0x65457b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xec]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
test eax, eax
js 0x654506
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc0]
sub edx, eax
mov eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe8]
fldz
fucompi st(1)
fstp st(0)
jbe 0x65452f
mov eax, dword [ebp - 0x28]
fldz
fstp dword [eax + 0xe8]
jmp 0x65452f
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fadd st(0)
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xec]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
fdivp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xec]
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.006528f7
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00667303
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
test eax, eax
jns 0x6545c9
mov dword [esp + 8], 0x395
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee09
call fcn.0068b697
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x654683
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x88]
test eax, eax
je 0x6545f6
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b08], 0
jmp 0x654690
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066709c
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066729d
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b08], edx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14b08]
test eax, eax
jg 0x654690
mov dword [esp + 8], 0x3a2
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee24
call fcn.0068b697
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b08], 8
jmp 0x654690
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14b08], 1
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.00676029
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, edx
add eax, eax
add eax, edx
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x3e7f
jg 0x6546c3
mov eax, 6
jmp 0x6546c8
mov eax, 0
add eax, edx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], 0
jmp 0x654702
mov eax, dword [ebp - 0x94]
imul edx, eax, 0x33
mov eax, dword [ebp - 0x1c]
add eax, edx
mov edx, dword [eax*4 + 0x7308e0]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14dc
mov dword [eax + ecx*4 + 4], edx
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 0x16
jle 0x6546d9
mov dword [ebp - 0x1c], 0
jmp 0x654774
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x53cc]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x53c8]
mov ecx, edx
sub ecx, eax
mov edx, 0x2aaaaaab
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x53c8]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0x98]
add eax, edx
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + 0x1500]
mov edx, dword [ebp - 0x9c]
mov dword [eax + ecx*4 + 8], edx
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 6
jle 0x654711
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x5420], 0x240
mov dword [ebp - 0x1c], 0
jmp 0x6547bc
mov eax, dword [ebp - 0x94]
imul edx, eax, 0x33
mov eax, dword [ebp - 0x1c]
add eax, edx
add eax, 0x14
mov edx, dword [eax*4 + 0x7308ec]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14f0
mov dword [eax + ecx*4 + 0x10], edx
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 0xd
jle 0x654790
mov dword [ebp - 0x1c], 0
jmp 0x65482e
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x5404]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x5400]
mov ecx, edx
sub ecx, eax
mov edx, 0x2aaaaaab
mov eax, ecx
imul edx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x5400]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp - 0xa0]
add eax, edx
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + 0x1508]
mov edx, dword [ebp - 0xa4]
mov dword [eax + ecx*4 + 4], edx
add dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 6
jle 0x6547cb
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x543c], 0xc0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x3c]
cmp eax, 2
jne 0x65486b
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
cmp eax, 1
jne 0x65485e
mov edx, 0x15
jmp 0x654863
mov edx, 0x24
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], edx
jmp 0x654888
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
cmp eax, 1
jne 0x65487d
mov edx, 0xd
jmp 0x654882
mov edx, 0x15
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x90]
test eax, eax
je 0x6548a4
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x28]
mov dword [eax + 8], edx
mov dword [ebp - 0x20], 0
jmp 0x6548e2
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x3c]
imul edx, eax, 0x2bc
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
imul eax, edx
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
add edx, 0x26d0
fstp dword [eax + edx*4 + 0xc]
add dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x12
jle 0x6548ad
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xdc]
cmp eax, 0xffffffff
jne 0x654903
mov eax, dword [ebp + 8]
mov dword [eax + 0xdc], 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
cmp eax, 9
jle 0x65492d
mov dword [esp + 8], 0x3d5
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee26
call fcn.0068b697
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
test eax, eax
jns 0x654956
mov dword [esp + 8], 0x3d6
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee36
call fcn.0068b697
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
cmp eax, 2
je 0x654a45
cmp eax, 4
je 0x654973
cmp eax, 1
jne 0x654ace
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
test eax, eax
jns 0x654987
mov eax, dword [ebp + 8]
mov dword [eax + 0x7c], 2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf4]
test eax, eax
jns 0x6549a1
mov eax, dword [ebp + 8]
mov dword [eax + 0xf4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
imul eax, eax, 0xfffffff6
add eax, 0x1f4
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00658e26
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x6549dd
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
cmp eax, 4
jg 0x6549f2
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
cmp eax, 7
jle 0x654a07
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x654a26
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], 0
jmp 0x654b40
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0xabe0
setg al
movzx edx, al
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], edx
jmp 0x654b40
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa4]
imul eax, eax, 0xfffffff6
add eax, 0x1f4
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00658e26
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x654a89
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], 0
jmp 0x654aa3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0xabe0
setg al
movzx edx, al
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
cmp eax, 6
jle 0x654ab8
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x654b3f
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 3
jmp 0x654b3f
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c64], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x654aef
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x654b0e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00662b0c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xa8]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00658e26
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp + 8]
mov dword [eax + 0x9c], edx
jmp 0x654b40
nop
mov eax, dword [ebp + 8]
fld dword [eax + 0xc8]
mov eax, dword [ebp - 0x24]
fstp dword [eax + 0x14bb0]
mov eax, dword [ebp + 8]
fld dword [eax + 0xcc]
mov eax, dword [ebp - 0x24]
fstp dword [eax + 0x14bb4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x100]
test eax, eax
je 0x654bab
mov eax, dword [ebp - 0x24]
fld dword [eax + 0x14bb0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x104]
faddp st(1)
mov eax, dword [ebp - 0x24]
fstp dword [eax + 0x14bb0]
mov eax, dword [ebp - 0x24]
fld dword [eax + 0x14bb4]
mov eax, dword [ebp + 8]
fld dword [eax + 0x104]
faddp st(1)
mov eax, dword [ebp - 0x24]
fstp dword [eax + 0x14bb4]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x654dcd
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x60], 1
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x64], 0xe
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x3e7f
jg 0x654be4
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x64], 8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
test eax, eax
je 0x654c80
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066709c
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xac], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xac]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066729d
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
test eax, eax
jns 0x654c80
mov dword [esp + 8], 0x443
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee24
call fcn.0068b697
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x60], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x654d31
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb0]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066709c
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xb0], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xb0]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066729d
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x64], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x64]
test eax, eax
jns 0x654d31
mov dword [esp + 8], 0x450
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee24
call fcn.0068b697
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x30]
cmp eax, 0x3e7f
jg 0x654d26
mov edx, 8
jmp 0x654d2b
mov edx, 0xe
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x64], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
shl edx, 4
add eax, edx
mov edx, dword [eax*4 + 0x732f80]
mov eax, dword [ebp + 8]
mov dword [eax + 0xac], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x64]
shl edx, 4
add eax, edx
mov edx, dword [eax*4 + 0x732f80]
mov eax, dword [ebp + 8]
mov dword [eax + 0xb0], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x64]
shl ecx, 4
add eax, ecx
mov eax, dword [eax*4 + 0x732f80]
cmp edx, eax
cmovg edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x60]
shl ecx, 4
add eax, ecx
mov eax, dword [eax*4 + 0x732f80]
cmp edx, eax
cmovl edx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x98]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x54], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x8c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14c68], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x5c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x14], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x68], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp + 8]
fld dword [eax + 0x64]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe4]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00652e90
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xe8]
test eax, eax
jns 0x654e71
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f28]
mov dword [eax], 3
jmp 0x654e85
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f28]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xe8]
mov dword [eax], edx
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax + 0x14f28]
mov eax, dword [ebp + 8]
fld dword [eax + 0xec]
fld qword [0x72f730]
fdivp st(1)
fstp qword [esp + 8]
fld qword [0x72f738]
fstp qword [esp]
call fcn.0068ed77
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
fstp dword [ebx + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf0]
cmp eax, 0xffffffff
jne 0x654edb
mov eax, dword [ebp + 8]
mov dword [eax + 0xf0], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf0]
test eax, eax
jne 0x654f10
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xa4]
cmp eax, 1
je 0x654f03
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xa4]
test eax, eax
jne 0x654f10
mov eax, dword [ebp + 8]
mov dword [eax + 0xf0], 1
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xf0]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xa8], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0066274f
test eax, eax
jns 0x654f44
mov dword [esp + 4], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00662720
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.006627a5
test eax, eax
jns 0x654f66
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00662776
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00663e32
fldz
fucompi st(1)
fstp st(0)
jbe 0x654f8a
fldz
fstp qword [esp + 4]
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00663dfc
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.006628a7
or eax, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00662878
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xdc]
test eax, eax
jns 0x654fc1
mov eax, dword [ebp + 8]
mov dword [eax + 0xdc], 4
mov eax, dword [ebp + 8]
fld dword [eax + 0xe0]
fldz
fucompi st(1)
fstp st(0)
jbe 0x654fe1
mov eax, dword [ebp + 8]
fld dword [0x72f740]
fstp dword [eax + 0xe0]
mov eax, dword [ebp + 8]
fld dword [eax + 0xf8]
fldz
fucompi st(1)
fstp st(0)
jbe 0x654ffd
mov eax, dword [ebp + 8]
fldz
fstp dword [eax + 0xf8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xf4]
test eax, eax
jns 0x655017
mov eax, dword [ebp + 8]
mov dword [eax + 0xf4], 1
mov eax, dword [ebp + 8]
fld dword [eax + 0xf8]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xac]
mov eax, dword [ebp + 8]
fld dword [eax + 0xfc]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xb0]
mov eax, dword [ebp + 8]
fld dword [eax + 0xe4]
fldz
fsubrp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xb4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xb4]
fld dword [0x72f744]
fmulp st(1)
fstp dword [esp + 4]
fld dword [0x72f718]
fstp dword [esp]
call fcn.0068ac87
fstp dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xb8], edx
mov eax, dword [ebp + 8]
fld dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xbc]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xdc]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc0], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd0]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc4], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xc8], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xd8]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0xcc], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x84]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x44], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x88]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x48], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xf4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x4c], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xa4]
cmp eax, 1
jne 0x655134
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
and eax, 2
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x50], edx
jmp 0x65513e
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x50], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 2
and eax, 0x3f
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd8]
fld dword [0x72f748]
fxch st(1)
fucompi st(1)
fstp st(0)
jb 0x655193
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd8]
fld dword [0x72f74c]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd8]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd8]
fld dword [0x72f750]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 8
and eax, 0x3f
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd4]
fld dword [0x72f748]
fxch st(1)
fucompi st(1)
fstp st(0)
jb 0x655202
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd4]
fld dword [0x72f74c]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd4]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xd4]
fld dword [0x72f750]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xd4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 0xe
and eax, 0x3f
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xdc]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
fld dword [0x72f748]
fxch st(1)
fucompi st(1)
fstp st(0)
jb 0x655271
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
fld dword [0x72f74c]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xdc]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
fld dword [0x72f750]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xdc]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
sar eax, 0x14
and eax, 0x3f
mov dword [ebp - 0x1b8], eax
fild dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
fld dword [0x72f748]
fxch st(1)
fucompi st(1)
fstp st(0)
jb 0x6552e0
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
fld dword [0x72f74c]
fsubp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
fld dword [0x72f750]
fmulp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xe0]
mov eax, dword [ebp - 0x28]
fld dword [eax + 0xdc]
faddp st(1)
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xe0]
fld1
fstp dword [ebp - 0xc8]
fldz
fstp dword [ebp - 0xc4]
fldz
fstp dword [ebp - 0xc0]
fld1
fstp dword [ebp - 0xbc]
fld dword [ebp - 0xc8]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc4]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xc4]
fld dword [ebp - 0xc0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xc0]
fld dword [ebp - 0xbc]
mov eax, dword [ebp + 8]
fld dword [eax + 0x14]
fmulp st(1)
fstp dword [ebp - 0xbc]
fld dword [ebp - 0xc8]
mov eax, dword [ebp + 8]
fld dword [eax + 0x18]
fmulp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc4]
mov eax, dword [ebp + 8]
fld dword [eax + 0x18]
fmulp st(1)
fstp dword [ebp - 0xc4]
fld dword [ebp - 0xc0]
mov eax, dword [ebp + 8]
fld dword [eax + 0x1c]
fmulp st(1)
fstp dword [ebp - 0xc0]
fld dword [ebp - 0xbc]
mov eax, dword [ebp + 8]
fld dword [eax + 0x1c]
fmulp st(1)
fstp dword [ebp - 0xbc]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x34]
cmp eax, 2
jne 0x655435
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x38]
cmp eax, 1
jne 0x655435
fld dword [ebp - 0xc8]
fld dword [ebp - 0xc0]
faddp st(1)
fld dword [0x72f754]
fmulp st(1)
fstp dword [ebp - 0xc8]
fld dword [ebp - 0xc4]
fld dword [ebp - 0xbc]
faddp st(1)
fld dword [0x72f754]
fmulp st(1)
fstp dword [ebp - 0xc4]
fldz
fstp dword [ebp - 0xc0]
fldz
fstp dword [ebp - 0xbc]
fld dword [ebp - 0xc8]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xf8]
fld dword [ebp - 0xc4]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0xfc]
fld dword [ebp - 0xc0]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0x100]
fld dword [ebp - 0xbc]
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0x104]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b98], 0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x9b98]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b9c], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x58]
test eax, eax
jne 0x6554d5
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
add eax, 1
imul edx, eax, 0x11940
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x68]
imul eax, edx
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x30]
cdq
idiv ecx
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b98], edx
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0x9b98]
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x9b9c], edx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.006570fd
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.0065f2dd
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0065db3e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00673523
mov edx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x84], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x70], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x78], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x655542
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x74], 1
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x70]
test eax, eax
je 0x655591
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14eac]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006782fb
test eax, eax
jne 0x655591
mov dword [esp + 8], 0x50f
mov dword [esp + 4], 0x72ede8
mov dword [esp], 0x72ee24
call fcn.0068b697
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x70], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x655635
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x655635
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f34]
test eax, eax
je 0x6555cb
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f34]
mov dword [esp], eax
call fcn.0066858e
call fcn.00668561
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14f34], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x118]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f34]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006687da
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x114]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f34]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.006687f2
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x110]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14f34]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0066880a
mov eax, dword [ebp - 0x24]
mov dword [eax + 4], 1
mov eax, 0
add esp, 0x1cc
pop ebx
pop esi
pop edi
pop ebp
ret