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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x3b4
xor esi, esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x9c], ecx
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x188], ebx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x184], eax
mov edx, dword [0x6d159c]
xor edx, esp
mov dword [esp + 0x3b0], edx
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x2e0], esi
mov dword [esp + 0x2e4], esi
mov dword [esp + 0x2e8], esi
mov dword [esp + 0x2ec], esi
mov dword [esp + 0x2f0], esi
mov dword [esp + 0x2f4], esi
mov dword [esp + 0x2f8], esi
mov dword [esp + 0x2fc], esi
mov dword [esp + 0x33c], esi
mov dword [esp + 0x300], esi
mov dword [esp + 0x340], esi
mov dword [esp + 0x304], esi
mov dword [esp + 0x344], esi
mov dword [esp + 0x308], esi
mov dword [esp + 0x348], esi
mov dword [esp + 0x30c], esi
mov dword [esp + 0x34c], esi
mov dword [esp + 0x310], esi
mov dword [esp + 0x350], esi
mov dword [esp + 0x314], esi
mov dword [esp + 0x354], esi
mov dword [esp + 0x318], esi
mov dword [esp + 0x358], esi
mov dword [esp + 0x31c], esi
mov dword [esp + 0x35c], esi
mov dword [esp + 0x3ac], esi
mov dword [esp + 0x3a8], esi
mov dword [esp + 0x3a0], esi
mov dword [esp + 0x3a4], esi
mov dword [esp + 0x320], esi
mov dword [esp + 0x324], esi
mov dword [esp + 0x328], esi
mov dword [esp + 0x32c], esi
mov dword [esp + 0x330], esi
mov dword [esp + 0x334], esi
mov dword [esp + 0x338], esi
test ebx, 0x8010000
je 0x60cf82
test dword [esp + 0x188], 0x10000
je 0x60cf7b
lea eax, [ebp + 0x2b]
and eax, 0xfffffffc
movsx esi, byte [eax]
jmp 0x60cf87
mov esi, 0x2c
jmp 0x60cf87
mov esi, 0x2e
cmp dword [esp + 0xa4], 0
jle 0x611725
mov ecx, ebx
mov eax, ecx
and eax, 0x80
mov edx, ecx
mov ebx, eax
and edx, 0x80000000
shl eax, 0x18
and edx, eax
shl ebx, 4
shr edx, 0x13
or ebx, edx
movsx eax, byte [edi]
test cl, 0x20
je 0x60cff3
lea edx, [eax - 9]
cmp edx, 4
ja 0x611719
mov edx, dword [esp + 0xa4]
lea eax, [edi + 1]
mov edi, eax
dec edx
je 0x6116ea
movsx eax, byte [eax]
lea ecx, [eax - 9]
cmp ecx, 4
jbe 0x60cfd0
cmp eax, 0x20
je 0x60cfd0
mov dword [esp + 0xa4], edx
mov dword [esp + 0x98], edi
cmp eax, 0x2d
jne 0x60d004
add ebx, 8
jmp 0x60d009
cmp eax, 0x2b
jne 0x60d01a
add ebx, 2
inc edi
dec dword [esp + 0xa4]
je 0x610beb
xor edx, edx
mov eax, 9
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x160], edx
mov dword [esp + 0x28], 5
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], esi
movsx edx, byte [edi]
lea eax, [edx - 0x2b]
cmp eax, 0x4d
ja 0x60d31b
movzx eax, word [eax*2 + 0x69aec4]
add eax, 0x60d07c
jmp eax
cmp edx, 9
jne 0x60d330
test byte [esp + 0x188], 1
jne 0x60d42b
jmp 0x60d34d
cmp edx, 0x20
jne 0x60d34d
test byte [esp + 0x188], 2
jne 0x60d42b
test byte [esp + 0x188], 0x40
jne 0x60d370
cmp edx, dword [esp + 0x60]
jne 0x61100a
test bl, 1
jne 0x61100a
mov dword [esp + 0x78], 0
or ebx, 1
jmp 0x60d42b
mov edx, 0x30
cmp dword [esp + 0x74], 0
je 0x60d418
add edx, 0xffffffd0
or ebx, 4
xor eax, eax
mov ecx, ebx
and ecx, 0x201
cmp ecx, 0x200
mov esi, dword [esp + 0x78]
sete al
neg eax
mov ecx, dword [esp + 0x94]
inc dword [esp + 0x74]
lea eax, [esi + eax + 1]
mov dword [esp + 0x78], eax
cmp ecx, dword [esp + 0x2c]
je 0x60d3dc
mov esi, dword [esp + 0x90]
mov eax, esi
mov ecx, dword [esp + 0x14]
shl eax, cl
inc dword [esp + 0x94]
lea eax, [eax + esi*8]
add eax, edx
mov dword [esp + 0x90], eax
jmp 0x60d42b
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x28]
jae 0x60d40f
mov ecx, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x90], edx
mov dword [esp + ecx*4 + 0x2e4], eax
inc ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x94], 1
jmp 0x60d42b
or dword [esp + 0x160], edx
jmp 0x60d42b
mov eax, ebx
or ebx, 4
and eax, 1
add dword [esp + 0x78], eax
xor eax, 1
add dword [esp + 0x10], eax
inc edi
dec dword [esp + 0xa4]
jne 0x60d05e
mov edx, dword [esp + 0x94]
mov dword [esp + 0x60], 0
mov esi, edi
test bl, 4
mov eax, ebx
jne 0x60d458
mov esi, dword [esp + 0x98]
and eax, 0x40
je 0x60d45f
mov esi, edi
test dword [esp + 0x188], 0x8000
je 0x60d49f
test dword [esp + 0x188], 0x80000000
je 0x60d48a
cmp dword [esp + 0xa4], 0
je 0x60d49f
cmp byte [edi], 0
jne 0x60d494
jmp 0x60d49f
cmp dword [esp + 0xa4], 0
je 0x60d49f
or ebx, 0x3000000
jmp 0x6109b2
mov ecx, ebx
and ecx, 0x200
mov dword [esp], ecx
je 0x60d4b6
mov ecx, ebx
and ecx, 0x54
cmp ecx, 0x54
jne 0x60d494
cmp dword [esp + 0x74], 0
jne 0x60d4f8
mov eax, ebx
and eax, 0xc
cmp eax, 0xc
jne 0x60d4d2
xor dword [esp + 0x3ac], 0x80000000
mov eax, dword [esp + 0x188]
mov edx, ebx
and eax, 0x28000
or edx, 0x3000000
cmp eax, 0x28000
jne 0x6109b2
mov ebx, edx
jmp 0x6109b2
test bl, 0x20
je 0x60d501
test eax, eax
je 0x60d494
test bl, 0x10
je 0x60d55a
cmp dword [esp + 0x2c], 6
jbe 0x60d527
mov eax, ebx
and eax, 8
mov dword [esp + 0x28], eax
test ebx, 0x80
jne 0x6105d4
jmp 0x61046b
mov ecx, dword [esp + 0x60]
mov eax, ecx
neg eax
test ebx, 0x80
jne 0x60d539
mov eax, ecx
test dword [esp + 0x188], 0x400
mov ecx, dword [esp + 0xa0]
jne 0x60d552
mov ecx, 0
sub eax, ecx
mov dword [esp + 0xc], eax
jmp 0x60d567
mov eax, dword [esp + 0xa0]
neg eax
mov dword [esp + 0xc], eax
cmp dword [esp], 0
je 0x60d7e7
shl edx, 2
neg edx
mov ecx, edx
shl dword [esp + 0x90], cl
cmp dword [esp + 0x74], 8
ja 0x60d5d3
mov dword [esp + 8], 0
cmp dword [esp + 0x90], 0
jle 0x60d5b5
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 8]
add eax, eax
inc edx
test eax, eax
jg 0x60d5a3
mov dword [esp + 0x90], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x324], eax
mov dword [esp + 0x104], 1
jmp 0x60d7c8
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
lea edx, [eax + 1]
mov dword [esp + 0x104], edx
mov dword [esp + edx*4 + 0x2e0], ecx
test ecx, ecx
jne 0x60d607
mov eax, edx
dec eax
cmp dword [esp + eax*4 + 0x2e0], 0
je 0x60d5f5
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 8], 0
test eax, eax
jle 0x60d746
mov edx, dword [esp + 8]
add eax, eax
inc edx
test eax, eax
jg 0x60d622
mov dword [esp + 8], edx
mov dword [esp + 0x2e4], eax
cmp dword [esp + 8], 0
je 0x60d746
mov dword [esp + 0x324], eax
cmp dword [esp + 0x104], 1
jbe 0x60d7c8
mov eax, dword [esp + 0x104]
lea edx, [eax - 1]
shr edx, 1
je 0x611016
mov ecx, dword [esp + 8]
xor eax, eax
neg ecx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0xcc], esi
lea esi, [esi]
mov esi, dword [esp + eax*8 + 0x2e8]
mov edx, esi
mov edi, dword [esp + 4]
mov ecx, edi
shr edx, cl
mov ebx, dword [esp + 8]
mov ecx, ebx
or dword [esp + eax*8 + 0x324], edx
mov edx, dword [esp + eax*8 + 0x2ec]
shl esi, cl
mov ecx, edi
mov edi, edx
shr edi, cl
mov ecx, ebx
shl edx, cl
or esi, edi
mov dword [esp + eax*8 + 0x328], esi
mov dword [esp + eax*8 + 0x32c], edx
inc eax
cmp eax, dword [esp]
jb 0x60d690
mov ebx, dword [esp + 0xc8]
lea eax, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp]
mov edx, dword [esp + 0x104]
lea ecx, [eax - 1]
lea eax, [edx - 1]
cmp ecx, eax
jae 0x60d7c8
mov edx, dword [esp]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc8], ebx
neg ecx
mov eax, dword [esp + edx*4 + 0x2e4]
mov ebx, eax
shr ebx, cl
mov ecx, dword [esp + 8]
or dword [esp + edx*4 + 0x320], ebx
shl eax, cl
mov dword [esp + edx*4 + 0x324], eax
mov ebx, dword [esp + 0xc8]
jmp 0x60d7c8
cmp dword [esp + 0x104], 0
je 0x60d7c8
cmp dword [esp + 0x104], 0x18
jle 0x611022
mov dword [esp + 0xc8], ebx
lea eax, [esp + 0x2e0]
mov ebx, dword [eax - 0x1dc]
lea ecx, [esp + 0x320]
sub ecx, eax
lea edx, [ebx*4]
xor ebx, ebx
xor eax, eax
cmp ecx, edx
setg al
neg ecx
cmp ecx, edx
setg bl
or eax, ebx
mov ebx, dword [esp + 0xc8]
je 0x611022
mov eax, dword [esp + 0x104]
lea ecx, [esp + 0x2e4]
lea edx, [eax*4]
lea eax, [esp + 0x324]
push edx
push ecx
push eax
call fcn.0062a530
add esp, 0xc
mov edx, dword [esp + 0x74]
sub edx, dword [esp + 0x78]
mov eax, dword [esp + 0xc]
lea ecx, [eax + edx*4]
sub ecx, dword [esp + 8]
mov dword [esp + 0x108], ecx
jmp 0x6100df
test bl, 1
je 0x60d7f6
mov eax, dword [esp + 0x78]
sub dword [esp + 0xc], eax
jmp 0x60d801
sub eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x74]
add eax, ecx
cmp eax, 0xffffec9b
jge 0x60d820
mov eax, ebx
and eax, 8
mov dword [esp + 0x28], eax
jmp 0x6105d4
cmp eax, 0x1345
jle 0x60d835
mov eax, ebx
and eax, 8
mov dword [esp + 0x28], eax
jmp 0x61046b
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc8], ebx
lea ebx, [eax - 0x36]
test ebx, ebx
mov ebx, ecx
lea ecx, [ebx + eax - 0x36]
jg 0x60d84f
mov ecx, ebx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0xa0], ecx
cmp eax, 9
ja 0x610a46
mov dword [esp + 0x108], 0
cmp dword [esp + 0x90], 0
jle 0x60d89e
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x90]
add edx, edx
inc eax
test edx, edx
jg 0x60d889
mov dword [esp + 0x108], eax
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x108]
neg edx
mov eax, dword [esp + 0x90]
add edx, 0x20
mov dword [esp + 0x324], eax
mov dword [esp + 0x108], edx
mov dword [esp + 0x104], 1
cmp dword [esp + 0xa0], 0
je 0x6100df
xor eax, eax
mov dword [esp + 0x360], eax
mov dword [esp + 0x36c], eax
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], eax
mov dword [esp + 0x380], eax
mov dword [esp + 0x384], eax
mov dword [esp + 0x388], eax
mov dword [esp + 0x38c], eax
mov dword [esp + 0x390], eax
mov dword [esp + 0x394], eax
mov dword [esp + 0x398], eax
mov dword [esp + 0x39c], eax
cmp dword [esp + 0x104], 4
jb 0x60da2a
mov eax, dword [esp + 0x334]
shr eax, 0x1f
mov edx, dword [esp + 0x330]
add edx, eax
mov dword [esp + 0x330], edx
cmp edx, eax
jae 0x60d9f9
mov eax, 3
mov dword [esp + 0x320], 0
mov dword [esp + 0x104], eax
cmp dword [esp + 0x32c], 0xffffffff
je 0x60d99e
lea eax, [esp + 0x32c]
mov dword [eax - 0x29c], eax
mov eax, dword [eax]
jmp 0x60d9c7
mov edx, eax
dec edx
lea ecx, [esp + edx*4 + 0x320]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x60d9a0
mov dword [esp + 0x104], edx
mov dword [esp + 0x90], ecx
cmp dword [esp + 0x104], 0
je 0x60d9d3
mov edx, dword [esp + 0x90]
inc eax
mov dword [edx], eax
jmp 0x60da3f
inc dword [esp + 0x108]
lea eax, [esp + 0x324]
mov dword [eax], connect
mov dword [eax - 0x220], 1
mov dword [eax - 0x294], eax
jmp 0x60da3f
mov eax, 4
mov dword [esp + 0x104], eax
test edx, edx
jne 0x6110e4
dec eax
lea edx, [esp + eax*4 + 0x320]
cmp dword [edx], 0
je 0x60da0d
mov dword [esp + 0x104], eax
mov dword [esp + 0x90], edx
jmp 0x60da3f
mov eax, dword [esp + 0x104]
lea edx, [esp + eax*4 + 0x320]
mov dword [esp + 0x90], edx
xor eax, eax
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2dc], eax
cmp dword [esp + 0xa0], 0xfffffdea
jge 0x60e175
mov dword [esp + 0x368], eax
mov dword [esp + 0x364], eax
cmp dword [esp + 0xa0], 0xfffff000
jle 0x60db7e
mov edx, 0x1000
lea ecx, [esp + 0xe0]
mov dword [ecx], eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea esi, [esp + 0x2b0]
mov dword [esi], eax
mov dword [esi - 4], eax
mov dword [esi - 8], eax
mov dword [esi - 0xc], eax
mov eax, 3
mov dword [esp + 0xa4], edi
mov dword [esp + 0x78], edx
mov ecx, dword [ecx]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0xa0]
jmp 0x60dbf6
add dword [esp + 0xa0], 0x1000
mov edx, 0x1000
mov dword [esp + 0xc8], ebx
mov eax, 3
mov dword [esp + 0xa4], edi
mov dword [esp + 0x78], edx
mov dword [esp + 0xcc], esi
mov ebx, dword [esp + 0xa0]
mov edx, eax
shl edx, 4
movsx esi, word [eax*2 + 0x69b65e]
mov ecx, dword [edx + 0x69b34c]
mov dword [esp + 0x2a4], ecx
lea ecx, [edx + 0x69b348]
mov edi, dword [ecx]
mov ecx, dword [ecx - 4]
mov edx, dword [edx + 0x69b340]
mov dword [esp + 0x2a8], edi
lea edi, [esp + 0x2ac]
mov dword [edi], ecx
mov ecx, 4
mov dword [edi + 4], edx
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x78]
jmp 0x60dc08
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x78]
sar edx, 1
dec eax
js 0x60e144
mov dword [esp + 0x2c], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x78]
neg eax
cmp ebx, eax
jg 0x60dc00
add ebx, dword [esp + 0x78]
test ecx, ecx
je 0x60e16c
mov eax, dword [esp + 0x2c]
movsx esi, word [eax*2 + 0x69b65e]
shl eax, 4
mov dword [esp + 0x60], esi
mov edx, dword [eax + 0x69b34c]
mov edi, dword [eax + 0x69b348]
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], edi
mov esi, dword [eax + 0x69b344]
mov edx, dword [eax + 0x69b340]
mov edi, dword [esp + ecx*4 + 0x2a0]
mov dword [esp + 0x26c], esi
lea esi, [ecx + 3]
mov dword [esp + 0x270], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x50]
mul dword [esp + 0x54]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x5c]
mov edi, 3
mov edx, dword [esp + 0x58]
mov dword [esp + esi*4 + 0x1a0], eax
mov dword [esp + esi*4 + 0x1a4], edx
mov dword [esp + 0xa0], ebx
mov eax, dword [esp + ecx*4 + 0x2a0]
mov edx, dword [esp + edi*4 + 0x260]
mov dword [esp + esi*4 + 0x1e0], 0
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0xe4]
mul dword [esp + 0xe8]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], edx
mov eax, dword [esp + 0xec]
xor ebx, ebx
mov edx, dword [esp + esi*4 + 0x1a0]
add edx, eax
cmp edx, eax
mov dword [esp + esi*4 + 0x1a0], edx
setb bl
dec esi
add ebx, dword [esp + 0xf0]
mov dword [esp + esi*4 + 0x1a0], ebx
dec edi
jne 0x60dcba
mov eax, esi
mov ebx, dword [esp + 0xa0]
dec eax
mov dword [esp + esi*4 + 0x1e0], 0
js 0x60ddd8
mov edx, esi
shr edx, 1
je 0x61110a
xor eax, eax
lea edi, [esp + esi*4 + 0x19c]
mov dword [esp + 0xc], edi
lea edi, [esp + esi*4 + 0x1dc]
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xa0], ebx
mov ecx, eax
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
inc eax
mov dword [ecx + ebx], edi
mov dword [ecx + esi], edi
mov dword [ecx + ebx - 4], edi
mov dword [ecx + esi - 4], edi
add ecx, 0xfffffff8
cmp eax, edx
jb 0x60dd88
mov ecx, dword [esp + 0xe0]
lea edx, [eax + eax + 1]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0xa0]
lea eax, [edx - 1]
cmp eax, esi
jae 0x60ddd8
shl edx, 2
lea edi, [esp + esi*4 + 0x1dc]
neg edx
lea esi, [esp + esi*4 + 0x19c]
xor eax, eax
mov dword [edx + edi + 4], eax
mov dword [edx + esi + 4], eax
mov edx, ecx
dec edx
je 0x60dea3
mov dword [esp + 0xe0], ecx
mov eax, 4
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x12c], edx
mov ecx, eax
lea ebx, [esp + edx*4 + 0x1e0]
lea esi, [esp + edx*4 + 0x1a0]
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + ecx*4 + 0x260]
mov dword [esp + 0x168], edi
mov edx, dword [esp + eax*4 + 0x2a0]
mov dword [esp + 0x164], edx
mov eax, dword [esp + 0x164]
mul dword [esp + 0x168]
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], edx
mov edi, dword [esp + 0x16c]
mov edx, dword [esi + ecx*4]
add edx, edi
mov dword [esi + ecx*4], edx
xor eax, eax
cmp edx, edi
mov edx, 0
setb al
add eax, dword [esp + 0x170]
mov edi, dword [esi + ecx*4 - 4]
add edi, eax
cmp edi, eax
mov dword [esi + ecx*4 - 4], edi
setb dl
add dword [ebx + ecx*4 - 8], edx
dec ecx
jne 0x60de0b
mov edx, dword [esp + 0x12c]
mov eax, 4
dec edx
jne 0x60ddf4
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x74]
lea edx, [ecx + 4]
add esi, dword [esp + 0x60]
lea eax, [esp + ecx*4 + 0x2b0]
mov edi, dword [eax - 0x100]
mov dword [esp + 0x74], esi
lea esi, [ecx + 3]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], eax
mov dword [eax], edi
cmp edx, 1
je 0x60dfd6
mov eax, esi
xor edx, edx
shr eax, 1
mov dword [esp + 0x98], eax
je 0x611100
xor eax, eax
lea edi, [esp + ecx*4 + 0x2ac]
mov dword [esp + 0x94], edi
lea edi, [esp + ecx*4 + 0x1ac]
mov dword [esp + 4], edi
lea edi, [esp + ecx*4 + 0x1ec]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x7c], edi
mov dword [esp], esi
mov ecx, eax
mov ebx, dword [esp + 4]
lea esi, [esi]
lea edi, [edi]
mov esi, dword [esp + 0x7c]
inc eax
mov edi, dword [esp + 0x94]
mov dword [esp + 0x9c], eax
add edx, dword [ecx + esi]
mov eax, dword [ecx + ebx]
add eax, edx
cmp eax, edx
mov edx, 0
mov dword [ecx + edi], eax
mov eax, edx
setb al
add eax, dword [ecx + esi - 4]
mov esi, dword [ecx + ebx - 4]
add esi, eax
cmp esi, eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + edi - 4], esi
setb dl
add ecx, 0xfffffff8
cmp eax, dword [esp + 0x98]
jb 0x60df30
mov ecx, dword [esp + 0xe0]
lea eax, [eax + eax + 1]
mov esi, dword [esp]
mov ebx, dword [esp + 0xa0]
lea edi, [eax - 1]
cmp edi, esi
jae 0x60dfd0
shl eax, 2
lea edi, [esp + ecx*4 + 0x1ac]
neg eax
mov dword [esp], esi
lea esi, [esp + ecx*4 + 0x1ec]
lea ecx, [esp + ecx*4 + 0x2ac]
add edx, dword [eax + esi + 4]
add edx, dword [eax + edi + 4]
mov dword [eax + ecx + 4], edx
mov eax, dword [esp + 0x14]
mov esi, dword [esp]
mov edi, dword [eax]
jmp 0x60dfd6
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
test edi, edi
jne 0x60dff8
mov edx, dword [esp + 0x28]
dec edx
lea eax, [esp + edx*4 + 0x2a0]
cmp dword [eax], 0
je 0x60dfde
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], eax
mov eax, edx
lea esi, [eax - 1]
mov eax, dword [esp + 0x2a4]
test eax, eax
jle 0x60e099
dec dword [esp + 0x74]
add eax, eax
mov dword [esp + 0x2a4], eax
cmp dword [esp + 0x28], 2
jb 0x60e099
mov eax, dword [esp + 0x28]
lea ecx, [eax - 1]
shr ecx, 1
je 0x6110f6
mov dword [esp + 0xa0], ebx
xor edx, edx
mov eax, dword [esp + edx*8 + 0x2a8]
mov ebx, eax
shr ebx, 0x1f
add eax, eax
or dword [esp + edx*8 + 0x2a4], ebx
mov ebx, dword [esp + edx*8 + 0x2ac]
mov edi, ebx
shr edi, 0x1f
add ebx, ebx
or eax, edi
mov dword [esp + edx*8 + 0x2a8], eax
mov dword [esp + edx*8 + 0x2ac], ebx
inc edx
cmp edx, ecx
jb 0x60e033
mov ebx, dword [esp + 0xa0]
lea ecx, [edx + edx + 1]
lea eax, [ecx - 1]
cmp eax, esi
jae 0x60e099
mov edx, dword [esp + ecx*4 + 0x2a4]
mov eax, edx
shr eax, 0x1f
add edx, edx
or dword [esp + ecx*4 + 0x2a0], eax
mov dword [esp + ecx*4 + 0x2a4], edx
mov eax, dword [esp + 0x14]
mov ecx, esi
cmp dword [eax], 0
je 0x60e0a8
mov ecx, dword [esp + 0x28]
cmp ecx, 4
jb 0x60e136
mov eax, dword [esp + 0x2b4]
shr eax, 0x1f
mov edx, dword [esp + 0x2b0]
add edx, eax
mov dword [esp + 0x2b0], edx
cmp edx, eax
jae 0x60e122
mov dword [esp + 0x2a0], 0
mov ecx, 3
cmp dword [esp + 0x2ac], 0xffffffff
je 0x60e0f4
lea edx, [esp + 0x2ac]
mov eax, dword [edx]
jmp 0x60e107
dec ecx
lea edx, [esp + ecx*4 + 0x2a0]
mov eax, dword [edx]
cmp eax, 0xffffffff
je 0x60e0f4
test ecx, ecx
je 0x60e10c
inc eax
mov dword [edx], eax
jmp 0x60e136
inc dword [esp + 0x74]
mov ecx, 1
mov dword [esp + 0x2a4], connect
jmp 0x60e136
mov ecx, 4
test edx, edx
jne 0x60e136
dec ecx
cmp dword [esp + ecx*4 + 0x2a0], 0
je 0x60e12b
sar dword [esp + 0x78], 1
dec dword [esp + 0x2c]
jns 0x60dc19
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xe0], ecx
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
jmp 0x60e80d
mov eax, dword [esp + 0x2c]
jmp 0x60dbb3
cmp dword [esp + 0xa0], 0x216
jle 0x60e7ea
mov dword [esp + 0x368], eax
mov dword [esp + 0x364], eax
cmp dword [esp + 0xa0], 0x1000
jge 0x60e1ee
mov edx, 0x1000
lea ecx, [esp + 0xe0]
mov dword [ecx], eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea esi, [esp + 0x2b0]
mov dword [esi], eax
mov dword [esi - 4], eax
mov dword [esi - 8], eax
mov dword [esi - 0xc], eax
mov eax, 3
mov dword [esp + 0xa4], edi
mov dword [esp + 0x7c], edx
mov ecx, dword [ecx]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0xa0]
jmp 0x60e266
add dword [esp + 0xa0], 0xfffff000
mov edx, 0x1000
mov dword [esp + 0xc8], ebx
mov eax, 3
mov dword [esp + 0xa4], edi
mov dword [esp + 0x7c], edx
mov dword [esp + 0xcc], esi
mov ebx, dword [esp + 0xa0]
mov edx, eax
shl edx, 4
movsx esi, word [eax*2 + 0x69b67a]
mov ecx, dword [edx + 0x69b4cc]
mov dword [esp + 0x2a4], ecx
lea ecx, [edx + 0x69b4c8]
mov edi, dword [ecx]
mov ecx, dword [ecx - 4]
mov edx, dword [edx + 0x69b4c0]
mov dword [esp + 0x2a8], edi
lea edi, [esp + 0x2ac]
mov dword [edi], ecx
mov ecx, 4
mov dword [edi + 4], edx
mov dword [esp + 0x74], esi
mov edx, dword [esp + 0x7c]
jmp 0x60e278
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
sar edx, 1
dec eax
js 0x60e144
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
cmp ebx, dword [esp + 0x7c]
jl 0x60e270
sub ebx, dword [esp + 0x7c]
test ecx, ecx
je 0x60e7e1
mov eax, dword [esp + 0x78]
movsx esi, word [eax*2 + 0x69b67a]
shl eax, 4
mov dword [esp + 0x60], esi
mov edx, dword [eax + 0x69b4cc]
mov edi, dword [eax + 0x69b4c8]
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], edi
mov esi, dword [eax + 0x69b4c4]
mov edx, dword [eax + 0x69b4c0]
mov edi, dword [esp + ecx*4 + 0x2a0]
mov dword [esp + 0x26c], esi
lea esi, [ecx + 3]
mov dword [esp + 0x270], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x18]
mul dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x24]
mov edi, 3
mov edx, dword [esp + 0x20]
mov dword [esp + esi*4 + 0x1a0], eax
mov dword [esp + esi*4 + 0x1a4], edx
mov dword [esp + 0xa0], ebx
mov eax, dword [esp + ecx*4 + 0x2a0]
mov edx, dword [esp + edi*4 + 0x260]
mov dword [esp + esi*4 + 0x1e0], 0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
mov eax, dword [esp + 0xa8]
mul dword [esp + 0xac]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0xb0]
xor ebx, ebx
mov edx, dword [esp + esi*4 + 0x1a0]
add edx, eax
cmp edx, eax
mov dword [esp + esi*4 + 0x1a0], edx
setb bl
dec esi
add ebx, dword [esp + 0xb4]
mov dword [esp + esi*4 + 0x1a0], ebx
dec edi
jne 0x60e326
mov eax, esi
mov ebx, dword [esp + 0xa0]
dec eax
mov dword [esp + esi*4 + 0x1e0], 0
js 0x60e444
mov edx, esi
shr edx, 1
je 0x611128
xor eax, eax
lea edi, [esp + esi*4 + 0x19c]
mov dword [esp + 0x10], edi
lea edi, [esp + esi*4 + 0x1dc]
mov dword [esp + 0xc], edi
xor edi, edi
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0xa0], ebx
mov ecx, eax
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
inc eax
mov dword [ecx + ebx], edi
mov dword [ecx + esi], edi
mov dword [ecx + ebx - 4], edi
mov dword [ecx + esi - 4], edi
add ecx, 0xfffffff8
cmp eax, edx
jb 0x60e3f4
mov ecx, dword [esp + 0xe0]
lea edx, [eax + eax + 1]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xa0]
lea eax, [edx - 1]
cmp eax, esi
jae 0x60e444
shl edx, 2
lea edi, [esp + esi*4 + 0x1dc]
neg edx
lea esi, [esp + esi*4 + 0x19c]
xor eax, eax
mov dword [edx + edi + 4], eax
mov dword [edx + esi + 4], eax
mov edx, ecx
dec edx
je 0x60e50f
mov dword [esp + 0xe0], ecx
mov eax, 4
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x12c], edx
mov ecx, eax
lea ebx, [esp + edx*4 + 0x1e0]
lea esi, [esp + edx*4 + 0x1a0]
mov eax, dword [esp + 0x12c]
mov edi, dword [esp + ecx*4 + 0x260]
mov dword [esp + 0x120], edi
mov edx, dword [esp + eax*4 + 0x2a0]
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0x11c]
mul dword [esp + 0x120]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], edx
mov edi, dword [esp + 0x124]
mov edx, dword [esi + ecx*4]
add edx, edi
mov dword [esi + ecx*4], edx
xor eax, eax
cmp edx, edi
mov edx, 0
setb al
add eax, dword [esp + 0x128]
mov edi, dword [esi + ecx*4 - 4]
add edi, eax
cmp edi, eax
mov dword [esi + ecx*4 - 4], edi
setb dl
add dword [ebx + ecx*4 - 8], edx
dec ecx
jne 0x60e477
mov edx, dword [esp + 0x12c]
mov eax, 4
dec edx
jne 0x60e460
mov ecx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x74]
lea esi, [esp + ecx*4 + 0x2b0]
add edx, dword [esp + 0x60]
lea eax, [ecx + 3]
mov dword [esp + 0x74], edx
lea edx, [ecx + 4]
mov edi, dword [esi - 0x100]
mov dword [esi], edi
mov dword [esp + 0x28], eax
cmp edx, 1
je 0x60e656
mov dword [esp + 0x2c], 0
shr eax, 1
mov dword [esp + 0x98], eax
je 0x61111e
xor eax, eax
lea edi, [esp + ecx*4 + 0x1ac]
mov dword [esp + 8], edi
lea edi, [esp + ecx*4 + 0x1ec]
mov dword [esp + 0x94], edi
lea edi, [esp + ecx*4 + 0x2ac]
mov dword [esp + 0xe0], ecx
mov dword [esp], edx
mov dword [esp + 0xa0], ebx
mov dword [esp + 4], esi
mov ecx, eax
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x2c]
lea esi, [esi]
lea edi, [edi]
mov esi, dword [esp + 0x94]
inc eax
mov dword [esp + 0x9c], eax
add edx, dword [ecx + esi]
mov eax, dword [ecx + ebx]
add eax, edx
cmp eax, edx
mov edx, 0
mov dword [ecx + edi], eax
mov eax, edx
setb al
add eax, dword [ecx + esi - 4]
mov esi, dword [ecx + ebx - 4]
add esi, eax
cmp esi, eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + edi - 4], esi
setb dl
add ecx, 0xfffffff8
cmp eax, dword [esp + 0x98]
jb 0x60e5a0
mov dword [esp + 0x2c], edx
lea edi, [eax + eax + 1]
mov ecx, dword [esp + 0xe0]
mov esi, dword [esp + 4]
mov edx, dword [esp]
mov ebx, dword [esp + 0xa0]
lea eax, [edi - 1]
cmp eax, dword [esp + 0x28]
jae 0x60e654
shl edi, 2
neg edi
mov dword [esp], edx
lea edx, [esp + ecx*4 + 0x1ec]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa0], ebx
lea ebx, [esp + ecx*4 + 0x1ac]
add eax, dword [edi + edx + 4]
lea ecx, [esp + ecx*4 + 0x2ac]
add eax, dword [edi + ebx + 4]
mov dword [edi + ecx + 4], eax
mov edi, dword [esi]
mov edx, dword [esp]
mov ebx, dword [esp + 0xa0]
jmp 0x60e656
mov edi, dword [esi]
test edi, edi
jne 0x60e66e
dec edx
lea esi, [esp + edx*4 + 0x2a0]
cmp dword [esi], 0
je 0x60e65a
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2a4]
test eax, eax
jle 0x60e715
dec dword [esp + 0x74]
add eax, eax
mov dword [esp + 0x2a4], eax
cmp edx, 2
jb 0x60e715
lea edi, [edx - 1]
shr edi, 1
je 0x611114
mov dword [esp], edx
xor ecx, ecx
mov dword [esp + 0xa0], ebx
mov eax, dword [esp + ecx*8 + 0x2a8]
mov edx, eax
shr edx, 0x1f
add eax, eax
or dword [esp + ecx*8 + 0x2a4], edx
mov edx, dword [esp + ecx*8 + 0x2ac]
mov ebx, edx
shr ebx, 0x1f
add edx, edx
or eax, ebx
mov dword [esp + ecx*8 + 0x2a8], eax
mov dword [esp + ecx*8 + 0x2ac], edx
inc ecx
cmp ecx, edi
jb 0x60e6aa
mov edx, dword [esp]
lea eax, [ecx + ecx + 1]
mov ebx, dword [esp + 0xa0]
lea ecx, [eax - 1]
cmp ecx, dword [esp + 0x28]
jae 0x60e715
mov edi, dword [esp + eax*4 + 0x2a4]
mov ecx, edi
shr ecx, 0x1f
add edi, edi
or dword [esp + eax*4 + 0x2a0], ecx
mov dword [esp + eax*4 + 0x2a4], edi
cmp dword [esi], 0
mov ecx, dword [esp + 0x28]
je 0x60e720
mov ecx, edx
cmp ecx, 4
jb 0x60e7ae
mov eax, dword [esp + 0x2b4]
shr eax, 0x1f
mov edx, dword [esp + 0x2b0]
add edx, eax
mov dword [esp + 0x2b0], edx
cmp edx, eax
jae 0x60e79a
mov dword [esp + 0x2a0], 0
mov ecx, 3
cmp dword [esp + 0x2ac], 0xffffffff
je 0x60e76c
lea edx, [esp + 0x2ac]
mov eax, dword [edx]
jmp 0x60e77f
dec ecx
lea edx, [esp + ecx*4 + 0x2a0]
mov eax, dword [edx]
cmp eax, 0xffffffff
je 0x60e76c
test ecx, ecx
je 0x60e784
inc eax
mov dword [edx], eax
jmp 0x60e7ae
inc dword [esp + 0x74]
mov ecx, 1
mov dword [esp + 0x2a4], connect
jmp 0x60e7ae
mov ecx, 4
test edx, edx
jne 0x60e7ae
dec ecx
cmp dword [esp + ecx*4 + 0x2a0], 0
je 0x60e7a3
sar dword [esp + 0x7c], 1
dec dword [esp + 0x78]
jns 0x60e289
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xe0], ecx
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
jmp 0x60e80d
mov eax, dword [esp + 0x78]
jmp 0x60e223
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2a4], eax
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xa0]
lea edx, [eax + 0x1b]
cmp edx, 0x1a
ja 0x60e886
movsx edx, word [eax*2 + 0x69b65e]
shl eax, 4
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x69b33c]
mov dword [esp + 0x364], ecx
mov edx, dword [eax + 0x69b338]
mov ecx, dword [eax + 0x69b334]
mov eax, dword [eax + 0x69b330]
mov dword [esp + 0x370], eax
mov dword [esp + 0x368], edx
mov dword [esp + 0x36c], ecx
test eax, eax
mov eax, 4
mov dword [esp + 0x7c], eax
jne 0x611132
dec eax
lea ecx, [esp + eax*4 + 0x360]
cmp dword [ecx], 0
je 0x60e870
mov dword [esp + 0x7c], eax
jmp 0x60f5d9
xor eax, eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], eax
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], eax
cmp dword [esp + 0xa0], 0
jl 0x6112fb
cmp dword [esp + 0xa0], 0x37
jl 0x60e99a
mov edx, dword [esp + 0xa0]
mov dword [esp + 0xc8], ebx
mov ebx, edx
sar ebx, 3
mov dword [esp + 0x78], 4
movzx ecx, word [ebx*2 + 0x69b5a2]
lea eax, [ebx + 1]
shr ecx, 5
cmp ecx, edx
jle 0x60e935
mov eax, ebx
movzx ecx, word [eax*2 + 0x69b5a0]
mov eax, ecx
and eax, 0x1f
shr ecx, 5
sub edx, ecx
mov dword [esp + 0xa0], edx
movsx edx, word [eax*2 + 0x69b682]
shl eax, 4
mov dword [esp + 0x60], edx
mov ebx, dword [eax + 0x69b50c]
mov edx, dword [eax + 0x69b508]
mov ecx, dword [eax + 0x69b504]
mov eax, dword [eax + 0x69b500]
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], edx
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x270], eax
mov ebx, dword [esp + 0xc8]
jmp 0x60e9a2
mov dword [esp + 0x78], 0
cmp dword [esp + 0xa0], 0x37
je 0x611299
mov eax, dword [esp + 0xa0]
lea edx, [eax - 0x1b]
test edx, edx
jle 0x611284
movsx eax, word [edx*2 + 0x69b9fe]
mov dword [esp + 0xc], eax
mov ecx, dword [edx*8 + 0x69b81c]
mov eax, dword [edx*8 + 0x69b818]
mov dword [esp + 0x224], ecx
mov ecx, 2
mov dword [esp + 0x228], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x611274
mov eax, ecx
dec eax
cmp dword [esp + eax*4 + 0x220], 0
je 0x60e9fd
mov dword [esp + 0x28], eax
mov dword [esp + 0xa0], 0x1b
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x7c], 2
movsx ecx, word [eax*2 + 0x69b9fe]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax*8 + 0x69b81c]
mov eax, dword [eax*8 + 0x69b818]
mov dword [esp + 0x364], ecx
mov dword [esp + 0x368], eax
test eax, eax
jne 0x611268
mov eax, dword [esp + 0x7c]
dec eax
lea ecx, [esp + eax*4 + 0x360]
cmp dword [ecx], 0
je 0x60ea5a
mov dword [esp + 0x7c], eax
test edx, edx
jle 0x60f019
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x7c]
lea edx, [eax + edx - 1]
mov dword [esp + 0x10], edx
mov edx, dword [ecx]
mov eax, dword [esp + eax*4 + 0x220]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
mul dword [esp + 0x44]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov dword [esp + eax*4 + 0x1a0], edx
mov edx, dword [esp + 0x48]
mov dword [esp + eax*4 + 0x1a4], edx
mov eax, dword [esp + 0x28]
dec eax
je 0x60eb70
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebx
mov ebx, ecx
mov dword [esp + 0xa4], edi
mov ecx, eax
mov esi, dword [esp + 0x10]
mov edx, dword [ebx]
mov edi, dword [esp + ecx*4 + 0x220]
mov dword [esp + esi*4 + 0x1e0], 0
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], edi
mov eax, dword [esp + 0xd0]
mul dword [esp + 0xd4]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov edi, dword [esp + 0xd8]
mov edx, dword [esp + esi*4 + 0x1a0]
add edx, edi
cmp edx, edi
mov dword [esp + esi*4 + 0x1a0], edx
mov edx, 0
setb dl
dec esi
add edx, dword [esp + 0xdc]
mov dword [esp + esi*4 + 0x1a0], edx
dec ecx
jne 0x60eae6
mov dword [esp + 0x10], esi
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1e0], 0
dec eax
js 0x60ec3c
mov eax, dword [esp + 0x10]
shr eax, 1
mov dword [esp + 8], eax
je 0x61125e
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea edx, [esp + ecx*4 + 0x19c]
mov dword [esp + 4], edx
lea edx, [esp + ecx*4 + 0x1dc]
mov dword [esp], edx
mov dword [esp + 0xa4], edi
xor edi, edi
mov edx, eax
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 8]
inc eax
mov dword [edx + ecx], edi
mov dword [edx + ebx], edi
mov dword [edx + ecx - 4], edi
mov dword [edx + ebx - 4], edi
add edx, 0xfffffff8
cmp eax, esi
jb 0x60ebd5
mov ebx, dword [esp + 0xc8]
lea edx, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0x10]
jae 0x60ec3c
shl edx, 2
xor eax, eax
mov dword [esp + 0xc8], ebx
neg edx
mov ebx, dword [esp + 0x10]
lea ecx, [esp + ebx*4 + 0x1dc]
mov dword [edx + ecx + 4], eax
lea ecx, [esp + ebx*4 + 0x19c]
mov dword [edx + ecx + 4], eax
mov ebx, dword [esp + 0xc8]
mov eax, dword [esp + 0x7c]
dec eax
je 0x60ed11
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xcc], esi
mov edx, dword [esp + 0x28]
mov esi, edx
test edx, edx
je 0x60ecf5
mov dword [esp], eax
lea ebx, [esp + eax*4 + 0x1e0]
lea ecx, [esp + eax*4 + 0x1a0]
mov eax, dword [esp]
mov edi, dword [esp + esi*4 + 0x220]
mov dword [esp + 0x154], edi
mov edx, dword [esp + eax*4 + 0x360]
mov dword [esp + 0x150], edx
mov eax, dword [esp + 0x150]
mul dword [esp + 0x154]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edx
mov edi, dword [esp + 0x158]
mov edx, dword [ecx + esi*4]
add edx, edi
mov dword [ecx + esi*4], edx
xor eax, eax
cmp edx, edi
mov edx, 0
setb al
add eax, dword [esp + 0x15c]
mov edi, dword [ecx + esi*4 - 4]
add edi, eax
cmp edi, eax
mov dword [ecx + esi*4 - 4], edi
setb dl
add dword [ebx + esi*4 - 8], edx
dec esi
jne 0x60ec7b
mov eax, dword [esp]
mov edx, dword [esp + 0x28]
dec eax
jne 0x60ec60
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0x14]
add edx, dword [esp + 0xc]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + edx]
mov dword [esp + 8], eax
lea ecx, [ecx + edx - 1]
mov dword [esp + 0x7c], ecx
lea edx, [esp + eax*4 + 0x360]
mov dword [esp + 4], edx
cmp eax, 1
mov eax, dword [edx - 0x1c0]
mov dword [edx], eax
je 0x60ee70
mov eax, ecx
mov dword [esp + 0xc], 0
shr eax, 1
mov dword [esp + 0x2c], eax
je 0x611254
mov eax, ecx
xor edx, edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
lea ecx, [esp + eax*4 + 0x1a0]
mov dword [esp], ecx
lea ecx, [esp + eax*4 + 0x1e0]
mov dword [esp + 0x28], ecx
lea eax, [esp + eax*4 + 0x360]
mov dword [esp + 0x10], eax
mov dword [esp + 0xcc], esi
mov ecx, edx
mov ebx, dword [esp]
mov eax, dword [esp + 0xc]
nop
lea esi, [esi]
mov esi, dword [esp + 0x28]
inc edx
mov edi, dword [esp + 0x10]
mov dword [esp], edx
add eax, dword [ecx + esi]
mov edx, dword [ecx + ebx]
add edx, eax
cmp edx, eax
mov eax, 0
mov dword [ecx + edi], edx
mov edx, eax
setb dl
add edx, dword [ecx + esi - 4]
mov esi, dword [ecx + ebx - 4]
add esi, edx
cmp esi, edx
mov edx, dword [esp]
mov dword [ecx + edi - 4], esi
setb al
add ecx, 0xfffffff8
cmp edx, dword [esp + 0x2c]
jb 0x60edb0
mov dword [esp + 0xc], eax
lea edx, [edx + edx + 1]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0x7c]
jae 0x60ee6a
shl edx, 2
mov dword [esp + 0xa4], edi
neg edx
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
lea ecx, [esp + edi*4 + 0x1e0]
add eax, dword [edx + ecx + 4]
lea ebx, [esp + edi*4 + 0x1a0]
add eax, dword [edx + ebx + 4]
lea ecx, [esp + edi*4 + 0x360]
mov dword [edx + ecx + 4], eax
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov eax, dword [edx]
jmp 0x60ee70
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
jne 0x60ee96
mov edx, dword [esp + 8]
dec edx
lea eax, [esp + edx*4 + 0x360]
cmp dword [eax], 0
je 0x60ee78
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, edx
lea edx, [eax - 1]
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x364]
test eax, eax
jle 0x60ef4b
dec dword [esp + 0x14]
add eax, eax
mov dword [esp + 0x364], eax
cmp dword [esp + 8], 2
jb 0x60ef4b
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
shr ecx, 1
je 0x61124a
mov dword [esp + 0xa4], edi
xor edx, edx
mov dword [esp + 0xcc], esi
mov eax, dword [esp + edx*8 + 0x368]
mov esi, eax
shr esi, 0x1f
add eax, eax
or dword [esp + edx*8 + 0x364], esi
mov esi, dword [esp + edx*8 + 0x36c]
mov edi, esi
shr edi, 0x1f
add esi, esi
or eax, edi
mov dword [esp + edx*8 + 0x368], eax
mov dword [esp + edx*8 + 0x36c], esi
inc edx
cmp edx, ecx
jb 0x60eedc
mov edi, dword [esp + 0xa4]
lea eax, [edx + edx + 1]
mov esi, dword [esp + 0xcc]
lea edx, [eax - 1]
cmp edx, dword [esp + 0x7c]
jae 0x60ef4b
mov ecx, dword [esp + eax*4 + 0x364]
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
or dword [esp + eax*4 + 0x360], edx
mov dword [esp + eax*4 + 0x364], ecx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x7c]
cmp dword [eax], 0
je 0x60ef5c
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
cmp edx, 4
jb 0x60f010
mov eax, dword [esp + 0x374]
shr eax, 0x1f
mov edx, dword [esp + 0x370]
add edx, eax
mov dword [esp + 0x370], edx
cmp edx, eax
jae 0x60efec
mov eax, 3
mov dword [esp + 0x360], 0
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x36c], 0xffffffff
je 0x60efb0
lea ecx, [esp + 0x36c]
mov eax, dword [ecx]
jmp 0x60efcc
mov edx, eax
dec edx
lea ecx, [esp + edx*4 + 0x360]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x60efb2
mov dword [esp + 0x7c], edx
cmp dword [esp + 0x7c], 0
je 0x60efd1
inc eax
mov dword [ecx], eax
jmp 0x60f019
inc dword [esp + 0x14]
lea ecx, [esp + 0x364]
mov dword [ecx], connect
mov dword [esp + 0x7c], 1
jmp 0x60f019
mov eax, 4
mov dword [esp + 0x7c], eax
test edx, edx
jne 0x61113e
dec eax
lea ecx, [esp + eax*4 + 0x360]
cmp dword [ecx], 0
je 0x60effd
mov dword [esp + 0x7c], eax
jmp 0x60f019
mov eax, edx
lea ecx, [esp + eax*4 + 0x360]
cmp dword [esp + 0x78], 0
je 0x60f5d9
mov dword [esp + 0xc8], ebx
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
lea edx, [ebx + eax]
mov dword [esp + 8], edx
lea edx, [ebx + eax - 1]
mov dword [esp + 0xc], edx
mov edx, dword [ecx]
mov eax, dword [esp + eax*4 + 0x260]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0xc8]
mov eax, dword [esp + 0x30]
mul dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov dword [esp + eax*4 + 0x1a0], edx
mov edx, dword [esp + 0x38]
mov dword [esp + eax*4 + 0x1a4], edx
mov eax, dword [esp + 0x78]
lea eax, [eax - 1]
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebx
mov ebx, ecx
mov dword [esp + 0xa4], edi
mov ecx, eax
mov esi, dword [esp + 0xc]
mov edx, dword [ebx]
mov edi, dword [esp + ecx*4 + 0x260]
mov dword [esp + esi*4 + 0x1e0], 0
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0xb8]
mul dword [esp + 0xbc]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov edi, dword [esp + 0xc0]
mov edx, dword [esp + esi*4 + 0x1a0]
add edx, edi
cmp edx, edi
mov dword [esp + esi*4 + 0x1a0], edx
mov edx, 0
setb dl
dec esi
add edx, dword [esp + 0xc4]
mov dword [esp + esi*4 + 0x1a0], edx
dec ecx
jne 0x60f0a8
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1e0], 0
dec eax
js 0x60f1fe
mov eax, dword [esp + 0xc]
shr eax, 1
mov dword [esp + 0x10], eax
je 0x611240
mov ecx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea edx, [esp + ecx*4 + 0x19c]
mov dword [esp + 4], edx
lea edx, [esp + ecx*4 + 0x1dc]
mov dword [esp], edx
mov dword [esp + 0xa4], edi
xor edi, edi
mov edx, eax
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x10]
inc eax
mov dword [edx + ecx], edi
mov dword [edx + ebx], edi
mov dword [edx + ecx - 4], edi
mov dword [edx + ebx - 4], edi
add edx, 0xfffffff8
cmp eax, esi
jb 0x60f197
mov ebx, dword [esp + 0xc8]
lea edx, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0xc]
jae 0x60f1fe
shl edx, 2
xor eax, eax
mov dword [esp + 0xc8], ebx
neg edx
mov ebx, dword [esp + 0xc]
lea ecx, [esp + ebx*4 + 0x1dc]
mov dword [edx + ecx + 4], eax
lea ecx, [esp + ebx*4 + 0x19c]
mov dword [edx + ecx + 4], eax
mov ebx, dword [esp + 0xc8]
mov eax, dword [esp + 0x7c]
dec eax
je 0x60f2d3
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xcc], esi
mov edx, dword [esp + 0x78]
mov esi, edx
test edx, edx
je 0x60f2b7
mov dword [esp], eax
lea ebx, [esp + eax*4 + 0x1e0]
lea ecx, [esp + eax*4 + 0x1a0]
mov eax, dword [esp]
mov edi, dword [esp + esi*4 + 0x260]
mov dword [esp + 0x134], edi
mov edx, dword [esp + eax*4 + 0x360]
mov dword [esp + 0x130], edx
mov eax, dword [esp + 0x130]
mul dword [esp + 0x134]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], edx
mov edi, dword [esp + 0x138]
mov edx, dword [ecx + esi*4]
add edx, edi
mov dword [ecx + esi*4], edx
xor eax, eax
cmp edx, edi
mov edx, 0
setb al
add eax, dword [esp + 0x13c]
mov edi, dword [ecx + esi*4 - 4]
add edi, eax
cmp edi, eax
mov dword [ecx + esi*4 - 4], edi
setb dl
add dword [ebx + esi*4 - 8], edx
dec esi
jne 0x60f23d
mov eax, dword [esp]
mov edx, dword [esp + 0x78]
dec eax
jne 0x60f222
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x60]
mov dword [esp + 0x14], eax
lea eax, [edx + ecx - 1]
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + edx*4 + 0x1a0]
lea ecx, [esp + edx*4 + 0x360]
mov dword [esp + 4], ecx
mov dword [ecx], eax
cmp edx, 1
je 0x60f430
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], 0
shr eax, 1
mov dword [esp + 0x2c], eax
je 0x611236
mov eax, dword [esp + 0x7c]
xor edx, edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
lea ecx, [esp + eax*4 + 0x1a0]
mov dword [esp], ecx
lea ecx, [esp + eax*4 + 0x1e0]
mov dword [esp + 0x28], ecx
lea eax, [esp + eax*4 + 0x360]
mov dword [esp + 0x10], eax
mov dword [esp + 0xcc], esi
mov ecx, edx
mov ebx, dword [esp]
mov eax, dword [esp + 0xc]
lea esi, [esi]
mov esi, dword [esp + 0x28]
inc edx
mov edi, dword [esp + 0x10]
mov dword [esp], edx
add eax, dword [ecx + esi]
mov edx, dword [ecx + ebx]
add edx, eax
cmp edx, eax
mov eax, 0
mov dword [ecx + edi], edx
mov edx, eax
setb dl
add edx, dword [ecx + esi - 4]
mov esi, dword [ecx + ebx - 4]
add esi, edx
cmp esi, edx
mov edx, dword [esp]
mov dword [ecx + edi - 4], esi
setb al
add ecx, 0xfffffff8
cmp edx, dword [esp + 0x2c]
jb 0x60f370
mov dword [esp + 0xc], eax
lea edx, [edx + edx + 1]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0x7c]
jae 0x60f42a
shl edx, 2
mov dword [esp + 0xa4], edi
neg edx
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
lea ecx, [esp + edi*4 + 0x1e0]
add eax, dword [edx + ecx + 4]
lea ebx, [esp + edi*4 + 0x1a0]
add eax, dword [edx + ebx + 4]
lea ecx, [esp + edi*4 + 0x360]
mov dword [edx + ecx + 4], eax
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov eax, dword [edx]
jmp 0x60f430
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
jne 0x60f456
mov edx, dword [esp + 8]
dec edx
lea eax, [esp + edx*4 + 0x360]
cmp dword [eax], 0
je 0x60f438
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, edx
lea edx, [eax - 1]
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x364]
test eax, eax
jle 0x60f50b
dec dword [esp + 0x14]
add eax, eax
mov dword [esp + 0x364], eax
cmp dword [esp + 8], 2
jb 0x60f50b
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
shr ecx, 1
je 0x61122c
mov dword [esp + 0xa4], edi
xor edx, edx
mov dword [esp + 0xcc], esi
mov eax, dword [esp + edx*8 + 0x368]
mov esi, eax
shr esi, 0x1f
add eax, eax
or dword [esp + edx*8 + 0x364], esi
mov esi, dword [esp + edx*8 + 0x36c]
mov edi, esi
shr edi, 0x1f
add esi, esi
or eax, edi
mov dword [esp + edx*8 + 0x368], eax
mov dword [esp + edx*8 + 0x36c], esi
inc edx
cmp edx, ecx
jb 0x60f49c
mov edi, dword [esp + 0xa4]
lea eax, [edx + edx + 1]
mov esi, dword [esp + 0xcc]
lea edx, [eax - 1]
cmp edx, dword [esp + 0x7c]
jae 0x60f50b
mov ecx, dword [esp + eax*4 + 0x364]
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
or dword [esp + eax*4 + 0x360], edx
mov dword [esp + eax*4 + 0x364], ecx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x7c]
cmp dword [eax], 0
je 0x60f51c
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
cmp edx, 4
jb 0x60f5d0
mov eax, dword [esp + 0x374]
shr eax, 0x1f
mov edx, dword [esp + 0x370]
add edx, eax
mov dword [esp + 0x370], edx
cmp edx, eax
jae 0x60f5ac
mov eax, 3
mov dword [esp + 0x360], 0
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x36c], 0xffffffff
je 0x60f570
lea ecx, [esp + 0x36c]
mov eax, dword [ecx]
jmp 0x60f58c
mov edx, eax
dec edx
lea ecx, [esp + edx*4 + 0x360]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x60f572
mov dword [esp + 0x7c], edx
cmp dword [esp + 0x7c], 0
je 0x60f591
inc eax
mov dword [ecx], eax
jmp 0x60f5d9
inc dword [esp + 0x14]
lea ecx, [esp + 0x364]
mov dword [ecx], connect
mov dword [esp + 0x7c], 1
jmp 0x60f5d9
mov eax, 4
mov dword [esp + 0x7c], eax
test edx, edx
jne 0x611132
dec eax
lea ecx, [esp + eax*4 + 0x360]
cmp dword [ecx], 0
je 0x60f5bd
mov dword [esp + 0x7c], eax
jmp 0x60f5d9
mov eax, edx
lea ecx, [esp + eax*4 + 0x360]
cmp dword [esp + 0xe0], 0
je 0x60fb99
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x7c]
lea edx, [eax + edx - 1]
mov dword [esp + 8], edx
mov edx, dword [ecx]
mov eax, dword [esp + eax*4 + 0x2a0]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
mul dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x70]
mov dword [esp + eax*4 + 0x1a0], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + eax*4 + 0x1a4], edx
mov eax, dword [esp + 0xe0]
dec eax
je 0x60f6ea
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebx
mov ebx, ecx
mov dword [esp + 0xa4], edi
mov ecx, eax
mov esi, dword [esp + 8]
mov edx, dword [ebx]
mov edi, dword [esp + ecx*4 + 0x2a0]
mov dword [esp + esi*4 + 0x1e0], 0
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], edi
mov eax, dword [esp + 0xf4]
mul dword [esp + 0xf8]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], edx
mov edi, dword [esp + 0xfc]
mov edx, dword [esp + esi*4 + 0x1a0]
add edx, edi
cmp edx, edi
mov dword [esp + esi*4 + 0x1a0], edx
mov edx, 0
setb dl
dec esi
add edx, dword [esp + 0x100]
mov dword [esp + esi*4 + 0x1a0], edx
dec ecx
jne 0x60f660
mov dword [esp + 8], esi
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 8]
mov dword [esp + eax*4 + 0x1e0], 0
dec eax
js 0x60f7b6
mov eax, dword [esp + 8]
shr eax, 1
mov dword [esp + 0xc], eax
je 0x611222
mov ecx, dword [esp + 8]
xor eax, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea edx, [esp + ecx*4 + 0x19c]
mov dword [esp + 4], edx
lea edx, [esp + ecx*4 + 0x1dc]
mov dword [esp], edx
mov dword [esp + 0xa4], edi
xor edi, edi
mov edx, eax
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0xc]
inc eax
mov dword [edx + ecx], edi
mov dword [edx + ebx], edi
mov dword [edx + ecx - 4], edi
mov dword [edx + ebx - 4], edi
add edx, 0xfffffff8
cmp eax, esi
jb 0x60f74f
mov ebx, dword [esp + 0xc8]
lea edx, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 8]
jae 0x60f7b6
shl edx, 2
xor eax, eax
mov dword [esp + 0xc8], ebx
neg edx
mov ebx, dword [esp + 8]
lea ecx, [esp + ebx*4 + 0x1dc]
mov dword [edx + ecx + 4], eax
lea ecx, [esp + ebx*4 + 0x19c]
mov dword [edx + ecx + 4], eax
mov ebx, dword [esp + 0xc8]
mov eax, dword [esp + 0x7c]
dec eax
je 0x60f891
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xcc], esi
mov edx, dword [esp + 0xe0]
mov esi, edx
test edx, edx
je 0x60f875
mov dword [esp], eax
lea ebx, [esp + eax*4 + 0x1e0]
lea ecx, [esp + eax*4 + 0x1a0]
mov eax, dword [esp]
mov edi, dword [esp + esi*4 + 0x2a0]
mov dword [esp + 0x178], edi
mov edx, dword [esp + eax*4 + 0x360]
mov dword [esp + 0x174], edx
mov eax, dword [esp + 0x174]
mul dword [esp + 0x178]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], edx
mov edi, dword [esp + 0x17c]
mov edx, dword [ecx + esi*4]
add edx, edi
mov dword [ecx + esi*4], edx
xor eax, eax
cmp edx, edi
mov edx, 0
setb al
add eax, dword [esp + 0x180]
mov edi, dword [ecx + esi*4 - 4]
add edi, eax
cmp edi, eax
mov dword [ecx + esi*4 - 4], edi
setb dl
add dword [ebx + esi*4 - 8], edx
dec esi
jne 0x60f7f8
mov eax, dword [esp]
mov edx, dword [esp + 0xe0]
dec eax
jne 0x60f7dd
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov edx, dword [esp + 0x14]
add edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xe0]
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + edx]
mov dword [esp + 8], eax
lea ecx, [ecx + edx - 1]
mov dword [esp + 0x7c], ecx
lea edx, [esp + eax*4 + 0x360]
mov dword [esp + 4], edx
cmp eax, 1
mov eax, dword [edx - 0x1c0]
mov dword [edx], eax
je 0x60f9f0
mov eax, ecx
mov dword [esp + 0xc], 0
shr eax, 1
mov dword [esp + 0x2c], eax
je 0x611218
mov eax, ecx
xor edx, edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
lea ecx, [esp + eax*4 + 0x360]
mov dword [esp + 0x28], ecx
lea ecx, [esp + eax*4 + 0x1a0]
mov dword [esp], ecx
lea eax, [esp + eax*4 + 0x1e0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xcc], esi
mov ecx, edx
mov ebx, dword [esp]
mov eax, dword [esp + 0xc]
nop
lea esi, [esi]
mov esi, dword [esp + 0x10]
inc edx
mov edi, dword [esp + 0x28]
mov dword [esp], edx
add eax, dword [ecx + esi]
mov edx, dword [ecx + ebx]
add edx, eax
cmp edx, eax
mov eax, 0
mov dword [ecx + edi], edx
mov edx, eax
setb dl
add edx, dword [ecx + esi - 4]
mov esi, dword [ecx + ebx - 4]
add esi, edx
cmp esi, edx
mov edx, dword [esp]
mov dword [ecx + edi - 4], esi
setb al
add ecx, 0xfffffff8
cmp edx, dword [esp + 0x2c]
jb 0x60f930
mov dword [esp + 0xc], eax
lea edx, [edx + edx + 1]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0x7c]
jae 0x60f9ea
shl edx, 2
mov dword [esp + 0xa4], edi
neg edx
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
lea ecx, [esp + edi*4 + 0x1e0]
add eax, dword [edx + ecx + 4]
lea ebx, [esp + edi*4 + 0x1a0]
add eax, dword [edx + ebx + 4]
lea ecx, [esp + edi*4 + 0x360]
mov dword [edx + ecx + 4], eax
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov eax, dword [edx]
jmp 0x60f9f0
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
jne 0x60fa16
mov edx, dword [esp + 8]
dec edx
lea eax, [esp + edx*4 + 0x360]
cmp dword [eax], 0
je 0x60f9f8
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, edx
lea edx, [eax - 1]
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x364]
test eax, eax
jle 0x60facb
dec dword [esp + 0x14]
add eax, eax
mov dword [esp + 0x364], eax
cmp dword [esp + 8], 2
jb 0x60facb
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
shr ecx, 1
je 0x61120e
mov dword [esp + 0xa4], edi
xor edx, edx
mov dword [esp + 0xcc], esi
mov eax, dword [esp + edx*8 + 0x368]
mov esi, eax
shr esi, 0x1f
add eax, eax
or dword [esp + edx*8 + 0x364], esi
mov esi, dword [esp + edx*8 + 0x36c]
mov edi, esi
shr edi, 0x1f
add esi, esi
or eax, edi
mov dword [esp + edx*8 + 0x368], eax
mov dword [esp + edx*8 + 0x36c], esi
inc edx
cmp edx, ecx
jb 0x60fa5c
mov edi, dword [esp + 0xa4]
lea eax, [edx + edx + 1]
mov esi, dword [esp + 0xcc]
lea edx, [eax - 1]
cmp edx, dword [esp + 0x7c]
jae 0x60facb
mov ecx, dword [esp + eax*4 + 0x364]
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
or dword [esp + eax*4 + 0x360], edx
mov dword [esp + eax*4 + 0x364], ecx
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x7c]
cmp dword [eax], 0
je 0x60fadc
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
cmp edx, 4
jb 0x60fb90
mov eax, dword [esp + 0x374]
shr eax, 0x1f
mov edx, dword [esp + 0x370]
add edx, eax
mov dword [esp + 0x370], edx
cmp edx, eax
jae 0x60fb6c
mov eax, 3
mov dword [esp + 0x360], 0
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x36c], 0xffffffff
je 0x60fb30
lea ecx, [esp + 0x36c]
mov eax, dword [ecx]
jmp 0x60fb4c
mov edx, eax
dec edx
lea ecx, [esp + edx*4 + 0x360]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x60fb32
mov dword [esp + 0x7c], edx
cmp dword [esp + 0x7c], 0
je 0x60fb51
inc eax
mov dword [ecx], eax
jmp 0x60fb99
inc dword [esp + 0x14]
lea ecx, [esp + 0x364]
mov dword [ecx], connect
mov dword [esp + 0x7c], 1
jmp 0x60fb99
mov eax, 4
mov dword [esp + 0x7c], eax
test edx, edx
jne 0x61114a
dec eax
lea ecx, [esp + eax*4 + 0x360]
cmp dword [ecx], 0
je 0x60fb7d
mov dword [esp + 0x7c], eax
jmp 0x60fb99
mov eax, edx
lea ecx, [esp + eax*4 + 0x360]
mov eax, dword [ecx]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x104]
lea edx, [ecx + eax]
mov dword [esp + 8], edx
lea edx, [ecx + eax - 1]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mul dword [esp + 0x84]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov dword [esp + ecx*4 + 0x1a0], eax
mov dword [esp + ecx*4 + 0x1a4], edx
mov ecx, dword [esp + 0x7c]
dec ecx
je 0x60fcba
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
mov dword [esp + 0xa4], edi
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x90]
mov eax, dword [esi]
mov edx, dword [esp + ecx*4 + 0x360]
mov dword [esp + ebx*4 + 0x1e0], 0
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], edx
mov eax, dword [esp + 0x10c]
mul dword [esp + 0x110]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov edi, dword [esp + 0x114]
xor edx, edx
mov eax, dword [esp + ebx*4 + 0x1a0]
add eax, edi
cmp eax, edi
mov dword [esp + ebx*4 + 0x1a0], eax
setb dl
dec ebx
add edx, dword [esp + 0x118]
mov dword [esp + ebx*4 + 0x1a0], edx
dec ecx
jne 0x60fc33
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1e0], 0
dec eax
js 0x60fd86
mov eax, dword [esp + 0xc]
shr eax, 1
mov dword [esp + 0x10], eax
je 0x611204
mov ecx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea edx, [esp + ecx*4 + 0x19c]
mov dword [esp + 4], edx
lea edx, [esp + ecx*4 + 0x1dc]
mov dword [esp], edx
mov dword [esp + 0xa4], edi
xor edi, edi
mov edx, eax
mov ecx, dword [esp]
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x10]
inc eax
mov dword [edx + ecx], edi
mov dword [edx + ebx], edi
mov dword [edx + ecx - 4], edi
mov dword [edx + ebx - 4], edi
add edx, 0xfffffff8
cmp eax, esi
jb 0x60fd1f
mov ebx, dword [esp + 0xc8]
lea edx, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0xc]
jae 0x60fd86
shl edx, 2
xor eax, eax
mov dword [esp + 0xc8], ebx
neg edx
mov ebx, dword [esp + 0xc]
lea ecx, [esp + ebx*4 + 0x1dc]
mov dword [edx + ecx + 4], eax
lea ecx, [esp + ebx*4 + 0x19c]
mov dword [edx + ecx + 4], eax
mov ebx, dword [esp + 0xc8]
mov eax, dword [esp + 0x104]
dec eax
je 0x60fe5e
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xcc], esi
mov edx, dword [esp + 0x7c]
mov esi, edx
test edx, edx
je 0x60fe42
mov dword [esp], eax
lea ebx, [esp + eax*4 + 0x1e0]
lea ecx, [esp + eax*4 + 0x1a0]
mov eax, dword [esp]
mov edi, dword [esp + esi*4 + 0x360]
mov dword [esp + 0x194], edi
mov edx, dword [esp + eax*4 + 0x320]
mov dword [esp + 0x190], edx
mov eax, dword [esp + 0x190]
mul dword [esp + 0x194]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edx
mov edi, dword [esp + 0x198]
mov edx, dword [ecx + esi*4]
add edx, edi
mov dword [ecx + esi*4], edx
xor eax, eax
cmp edx, edi
mov edx, 0
setb al
add eax, dword [esp + 0x19c]
mov edi, dword [ecx + esi*4 - 4]
add edi, eax
cmp edi, eax
mov dword [ecx + esi*4 - 4], edi
setb dl
add dword [ebx + esi*4 - 8], edx
dec esi
jne 0x60fdc8
mov eax, dword [esp]
mov edx, dword [esp + 0x7c]
dec eax
jne 0x60fdad
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0x108]
add eax, dword [esp + 0x14]
mov dword [esp + 0x108], eax
lea eax, [edx + ecx - 1]
mov edx, dword [esp + 8]
mov dword [esp + 0x104], eax
mov eax, dword [esp + edx*4 + 0x1a0]
lea ecx, [esp + edx*4 + 0x320]
mov dword [esp + 4], ecx
mov dword [ecx], eax
cmp edx, 1
je 0x60ffd6
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], 0
shr eax, 1
mov dword [esp + 0x28], eax
je 0x6111fa
mov eax, dword [esp + 0x104]
xor edx, edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
lea ecx, [esp + eax*4 + 0x320]
mov dword [esp + 0x14], ecx
lea ecx, [esp + eax*4 + 0x1a0]
mov dword [esp], ecx
lea eax, [esp + eax*4 + 0x1e0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xcc], esi
mov ecx, edx
mov ebx, dword [esp]
mov eax, dword [esp + 0xc]
lea esi, [esi]
mov esi, dword [esp + 0x10]
inc edx
mov edi, dword [esp + 0x14]
mov dword [esp], edx
add eax, dword [ecx + esi]
mov edx, dword [ecx + ebx]
add edx, eax
cmp edx, eax
mov eax, 0
mov dword [ecx + edi], edx
mov edx, eax
setb dl
add edx, dword [ecx + esi - 4]
mov esi, dword [ecx + ebx - 4]
add esi, edx
cmp esi, edx
mov edx, dword [esp]
mov dword [ecx + edi - 4], esi
setb al
add ecx, 0xfffffff8
cmp edx, dword [esp + 0x28]
jb 0x60ff10
mov dword [esp + 0xc], eax
lea edx, [edx + edx + 1]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea eax, [edx - 1]
cmp eax, dword [esp + 0x104]
jae 0x60ffd0
shl edx, 2
mov dword [esp + 0xa4], edi
neg edx
mov edi, dword [esp + 0x104]
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
lea ecx, [esp + edi*4 + 0x1e0]
add eax, dword [edx + ecx + 4]
lea ebx, [esp + edi*4 + 0x1a0]
add eax, dword [edx + ebx + 4]
lea ecx, [esp + edi*4 + 0x320]
mov dword [edx + ecx + 4], eax
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov eax, dword [edx]
jmp 0x60ffd6
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
jne 0x610000
mov ecx, dword [esp + 8]
dec ecx
lea edx, [esp + ecx*4 + 0x320]
mov eax, dword [edx]
test eax, eax
je 0x60ffde
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov edx, ecx
lea ecx, [edx - 1]
mov dword [esp + 0x104], ecx
mov edx, dword [esp + 0x324]
test edx, edx
jle 0x6100c9
dec dword [esp + 0x108]
add edx, edx
mov dword [esp + 0x324], edx
cmp dword [esp + 8], 2
jb 0x6100c3
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
shr ecx, 1
je 0x611156
mov dword [esp + 0xa4], edi
xor edx, edx
mov dword [esp + 0xcc], esi
mov eax, dword [esp + edx*8 + 0x328]
mov esi, eax
shr esi, 0x1f
add eax, eax
or dword [esp + edx*8 + 0x324], esi
mov esi, dword [esp + edx*8 + 0x32c]
mov edi, esi
shr edi, 0x1f
add esi, esi
or eax, edi
mov dword [esp + edx*8 + 0x328], eax
mov dword [esp + edx*8 + 0x32c], esi
inc edx
cmp edx, ecx
jb 0x610049
mov edi, dword [esp + 0xa4]
lea eax, [edx + edx + 1]
mov esi, dword [esp + 0xcc]
lea edx, [eax - 1]
cmp edx, dword [esp + 0x104]
jae 0x6100c3
mov ecx, dword [esp + eax*4 + 0x324]
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
or dword [esp + eax*4 + 0x320], edx
mov dword [esp + eax*4 + 0x324], ecx
mov eax, dword [esp + 4]
mov eax, dword [eax]
jmp 0x6100c9
mov eax, dword [esp + 4]
mov eax, dword [eax]
test eax, eax
mov eax, dword [esp + 0x104]
je 0x6100d8
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x188]
mov ecx, eax
shr ecx, 0x16
and eax, 0x80000000
and ecx, 7
or eax, ecx
jne 0x6100fc
mov ecx, 6
mov eax, ecx
and eax, 2
test cl, 4
je 0x61011a
test eax, eax
mov eax, 0xaaaa
jne 0x610114
mov eax, 0xfa
mov dword [esp + 8], eax
jmp 0x61013b
test eax, eax
je 0x610128
mov dword [esp + 8], 0xfa00
jmp 0x61013b
mov eax, 0xa8a8
test cl, 1
je 0x610137
mov eax, 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x108]
lea edx, [eax + 0x406e]
mov dword [esp + 0x78], edx
cmp edx, 0x71
jle 0x61015b
mov dword [esp + 0x78], 0x71
jmp 0x610166
cmp dword [esp + 0x78], 0
js 0x60d812
mov eax, dword [esp + 0x78]
mov edx, eax
and eax, 0x1f
mov dword [esp + 0x78], eax
mov eax, 0
setne al
sar edx, 5
mov dword [esp + 0x74], edx
mov dword [esp + 4], eax
add edx, eax
mov dword [esp + 0x60], edx
cmp edx, dword [esp + 0x104]
jbe 0x6101ae
add ecx, 0xfffffffe
test ecx, 0xfffffffd
je 0x6101ae
mov eax, ebx
and eax, 8
mov dword [esp + 0x28], eax
jmp 0x61045a
mov eax, dword [esp + 0x104]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + edx*4 + 0x320]
mov dword [esp + 0x104], edx
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x78], 0
je 0x6102cf
mov edx, dword [esp + 0x78]
neg edx
mov eax, ecx
mov dword [esp + 0xc8], ebx
mov ebx, eax
lea ecx, [edx + 0x1f]
add edx, 0x20
shr ebx, cl
and ebx, 1
mov dword [esp], ecx
mov ecx, edx
mov dword [esp + 0xc], ebx
mov ebx, 1
shl ebx, cl
mov edx, 1
mov dword [esp + 0x2c], ebx
mov ebx, eax
shr ebx, cl
mov ecx, dword [esp]
and ebx, 1
shl edx, cl
dec edx
and edx, eax
mov eax, dword [esp + 0x28]
or dword [esp + 0x160], edx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xc8]
cmp eax, dword [esp + 0x60]
jbe 0x6103aa
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x74]
lea edx, [edx + eax + 1]
cmp edx, dword [esp + 0x28]
ja 0x6103aa
mov eax, dword [esp + 0x28]
sub eax, edx
inc eax
mov dword [esp + 0x28], eax
shr eax, 1
mov dword [esp + 4], eax
je 0x611160
mov dword [esp], edx
lea ecx, [esp + edx*4 + 0x320]
xor eax, eax
mov dword [esp + 0xcc], esi
mov edx, dword [esp + 0x160]
mov esi, dword [esp + 4]
or edx, dword [ecx + eax*8]
or edx, dword [ecx + eax*8 + 4]
inc eax
cmp eax, esi
jb 0x610285
mov dword [esp + 0x160], edx
lea ecx, [eax + eax + 1]
mov edx, dword [esp]
mov esi, dword [esp + 0xcc]
lea eax, [ecx - 1]
cmp eax, dword [esp + 0x28]
jae 0x6103aa
add edx, ecx
mov eax, dword [esp + 0x160]
or eax, dword [esp + edx*4 + 0x31c]
mov dword [esp + 0x160], eax
jmp 0x6103aa
mov edx, ecx
mov ecx, dword [esp + 0x60]
and edx, 1
mov dword [esp + 0x10], edx
mov edx, dword [esp + ecx*4 + 0x324]
mov eax, edx
shr eax, 0x1f
add edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x74]
or dword [esp + 0x160], edx
lea eax, [ecx + eax + 1]
cmp eax, dword [esp + 0x28]
jae 0x6103a2
mov edx, dword [esp + 4]
mov eax, ecx
lea edx, [eax + edx + 2]
add eax, 2
cmp eax, dword [esp + 0x28]
ja 0x6103a2
mov eax, dword [esp + 0x28]
sub eax, edx
inc eax
mov dword [esp + 0x28], eax
shr eax, 1
mov dword [esp + 4], eax
je 0x61116a
mov dword [esp], edx
lea ecx, [esp + edx*4 + 0x320]
xor eax, eax
mov dword [esp + 0xcc], esi
mov edx, dword [esp + 0x160]
mov esi, dword [esp + 4]
or edx, dword [ecx + eax*8]
or edx, dword [ecx + eax*8 + 4]
inc eax
cmp eax, esi
jb 0x610357
mov dword [esp + 0x160], edx
lea ecx, [eax + eax + 1]
mov edx, dword [esp]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x2c], 1
lea eax, [ecx - 1]
cmp eax, dword [esp + 0x28]
jae 0x6103aa
add edx, ecx
mov eax, dword [esp + 0x160]
or eax, dword [esp + edx*4 + 0x31c]
mov dword [esp + 0x160], eax
jmp 0x6103aa
mov dword [esp + 0x2c], 1
mov ecx, dword [esp + 0xc]
xor eax, eax
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x160], 0
setne al
lea edx, [ecx + edx*2]
mov ecx, ebx
and ecx, 8
mov dword [esp + 0x28], ecx
lea ecx, [ecx + eax*4]
add ecx, edx
mov edx, dword [esp + 8]
shr edx, cl
test dl, 1
je 0x61045a
cmp dword [esp + 0x60], 0
je 0x610433
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x14], eax
cmp eax, edx
jae 0x6111a3
mov edx, dword [esp + 0x60]
mov dword [esp + edx*4 + 0x320], eax
mov dword [esp + 0x320], 0
mov edx, dword [esp + 0x104]
dec edx
mov eax, dword [esp + edx*4 + 0x320]
cmp eax, 0xffffffff
je 0x610415
mov dword [esp + 0x104], edx
cmp dword [esp + 0x104], 0
jne 0x610452
inc dword [esp + 0x108]
mov dword [esp + 0x324], connect
mov dword [esp + 0x104], 1
jmp 0x61045a
inc eax
mov dword [esp + edx*4 + 0x320], eax
cmp dword [esp + 0x108], 0x4000
jle 0x6105a5
mov eax, dword [esp + 0x188]
and eax, 0x1c00000
cmp eax, 0x400000
je 0x610566
cmp eax, 0x1000000
jne 0x6104c7
cmp dword [esp + 0x28], 0
je 0x61050c
mov eax, dword [0x69bdf0]
mov dword [esp + 0x3a0], eax
mov edx, dword [0x69bdf4]
mov ecx, dword [0x69bdf8]
mov eax, dword [0x69bdfc]
mov dword [esp + 0x3a4], edx
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], eax
jmp 0x6109b2
cmp eax, 0x800000
jne 0x61050c
cmp dword [esp + 0x28], 0
jne 0x61050c
mov eax, dword [0x69bde0]
mov dword [esp + 0x3a0], eax
mov edx, dword [0x69bde4]
mov ecx, dword [0x69bde8]
mov eax, dword [0x69bdec]
mov dword [esp + 0x3a4], edx
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], eax
jmp 0x6109b2
cmp dword [esp + 0x28], 0
je 0x61051a
mov eax, 0x69bd70
jmp 0x61051f
mov eax, 0x69bd60
mov edx, dword [eax]
mov dword [esp + 0x3a0], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x3a8], edx
mov edx, ebx
or edx, 0x8000000
test dword [esp + 0x188], 0x2000
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3ac], eax
je 0x6109b2
mov ebx, edx
jmp 0x6109b2
cmp dword [esp + 0x28], 0
je 0x610574
mov eax, 0x69bdf0
jmp 0x610579
mov eax, 0x69bde0
mov edx, dword [eax]
mov dword [esp + 0x3a0], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3a8], edx
mov dword [esp + 0x3ac], eax
jmp 0x6109b2
cmp dword [esp + 0x108], 0xffffc002
jg 0x6106c4
cmp dword [esp + 0x108], 0xffffbf93
jl 0x6105d4
test dword [esp + 0x188], 0x10000000
je 0x6106c4
mov eax, dword [esp + 0x188]
and eax, 0x1c00000
cmp eax, 0x1000000
jne 0x610625
cmp dword [esp + 0x28], 0
jne 0x61066a
mov eax, dword [0x69bd80]
mov dword [esp + 0x3a0], eax
mov edx, dword [0x69bd84]
mov ecx, dword [0x69bd88]
mov eax, dword [0x69bd8c]
mov dword [esp + 0x3a4], edx
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], eax
jmp 0x6109b2
cmp eax, 0x800000
jne 0x61066a
cmp dword [esp + 0x28], 0
je 0x61066a
mov eax, dword [0x69bd90]
mov dword [esp + 0x3a0], eax
mov edx, dword [0x69bd94]
mov ecx, dword [0x69bd98]
mov eax, dword [0x69bd9c]
mov dword [esp + 0x3a4], edx
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], eax
jmp 0x6109b2
cmp dword [esp + 0x28], 0
je 0x610678
mov eax, 0x69bd30
jmp 0x61067d
mov eax, 0x69bd20
mov edx, dword [eax]
mov dword [esp + 0x3a0], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x3a8], edx
mov edx, ebx
or edx, 0x9000000
test dword [esp + 0x188], 0x4000
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3ac], eax
je 0x6109b2
mov ebx, edx
jmp 0x6109b2
mov eax, dword [esp + 0x324]
mov dword [esp + 8], eax
cmp dword [esp + 0x104], 2
jae 0x6106e3
mov dword [esp + 0x10], 0
jmp 0x6106ee
mov eax, dword [esp + 0x328]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x104], 3
jae 0x610702
mov dword [esp + 0xc], 0
jmp 0x61070d
mov eax, dword [esp + 0x32c]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x104], 4
jae 0x610721
mov dword [esp + 0x14], 0
jmp 0x61072c
mov eax, dword [esp + 0x330]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x108], 0xffffc002
jle 0x6107a5
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc8], ebx
mov ebx, edx
mov eax, dword [esp + 0x14]
shr eax, 0xf
shl ebx, 0x11
or eax, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ebx, eax
shr edx, 0xf
shl ebx, 0x11
mov ecx, dword [esp + 0x108]
or edx, ebx
mov ebx, dword [esp + 8]
shl ecx, 0x10
mov dword [esp + 0xc], edx
mov edx, ebx
shr ebx, 0xf
add ecx, 0x3ffe0000
and ebx, 0xfffeffff
shr eax, 0xf
or ebx, ecx
shl edx, 0x11
mov dword [esp + 8], ebx
or eax, edx
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc8]
jmp 0x610975
mov eax, dword [esp + 0x108]
neg eax
mov dword [esp + 0x108], eax
lea edx, [eax - 0x3fee]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x6108fc
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 8]
lea edx, [eax - 0x400e]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
cmp edx, 0x20
jl 0x6108fc
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
lea eax, [ecx - 0x402e]
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
cmp eax, 0x20
jl 0x611196
mov eax, edx
mov edx, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0
lea ecx, [edx - 0x404e]
mov dword [esp + 4], ecx
cmp ecx, 0x20
jl 0x611187
mov eax, edx
mov dword [esp + 0x14], 0
lea edx, [eax - 0x406e]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x611174
mov dword [esp + 0x14], 0
lea edx, [eax - 0x408e]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x611174
mov dword [esp + 0x14], 0
lea edx, [eax - 0x40ae]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x611174
mov dword [esp + 0x14], 0
lea edx, [eax - 0x40ce]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x611174
lea edx, [eax - 0x40ee]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x6108ea
lea edx, [eax - 0x410e]
mov dword [esp + 4], edx
cmp edx, 0x20
jl 0x6108ea
mov eax, edx
add eax, 0xffffffe0
cmp eax, 0x20
jge 0x6108de
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
cmp dword [esp + 4], 0
je 0x610975
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 4]
mov ecx, ebx
mov dword [esp + 0xa4], edi
mov edi, ebx
neg edi
mov dword [esp], edi
mov edx, dword [esp + 0xc]
mov eax, edx
mov edi, dword [esp + 0x14]
shr edi, cl
mov ecx, dword [esp]
shl eax, cl
mov ecx, ebx
or edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov edi, eax
shr edx, cl
mov ecx, dword [esp]
shl edi, cl
mov ecx, ebx
or edx, edi
mov edi, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edx, edi
shr eax, cl
mov ecx, dword [esp]
shl edx, cl
mov ecx, ebx
shr edi, cl
or eax, edx
mov dword [esp + 8], edi
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x3a4], edx
mov edx, eax
or edx, 0x80000000
cmp dword [esp + 0x28], 0
mov ecx, dword [esp + 0x10]
jne 0x6109a4
mov edx, eax
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], edx
cmp dword [esp + 0x184], 0
je 0x6109dd
test dword [esp + 0x188], 0x40000
je 0x6109d4
mov eax, dword [esp + 0x184]
mov dword [eax], esi
jmp 0x6109dd
mov eax, dword [esp + 0x184]
mov dword [eax], edi
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x6109e9
shr ebx, 0x18
mov dword [eax], ebx
mov esi, dword [esp + 0x18c]
mov eax, dword [esp + 0x3a0]
mov edx, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a8]
mov ebx, dword [esp + 0x3ac]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3b0], 0
xor ecx, esp
cmp ecx, dword [0x6d159c]
jne 0x610fc0
mov eax, esi
add esp, 0x3b4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x90]
mov dword [esp + ecx*4 + 0x2e4], eax
lea eax, [ecx + 1]
mov dword [esp + 0x104], eax
cmp eax, 2
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x1a4], eax
mov eax, dword [0x69be24]
jb 0x6113c0
mov ecx, 2
je 0x610aa7
mov dword [esp + 0xa4], edi
mov dword [esp + 0xc8], ebx
mov ebx, eax
mov dword [esp + 0xcc], esi
xor eax, eax
mov edi, dword [esp + 0x104]
jmp 0x610acc
mov dword [esp + 0xa4], edi
xor eax, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
mov edi, dword [esp + 0x104]
mov ebx, dword [edx*4 + 0x69be00]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x1a4]
cmp ecx, 1
jle 0x6116e3
mov dword [esp + 0x1a4], 0
mov esi, 1
mov dword [esp + 0x104], edi
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], ebx
mov eax, dword [esp + 0x140]
mul dword [esp + 0x144]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edx
mov edi, dword [esp + 0x148]
mov eax, dword [esp + esi*4 + 0x1a0]
add eax, edi
cmp eax, edi
mov dword [esp + esi*4 + 0x1a0], eax
mov eax, 0
setb al
add eax, dword [esp + 0x14c]
mov edx, dword [esp + esi*4 + 0x1a4]
mov dword [esp + esi*4 + 0x1a4], eax
inc esi
cmp esi, ecx
jl 0x610afa
mov edi, dword [esp + 0x104]
xor eax, eax
mov esi, dword [esp + 0x1a4]
mov edx, dword [esp + ecx*4 + 0x2e0]
add esi, edx
mov dword [esp + 0x1a4], esi
cmp esi, edx
jae 0x610bc9
mov dword [esp + ecx*4 + 0x1a4], 0
mov edx, 2
cmp dword [esp + 0x1a8], 0xffffffff
je 0x610ba8
lea edx, [esp + 0x1a8]
mov esi, dword [edx]
jmp 0x610bc6
mov dword [esp + edx*4 + 0x1a0], 0
inc edx
lea eax, [esp + edx*4 + 0x1a0]
mov esi, dword [eax]
cmp esi, 0xffffffff
je 0x610ba8
mov edx, eax
xor eax, eax
inc esi
mov dword [edx], esi
inc ecx
cmp ecx, edi
ja 0x6113a4
jne 0x610ad3
lea esi, [esi]
mov edx, dword [esp + 0x94]
jmp 0x610ac5
xor edx, edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x160], edx
jmp 0x60d440
call fcn.0063f93a
mov dword [esp + 0xa4], esi
mov edx, dword [esp]
jmp 0x60d34d
mov edx, dword [esp + 0x94]
jmp 0x60d440
mov dword [esp], 1
jmp 0x60d6f3
mov eax, dword [esp + 0x104]
shr eax, 1
mov dword [esp + 4], eax
je 0x6110db
mov ecx, dword [esp + 0x104]
xor edx, edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea eax, [esp + ecx*4 + 0x320]
mov dword [esp], eax
lea eax, [esp + ecx*4 + 0x2e0]
mov dword [esp + 0xa4], edi
mov ebx, edx
mov esi, dword [esp]
mov ecx, dword [esp + 4]
mov edi, dword [ebx + eax]
inc edx
mov dword [ebx + esi], edi
mov edi, dword [ebx + eax - 4]
mov dword [ebx + esi - 4], edi
add ebx, 0xfffffff8
cmp edx, ecx
jb 0x61106d
mov ebx, dword [esp + 0xc8]
lea eax, [edx + edx + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp]
lea edx, [eax - 1]
cmp edx, dword [esp + 0x104]
jae 0x60d7c8
mov ecx, eax
shl ecx, 2
mov edx, dword [esp + 0x104]
neg ecx
lea eax, [esp + edx*4 + 0x2e0]
mov eax, dword [ecx + eax + 4]
lea edx, [esp + edx*4 + 0x320]
mov dword [ecx + edx + 4], eax
jmp 0x60d7c8
mov dword [esp], 1
jmp 0x61109f
lea eax, [esp + 0x330]
mov dword [eax - 0x2a0], eax
jmp 0x60da3f
mov ecx, 1
jmp 0x60e076
mov eax, 1
jmp 0x60df95
mov edx, 1
jmp 0x60ddb4
mov eax, 1
jmp 0x60e6f0
mov edi, 1
jmp 0x60e609
mov edx, 1
jmp 0x60e420
lea ecx, [esp + 0x370]
jmp 0x60f5d9
lea ecx, [esp + 0x370]
jmp 0x60f019
lea ecx, [esp + 0x370]
jmp 0x60fb99
mov eax, 1
jmp 0x610093
mov ecx, 1
jmp 0x6102a6
mov ecx, 1
jmp 0x610378
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
jmp 0x6108fc
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 8], eax
jmp 0x6108fc
mov dword [esp + 8], 0
jmp 0x6108fc
cmp dword [esp + 0x78], 0
je 0x6111c6
mov ecx, dword [esp + 0x60]
mov eax, edx
dec eax
not eax
mov edx, dword [esp + 0x14]
and edx, eax
mov dword [esp + 0x14], edx
mov dword [esp + ecx*4 + 0x320], edx
jmp 0x6111d1
mov edx, dword [esp + 0x60]
mov dword [esp + edx*4 + 0x320], eax
cmp dword [esp + 0x14], 0
jne 0x61045a
mov eax, dword [esp + 0x104]
dec eax
cmp dword [esp + eax*4 + 0x320], 0
je 0x6111e3
mov dword [esp + 0x104], eax
jmp 0x61045a
mov edx, 1
jmp 0x60ff6f
mov edx, 1
jmp 0x60fd4e
mov eax, 1
jmp 0x60faa6
mov edx, 1
jmp 0x60f98f
mov edx, 1
jmp 0x60f77e
mov eax, 1
jmp 0x60f4e6
mov edx, 1
jmp 0x60f3cf
mov edx, 1
jmp 0x60f1c6
mov eax, 1
jmp 0x60ef26
mov edx, 1
jmp 0x60ee0f
mov edx, 1
jmp 0x60ec04
lea ecx, [esp + 0x368]
jmp 0x60ea6b
mov dword [esp + 0xa0], 0x1b
jmp 0x60ea17
xor eax, eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x224], eax
jmp 0x60ea17
movsx edx, word [0x69b682]
xor eax, eax
mov ecx, dword [0x69b50c]
mov dword [esp + 0x228], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x364], ecx
mov eax, dword [0x69b508]
mov edx, dword [0x69b504]
mov ecx, dword [0x69b500]
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], edx
mov dword [esp + 0x370], ecx
lea ecx, [esp + 0x370]
mov dword [esp + 0x7c], 4
jmp 0x60f019
mov edx, dword [esp + 0xa0]
mov dword [esp + 0xc8], ebx
mov ebx, edx
neg ebx
mov dword [esp + 0xa4], edi
mov edi, ebx
sar edi, 3
mov dword [esp + 0x78], 4
movzx ecx, word [edi*2 + 0x69b420]
lea eax, [edi + 1]
shr ecx, 5
cmp ecx, ebx
jl 0x611335
mov eax, edi
movzx ecx, word [eax*2 + 0x69b420]
mov eax, ecx
and eax, 0x1f
shr ecx, 5
add edx, ecx
mov dword [esp + 0xa0], edx
movsx edx, word [eax*2 + 0x69b666]
shl eax, 4
mov dword [esp + 0x60], edx
mov ebx, dword [eax + 0x69b38c]
mov edi, dword [eax + 0x69b388]
mov edx, dword [eax + 0x69b384]
mov eax, dword [eax + 0x69b380]
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], edx
mov dword [esp + 0x270], eax
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
jmp 0x60e9a2
mov dword [esp + 0x104], edi
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0x104]
cmp dword [esp + eax*4 + 0x1a0], 0
jne 0x6116c6
mov dword [esp + 0xcc], esi
mov esi, eax
dec esi
lea eax, [esp + esi*4 + 0x1a0]
mov ecx, dword [eax]
lea edx, [esi*4]
test ecx, ecx
je 0x6113de
mov dword [esp + 0x104], esi
mov dword [esp + 4], ecx
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xc], 0
cmp dword [esp + 4], 0
jle 0x611437
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0xc]
add ecx, ecx
inc esi
test ecx, ecx
jg 0x61141f
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xcc]
mov dword [eax], ecx
mov eax, dword [esp + 0x104]
shl eax, 5
mov ecx, dword [esp + 0xc]
sub eax, ecx
mov dword [esp + 0x108], eax
test ecx, ecx
je 0x61159f
mov eax, dword [esp + 4]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x104]
lea ecx, [eax - 1]
mov dword [esp], ecx
cmp eax, 1
je 0x61167a
lea eax, [esp + edx + 0x320]
mov edx, ecx
mov dword [esp + 8], eax
shr edx, 1
mov dword [esp + 0x2c], edx
je 0x6116b0
mov ecx, dword [esp + 0x104]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xa4], edi
lea edx, [esp + ecx*4 + 0x19c]
mov dword [esp + 0x28], edx
lea ecx, [ecx*4 - 4]
neg ecx
mov edx, dword [esp + 0xc]
add ecx, dword [esp + 8]
neg edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xcc], esi
nop
lea esi, [esi]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x10]
mov ebx, dword [edi + ebx]
mov edx, ebx
shr edx, cl
mov ecx, dword [esp + 0x28]
or dword [esi + eax*8], edx
mov edx, dword [edi + ecx - 4]
add edi, 0xfffffff8
mov dword [esp + 0x14], edi
mov edi, edx
mov ecx, dword [esp + 0xc]
shl ebx, cl
mov ecx, dword [esp + 4]
shr edi, cl
mov ecx, dword [esp + 0xc]
or ebx, edi
shl edx, cl
mov dword [esi + eax*8 + 4], ebx
mov dword [esi + eax*8 + 8], edx
inc eax
cmp eax, dword [esp + 0x2c]
jb 0x6114e0
mov ebx, dword [esp + 0xc8]
lea eax, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
lea edx, [eax - 1]
cmp edx, dword [esp]
jae 0x611685
mov edx, eax
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp]
sub edx, ebx
sub ebx, eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], edi
neg ecx
mov eax, dword [esp + ebx*4 + 0x1a4]
mov edi, eax
mov ebx, dword [esp + 8]
shr edi, cl
mov ecx, dword [esp + 0xc]
shl eax, cl
or dword [ebx + edx*4 - 4], edi
mov dword [ebx + edx*4], eax
mov ebx, dword [esp + 0xc8]
mov edi, dword [esp + 0xa4]
jmp 0x611685
cmp dword [esp + 0x104], 0
je 0x61167a
mov eax, dword [esp + 0x104]
lea ecx, [esp + edx + 0x320]
mov dword [esp + 8], ecx
shr eax, 1
mov dword [esp + 4], eax
je 0x6116ba
mov ecx, dword [esp + 0x104]
xor eax, eax
neg edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
lea ecx, [esp + ecx*4 + 0x1a0]
mov dword [esp], ecx
add edx, dword [esp + 8]
mov ecx, eax
mov ebx, dword [esp]
mov esi, dword [esp + 4]
mov dword [esp + 0xa4], edi
mov edi, dword [ecx + ebx]
mov dword [edx + eax*8 + 4], edi
mov edi, dword [ecx + ebx - 4]
add ecx, 0xfffffff8
mov dword [edx + eax*8 + 8], edi
inc eax
cmp eax, esi
jb 0x611602
mov ebx, dword [esp + 0xc8]
lea eax, [eax + eax + 1]
mov edi, dword [esp + 0xa4]
mov esi, dword [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp]
lea edx, [eax - 1]
cmp edx, dword [esp + 0x104]
jae 0x611685
mov edx, eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc8], ebx
lea ecx, [edx*4]
sub edx, eax
neg ecx
lea ebx, [esp + eax*4 + 0x1a0]
mov eax, dword [esp + 8]
mov ecx, dword [ecx + ebx + 4]
mov dword [eax + edx*4], ecx
mov ebx, dword [esp + 0xc8]
jmp 0x611685
lea eax, [esp + edx + 0x320]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp dword [eax], 0
jne 0x60d8ca
mov eax, dword [esp + 0x104]
dec eax
cmp dword [esp + eax*4 + 0x320], 0
je 0x611699
mov dword [esp + 0x104], eax
jmp 0x60d8ca
mov eax, 1
jmp 0x611547
mov dword [esp], 1
jmp 0x611635
mov eax, dword [esp + 0x7c]
lea edx, [eax*4 + 4]
lea eax, [esp + edx + 0x1a0]
mov ecx, dword [eax]
mov dword [esp + 4], ecx
jmp 0x611405
mov esi, eax
jmp 0x610b6f
mov dword [esp + 0xa4], edx
xor edx, edx
mov dword [esp + 0x98], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x160], edx
jmp 0x60d440
mov edx, dword [esp + 0xa4]
jmp 0x60cfe7
xor esi, esi
mov ebx, 0x6000000
jmp 0x6109b2