Function at 0x498250
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x695bb6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x188
mov eax, dword [0x6ce36c]
xor eax, ebp
mov dword [ebp - 0x8c], eax
push esi
push edi
mov dword [ebp - 0x174], ecx
push 0x6f5f84
mov eax, dword [ebp - 0x174]
add eax, 4
push eax
call fcn.004bc030
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4982ac
mov ecx, dword [ebp - 0x174]
call fcn.004928f0
mov edx, dword [ebp - 0x174]
cmp dword [edx + 0x1c4], 0xffffffff
jne 0x4982c0
jmp 0x499245
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + 0x1c4]
push ecx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e7c0
mov dword [ebp - 0x6c], eax
movsx edx, byte [ebp + 8]
test edx, edx
jne 0x498325
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + 0x8a0]
sub ecx, dword [0x6f61a0]
mov edx, dword [ebp - 0x174]
mov dword [edx + 0x8a0], ecx
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + 0x8a4]
sub ecx, dword [0x6f61a4]
mov edx, dword [ebp - 0x174]
mov dword [edx + 0x8a4], ecx
mov eax, dword [0x6f6198]
cdq
mov ecx, 0x14
idiv ecx
mov edx, dword [ebp - 0x174]
mov dword [edx + 0x260], eax
mov eax, dword [0x6f237c]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0
je 0x49835d
cmp dword [ebp - 0x178], 1
je 0x49836e
jmp 0x49837d
push 0xff
push 0
call fcn.004eaea0
add esp, 8
jmp 0x49837d
push 0xfe
push 1
call fcn.004eaea0
add esp, 8
movsx ecx, byte [ebp + 8]
cmp ecx, 1
jl 0x4983a2
push 0x63c
push 0
mov edx, dword [ebp - 0x174]
add edx, 0x264
push edx
call fcn.004cb810
add esp, 0xc
mov eax, dword [0x6ce228]
imul eax, eax, 0x64
imul eax, dword [0x6f621c]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x70], 0xffffffff
jmp 0x4983ce
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0x10
jge 0x499245
movsx eax, byte [ebp + 8]
cmp eax, 1
jne 0x49845a
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + 0x8a4]
cdq
idiv dword [0x6ce244]
mov edx, dword [ebp + 0xc]
sub edx, eax
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0xf
jle 0x498407
jmp 0x499245
movzx eax, byte [0x6f619d]
test eax, eax
jne 0x498458
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + 0x8a4]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x70]
cmp eax, 0xffffffff
jle 0x498453
mov ecx, 0x6f5908
call fcn.00455a00
mov ecx, eax
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x70]
cmp ecx, eax
jg 0x498458
jmp 0x499245
jmp 0x4984ab
movzx eax, byte [0x6f619d]
test eax, eax
jne 0x4984ab
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + 0x8a4]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x70]
cmp eax, 0xffffffff
jle 0x4984a6
mov ecx, 0x6f5908
call fcn.00455a00
mov ecx, eax
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x70]
cmp ecx, eax
jg 0x4984ab
jmp 0x4983c5
mov dword [ebp - 0x74], 0
jmp 0x4984bd
mov eax, dword [ebp - 0x74]
add eax, 1
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 3
jge 0x499235
mov dword [ebp - 0x78], 0xffffffff
jmp 0x4984d9
mov ecx, dword [ebp - 0x78]
add ecx, 1
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x78], 0x15
jge 0x499230
movzx edx, byte [0x6f619c]
test edx, edx
jne 0x498531
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + 0x8a0]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x78]
cmp eax, 0xffffffff
jle 0x49852f
mov ecx, 0x6f5908
call fcn.004559e0
mov ecx, eax
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x78]
cmp ecx, eax
jg 0x498531
jmp 0x4984d0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + 0x8a4]
cdq
idiv dword [0x6ce244]
mov esi, eax
add esi, dword [ebp - 0x70]
mov ecx, 0x6f5908
call fcn.00455a00
imul eax, eax, 0x64
add esi, eax
mov ecx, 0x6f5908
call fcn.00455a00
mov ecx, eax
mov eax, esi
cdq
idiv ecx
push edx
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
mov esi, eax
add esi, dword [ebp - 0x78]
mov ecx, 0x6f5908
call fcn.004559e0
imul eax, eax, 0x64
add esi, eax
mov ecx, 0x6f5908
call fcn.004559e0
mov ecx, eax
mov eax, esi
cdq
idiv ecx
push edx
mov edx, dword [ebp - 0x74]
push edx
mov ecx, 0x6f5f30
call fcn.0049eb50
mov ecx, eax
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x186a0
jl 0x498dbd
movsx ecx, byte [ebp + 8]
cmp ecx, 1
jl 0x49864d
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x186a0
idiv ecx
sub eax, 1
push eax
mov ecx, dword [ebp - 0x174]
add ecx, 0x240
call fcn.004a05a0
movsx edx, byte [eax]
movsx eax, byte [ebp + 8]
cmp edx, eax
je 0x49862a
mov ecx, dword [ebp - 0x70]
add ecx, 2
imul ecx, ecx, 0x54
mov edx, dword [ebp - 0x174]
lea eax, [edx + ecx + 0x264]
mov ecx, dword [ebp - 0x78]
cmp dword [eax + ecx*4 + 4], 0
jne 0x49862a
jmp 0x4984d0
mov edx, dword [ebp - 0x70]
add edx, 2
imul edx, edx, 0x54
mov eax, dword [ebp - 0x174]
lea ecx, [eax + edx + 0x264]
mov edx, dword [ebp - 0x78]
mov dword [ecx + edx*4 + 4], 1
jmp 0x49867d
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x186a0
idiv ecx
sub eax, 1
push eax
mov ecx, dword [ebp - 0x174]
add ecx, 0x240
call fcn.004a05a0
movsx edx, byte [eax]
movsx eax, byte [ebp + 8]
cmp edx, eax
je 0x49867d
jmp 0x4984d0
cmp dword [ebp - 0x44], 0x19f0a0
jg 0x4986b3
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x186a0
idiv ecx
cmp eax, 1
je 0x4986b3
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x186a0
idiv ecx
mov edx, dword [ebp - 0x174]
movzx eax, byte [edx + eax + 0x24e]
test eax, eax
jne 0x4986b8
jmp 0x4984d0
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x186a0
idiv ecx
sub eax, 2
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x186a0
idiv ecx
mov eax, edx
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, eax
shl ecx, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
imul ecx, dword [eax + edx*4 + 0x204]
mov edx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x174]
mov eax, dword [edx + 0x260]
cdq
idiv dword [edi + esi*4 + 0x204]
shl edx, 1
lea eax, [edx + ecx*2 + 1]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x3e8
idiv ecx
mov eax, edx
cdq
mov ecx, 0x64
idiv ecx
mov ecx, eax
shl ecx, 1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
imul ecx, dword [eax + edx*4 + 0x204]
mov edx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x174]
mov eax, dword [edx + 0x260]
cdq
idiv dword [edi + esi*4 + 0x204]
shl edx, 1
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x64
idiv ecx
mov eax, edx
cdq
mov ecx, 0xa
idiv ecx
lea ecx, [eax + eax + 1]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
imul ecx, dword [eax + edx*4 + 0x204]
mov edx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x174]
mov eax, dword [edx + 0x260]
cdq
idiv dword [edi + esi*4 + 0x204]
shl edx, 1
lea eax, [edx + ecx*2 + 1]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0xa
idiv ecx
lea ecx, [edx + edx + 1]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
imul ecx, dword [eax + edx*4 + 0x204]
mov edx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x174]
mov eax, dword [edx + 0x260]
cdq
idiv dword [edi + esi*4 + 0x204]
shl edx, 1
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x34], eax
cmp dword [0x6ce228], 1
jne 0x498a2b
cmp dword [0x6f621c], 0x64
jne 0x498a2b
mov ecx, dword [0x6ce220]
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x174]
mov edx, dword [ecx + eax*4 + 0x1c8]
push edx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
push ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
push ecx
call fcn.00501ce0
add esp, 0x10
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + edx*4 + 0x1c8]
push ecx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
push ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
push ecx
call fcn.00501ce0
add esp, 0x10
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + edx*4 + 0x1c8]
push ecx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
push ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
push ecx
call fcn.00501ce0
add esp, 0x10
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + edx*4 + 0x1c8]
push ecx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
push ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
push ecx
call fcn.00501ce0
add esp, 0x10
jmp 0x498db8
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x84], 0
jmp 0x498a54
mov eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 4
jge 0x498c99
mov ecx, dword [ebp - 0x84]
and ecx, 0x80000001
jns 0x498a74
dec ecx
or ecx, 0xfffffffe
inc ecx
test ecx, ecx
jne 0x498a84
mov dword [ebp - 0x17c], 0
jmp 0x498a94
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x17c], eax
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x80], edx
cmp dword [ebp - 0x84], 2
jge 0x498ab2
mov dword [ebp - 0x180], 0
jmp 0x498ac2
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x80]
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*8 - 0x64], ecx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x7c]
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*8 - 0x30], ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x80]
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*8 - 0x60], ecx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x7c]
mov eax, dword [0x6ce244]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*8 - 0x2c], ecx
mov dword [ebp - 0x88], 0
jmp 0x498bca
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0x88], 2
jge 0x498c94
mov edx, dword [ebp - 0x84]
lea ecx, [ebp + edx*8 - 0x64]
mov edx, dword [ebp - 0x84]
lea eax, [ebp + edx*8 - 0x64]
mov edx, dword [0x6f6214]
imul edx, dword [0x6ce228]
mov esi, dword [ebp - 0x88]
mov eax, dword [eax + esi*4]
sub eax, edx
mov edx, dword [0x6f621c]
sub edx, 0x64
imul eax, edx
cdq
mov esi, 0x64
idiv esi
mov edx, dword [ebp - 0x88]
add eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x84]
lea edx, [ebp + ecx*8 - 0x64]
mov ecx, dword [ebp - 0x88]
mov dword [edx + ecx*4], eax
mov edx, dword [ebp - 0x84]
lea ecx, [ebp + edx*8 - 0x30]
mov edx, dword [ebp - 0x84]
lea eax, [ebp + edx*8 - 0x30]
mov edx, dword [0x6f6218]
imul edx, dword [0x6ce228]
mov esi, dword [ebp - 0x88]
mov eax, dword [eax + esi*4]
sub eax, edx
mov edx, dword [0x6f621c]
sub edx, 0x64
imul eax, edx
cdq
mov esi, 0x64
idiv esi
mov edx, dword [ebp - 0x88]
add eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x84]
lea edx, [ebp + ecx*8 - 0x30]
mov ecx, dword [ebp - 0x88]
mov dword [edx + ecx*4], eax
jmp 0x498bbb
jmp 0x498a45
mov edx, dword [0x6ce220]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + ecx*4 + 0x1c8]
push eax
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x64]
push edx
call fcn.00501f00
add esp, 0x18
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax + edx*4 + 0x1c8]
push ecx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00501f00
add esp, 0x18
mov ecx, dword [0x6ce220]
push ecx
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x174]
mov edx, dword [ecx + eax*4 + 0x1c8]
push edx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.00501f00
add esp, 0x18
mov edx, dword [0x6ce220]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + ecx*4 + 0x1c8]
push eax
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.00501f00
add esp, 0x18
jmp 0x49922b
cmp dword [ebp - 0x44], 0
jge 0x498ea0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax + 0x8a4]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + 0x8a0]
cdq
idiv dword [0x6ce244]
add eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x74]
add edx, 1
push edx
mov eax, dword [ebp - 0x44]
push eax
push 0x69ec80
lea ecx, [ebp - 0x154]
push ecx
call fcn.004cb929
add esp, 0x18
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x168], esp
lea edx, [ebp - 0x154]
push edx
call fcn.0049cab0
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x188], eax
mov dword [ebp - 4], 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x16c], esp
push 0x69ec20
call fcn.0049cab0
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], ecx
mov byte [ebp - 4], 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x170], esp
push 0x69ec10
call fcn.0049cab0
mov dword [ebp - 0x194], eax
mov dword [ebp - 4], 0xffffffff
call fcn.0040ffb0
add esp, 0x54
push 1
call fcn.004cbce7
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x44]
jg 0x498ead
jmp 0x4984d0
movsx eax, byte [ebp + 8]
cmp eax, 1
jl 0x498f21
mov ecx, dword [ebp - 0x44]
add ecx, 0x10
push ecx
mov ecx, dword [ebp - 0x174]
add ecx, 0x240
call fcn.004a05a0
movsx edx, byte [eax]
movsx eax, byte [ebp + 8]
cmp edx, eax
je 0x498efe
mov ecx, dword [ebp - 0x70]
add ecx, 2
imul ecx, ecx, 0x54
mov edx, dword [ebp - 0x174]
lea eax, [edx + ecx + 0x264]
mov ecx, dword [ebp - 0x78]
cmp dword [eax + ecx*4 + 4], 0
jne 0x498efe
jmp 0x4984d0
mov edx, dword [ebp - 0x70]
add edx, 2
imul edx, edx, 0x54
mov eax, dword [ebp - 0x174]
lea ecx, [eax + edx + 0x264]
mov edx, dword [ebp - 0x78]
mov dword [ecx + edx*4 + 4], 1
jmp 0x498f49
mov eax, dword [ebp - 0x44]
add eax, 0x10
push eax
mov ecx, dword [ebp - 0x174]
add ecx, 0x240
call fcn.004a05a0
movsx ecx, byte [eax]
movsx edx, byte [ebp + 8]
cmp ecx, edx
je 0x498f49
jmp 0x4984d0
cmp dword [0x6ce228], 1
jne 0x498fda
cmp dword [0x6f621c], 0x64
jne 0x498fda
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x44]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x1c4]
push eax
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
push ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
push ecx
call fcn.00501ce0
add esp, 0x10
jmp 0x49922b
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x160], 0
jmp 0x499009
mov eax, dword [ebp - 0x160]
add eax, 1
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 1
jge 0x4991e4
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x15c]
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x160]
mov dword [ebp + eax*8 - 0x64], ecx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x158]
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x160]
mov dword [ebp + eax*8 - 0x30], ecx
mov ecx, dword [ebp - 0x78]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a0]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x15c]
add ecx, dword [0x6ce244]
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x160]
mov dword [ebp + eax*8 - 0x60], ecx
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x6ce244]
mov edx, dword [ebp - 0x174]
mov eax, dword [edx + 0x8a4]
cdq
idiv dword [0x6ce244]
sub ecx, edx
add ecx, dword [ebp - 0x158]
add ecx, dword [0x6ce244]
imul ecx, dword [0x6ce228]
mov eax, dword [ebp - 0x160]
mov dword [ebp + eax*8 - 0x2c], ecx
mov dword [ebp - 0x164], 0
jmp 0x499115
mov ecx, dword [ebp - 0x164]
add ecx, 1
mov dword [ebp - 0x164], ecx
cmp dword [ebp - 0x164], 2
jge 0x4991df
mov edx, dword [ebp - 0x160]
lea ecx, [ebp + edx*8 - 0x64]
mov edx, dword [ebp - 0x160]
lea eax, [ebp + edx*8 - 0x64]
mov edx, dword [0x6f6214]
imul edx, dword [0x6ce228]
mov esi, dword [ebp - 0x164]
mov eax, dword [eax + esi*4]
sub eax, edx
mov edx, dword [0x6f621c]
sub edx, 0x64
imul eax, edx
cdq
mov esi, 0x64
idiv esi
mov edx, dword [ebp - 0x164]
add eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x160]
lea edx, [ebp + ecx*8 - 0x64]
mov ecx, dword [ebp - 0x164]
mov dword [edx + ecx*4], eax
mov edx, dword [ebp - 0x160]
lea ecx, [ebp + edx*8 - 0x30]
mov edx, dword [ebp - 0x160]
lea eax, [ebp + edx*8 - 0x30]
mov edx, dword [0x6f6218]
imul edx, dword [0x6ce228]
mov esi, dword [ebp - 0x164]
mov eax, dword [eax + esi*4]
sub eax, edx
mov edx, dword [0x6f621c]
sub edx, 0x64
imul eax, edx
cdq
mov esi, 0x64
idiv esi
mov edx, dword [ebp - 0x164]
add eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x160]
lea edx, [ebp + ecx*8 - 0x30]
mov ecx, dword [ebp - 0x164]
mov dword [edx + ecx*4], eax
jmp 0x499106
jmp 0x498ffa
mov edx, dword [0x6ce220]
push edx
mov eax, dword [ebp - 0x44]
add eax, 1
push eax
mov ecx, dword [ebp - 0x174]
mov edx, dword [ecx + 0x1c4]
push edx
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.00501f00
add esp, 0x18
jmp 0x4984d0
jmp 0x4984b4
movsx edx, byte [ebp + 8]
cmp edx, 1
jne 0x499240
jmp 0x499245
jmp 0x4983c5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x8c]
xor ecx, ebp
call fcn.004cac87
mov esp, ebp
pop ebp
ret 8