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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x508
push esi
push edi
cmp dword [ebp + 0xc], 0
jne 0x6e55b2
cmp dword [ebp + 0x20], 0
jne 0x6e5576
push 1
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp + 0x20]
push eax
call fcn.006e5540
add esp, 0x1c
jmp 0x6fc2ec
lea ecx, [ebp + 0x20]
sub ecx, dword [ebp + 8]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jle 0x6e559b
mov edx, dword [ebp - 0x12c]
neg edx
mov dword [ebp - 0x31c], edx
jmp 0x6e55a7
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
jmp 0x6fc2ec
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0x108], 0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx]
add ecx, 1
mov esi, dword [ebp + 0x18]
mov dword [esi], ecx
cmp edx, eax
jb 0x6e55f8
mov eax, 0xfffffff8
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x20]
cmp eax, dword [edx + 8]
jb 0x6e560d
mov eax, 0xffffffeb
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x98], 2
jne 0x6e5641
mov edx, dword [ebp + 8]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xe0], eax
lea ecx, [ebp - 0xe0]
mov dword [ebp + 0x1c], ecx
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x98], 0
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x320], eax
cmp dword [ebp - 0x320], 0xa1
ja case.0x6e5689.98
mov ecx, dword [ebp - 0x320]
movzx edx, byte [ecx + 0x6fc440]
jmp dword [edx*4 + 0x6fc2f4]
mov eax, dword [ebp + 0xc]
add eax, 2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp + 0x18]
mov dword [edx + 0xac], 0
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
add ecx, eax
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
je 0x6e5704
cmp dword [ebp - 0x120], 0xfffffc19
jne 0x6e5724
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0xac], 0
jne 0x6e5724
mov eax, dword [ebp + 0xc]
add eax, 2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0xac], eax
jmp 0x6e57dd
cmp dword [ebp - 0x120], 0xfffffc1f
jne 0x6e57dd
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x7c]
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp + 0xc]
add ecx, 2
mov dword [ebp - 0x328], ecx
mov edx, dword [ebp - 0x328]
mov al, byte [edx]
mov byte [ebp - 0x329], al
mov ecx, dword [ebp - 0x324]
cmp al, byte [ecx]
jne 0x6e57aa
cmp byte [ebp - 0x329], 0
je 0x6e579e
mov edx, dword [ebp - 0x328]
mov al, byte [edx + 1]
mov byte [ebp - 0x32a], al
mov ecx, dword [ebp - 0x324]
cmp al, byte [ecx + 1]
jne 0x6e57aa
add dword [ebp - 0x328], 2
add dword [ebp - 0x324], 2
cmp byte [ebp - 0x32a], 0
jne 0x6e574c
mov dword [ebp - 0x330], 0
jmp 0x6e57b5
sbb edx, edx
sbb edx, 0xffffffff
mov dword [ebp - 0x330], edx
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 0
jne 0x6e57dd
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x7c], edx
mov eax, 0xfffffc1e
jmp 0x6fc2ec
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e583d
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, 0xfffffc1c
jmp 0x6fc2ec
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e5895
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, 0xfffffc1d
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp + 0x18]
mov dword [edx + 0xac], 0
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
add ecx, eax
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
je 0x6e5913
cmp dword [ebp - 0x120], 0xfffffc19
jne 0x6e592e
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0xac], 0
jne 0x6e592e
mov eax, dword [ebp + 0xc]
add eax, 2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0xac], eax
cmp dword [ebp - 0x120], 0
je 0x6e5942
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, 0xfffffc1d
jmp 0x6fc2ec
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x7ab910]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e599a
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov dword [edx + 0x7c], eax
mov eax, 0xfffffc1e
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x28]
add edx, 1
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x28]
cmp eax, dword [edx + 0x2c]
ja 0x6e59eb
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x7ab910]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
add edx, dword [ebp + 0xc]
add edx, eax
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
add ecx, eax
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e5a42
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x7c], edx
mov eax, 0xfffffc1f
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x7ab910]
add edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e5aa6
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x7c], edx
mov eax, 0xfffffc20
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp + 0x18]
mov dword [edx + 0xac], 0
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
add ecx, eax
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
je 0x6e5b2d
cmp dword [ebp - 0x120], 0xfffffc19
jne 0x6e5b48
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0xac], 0
jne 0x6e5b48
mov eax, dword [ebp + 0xc]
add eax, 2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0xac], eax
cmp dword [ebp - 0x120], 0
je 0x6e5b5c
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x7c], eax
mov eax, 0xfffffc20
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xac]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 3
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
jne 0x6e5bd4
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
mov dword [ebp + 0x10], ecx
jmp 0x6e5c78
cmp dword [ebp - 0x120], 0xfffffc20
jne 0x6e5c2d
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [ebp - 0xd4]
jae 0x6e5c2d
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e5c23
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x77
jne 0x6e5c2d
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e5c41
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + 0xac], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e5b8d
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x82
je 0x6e5c97
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
je 0x6e5c97
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
je 0x6e5c97
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x8c]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x80]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x78
je 0x6e5ce9
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0xe8]
jne 0x6e5cf7
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x7a
jne 0x6e5d53
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e5d46
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x30]
mov dword [ebp + 0xc], edx
jmp 0x6e55c6
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e5d94
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6e55c6
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
or eax, edx
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
shl eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ecx + 0x14]
jge case.0x6e5689.129
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + eax*4 + 4]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0x118]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x90]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xac]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x74]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x10]
sub edx, dword [ebp - 0x118]
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xc]
mov dword [ecx + edx*4], eax
cmp dword [ebp - 0x114], 0x88
jb 0x6e5e70
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x98], 2
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xfffffc1b
jne 0x6e5ebb
jmp 0x6e5f71
cmp dword [ebp - 0x120], 0xfffffc20
jne 0x6e5f14
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x7c]
cmp edx, dword [ebp - 0xd4]
jae 0x6e5f14
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e5f0a
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x77
jne 0x6e5f14
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e5f28
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0x90], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xf4]
mov dword [ecx + 0xac], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e5f6c
jmp 0x6e5f71
jmp 0x6e5e57
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x24]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x10]
sub edx, dword [ebp - 0x118]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
cmp dword [ebp - 0x114], 0x88
jae 0x6e5fd4
cmp dword [ebp - 0x114], 0x81
jne 0x6e5fe3
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x98], 2
jmp 0x6e6023
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x6c], 0
jne 0x6e6023
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + ecx]
cmp eax, 0x77
je 0x6e6023
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x7ab910]
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
jmp 0x6e55c6
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xac]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x7ab910]
add eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xfffffc20
jne 0x6e60d4
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [ebp - 0xd4]
jae 0x6e60d4
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e60ca
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x77
jne 0x6e60d4
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e618d
cmp dword [ebp - 0x120], 0xfffffc1b
jne 0x6e6182
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx]
cmp edx, 0x81
je 0x6e6167
mov eax, dword [ebp - 0x130]
movzx ecx, byte [eax]
cmp ecx, 0x77
jne 0x6e6140
mov edx, dword [ebp - 0x130]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x130]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x130]
mov dword [ebp - 0x130], eax
jmp 0x6e610b
mov eax, dword [ebp - 0x130]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x130]
movzx eax, byte [edx + 2]
or ecx, eax
mov edx, dword [ebp - 0x130]
sub edx, ecx
mov dword [ebp - 0x130], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xb4]
cmp ecx, dword [ebp - 0x130]
jne 0x6e6182
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0xac], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e61c2
jmp 0x6e61d6
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xfc]
mov dword [ecx + 0x90], edx
jmp case.0x6e5689.129
xor eax, eax
jmp 0x6fc2ec
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
or ecx, eax
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x118]
shl ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x14]
jl 0x6e621e
jmp 0x6e64a1
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
sub edx, dword [ecx + 0x70]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + eax*4 + 4]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0x118]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x90]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
sub ecx, dword [eax + 0x74]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
sub eax, dword [ebp - 0x118]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0xc]
mov dword [edx + eax*4], ecx
cmp dword [ebp - 0x114], 0x88
jb 0x6e62ba
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x98], 2
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x7ab910]
add edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xfffffc1a
jne 0x6e6386
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x8c]
mov dword [ebp + 0x14], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x70]
add ecx, dword [ebp - 0x14]
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x90]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x11c], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x7c]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x80]
jne 0x6e6375
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e634c
jmp 0x6e642d
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x80]
mov dword [ebp + 8], eax
jmp 0x6e6283
cmp dword [ebp - 0x120], 0xfffffc20
jne 0x6e63df
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x7c]
cmp eax, dword [ebp - 0xd4]
jae 0x6e63df
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
je 0x6e63d5
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x77
jne 0x6e63df
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e63f3
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xfc]
mov dword [edx + 0x90], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e6428
jmp 0x6e642d
jmp 0x6e6283
cmp dword [ebp - 0x11c], 0
jne 0x6e6476
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 4]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x24]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x10]
sub ecx, dword [ebp - 0x118]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xcc]
mov dword [eax + ecx*4], edx
cmp dword [ebp - 0x2c], 0
jne 0x6e6485
cmp dword [ebp - 0x11c], 0
je 0x6e6493
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
xor eax, eax
jmp 0x6fc2ec
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0xc]
sub edx, dword [ecx + 0x70]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0x114], 0x88
jb 0x6e64df
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x98], 2
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xfffffc1a
jne 0x6e6598
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x8c]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x70]
add eax, dword [ebp - 0x14]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x11c], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x7c]
mov dword [ebp + 0x10], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x80]
jne 0x6e6587
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e655e
jmp 0x6e663f
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x80]
mov dword [ebp + 8], eax
jmp 0x6e64c6
cmp dword [ebp - 0x120], 0xfffffc20
jne 0x6e65f1
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp + 0xc]
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x7c]
cmp eax, dword [ebp - 0xd4]
jae 0x6e65f1
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
je 0x6e65e7
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x77
jne 0x6e65f1
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e6605
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e662b
jmp 0x6e663f
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xfc]
mov dword [edx + 0x90], eax
jmp 0x6e64c6
cmp dword [ebp - 0x11c], 0
jne 0x6e664e
cmp dword [ebp - 0x2c], 0
je 0x6e665c
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x76
jne 0x6e67d2
cmp dword [0x8143f8], 0
je 0x6e67b6
mov dword [ebp - 0x164], 2
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x74]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
sub ecx, dword [eax + 0x74]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x74]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
or edx, ecx
mov dword [ebp - 0x13c], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 5]
or eax, edx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x148], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x90]
and ecx, 0xffff
mov dword [ebp - 0x144], ecx
jne 0x6e675e
mov dword [ebp - 0x144], 0xffffffff
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xb0]
mov dword [ebp - 0x134], edx
lea eax, [ebp - 0x164]
push eax
call dword [0x8143f8]
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
jle 0x6e67a2
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0x120], 0
jge 0x6e67b6
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
movzx ecx, byte [0x7ab986]
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
movzx edx, byte [0x7ab986]
mov eax, dword [ebp - 0x14]
sub eax, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
sub ecx, 0x8d
mov dword [ebp - 0x338], ecx
cmp dword [ebp - 0x338], 0x10
ja case.0x6e6820.5
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx + 0x6fc4fc]
jmp dword [eax*4 + 0x6fc4e4]
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0xa4], 0
je 0x6e688e
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0xffff
je 0x6e6878
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xa4]
mov edx, dword [ebp - 0x168]
cmp edx, dword [ecx + 4]
je 0x6e6878
mov dword [ebp - 0x33c], 0
jmp 0x6e6882
mov dword [ebp - 0x33c], 1
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0xf0], eax
jmp 0x6e6b9b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0xa4], 0
je 0x6e6955
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
or eax, edx
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov edx, dword [ebp + 0x18]
imul ecx, dword [edx + 0x24]
mov eax, dword [ebp + 0x18]
add ecx, dword [eax + 0x30]
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x16c]
sub edx, 1
mov dword [ebp - 0x16c], edx
test ecx, ecx
jle 0x6e6955
mov eax, dword [ebp - 0x170]
movzx ecx, byte [eax]
shl ecx, 8
mov edx, dword [ebp - 0x170]
movzx eax, byte [edx + 1]
or ecx, eax
mov dword [ebp - 0x174], ecx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xa4]
mov eax, dword [ebp - 0x174]
xor ecx, ecx
cmp eax, dword [edx + 4]
sete cl
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0
je 0x6e6941
jmp 0x6e6955
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x170]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x170], eax
jmp 0x6e68e2
jmp 0x6e6b9b
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
shl edx, 1
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp + 0x14]
jge 0x6e699e
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
cmp dword [ecx + edx*4], 0
jl 0x6e699e
mov dword [ebp - 0x340], 1
jmp 0x6e69a8
mov dword [ebp - 0x340], 0
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0xf0], eax
jmp 0x6e6b9b
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
or edx, ecx
mov dword [ebp - 0x178], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 0x18]
imul eax, dword [ecx + 0x24]
mov edx, dword [ebp + 0x18]
add eax, dword [edx + 0x30]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x178]
sub ecx, 1
mov dword [ebp - 0x178], ecx
test eax, eax
jle 0x6e6a96
mov edx, dword [ebp - 0x17c]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx + 1]
or eax, edx
shl eax, 1
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp + 0x14]
jge 0x6e6a5e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
cmp dword [edx + eax*4], 0
jl 0x6e6a5e
mov dword [ebp - 0x344], 1
jmp 0x6e6a68
mov dword [ebp - 0x344], 0
mov ecx, dword [ebp - 0x344]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0
je 0x6e6a7f
jmp 0x6e6a96
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x17c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x17c], eax
jmp 0x6e69f8
jmp 0x6e6b9b
jmp 0x6e6b9b
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x98], 1
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
push 0
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
jne 0x6e6b7b
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x8c]
cmp eax, dword [ebp + 0x14]
jle 0x6e6aff
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x8c]
mov dword [ebp + 0x14], edx
mov dword [ebp - 0xf0], 1
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x92
jne 0x6e6b20
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
jne 0x6e6b5f
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
jmp 0x6e6b39
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 0x7ab910]
mov eax, 3
sub eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
jmp 0x6e6b9b
cmp dword [ebp - 0x120], 0
je 0x6e6b9b
cmp dword [ebp - 0x120], 0xfffffc20
je 0x6e6b9b
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
cmp dword [ebp - 0xf0], 0
je 0x6e6bb9
mov ecx, dword [ebp - 0xd8]
movzx edx, byte [ecx + 0x7ab910]
mov dword [ebp - 0x348], edx
jmp 0x6e6bc2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x348]
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0xf0], 0
jne 0x6e6be3
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx - 3]
cmp eax, 0x77
jne 0x6e6c39
cmp dword [ebp - 0x114], 0x8c
je 0x6e6bf4
jmp 0x6e55c6
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x98], 2
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x118]
shl ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x90]
and eax, 0xffff0000
or eax, dword [ebp - 0x118]
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xd0]
cmp eax, dword [edx + 0x14]
jl 0x6e6cad
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x90]
or edx, 0x10000
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x90], edx
jmp 0x6e6d53
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x10]
sub edx, dword [ebp - 0x118]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0xd0]
mov ecx, dword [ecx + edx*4]
mov dword [eax + esi*4], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x74]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp + 0x14]
jl 0x6e6d53
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x184]
cmp edx, dword [ebp - 0x180]
jae 0x6e6d47
mov eax, dword [ebp - 0x184]
mov dword [eax], 0xffffffff
mov ecx, dword [ebp - 0x184]
add ecx, 4
mov dword [ebp - 0x184], ecx
jmp 0x6e6d1c
mov edx, dword [ebp - 0xd0]
add edx, 2
mov dword [ebp + 0x14], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp + 0x10]
jne 0x6e6dae
cmp dword [ebp - 0x114], 0x9f
je 0x6e6dae
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0xa4], 0
jne 0x6e6dae
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x5c], 0
jne 0x6e6da7
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x60], 0
je 0x6e6dae
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x74]
mov ecx, dword [ebp + 0x18]
add eax, dword [ecx + 0x94]
cmp dword [ebp + 0x10], eax
jne 0x6e6dae
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov dword [edx + 0x80], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [ecx + 0x8c], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x7c], ecx
mov edx, dword [ebp - 0x114]
neg edx
sbb edx, edx
and edx, 0xfffffc18
add edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xac]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x98], 1
jne 0x6e6e27
mov dword [ebp - 0xf0], 1
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x98], 0
jmp 0x6e6e31
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
push 0
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 3
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 1
je 0x6e6e74
cmp dword [ebp - 0x120], 0xfffffc19
jne 0x6e6e82
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x7c]
mov dword [ebp + 0x10], edx
jmp 0x6e6f26
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0xac], ecx
cmp dword [ebp - 0x120], 0xfffffc20
jne 0x6e6eea
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
cmp ecx, dword [ebp - 0xd4]
jae 0x6e6eea
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e6ee0
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx]
cmp edx, 0x77
jne 0x6e6eea
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e6efe
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
je 0x6e6e31
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x78
jne 0x6e6f38
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0xf0], 0
je 0x6e6f4b
mov eax, 1
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e6f4b
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x8c]
mov dword [ebp + 0x14], ecx
jmp 0x6e5641
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xac]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x98], 1
jne 0x6e6fbd
mov dword [ebp - 0xf0], 1
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x98], 0
jmp 0x6e6fc7
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
push 0
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 3
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0xf4]
mov dword [eax + 0xac], ecx
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x34c], edx
cmp dword [ebp - 0x34c], 0xfffffc20
jg 0x6e7055
cmp dword [ebp - 0x34c], 0xfffffc20
je 0x6e7078
cmp dword [ebp - 0x34c], 0xfffffc19
je 0x6e706c
cmp dword [ebp - 0x34c], 0xfffffc1b
jle 0x6e70ed
cmp dword [ebp - 0x34c], 0xfffffc1f
jle 0x6e70c7
jmp 0x6e70ed
cmp dword [ebp - 0x34c], 0
je 0x6e7073
cmp dword [ebp - 0x34c], 1
je 0x6e706c
jmp 0x6e70ed
xor eax, eax
jmp 0x6fc2ec
jmp 0x6e70f8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x7c]
cmp edx, dword [ebp - 0xd4]
jae 0x6e70c7
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e70bb
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x77
jne 0x6e70c7
mov dword [ebp - 0x120], 0
jmp 0x6e70f8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e70c7
jmp 0x6e7120
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e6fc7
cmp dword [ebp - 0xf0], 0
je 0x6e7133
mov eax, 1
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6e5641
cmp dword [ebp - 0xec], 0
je 0x6e71ac
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
sub ecx, 1
mov dword [ebp - 0x20], ecx
test eax, eax
jle 0x6e71aa
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x74]
jae 0x6e718b
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x6e71a8
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e718b
jmp 0x6e7160
jmp 0x6e71d9
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 8]
sub ecx, eax
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x74]
jae 0x6e71d9
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jae 0x6e71f3
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x84], ecx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
cmp dword [0x8143f8], 0
je 0x6e7326
mov dword [ebp - 0x1b8], 2
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x74]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
sub ecx, dword [eax + 0x74]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x74]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
or edx, ecx
mov dword [ebp - 0x190], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 5]
or eax, edx
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x90]
and ecx, 0xffff
mov dword [ebp - 0x198], ecx
jne 0x6e72ce
mov dword [ebp - 0x198], 0xffffffff
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xa8]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xb0]
mov dword [ebp - 0x188], edx
lea eax, [ebp - 0x1b8]
push eax
call dword [0x8143f8]
add esp, 4
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
jle 0x6e7312
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0x120], 0
jge 0x6e7326
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 6
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 0x18]
add eax, dword [ecx + 0x70]
mov dword [ebp - 0x128], eax
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x128]
cmp eax, dword [edx + 0x70]
jne 0x6e736d
mov dword [ebp - 0x350], 0
jmp 0x6e738c
mov ecx, dword [ebp - 0x128]
movzx edx, byte [ecx + 3]
shl edx, 8
mov eax, dword [ebp - 0x128]
movzx ecx, byte [eax + 4]
or edx, ecx
mov dword [ebp - 0x350], edx
mov edx, dword [ebp - 0x350]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xa4]
mov dword [ebp - 0x1c0], ecx
jmp 0x6e73b7
mov edx, dword [ebp - 0x1c0]
mov eax, dword [edx]
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
je 0x6e73eb
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x1bc]
cmp edx, dword [ecx + 4]
jne 0x6e73e9
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x14]
jne 0x6e73e9
mov eax, 0xffffffe6
jmp 0x6fc2ec
jmp 0x6e73a9
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xa4]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp + 0x18]
lea eax, [ebp - 0x50]
mov dword [edx + 0xa4], eax
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x1e
jg 0x6e7441
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x48], ecx
jmp 0x6e7464
mov edx, dword [ebp - 0x44]
shl edx, 2
push edx
call dword [0x80c2e0]
add esp, 4
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x6e7464
mov eax, 0xfffffffa
jmp 0x6fc2ec
mov eax, dword [ebp - 0x44]
shl eax, 2
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.005645b0
add esp, 0xc
mov ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
xor eax, eax
cmp edx, 0x88
setge al
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x6e74ae
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x98], 2
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x7ab910]
add eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x44]
shl edx, 2
push edx
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
push edx
call fcn.005645b0
add esp, 0xc
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x90], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x50]
mov dword [edx + 0xa4], eax
cmp dword [ebp - 0x120], 1
je 0x6e7535
cmp dword [ebp - 0x120], 0xfffffc19
jne 0x6e7569
mov ecx, dword [ebp - 0x48]
lea edx, [ebp - 0xc8]
cmp ecx, edx
je 0x6e754f
mov eax, dword [ebp - 0x48]
push eax
call dword [0x80c2e4]
add esp, 4
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x80]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x7c]
mov dword [ebp + 0x10], ecx
jmp 0x6e7640
cmp dword [ebp - 0x120], 0xfffffc1c
jl 0x6e75a2
cmp dword [ebp - 0x120], 0xfffffc20
jg 0x6e75a2
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0xc8]
cmp edx, eax
je 0x6e759b
mov ecx, dword [ebp - 0x48]
push ecx
call dword [0x80c2e4]
add esp, 4
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0x120], 0
je 0x6e75d0
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0xc8]
cmp edx, eax
je 0x6e75c5
mov ecx, dword [ebp - 0x48]
push ecx
call dword [0x80c2e4]
add esp, 4
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
lea eax, [ebp - 0x50]
mov dword [edx + 0xa4], eax
mov ecx, dword [ebp - 0x128]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x128]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp - 0x128]
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x128]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e7498
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x50]
mov dword [ecx + 0xa4], edx
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0xc8]
cmp eax, ecx
je 0x6e7639
mov edx, dword [ebp - 0x48]
push edx
call dword [0x80c2e4]
add esp, 4
xor eax, eax
jmp 0x6fc2ec
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x77
je case.0x6e5689.119
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e76be
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax]
cmp ecx, 0x77
je 0x6e76be
mov edx, dword [ebp - 0xd4]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e770e
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0xd4]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e7788
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0xd4]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], edx
mov edx, dword [ebp - 0xd4]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6e77a2
mov ecx, dword [ebp - 0xd4]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x114], 0x86
je 0x6e781a
cmp dword [ebp - 0x114], 0x8b
jne 0x6e781f
jmp 0x6e61e4
jmp 0x6e64a1
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 0xc]
sub ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx]
cmp eax, 0x88
jge 0x6e785a
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
cmp edx, 0x81
jne 0x6e7870
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov dword [ebp + 0x1c], eax
jmp 0x6e787a
mov dword [ebp - 0xe8], 0
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
cmp edx, 0x7d
jl 0x6e7893
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
cmp ecx, 0x80
jle 0x6e78a0
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx]
cmp eax, 0x82
jne 0x6e78cb
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x80], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x8c], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x7c], eax
mov eax, 1
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
cmp edx, 0x85
je 0x6e7906
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
cmp ecx, 0x8a
je 0x6e7906
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx]
cmp eax, 0x86
je 0x6e7906
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
cmp edx, 0x8b
jne 0x6e7a66
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 3]
shl ecx, 8
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx + 4]
or ecx, eax
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x118]
shl ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0xa4], 0
je 0x6e796c
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xa4]
mov edx, dword [ecx + 4]
cmp edx, dword [ebp - 0x118]
jne 0x6e796c
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x80], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x7c], eax
mov eax, 1
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x90]
and edx, 0xffff0000
or edx, dword [ebp - 0x118]
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x90], edx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ecx + 0x14]
jl 0x6e79b5
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x90]
or ecx, 0x10000
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x90], ecx
jmp 0x6e7a66
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp + 0x14]
jle 0x6e7a12
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xd0]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1c4]
jae 0x6e7a12
mov ecx, dword [ebp - 0x1c8]
mov dword [ecx], 0xffffffff
mov edx, dword [ebp - 0x1c8]
add edx, 4
mov dword [ebp - 0x1c8], edx
jmp 0x6e79e7
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x10]
sub ecx, dword [ebp - 0x118]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0xc]
mov esi, dword [ebp - 0xd0]
mov eax, dword [eax + ecx*4]
mov dword [edx + esi*4], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
sub edx, dword [ecx + 0x74]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + eax*4 + 4], edx
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [ebp - 0xd0]
jg 0x6e7a66
mov edx, dword [ebp - 0xd0]
add edx, 2
mov dword [ebp + 0x14], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x7b
jne 0x6e7a9c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x7c], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x80], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x8c], ecx
mov eax, 0xfffffc1a
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x78
je 0x6e7ab2
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0xe8]
jne 0x6e7b27
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx]
cmp eax, 0x81
jne 0x6e7b19
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e7b03
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x30]
mov dword [edx + 0xb4], eax
mov eax, 0xfffffc1b
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
cmp eax, 0x7a
jne 0x6e7c34
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e7b7a
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx]
cmp eax, 0x81
jne 0x6e7bde
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e7bc8
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x30]
mov dword [edx + 0xb4], eax
mov eax, 0xfffffc1b
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ecx]
cmp edx, 0x88
jl 0x6e7c24
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x30]
mov dword [ebp + 0xc], ecx
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0xfffffc1b
jne 0x6e7c85
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xb4]
cmp ecx, dword [ebp - 0x30]
jne 0x6e7c85
mov dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0
je 0x6e7c99
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx]
cmp eax, 0x81
jne 0x6e7d00
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
add eax, 3
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6e7cea
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x30]
mov dword [edx + 0xb4], eax
mov eax, 0xfffffc1b
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6e55c6
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x44], 0
je case.0x6e5689.1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x74]
jne case.0x6e5689.1
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x74]
je 0x6e7d3b
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x44], 0
je 0x6e7d64
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x74]
jne 0x6e7d64
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x74]
je 0x6e7e61
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
je 0x6e7e5a
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x18], 0
je 0x6e7de6
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x74]
jbe 0x6e7dce
mov eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x74]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0070f560
add esp, 0x14
test eax, eax
je 0x6e7dce
mov dword [ebp - 0x354], 1
jmp 0x6e7dd8
mov dword [ebp - 0x354], 0
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x358], ecx
jmp 0x6e7e51
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x74]
mov ecx, dword [ebp + 0x18]
add eax, dword [ecx + 0x1c]
cmp dword [ebp + 8], eax
jb 0x6e7e3b
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x1c]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x6e7e3b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x6e7e2f
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
sub eax, dword [edx + 0x1c]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x6e7e3b
mov dword [ebp - 0x35c], 1
jmp 0x6e7e45
mov dword [ebp - 0x35c], 0
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x358], ecx
cmp dword [ebp - 0x358], 0
jne 0x6e7e61
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x74]
mov edx, dword [ebp + 0x18]
add ecx, dword [edx + 0x94]
cmp dword [ebp + 8], ecx
je 0x6e7e8a
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 8]
mov dword [ebp + 0x10], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6e7fed
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x6e7f1f
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6e7f07
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6e7f07
mov dword [ebp - 0x360], 1
jmp 0x6e7f11
mov dword [ebp - 0x360], 0
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x364], eax
jmp 0x6e7f7e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
ja 0x6e7f68
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6e7f68
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 1
je 0x6e7f5c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x6e7f68
mov dword [ebp - 0x368], 1
jmp 0x6e7f72
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x368]
mov dword [ebp - 0x364], ecx
cmp dword [ebp - 0x364], 0
jne 0x6e7feb
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6e7fe4
mov eax, dword [ebp + 8]
add eax, 1
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x78]
jb 0x6e7fe4
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
jne 0x6e7fe4
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 2
jne 0x6e7fe4
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6e7fe4
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6e7fe4
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
jmp 0x6e8037
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x48], 0
je 0x6e7ffd
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6e8037
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6e8037
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6e8037
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x48], 0
je 0x6e8055
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x58], 0
jne case.0x6e5689.24
jmp case.0x6e5689.23
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jae 0x6e8072
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6e80ac
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6e80ac
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6e80ac
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6e820a
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x6e812d
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6e8115
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6e8115
mov dword [ebp - 0x36c], 1
jmp 0x6e811f
mov dword [ebp - 0x36c], 0
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x370], eax
jmp 0x6e818c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
ja 0x6e8176
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6e8176
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 1
je 0x6e816a
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x6e8176
mov dword [ebp - 0x374], 1
jmp 0x6e8180
mov dword [ebp - 0x374], 0
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x370], ecx
cmp dword [ebp - 0x370], 0
je 0x6e81a6
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x78]
sub ecx, dword [eax + 0x1c]
cmp dword [ebp + 8], ecx
je 0x6e820a
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6e8203
mov eax, dword [ebp + 8]
add eax, 1
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x78]
jb 0x6e8203
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
jne 0x6e8203
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 2
jne 0x6e8203
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6e8203
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6e8203
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e8244
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e8244
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e8244
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
cmp dword [ebp - 0xec], 0
je 0x6e8820
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x74]
jne 0x6e8279
mov dword [ebp - 0x11c], 0
jmp 0x6e8568
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6e82ad
mov eax, dword [ebp - 0x1cc]
sub eax, 1
mov dword [ebp - 0x1cc], eax
jmp 0x6e8285
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x1cc]
cmp edx, dword [ecx + 0x84]
jae 0x6e82cd
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x1cc]
mov dword [eax + 0x84], ecx
mov edx, dword [ebp - 0x1cc]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6e8482
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6e831d
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
jmp 0x6e8482
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e8360
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 0x1cc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp - 0x1cc]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
jmp 0x6e8482
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6e83b5
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 0x1cc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp - 0x1cc]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp - 0x1cc]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
jmp 0x6e8482
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6e8419
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
jmp 0x6e8482
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x54], 0
je 0x6e8525
cmp dword [ebp - 0x110], 0x5f
jne 0x6e84a4
mov dword [ebp - 0x11c], 1
jmp 0x6e8523
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6e84d0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
mov ecx, dword [eax*4 + 0x7abae8]
mov dword [ebp - 0x1d0], ecx
cmp dword [ebp - 0x1d0], 1
je 0x6e850d
cmp dword [ebp - 0x1d0], 3
je 0x6e850d
mov dword [ebp - 0x378], 0
jmp 0x6e8517
mov dword [ebp - 0x378], 1
mov edx, dword [ebp - 0x378]
mov dword [ebp - 0x11c], edx
jmp 0x6e8568
cmp dword [ebp - 0x110], 0x100
jae 0x6e8552
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x6e8552
mov dword [ebp - 0x37c], 1
jmp 0x6e855c
mov dword [ebp - 0x37c], 0
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e85b9
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e85ad
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e85ad
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e85ad
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov dword [ebp - 0x2c], 0
jmp 0x6e881b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6e873e
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6e8603
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
jmp 0x6e873e
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6e8640
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
jmp 0x6e873e
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e868c
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
jmp 0x6e873e
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6e86e4
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
jmp 0x6e873e
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x54], 0
je 0x6e87db
cmp dword [ebp - 0x110], 0x5f
jne 0x6e875d
mov dword [ebp - 0x2c], 1
jmp 0x6e87d9
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6e8789
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5a9]
mov edx, dword [ecx*4 + 0x7abae8]
mov dword [ebp - 0x1d4], edx
cmp dword [ebp - 0x1d4], 1
je 0x6e87c6
cmp dword [ebp - 0x1d4], 3
je 0x6e87c6
mov dword [ebp - 0x380], 0
jmp 0x6e87d0
mov dword [ebp - 0x380], 1
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x2c], eax
jmp 0x6e881b
cmp dword [ebp - 0x110], 0x100
jae 0x6e8808
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x6e8808
mov dword [ebp - 0x384], 1
jmp 0x6e8812
mov dword [ebp - 0x384], 0
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x2c], edx
jmp 0x6e8a7e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x74]
jne 0x6e883a
mov dword [ebp - 0x11c], 0
jmp 0x6e8948
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
ja 0x6e8857
mov ecx, dword [ebp + 8]
sub ecx, 1
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x84], ecx
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x54], 0
je 0x6e8907
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx - 1]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0x5f
jne 0x6e8886
mov dword [ebp - 0x11c], 1
jmp 0x6e8905
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6e88b2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
mov ecx, dword [eax*4 + 0x7abae8]
mov dword [ebp - 0x1d8], ecx
cmp dword [ebp - 0x1d8], 1
je 0x6e88ef
cmp dword [ebp - 0x1d8], 3
je 0x6e88ef
mov dword [ebp - 0x388], 0
jmp 0x6e88f9
mov dword [ebp - 0x388], 1
mov edx, dword [ebp - 0x388]
mov dword [ebp - 0x11c], edx
jmp 0x6e8948
mov eax, 1
test eax, eax
je 0x6e8932
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx - 1]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
movzx edx, byte [ecx + edx]
and edx, 0x10
je 0x6e8932
mov dword [ebp - 0x38c], 1
jmp 0x6e893c
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6e8999
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6e898d
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6e898d
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6e898d
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov dword [ebp - 0x2c], 0
jmp 0x6e8a7e
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x54], 0
je 0x6e8a41
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0x5f
jne 0x6e89c4
mov dword [ebp - 0x2c], 1
jmp 0x6e8a3f
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6e89ef
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov eax, dword [edx*4 + 0x7abae8]
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 1
je 0x6e8a2c
cmp dword [ebp - 0x1dc], 3
je 0x6e8a2c
mov dword [ebp - 0x390], 0
jmp 0x6e8a36
mov dword [ebp - 0x390], 1
mov ecx, dword [ebp - 0x390]
mov dword [ebp - 0x2c], ecx
jmp 0x6e8a7e
mov edx, 1
test edx, edx
je 0x6e8a6b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
je 0x6e8a6b
mov dword [ebp - 0x394], 1
jmp 0x6e8a75
mov dword [ebp - 0x394], 0
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
cmp ecx, 5
jne 0x6e8aa8
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, dword [ebp - 0x11c]
sete cl
mov dword [ebp - 0x398], ecx
jmp 0x6e8abc
mov edx, dword [ebp - 0x2c]
xor eax, eax
cmp edx, dword [ebp - 0x11c]
setne al
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x398], 0
je 0x6e8acc
xor eax, eax
jmp 0x6fc2ec
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x6e8b35
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6e8b1d
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6e8b1d
mov dword [ebp - 0x39c], 1
jmp 0x6e8b27
mov dword [ebp - 0x39c], 0
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], edx
jmp 0x6e8b94
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x6e8b7e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x6e8b7e
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x6e8b72
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x35]
cmp eax, edx
jne 0x6e8b7e
mov dword [ebp - 0x3a4], 1
jmp 0x6e8b88
mov dword [ebp - 0x3a4], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 0
je 0x6e8ba4
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je case.0x6e5689.13
mov edx, dword [ebp + 8]
add edx, 1
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x78]
jb case.0x6e5689.13
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
jne case.0x6e5689.13
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 2
jne case.0x6e5689.13
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne case.0x6e5689.13
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle case.0x6e5689.13
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6e8c4d
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6e8c46
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6e8c46
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6e8c46
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6e8c89
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6e8c89
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6e8c89
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6e8c5f
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e8ce3
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e8cdc
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e8cdc
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e8cdc
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e8d46
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e8d3f
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e8d3f
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e8d3f
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e8f09
cmp dword [ebp - 0x110], 0xc0
jb 0x6e8f09
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e8dae
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e8f09
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e8df3
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e8f09
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e8e47
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e8f09
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e8ea7
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e8f09
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0x100
jae 0x6e8f31
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 4
je 0x6e8f31
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e8f8b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e8f84
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e8f84
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e8f84
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e914e
cmp dword [ebp - 0x110], 0xc0
jb 0x6e914e
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e8ff3
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e914e
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e9038
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e914e
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e908c
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e914e
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e90ec
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e914e
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xff
ja 0x6e916f
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 4
jne 0x6e9176
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e91d0
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e91c9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e91c9
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e91c9
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e9393
cmp dword [ebp - 0x110], 0xc0
jb 0x6e9393
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e9238
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e9393
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e927d
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e9393
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e92d1
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e9393
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e9331
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e9393
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0x100
jae 0x6e93bb
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 1
je 0x6e93bb
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e9415
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e940e
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e940e
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e940e
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e95d8
cmp dword [ebp - 0x110], 0xc0
jb 0x6e95d8
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e947d
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e95d8
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e94c2
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e95d8
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e9516
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e95d8
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e9576
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e95d8
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xff
ja 0x6e95f9
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 1
jne 0x6e9600
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e965a
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e9653
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e9653
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e9653
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e981d
cmp dword [ebp - 0x110], 0xc0
jb 0x6e981d
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e96c2
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e981d
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e9707
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e981d
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e975b
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e981d
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e97bb
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e981d
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0x100
jae 0x6e9845
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x6e9845
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e989f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e9898
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e9898
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e9898
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e9a62
cmp dword [ebp - 0x110], 0xc0
jb 0x6e9a62
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e9907
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e9a62
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e994c
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e9a62
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e99a0
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e9a62
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e9a00
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e9a62
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xff
ja 0x6e9a83
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 0x10
jne 0x6e9a8a
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6fc2e7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6e9ae4
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6e9add
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6e9add
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6e9add
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6e9ca7
cmp dword [ebp - 0x110], 0xc0
jb 0x6e9ca7
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6e9b4c
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e9ca7
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6e9b91
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6e9ca7
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6e9be5
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6e9ca7
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6e9c45
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6e9ca7
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 0xd
ja 0x6e9cea
cmp dword [ebp - 0x3a8], 0xd
je 0x6e9d15
cmp dword [ebp - 0x3a8], 0xa
je 0x6e9d72
cmp dword [ebp - 0x3a8], 0xa
jbe 0x6e9d0e
cmp dword [ebp - 0x3a8], 0xc
jbe 0x6e9d74
jmp 0x6e9d0e
cmp dword [ebp - 0x3a8], 0x85
je 0x6e9d74
cmp dword [ebp - 0x3a8], 0x2027
jbe 0x6e9d0e
cmp dword [ebp - 0x3a8], 0x2029
jbe 0x6e9d74
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6e9d5c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6e9d5a
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6e9d5a
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6e9d5a
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6e9d70
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x6e9d70
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6e9d84
jmp 0x6e9d84
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x68], 0
je 0x6e9d84
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6e9dde
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6e9dd7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6e9dd7
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6e9dd7
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6e9fa1
cmp dword [ebp - 0x110], 0xc0
jb 0x6e9fa1
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6e9e46
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6e9fa1
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6e9e8b
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6e9fa1
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6e9edf
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6e9fa1
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6e9f3f
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6e9fa1
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0x180e
ja 0x6ea003
cmp dword [ebp - 0x3ac], 0x180e
je 0x6ea04f
cmp dword [ebp - 0x3ac], 0xa0
ja 0x6e9ff5
cmp dword [ebp - 0x3ac], 0xa0
je 0x6ea04f
cmp dword [ebp - 0x3ac], 9
je 0x6ea04f
cmp dword [ebp - 0x3ac], 0x20
je 0x6ea04f
jmp 0x6ea056
cmp dword [ebp - 0x3ac], 0x1680
je 0x6ea04f
jmp 0x6ea056
cmp dword [ebp - 0x3ac], 0x205f
ja 0x6ea041
cmp dword [ebp - 0x3ac], 0x205f
je 0x6ea04f
cmp dword [ebp - 0x3ac], 0x2000
jb 0x6ea056
cmp dword [ebp - 0x3ac], 0x200a
jbe 0x6ea04f
cmp dword [ebp - 0x3ac], 0x202f
je 0x6ea04f
jmp 0x6ea056
cmp dword [ebp - 0x3ac], 0x3000
je 0x6ea04f
jmp 0x6ea056
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ea0b0
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ea0a9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ea0a9
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ea0a9
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6ea273
cmp dword [ebp - 0x110], 0xc0
jb 0x6ea273
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ea118
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ea273
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ea15d
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6ea273
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ea1b1
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6ea273
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ea211
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6ea273
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x3b0], edx
cmp dword [ebp - 0x3b0], 0x180e
ja 0x6ea2d5
cmp dword [ebp - 0x3b0], 0x180e
je 0x6ea321
cmp dword [ebp - 0x3b0], 0xa0
ja 0x6ea2c7
cmp dword [ebp - 0x3b0], 0xa0
je 0x6ea321
cmp dword [ebp - 0x3b0], 9
je 0x6ea321
cmp dword [ebp - 0x3b0], 0x20
je 0x6ea321
jmp 0x6ea323
cmp dword [ebp - 0x3b0], 0x1680
je 0x6ea321
jmp 0x6ea323
cmp dword [ebp - 0x3b0], 0x205f
ja 0x6ea313
cmp dword [ebp - 0x3b0], 0x205f
je 0x6ea321
cmp dword [ebp - 0x3b0], 0x2000
jb 0x6ea323
cmp dword [ebp - 0x3b0], 0x200a
jbe 0x6ea321
cmp dword [ebp - 0x3b0], 0x202f
je 0x6ea321
jmp 0x6ea323
cmp dword [ebp - 0x3b0], 0x3000
je 0x6ea321
jmp 0x6ea323
jmp 0x6ea32a
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ea384
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ea37d
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ea37d
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ea37d
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6ea547
cmp dword [ebp - 0x110], 0xc0
jb 0x6ea547
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ea3ec
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ea547
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ea431
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6ea547
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ea485
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6ea547
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ea4e5
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6ea547
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x3b4], edx
cmp dword [ebp - 0x3b4], 0x85
ja 0x6ea57f
cmp dword [ebp - 0x3b4], 0x85
je 0x6ea599
cmp dword [ebp - 0x3b4], 0xa
jb 0x6ea5a0
cmp dword [ebp - 0x3b4], 0xd
jbe 0x6ea599
jmp 0x6ea5a0
cmp dword [ebp - 0x3b4], 0x2028
jb 0x6ea5a0
cmp dword [ebp - 0x3b4], 0x2029
jbe 0x6ea599
jmp 0x6ea5a0
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ea5fa
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ea5f3
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ea5f3
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ea5f3
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6ea7bd
cmp dword [ebp - 0x110], 0xc0
jb 0x6ea7bd
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ea662
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ea7bd
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ea6a7
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6ea7bd
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ea6fb
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6ea7bd
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ea75b
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6ea7bd
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x3b8], edx
cmp dword [ebp - 0x3b8], 0x85
ja 0x6ea7f5
cmp dword [ebp - 0x3b8], 0x85
je 0x6ea80f
cmp dword [ebp - 0x3b8], 0xa
jb 0x6ea811
cmp dword [ebp - 0x3b8], 0xd
jbe 0x6ea80f
jmp 0x6ea811
cmp dword [ebp - 0x3b8], 0x2028
jb 0x6ea811
cmp dword [ebp - 0x3b8], 0x2029
jbe 0x6ea80f
jmp 0x6ea811
jmp 0x6ea818
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ea872
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ea86b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ea86b
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ea86b
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6eaa35
cmp dword [ebp - 0x110], 0xc0
jb 0x6eaa35
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ea8da
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6eaa35
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ea91f
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6eaa35
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ea973
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6eaa35
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ea9d3
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6eaa35
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6eaa60
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
lea edx, [ecx*8 + 0x7ac5a8]
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
mov dword [ebp - 0x3bc], ecx
cmp dword [ebp - 0x3bc], 0xa
ja case.default.0x6eaa97
mov edx, dword [ebp - 0x3bc]
jmp dword [edx*4 + 0x6fc510]
cmp dword [ebp - 0x114], 0xf
jne 0x6eaaae
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov eax, dword [ebp - 0x1e4]
movzx ecx, byte [eax + 1]
cmp ecx, 9
je 0x6eaaec
mov edx, dword [ebp - 0x1e4]
movzx eax, byte [edx + 1]
cmp eax, 5
je 0x6eaaec
mov ecx, dword [ebp - 0x1e4]
movzx edx, byte [ecx + 1]
cmp edx, 8
je 0x6eaaec
mov dword [ebp - 0x3c0], 0
jmp 0x6eaaf6
mov dword [ebp - 0x3c0], 1
xor eax, eax
cmp dword [ebp - 0x114], 0xf
sete al
cmp dword [ebp - 0x3c0], eax
jne 0x6eab11
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
mov eax, dword [ebp - 0x1e4]
movzx ecx, byte [eax + 1]
xor eax, eax
cmp edx, dword [ecx*4 + 0x7abae8]
setne al
xor ecx, ecx
cmp dword [ebp - 0x114], 0x10
sete cl
cmp eax, ecx
jne 0x6eab4a
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
mov ecx, dword [ebp - 0x1e4]
movzx edx, byte [ecx + 1]
xor ecx, ecx
cmp eax, edx
setne cl
xor edx, edx
cmp dword [ebp - 0x114], 0x10
sete dl
cmp ecx, edx
jne 0x6eab7e
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
mov edx, dword [ebp - 0x1e4]
movzx eax, byte [edx]
xor edx, edx
cmp ecx, eax
setne dl
xor eax, eax
cmp dword [ebp - 0x114], 0x10
sete al
cmp edx, eax
jne 0x6eabb1
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov ecx, dword [ebp - 0x1e4]
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x7abae8], 1
je 0x6eabea
mov eax, dword [ebp - 0x1e4]
movzx ecx, byte [eax + 1]
cmp dword [ecx*4 + 0x7abae8], 3
je 0x6eabea
mov dword [ebp - 0x3c4], 0
jmp 0x6eabf4
mov dword [ebp - 0x3c4], 1
xor edx, edx
cmp dword [ebp - 0x114], 0xf
sete dl
cmp dword [ebp - 0x3c4], edx
jne 0x6eac0f
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0x180e
ja 0x6eac9e
cmp dword [ebp - 0x3c8], 0x180e
je case.0x6eacde.0
cmp dword [ebp - 0x3c8], 0x85
ja 0x6eac84
cmp dword [ebp - 0x3c8], 0x85
je case.0x6eacde.0
cmp dword [ebp - 0x3c8], 9
jb case.0x6eacde.11
cmp dword [ebp - 0x3c8], 0xd
jbe case.0x6eacde.0
cmp dword [ebp - 0x3c8], 0x20
je case.0x6eacde.0
jmp case.0x6eacde.11
cmp dword [ebp - 0x3c8], 0xa0
je case.0x6eacde.0
cmp dword [ebp - 0x3c8], 0x1680
je case.0x6eacde.0
jmp case.0x6eacde.11
cmp dword [ebp - 0x3c8], 0x202f
ja 0x6eace5
cmp dword [ebp - 0x3c8], 0x202f
je case.0x6eacde.0
mov ecx, dword [ebp - 0x3c8]
sub ecx, 0x2000
mov dword [ebp - 0x3c8], ecx
cmp dword [ebp - 0x3c8], 0x29
ja case.0x6eacde.11
mov edx, dword [ebp - 0x3c8]
movzx eax, byte [edx + 0x6fc544]
jmp dword [eax*4 + 0x6fc53c]
cmp dword [ebp - 0x3c8], 0x205f
je case.0x6eacde.0
cmp dword [ebp - 0x3c8], 0x3000
je case.0x6eacde.0
jmp case.0x6eacde.11
cmp dword [ebp - 0x114], 0xf
jne 0x6ead0f
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ead3f
mov ecx, dword [ebp - 0x1e4]
movzx edx, byte [ecx + 1]
xor eax, eax
cmp dword [edx*4 + 0x7abae8], 6
sete al
xor ecx, ecx
cmp dword [ebp - 0x114], 0xf
sete cl
cmp eax, ecx
jne 0x6ead3f
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov edx, dword [ebp - 0x1e4]
movzx eax, byte [edx + 1]
cmp dword [eax*4 + 0x7abae8], 1
je 0x6ead81
mov ecx, dword [ebp - 0x1e4]
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x7abae8], 3
je 0x6ead81
cmp dword [ebp - 0x110], 0x5f
je 0x6ead81
mov dword [ebp - 0x3cc], 0
jmp 0x6ead8b
mov dword [ebp - 0x3cc], 1
xor eax, eax
cmp dword [ebp - 0x114], 0xf
sete al
cmp dword [ebp - 0x3cc], eax
jne 0x6eada6
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
lea eax, [edx*4 + 0x7ac468]
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x110]
cmp edx, dword [ecx]
jae 0x6eade3
cmp dword [ebp - 0x114], 0x10
jne 0x6eade1
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae1a
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x110]
mov edx, dword [eax]
mov eax, dword [ebp - 0x1e0]
add eax, 4
mov dword [ebp - 0x1e0], eax
cmp ecx, edx
jne 0x6eae18
cmp dword [ebp - 0x114], 0x10
jne 0x6eae11
jmp 0x6eae1a
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eadbf
jmp 0x6eae98
cmp dword [ebp - 0x110], 0x24
je 0x6eae67
cmp dword [ebp - 0x110], 0x40
je 0x6eae67
cmp dword [ebp - 0x110], 0x60
je 0x6eae67
cmp dword [ebp - 0x110], 0xa0
jb 0x6eae4f
cmp dword [ebp - 0x110], 0xd7ff
jbe 0x6eae67
cmp dword [ebp - 0x110], 0xe000
jae 0x6eae67
mov dword [ebp - 0x3d0], 0
jmp 0x6eae71
mov dword [ebp - 0x3d0], 1
xor ecx, ecx
cmp dword [ebp - 0x114], 0xf
sete cl
cmp dword [ebp - 0x3d0], ecx
jne 0x6eae8c
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eae98
mov eax, 0xfffffff2
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6eaef7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6eaeeb
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6eaeeb
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6eaeeb
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6eb0ba
cmp dword [ebp - 0x110], 0xc0
jb 0x6eb0ba
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6eaf5f
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6eb0ba
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6eafa4
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6eb0ba
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6eaff8
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6eb0ba
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6eb058
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6eb0ba
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6eb0e6
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5aa]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6eb37f
mov dword [ebp - 0x1f0], 1
cmp dword [ebp - 0xec], 0
jne 0x6eb131
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
jmp 0x6eb301
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6eb301
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6eb18a
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x1f0]
add eax, 1
mov dword [ebp - 0x1f0], eax
jmp 0x6eb301
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6eb1d6
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x1f0]
add edx, 2
mov dword [ebp - 0x1f0], edx
jmp 0x6eb301
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6eb231
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x1f0]
add ecx, 3
mov dword [ebp - 0x1f0], ecx
jmp 0x6eb301
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6eb298
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x1f0]
add eax, 4
mov dword [ebp - 0x1f0], eax
jmp 0x6eb301
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x1f0]
add ecx, 5
mov dword [ebp - 0x1f0], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6eb32c
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5aa]
mov dword [ebp - 0x1e8], edx
mov eax, 1
mov ecx, dword [ebp - 0x1e8]
shl eax, cl
mov ecx, dword [ebp - 0x1ec]
and eax, dword [ecx*4 + 0x7aba74]
jne 0x6eb362
jmp 0x6eb37f
mov edx, dword [ebp - 0x1e8]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x1f0]
mov dword [ebp + 8], eax
jmp 0x6eb0fe
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6eb3c4
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6eb3c4
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6eb3c4
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6eb3c4
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
xor eax, eax
cmp dword [ebp - 0x114], 0x74
sete al
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
or edx, ecx
mov dword [ebp - 0x1f4], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov ecx, dword [ebp + 0x18]
imul eax, dword [ecx + 0x24]
mov edx, dword [ebp + 0x18]
add eax, dword [edx + 0x30]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp + 0xc]
add eax, 5
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x50]
neg edx
sbb edx, edx
neg edx
sub edx, 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f4]
sub ecx, 1
mov dword [ebp - 0x1f4], ecx
test eax, eax
jle 0x6eb4d6
mov edx, dword [ebp - 0x1f8]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x1f8]
movzx edx, byte [ecx + 1]
or eax, edx
shl eax, 1
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp + 0x14]
jge 0x6eb4bf
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xd0]
cmp dword [edx + eax*4], 0
jl 0x6eb4bf
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd0]
mov edx, dword [edx + eax*4 + 4]
sub edx, dword [ecx + esi*4]
mov dword [ebp - 0xc], edx
jmp 0x6eb4d6
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x1f8]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x1f8], ecx
jmp 0x6eb445
jmp 0x6eb561
xor edx, edx
cmp dword [ebp - 0x114], 0x72
sete dl
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
shl ecx, 1
mov dword [ebp - 0xd0], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 0xd0]
cmp edx, dword [ebp + 0x14]
jge 0x6eb52b
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0xd0]
cmp dword [ecx + edx*4], 0
jge 0x6eb53f
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x50]
neg ecx
sbb ecx, ecx
neg ecx
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x6eb561
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xd0]
mov eax, dword [eax + ecx*4 + 4]
sub eax, dword [edx + esi*4]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d4]
sub eax, 0x62
mov dword [ebp - 0x3d4], eax
cmp dword [ebp - 0x3d4], 7
ja case.default.0x6eb596
mov ecx, dword [ebp - 0x3d4]
movzx edx, byte [ecx + 0x6fc578]
jmp dword [edx*4 + 0x6fc570]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x62
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x110]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x110]
movsx edx, byte [ecx + 0x7ab8f8]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x7ab904]
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0
jne 0x6eb5fd
mov dword [ebp - 0x124], getsockname
jmp 0x6eb6ed
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x69
sete cl
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
or ecx, eax
mov dword [ebp - 0x124], ecx
jne 0x6eb64e
mov dword [ebp - 0x124], getsockname
mov ecx, dword [ebp + 0xc]
add ecx, 5
mov dword [ebp + 0xc], ecx
jmp 0x6eb6ed
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0xd0]
push eax
call fcn.006fc960
add esp, 0x14
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x6eb6df
cmp dword [ebp - 0xc], 0xfffffffe
jne 0x6eb693
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6eb6d8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6eb6d8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6eb6d8
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6eb6d8
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xc]
mov dword [ebp + 8], ecx
jmp 0x6e5641
cmp dword [ebp - 0xc], 0
jne 0x6eb6f8
jmp 0x6e5641
cmp dword [ebp - 0xc], 0
jge 0x6eb709
cmp dword [ebp - 0x28], 0
jne 0x6eb709
jmp 0x6e5641
mov dword [ebp - 0x20], 1
jmp 0x6eb71b
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6eb7c4
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.006fc960
add esp, 0x14
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jge 0x6eb7b3
cmp dword [ebp - 0x1fc], 0xfffffffe
jne 0x6eb767
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6eb7ac
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6eb7ac
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6eb7ac
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6eb7ac
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x1fc]
mov dword [ebp + 8], eax
jmp 0x6eb712
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x124]
jne 0x6eb7d4
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6eb8e4
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6eb7ef
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6eb830
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6eb842
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.006fc960
add esp, 0x14
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0
jge 0x6eb8ce
cmp dword [ebp - 0x200], 0xfffffffe
jne 0x6eb882
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6eb8c7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6eb8c7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6eb8c7
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6eb8c7
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x200]
mov dword [ebp + 8], edx
jmp 0x6eb7e6
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6eb8fb
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6eb991
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
call fcn.006fc960
add esp, 0x14
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
jge 0x6eb980
cmp dword [ebp - 0x204], 0xfffffffe
jne 0x6eb97e
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6eb97e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
cmp eax, dword [edx + 0x84]
jbe 0x6eb97e
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6eb97e
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6eb991
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x204]
mov dword [ebp + 8], eax
jmp 0x6eb8f2
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
jb 0x6eb9e5
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6eb9da
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0xc]
mov dword [ebp + 8], eax
jmp 0x6eb991
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp + 0xc]
add edx, 0x21
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3d8]
sub edx, 0x62
mov dword [ebp - 0x3d8], edx
cmp dword [ebp - 0x3d8], 0xb
ja case.default.0x6eba36
mov eax, dword [ebp - 0x3d8]
movzx ecx, byte [eax + 0x6fc588]
jmp dword [ecx*4 + 0x6fc580]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
sub eax, 0x62
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0x110], 8
jae 0x6eba72
mov edx, dword [ebp - 0x110]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x1c], edx
jmp 0x6eba7c
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x7ab8f8]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0x7ab904]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
jne 0x6ebab2
mov dword [ebp - 0x124], getsockname
jmp 0x6ebb32
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
xor eax, eax
cmp edx, 0x69
sete al
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
xor eax, eax
cmp edx, 0x6d
sete al
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x28], edx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
or eax, edx
mov dword [ebp - 0x124], eax
jne 0x6ebb14
mov dword [ebp - 0x124], getsockname
mov eax, dword [ebp + 0xc]
add eax, 5
mov dword [ebp + 0xc], eax
jmp 0x6ebb32
mov dword [ebp - 0x124], 1
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0xec], 0
je 0x6ebdb5
mov dword [ebp - 0x20], 1
jmp 0x6ebb51
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6ebdb0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ebba9
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ebba2
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ebba2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ebba2
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6ebd5f
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ebc04
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ebd5f
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ebc49
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6ebd5f
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ebc9d
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6ebd5f
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ebcfd
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6ebd5f
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x110], 0xff
jbe 0x6ebd7d
cmp dword [ebp - 0x114], 0x6e
jne 0x6ebd7b
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ebdab
mov edx, dword [ebp - 0x110]
shr edx, 3
mov eax, dword [ebp - 0xf4]
movzx edx, byte [eax + edx]
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x6ebdab
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ebb48
jmp 0x6ebe67
mov dword [ebp - 0x20], 1
jmp 0x6ebdc7
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6ebe67
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ebe1f
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ebe18
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6ebe18
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6ebe18
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x110]
shr ecx, 3
mov edx, dword [ebp - 0xf4]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov edx, 1
shl edx, cl
and eax, edx
jne 0x6ebe62
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ebdbe
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6ebe77
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6ec247
cmp dword [ebp - 0xec], 0
je 0x6ec14a
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ebe9f
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ebee0
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6ebef2
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ebf3e
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ebf37
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ebf37
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ebf37
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6ec0f4
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6ebf99
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ec0f4
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6ebfde
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6ec0f4
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6ec032
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6ec0f4
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6ec092
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6ec0f4
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xff
jbe 0x6ec112
cmp dword [ebp - 0x114], 0x6e
jne 0x6ec110
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ec140
mov eax, dword [ebp - 0x110]
shr eax, 3
mov ecx, dword [ebp - 0xf4]
movzx edx, byte [ecx + eax]
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x6ec140
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ebe96
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ec15b
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ec19c
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6ec1ae
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ec1fa
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ec1f3
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ec1f3
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ec1f3
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
shr eax, 3
mov ecx, dword [ebp - 0xf4]
movzx edx, byte [ecx + eax]
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x6ec23d
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ec152
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0xec], 0
je 0x6ec57b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6ec26b
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6ec4f1
mov dword [ebp - 0x208], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ec2ce
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ec2c9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ec2c9
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ec2c9
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ec4f1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6ec49e
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ec327
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x208]
add eax, 1
mov dword [ebp - 0x208], eax
jmp 0x6ec49e
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ec373
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x208]
add edx, 2
mov dword [ebp - 0x208], edx
jmp 0x6ec49e
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ec3ce
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x208]
add ecx, 3
mov dword [ebp - 0x208], ecx
jmp 0x6ec49e
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ec435
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x208]
add eax, 4
mov dword [ebp - 0x208], eax
jmp 0x6ec49e
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x208]
add ecx, 5
mov dword [ebp - 0x208], ecx
cmp dword [ebp - 0x110], 0xff
jbe 0x6ec4b7
cmp dword [ebp - 0x114], 0x6e
jne 0x6ec4b5
jmp 0x6ec4f1
jmp 0x6ec4e0
mov edx, dword [ebp - 0x110]
shr edx, 3
mov eax, dword [ebp - 0xf4]
movzx edx, byte [eax + edx]
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x6ec4e0
jmp 0x6ec4f1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x208]
mov dword [ebp + 8], ecx
jmp 0x6ec262
cmp dword [ebp - 0x10c], 0
je 0x6ec4ff
jmp 0x6e5641
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ec540
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
jne 0x6ec555
jmp 0x6ec576
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6ec574
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x6ec555
jmp 0x6ec4ff
jmp 0x6ec687
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6ec58c
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6ec625
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ec5e2
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ec5e0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6ec5e0
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6ec5e0
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ec625
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
shr eax, 3
mov ecx, dword [ebp - 0xf4]
movzx edx, byte [ecx + eax]
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov eax, 1
shl eax, cl
and edx, eax
jne 0x6ec617
jmp 0x6ec625
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ec583
cmp dword [ebp - 0x10c], 0
je 0x6ec633
jmp 0x6e5641
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x34]
jb 0x6ec687
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ec67c
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ec633
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x3dc]
sub eax, 0x62
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 0xb
ja case.default.0x6ec6e8
mov ecx, dword [ebp - 0x3dc]
movzx edx, byte [ecx + 0x6fc59c]
jmp dword [edx*4 + 0x6fc594]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x62
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
cmp dword [ebp - 0x110], 8
jae 0x6ec724
mov eax, dword [ebp - 0x110]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
jmp 0x6ec72e
mov dword [ebp - 0x10c], 1
mov ecx, dword [ebp - 0x110]
movsx edx, byte [ecx + 0x7ab8f8]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x7ab904]
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0
jne 0x6ec764
mov dword [ebp - 0x124], getsockname
jmp 0x6ec7e4
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x69
sete cl
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
xor ecx, ecx
cmp eax, 0x6d
sete cl
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
or ecx, eax
mov dword [ebp - 0x124], ecx
jne 0x6ec7c6
mov dword [ebp - 0x124], getsockname
mov ecx, dword [ebp + 0xc]
add ecx, 5
mov dword [ebp + 0xc], ecx
jmp 0x6ec7e4
mov dword [ebp - 0x124], 1
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], 1
jmp 0x6ec7f6
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6eca3e
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ec84e
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ec847
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ec847
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ec847
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6eca11
cmp dword [ebp - 0x110], 0xc0
jb 0x6eca11
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6ec8b6
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6eca11
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6ec8fb
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6eca11
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6ec94f
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6eca11
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6ec9af
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6eca11
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call fcn.0070e780
add esp, 0xc
test eax, eax
jne 0x6eca39
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ec7ed
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6eca4e
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6eccfd
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6eca69
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ecaaa
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6ecabc
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ecb08
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ecb01
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ecb01
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ecb01
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6ecccb
cmp dword [ebp - 0x110], 0xc0
jb 0x6ecccb
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6ecb70
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ecccb
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6ecbb5
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6ecccb
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6ecc09
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6ecccb
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6ecc69
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6ecccb
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call fcn.0070e780
add esp, 0xc
test eax, eax
jne 0x6eccf3
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eca60
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ecd14
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6ecf88
mov dword [ebp - 0x20c], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ecd77
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ecd72
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ecd72
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ecd72
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ecf88
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0xec], 0
je 0x6ecf54
cmp dword [ebp - 0x110], 0xc0
jb 0x6ecf54
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6ecddd
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x20c]
add edx, 1
mov dword [ebp - 0x20c], edx
jmp 0x6ecf54
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6ece29
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x20c]
add ecx, 2
mov dword [ebp - 0x20c], ecx
jmp 0x6ecf54
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6ece84
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x20c]
add eax, 3
mov dword [ebp - 0x20c], eax
jmp 0x6ecf54
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6eceeb
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x20c]
add edx, 4
mov dword [ebp - 0x20c], edx
jmp 0x6ecf54
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x20c]
add eax, 5
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0xf4]
push edx
mov eax, dword [ebp - 0x110]
push eax
call fcn.0070e780
add esp, 0xc
test eax, eax
jne 0x6ecf77
jmp 0x6ecf88
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x20c]
mov dword [ebp + 8], ecx
jmp 0x6ecd0b
cmp dword [ebp - 0x10c], 0
je 0x6ecf96
jmp 0x6e5641
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ecfd7
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
jne 0x6ecfec
jmp 0x6ed016
cmp dword [ebp - 0xec], 0
je 0x6ed014
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6ed014
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x6ecff5
jmp 0x6ecf96
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0xec], 0
je 0x6ed283
mov dword [ebp - 0xc], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6ed1ec
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6ed08d
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x6ed1ec
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6ed0d3
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc]
add eax, 2
mov dword [ebp - 0xc], eax
jmp 0x6ed1ec
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6ed128
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xc]
add edx, 3
mov dword [ebp - 0xc], edx
jmp 0x6ed1ec
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6ed189
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 4
mov dword [ebp - 0xc], ecx
jmp 0x6ed1ec
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xc]
add edx, 5
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
sub ecx, dword [ebp + 8]
cmp dword [ebp - 0xc], ecx
jle 0x6ed246
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ed23f
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ed23f
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ed23f
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ed23f
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
test eax, eax
jle 0x6ed281
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp edx, eax
je 0x6ed27f
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ed246
jmp 0x6ed2fc
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
sub eax, dword [ebp + 8]
cmp eax, 1
jge 0x6ed2d2
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ed2cb
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ed2cb
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ed2cb
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp eax, ecx
je 0x6ed2f3
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0xc]
add eax, 2
mov dword [ebp + 0xc], eax
jmp 0x6fc2e7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ed34d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ed346
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ed346
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ed346
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0xec], 0
je 0x6ed796
mov dword [ebp - 0xc], 1
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6ed51c
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ed3bd
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x6ed51c
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ed403
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xc]
add edx, 2
mov dword [ebp - 0xc], edx
jmp 0x6ed51c
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ed458
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 3
mov dword [ebp - 0xc], ecx
jmp 0x6ed51c
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ed4b9
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc]
add eax, 4
mov dword [ebp - 0xc], eax
jmp 0x6ed51c
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 5
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x110], 0x80
jae 0x6ed576
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x38]
mov edx, dword [ebp - 0x210]
movzx eax, byte [eax + edx]
cmp ecx, eax
je 0x6ed55f
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6ed794
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x214], 0xc0
jb 0x6ed72c
mov eax, dword [ebp - 0x214]
and eax, 0x20
jne 0x6ed5d1
mov ecx, dword [ebp - 0x214]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x214], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ed72c
mov edx, dword [ebp - 0x214]
and edx, 0x10
jne 0x6ed616
mov eax, dword [ebp - 0x214]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x214], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6ed72c
mov ecx, dword [ebp - 0x214]
and ecx, 8
jne 0x6ed66a
mov edx, dword [ebp - 0x214]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x214], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6ed72c
mov eax, dword [ebp - 0x214]
and eax, 4
jne 0x6ed6ca
mov ecx, dword [ebp - 0x214]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x214], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6ed72c
mov edx, dword [ebp - 0x214]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x214], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x214]
je 0x6ed794
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6ed76e
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
mov edx, dword [ebp - 0x110]
add edx, dword [ecx*8 + 0x7ac5ac]
cmp dword [ebp - 0x214], edx
je 0x6ed794
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ed7d4
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x38]
movzx ecx, byte [eax + ecx]
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx + 0x38]
movzx eax, byte [edx + eax]
cmp ecx, eax
je 0x6ed7c2
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 2
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6ed95c
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x28
je 0x6ed855
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x35
je 0x6ed855
mov dword [ebp - 0x3e0], 0
jmp 0x6ed85f
mov dword [ebp - 0x3e0], 1
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x6ed95c
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x124], getsockname
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6ed95c
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x124], getsockname
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6ed95c
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x124], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6ed95c
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp dword [ebp - 0x114], 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub edx, eax
mov dword [ebp - 0x110], edx
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp - 0x110]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x7ab8f8]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0x7ab904]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
jne 0x6ed95c
mov dword [ebp - 0x124], getsockname
cmp dword [ebp - 0xec], 0
je 0x6edf0e
mov dword [ebp - 0xc], 1
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6edb2b
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6ed9cc
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
jmp 0x6edb2b
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6eda12
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 2
mov dword [ebp - 0xc], ecx
jmp 0x6edb2b
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6eda67
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc]
add eax, 3
mov dword [ebp - 0xc], eax
jmp 0x6edb2b
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6edac8
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xc]
add edx, 4
mov dword [ebp - 0xc], edx
jmp 0x6edb2b
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc]
add eax, 5
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0xc], 1
jle 0x6edf0c
cmp dword [ebp - 0x114], 0x2e
jb 0x6edbb8
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6edb72
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
mov edx, dword [ebp - 0x110]
add edx, dword [ecx*8 + 0x7ac5ac]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x110]
je 0x6edbb8
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x218]
push edx
call fcn.0070e1f0
add esp, 8
mov dword [ebp - 0x18], eax
jmp 0x6edbbf
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], 1
jmp 0x6edbd1
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6edc8a
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
sub eax, dword [ebp - 0xc]
cmp dword [ebp + 8], eax
ja 0x6edc08
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp + 8]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x6edc08
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xc]
mov dword [ebp + 8], eax
jmp 0x6edc85
cmp dword [ebp - 0x18], 0
jle 0x6edc39
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
sub edx, dword [ebp - 0x18]
cmp dword [ebp + 8], edx
ja 0x6edc39
mov ecx, dword [ebp - 0x18]
lea edi, [ebp - 0x104]
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x6edc39
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x18]
mov dword [ebp + 8], ecx
jmp 0x6edc85
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6edc7e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6edc7e
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6edc7e
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6edc7e
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
jmp 0x6edbc8
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6edc9a
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6eddba
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6edcb5
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6edcf6
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6edd08
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
sub eax, dword [ebp - 0xc]
cmp dword [ebp + 8], eax
ja 0x6edd33
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp + 8]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x6edd33
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xc]
mov dword [ebp + 8], eax
jmp 0x6eddb0
cmp dword [ebp - 0x18], 0
jle 0x6edd64
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
sub edx, dword [ebp - 0x18]
cmp dword [ebp + 8], edx
ja 0x6edd64
mov ecx, dword [ebp - 0x18]
lea edi, [ebp - 0x104]
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x6edd64
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x18]
mov dword [ebp + 8], ecx
jmp 0x6eddb0
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6edda9
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6edda9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6edda9
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6edda9
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
jmp 0x6edcac
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6eddd1
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6ede88
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
sub edx, dword [ebp - 0xc]
cmp dword [ebp + 8], edx
ja 0x6ede0b
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp + 8]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x6ede0b
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xc]
mov dword [ebp + 8], ecx
jmp 0x6ede83
cmp dword [ebp - 0x18], 0
jle 0x6ede3c
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
sub eax, dword [ebp - 0x18]
cmp dword [ebp + 8], eax
ja 0x6ede3c
mov ecx, dword [ebp - 0x18]
lea edi, [ebp - 0x104]
mov esi, dword [ebp + 8]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x6ede3c
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x18]
mov dword [ebp + 8], eax
jmp 0x6ede83
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ede81
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ede81
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ede81
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ede81
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ede88
jmp 0x6eddc8
cmp dword [ebp - 0x10c], 0
je 0x6ede96
jmp 0x6e5641
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x34]
ja 0x6edea3
jmp 0x6e55c6
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6edee4
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x6edf0a
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6edeed
jmp 0x6ede96
jmp 0x6edf23
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0x114], 0x2e
jb 0x6ee206
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x20], 1
jmp 0x6edf58
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6edfed
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6edfb0
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6edfa9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6edfa9
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6edfa9
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x21c]
je 0x6edfdf
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x21c]
je 0x6edfdf
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6edf4f
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x124]
jne 0x6edffd
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6ee0f9
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6ee018
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ee059
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jl 0x6ee06b
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ee0b7
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ee0b0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ee0b0
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ee0b0
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x220]
je 0x6ee0e6
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x220]
je 0x6ee0e6
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ee00f
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6ee110
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6ee19a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ee162
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ee160
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ee160
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ee160
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ee19a
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x224]
je 0x6ee18c
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x224]
je 0x6ee18c
jmp 0x6ee19a
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ee107
cmp dword [ebp - 0x10c], 0
je 0x6ee1a8
jmp 0x6e5641
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x34]
jne 0x6ee1b5
jmp 0x6e55c6
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x120], 0
je 0x6ee1ff
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
jmp 0x6ee1a8
mov dword [ebp - 0x20], 1
jmp 0x6ee218
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6ee28e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ee26c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ee265
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ee265
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ee265
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp ecx, eax
je 0x6ee28c
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ee20f
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6ee29e
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6ee382
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ee2b9
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ee2fa
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6ee30c
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ee358
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ee351
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ee351
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ee351
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp edx, ecx
je 0x6ee378
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ee2b0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6ee399
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6ee406
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ee3eb
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ee3e9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ee3e9
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ee3e9
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ee406
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp dword [ebp - 0x110], ecx
je 0x6ee3fb
jmp 0x6ee406
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6ee390
cmp dword [ebp - 0x10c], 0
je 0x6ee414
jmp 0x6e5641
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x34]
jne 0x6ee421
jmp 0x6e55c6
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x120], 0
je 0x6ee46b
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
jmp 0x6ee414
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ee4b9
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ee4b2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6ee4b2
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6ee4b2
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0xec], 0
je 0x6ee8ed
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0x22c], 0xc0
jb 0x6ee685
mov edx, dword [ebp - 0x22c]
and edx, 0x20
jne 0x6ee52a
mov eax, dword [ebp - 0x22c]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6ee685
mov ecx, dword [ebp - 0x22c]
and ecx, 0x10
jne 0x6ee56f
mov edx, dword [ebp - 0x22c]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x22c], edx
mov edx, dword [ebp + 0xc]
add edx, 2
mov dword [ebp + 0xc], edx
jmp 0x6ee685
mov eax, dword [ebp - 0x22c]
and eax, 8
jne 0x6ee5c3
mov ecx, dword [ebp - 0x22c]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6ee685
mov edx, dword [ebp - 0x22c]
and edx, 4
jne 0x6ee623
mov eax, dword [ebp - 0x22c]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x6ee685
mov ecx, dword [ebp - 0x22c]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 5
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6ee83b
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6ee6e0
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ee83b
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6ee725
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6ee83b
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6ee779
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6ee83b
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6ee7d9
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6ee83b
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x114], 0x1f
jne 0x6ee85e
mov edx, dword [ebp - 0x22c]
cmp edx, dword [ebp - 0x110]
jne 0x6ee859
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ee8eb
cmp dword [ebp - 0x22c], 0x7f
jbe 0x6ee8b2
mov eax, dword [ebp - 0x22c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x22c]
and ecx, 0x8000007f
jns 0x6ee893
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
mov eax, dword [ebp - 0x22c]
add eax, dword [edx*8 + 0x7ac5ac]
mov dword [ebp - 0x228], eax
jmp 0x6ee8c8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x22c]
movzx ecx, byte [edx + eax]
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x22c]
cmp edx, dword [ebp - 0x110]
je 0x6ee8e4
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x110]
jne 0x6ee8eb
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ee94e
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x110]
je 0x6ee93e
cmp dword [ebp - 0x114], 0x20
jne 0x6ee945
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x230]
movzx ecx, byte [edx + eax]
cmp ecx, dword [ebp - 0x110]
jne 0x6ee945
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0xc]
add edx, 2
mov dword [ebp + 0xc], edx
jmp 0x6fc2e7
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6eeb04
mov dword [ebp - 0x28], 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
cmp edx, 0x42
je 0x6ee9c5
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp ecx, 0x4f
je 0x6ee9c5
mov dword [ebp - 0x3e4], 0
jmp 0x6ee9cf
mov dword [ebp - 0x3e4], 1
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x6eeb04
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x124], getsockname
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6eeb04
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x124], getsockname
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6eeb04
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x124], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6eeb04
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x124], edx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6eeb04
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
cmp dword [ebp - 0x114], 0x48
sbb edx, edx
and edx, 0xfffffff3
add edx, 0x48
sub ecx, edx
mov dword [ebp - 0x110], ecx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x110]
and ecx, 1
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x110]
movsx eax, byte [edx + 0x7ab8f8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x110]
movsx edx, byte [ecx + 0x7ab904]
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x124], 0
jne 0x6eeb04
mov dword [ebp - 0x124], getsockname
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
cmp dword [ebp - 0xec], 0
je 0x6eecc7
cmp dword [ebp - 0x110], 0xc0
jb 0x6eecc7
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6eeb6c
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6eecc7
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6eebb1
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0xc]
add eax, 2
mov dword [ebp + 0xc], eax
jmp 0x6eecc7
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6eec05
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6eecc7
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6eec65
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x6eecc7
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 0xc]
add edx, 5
mov dword [ebp + 0xc], edx
cmp dword [ebp - 0x114], 0x48
jb 0x6ef7e4
cmp dword [ebp - 0xec], 0
je 0x6eed31
cmp dword [ebp - 0x110], 0x7f
jbe 0x6eed31
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6eed12
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
mov eax, dword [ebp - 0x110]
add eax, dword [edx*8 + 0x7ac5ac]
mov dword [ebp - 0x118], eax
jmp 0x6eed47
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
mov dword [ebp - 0x118], ecx
cmp dword [ebp - 0xec], 0
je 0x6eefa1
mov dword [ebp - 0x20], 1
jmp 0x6eed66
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6eef9c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6eedbe
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6eedb7
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6eedb7
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6eedb7
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x234], 0xc0
jb 0x6eef74
mov edx, dword [ebp - 0x234]
and edx, 0x20
jne 0x6eee19
mov eax, dword [ebp - 0x234]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6eef74
mov ecx, dword [ebp - 0x234]
and ecx, 0x10
jne 0x6eee5e
mov edx, dword [ebp - 0x234]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x234], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6eef74
mov eax, dword [ebp - 0x234]
and eax, 8
jne 0x6eeeb2
mov ecx, dword [ebp - 0x234]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x234], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6eef74
mov edx, dword [ebp - 0x234]
and edx, 4
jne 0x6eef12
mov eax, dword [ebp - 0x234]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x234], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6eef74
mov ecx, dword [ebp - 0x234]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x234], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x234]
je 0x6eef90
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x234]
jne 0x6eef97
xor eax, eax
jmp 0x6fc2ec
jmp 0x6eed5d
jmp 0x6ef038
mov dword [ebp - 0x20], 1
jmp 0x6eefb3
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6ef038
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ef007
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ef000
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6ef000
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6ef000
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp dword [ebp - 0x110], edx
je 0x6ef023
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp dword [ebp - 0x118], ecx
jne 0x6ef02a
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6eefaa
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6ef048
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6ef3d8
cmp dword [ebp - 0xec], 0
je 0x6ef2f2
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ef070
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ef0b1
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6ef0c3
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6ef10f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6ef108
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6ef108
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6ef108
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x238], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x238], 0xc0
jb 0x6ef2c5
mov eax, dword [ebp - 0x238]
and eax, 0x20
jne 0x6ef16a
mov ecx, dword [ebp - 0x238]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x238], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6ef2c5
mov edx, dword [ebp - 0x238]
and edx, 0x10
jne 0x6ef1af
mov eax, dword [ebp - 0x238]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6ef2c5
mov ecx, dword [ebp - 0x238]
and ecx, 8
jne 0x6ef203
mov edx, dword [ebp - 0x238]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x238], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6ef2c5
mov eax, dword [ebp - 0x238]
and eax, 4
jne 0x6ef263
mov ecx, dword [ebp - 0x238]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x238], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6ef2c5
mov edx, dword [ebp - 0x238]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x238], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x238]
je 0x6ef2e1
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x238]
jne 0x6ef2e8
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ef067
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6ef303
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ef344
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6ef356
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ef3a2
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ef39b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6ef39b
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6ef39b
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp dword [ebp - 0x110], edx
je 0x6ef3be
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp dword [ebp - 0x118], ecx
jne 0x6ef3c5
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6ef2fa
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xec], 0
je 0x6ef6e9
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ef3fc
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6ef65e
mov dword [ebp - 0x240], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ef45f
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ef45a
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ef45a
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ef45a
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ef65e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xc0
jb 0x6ef62f
mov ecx, dword [ebp - 0x23c]
and ecx, 0x20
jne 0x6ef4b8
mov edx, dword [ebp - 0x23c]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x23c], edx
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
jmp 0x6ef62f
mov eax, dword [ebp - 0x23c]
and eax, 0x10
jne 0x6ef504
mov ecx, dword [ebp - 0x23c]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x23c], ecx
mov ecx, dword [ebp - 0x240]
add ecx, 2
mov dword [ebp - 0x240], ecx
jmp 0x6ef62f
mov edx, dword [ebp - 0x23c]
and edx, 8
jne 0x6ef55f
mov eax, dword [ebp - 0x23c]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x240]
add eax, 3
mov dword [ebp - 0x240], eax
jmp 0x6ef62f
mov ecx, dword [ebp - 0x23c]
and ecx, 4
jne 0x6ef5c6
mov edx, dword [ebp - 0x23c]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x23c], edx
mov edx, dword [ebp - 0x240]
add edx, 4
mov dword [ebp - 0x240], edx
jmp 0x6ef62f
mov eax, dword [ebp - 0x23c]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x240]
add eax, 5
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x23c]
je 0x6ef64b
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x23c]
jne 0x6ef64d
jmp 0x6ef65e
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x240]
mov dword [ebp + 8], eax
jmp 0x6ef3f3
cmp dword [ebp - 0x10c], 0
je 0x6ef66c
jmp 0x6e5641
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
ja 0x6ef679
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ef6ba
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6ef6e2
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x6ef6c3
jmp 0x6ef66c
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6ef6fa
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6ef778
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6ef74c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6ef74a
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6ef74a
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6ef74a
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6ef778
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp dword [ebp - 0x110], eax
je 0x6ef768
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp dword [ebp - 0x118], edx
jne 0x6ef76a
jmp 0x6ef778
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6ef6f1
cmp dword [ebp - 0x10c], 0
je 0x6ef786
jmp 0x6e5641
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
jne 0x6ef793
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6ef7d4
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x6ef786
cmp dword [ebp - 0xec], 0
je 0x6efa30
mov dword [ebp - 0x20], 1
jmp 0x6ef803
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6efa2b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6ef85b
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6ef854
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6ef854
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6ef854
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x244], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x244], 0xc0
jb 0x6efa11
mov ecx, dword [ebp - 0x244]
and ecx, 0x20
jne 0x6ef8b6
mov edx, dword [ebp - 0x244]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x244], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6efa11
mov eax, dword [ebp - 0x244]
and eax, 0x10
jne 0x6ef8fb
mov ecx, dword [ebp - 0x244]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x244], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6efa11
mov edx, dword [ebp - 0x244]
and edx, 8
jne 0x6ef94f
mov eax, dword [ebp - 0x244]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6efa11
mov ecx, dword [ebp - 0x244]
and ecx, 4
jne 0x6ef9af
mov edx, dword [ebp - 0x244]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x244], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6efa11
mov eax, dword [ebp - 0x244]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x244]
jne 0x6efa26
xor eax, eax
jmp 0x6fc2ec
jmp 0x6ef7fa
jmp 0x6efab8
mov dword [ebp - 0x20], 1
jmp 0x6efa42
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6efab8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6efa96
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6efa8f
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6efa8f
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6efa8f
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp ecx, eax
jne 0x6efab6
xor eax, eax
jmp 0x6fc2ec
jmp 0x6efa39
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6efac8
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6efe3e
cmp dword [ebp - 0xec], 0
je 0x6efd64
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6efaf0
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6efb31
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6efb43
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6efb8f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6efb88
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6efb88
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6efb88
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x248], 0xc0
jb 0x6efd45
mov eax, dword [ebp - 0x248]
and eax, 0x20
jne 0x6efbea
mov ecx, dword [ebp - 0x248]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x248], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6efd45
mov edx, dword [ebp - 0x248]
and edx, 0x10
jne 0x6efc2f
mov eax, dword [ebp - 0x248]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x248], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6efd45
mov ecx, dword [ebp - 0x248]
and ecx, 8
jne 0x6efc83
mov edx, dword [ebp - 0x248]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x248], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6efd45
mov eax, dword [ebp - 0x248]
and eax, 4
jne 0x6efce3
mov ecx, dword [ebp - 0x248]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x248], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6efd45
mov edx, dword [ebp - 0x248]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x248], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x248]
jne 0x6efd5a
xor eax, eax
jmp 0x6fc2ec
jmp 0x6efae7
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6efd75
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6efdb6
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6efdc8
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6efe14
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6efe0d
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6efe0d
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6efe0d
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp edx, ecx
jne 0x6efe34
xor eax, eax
jmp 0x6fc2ec
jmp 0x6efd6c
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0xec], 0
je 0x6f0141
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6efe62
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6f00b6
mov dword [ebp - 0x250], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6efec5
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6efec0
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6efec0
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6efec0
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f00b6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 0xc0
jb 0x6f0095
mov edx, dword [ebp - 0x24c]
and edx, 0x20
jne 0x6eff1e
mov eax, dword [ebp - 0x24c]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
add eax, 1
mov dword [ebp - 0x250], eax
jmp 0x6f0095
mov ecx, dword [ebp - 0x24c]
and ecx, 0x10
jne 0x6eff6a
mov edx, dword [ebp - 0x24c]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x24c], edx
mov edx, dword [ebp - 0x250]
add edx, 2
mov dword [ebp - 0x250], edx
jmp 0x6f0095
mov eax, dword [ebp - 0x24c]
and eax, 8
jne 0x6effc5
mov ecx, dword [ebp - 0x24c]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x24c], ecx
mov ecx, dword [ebp - 0x250]
add ecx, 3
mov dword [ebp - 0x250], ecx
jmp 0x6f0095
mov edx, dword [ebp - 0x24c]
and edx, 4
jne 0x6f002c
mov eax, dword [ebp - 0x24c]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
add eax, 4
mov dword [ebp - 0x250], eax
jmp 0x6f0095
mov ecx, dword [ebp - 0x24c]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x24c], ecx
mov ecx, dword [ebp - 0x250]
add ecx, 5
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x24c]
jne 0x6f00a5
jmp 0x6f00b6
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x250]
mov dword [ebp + 8], eax
jmp 0x6efe59
cmp dword [ebp - 0x10c], 0
je 0x6f00c4
jmp 0x6e5641
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
ja 0x6f00d1
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f0112
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6f013a
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x6f011b
jmp 0x6f00c4
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f0152
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6f01bf
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f01a4
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f01a2
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f01a2
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f01a2
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f01bf
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp dword [ebp - 0x110], eax
jne 0x6f01b4
jmp 0x6f01bf
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f0149
cmp dword [ebp - 0x10c], 0
je 0x6f01cd
jmp 0x6e5641
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x34]
jne 0x6f01da
jmp 0x6e55c6
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f021b
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f01cd
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 1
mov ecx, dword [ebp + 0xc]
add ecx, 3
mov dword [ebp + 0xc], ecx
jmp 0x6f03ac
mov dword [ebp - 0x28], 0
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
or eax, edx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x5c
sete dl
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp + 0xc]
add eax, 3
mov dword [ebp + 0xc], eax
jmp 0x6f03ac
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x124], getsockname
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
jmp 0x6f03ac
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x124], getsockname
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6f03ac
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x124], 1
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x6f03ac
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x28], 0
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 2]
or edx, ecx
mov dword [ebp - 0x124], edx
mov edx, dword [ebp + 0xc]
add edx, 3
mov dword [ebp + 0xc], edx
jmp 0x6f03ac
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
sub ecx, 0x55
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x110]
and eax, 1
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x110]
movsx edx, byte [ecx + 0x7ab8f8]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax + 0x7ab904]
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0
jne 0x6f03ac
mov dword [ebp - 0x124], getsockname
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
cmp dword [ebp - 0x10], 0x10
je 0x6f03ca
cmp dword [ebp - 0x10], 0xf
jne 0x6f0402
xor edx, edx
cmp dword [ebp - 0x10], 0xf
sete dl
mov dword [ebp - 0x108], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp + 0xc]
add edx, 1
mov dword [ebp + 0xc], edx
jmp 0x6f0409
mov dword [ebp - 0x38], 0xffffffff
cmp dword [ebp - 0x28], 0
jle 0x6f4567
cmp dword [ebp - 0x38], 0
jl 0x6f1f5b
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3e8], eax
cmp dword [ebp - 0x3e8], 0xa
ja case.default.0x6f0439
mov ecx, dword [ebp - 0x3e8]
jmp dword [ecx*4 + 0x6fc5a8]
cmp dword [ebp - 0x108], 0
je 0x6f0450
xor eax, eax
jmp 0x6fc2ec
mov dword [ebp - 0x20], 1
jmp 0x6f0462
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f0682
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f04ba
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f04b3
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f04b3
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f04b3
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f067d
cmp dword [ebp - 0x110], 0xc0
jb 0x6f067d
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f0522
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f067d
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f0567
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f067d
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f05bb
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f067d
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f061b
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f067d
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
jmp 0x6f0459
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f0699
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f0942
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f06f1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f06ea
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f06ea
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f06ea
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f08b4
cmp dword [ebp - 0x110], 0xc0
jb 0x6f08b4
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f0759
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f08b4
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f079e
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f08b4
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f07f2
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f08b4
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f0852
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f08b4
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f08df
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 9
je 0x6f091e
cmp dword [ebp - 0x254], 5
je 0x6f091e
cmp dword [ebp - 0x254], 8
je 0x6f091e
mov dword [ebp - 0x3ec], 0
jmp 0x6f0928
mov dword [ebp - 0x3ec], 1
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [ebp - 0x108]
jne 0x6f093d
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f0690
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f0959
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f0bd8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f09b1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f09aa
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f09aa
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f09aa
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f0b74
cmp dword [ebp - 0x110], 0xc0
jb 0x6f0b74
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f0a19
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f0b74
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f0a5e
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f0b74
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f0ab2
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f0b74
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f0b12
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f0b74
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f0ba0
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5a9]
mov edx, dword [ecx*4 + 0x7abae8]
xor eax, eax
cmp edx, dword [ebp - 0xe4]
sete al
cmp eax, dword [ebp - 0x108]
jne 0x6f0bd3
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f0950
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f0bef
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f0e67
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f0c47
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f0c40
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f0c40
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f0c40
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f0e0a
cmp dword [ebp - 0x110], 0xc0
jb 0x6f0e0a
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f0caf
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f0e0a
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f0cf4
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f0e0a
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f0d48
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f0e0a
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f0da8
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f0e0a
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f0e36
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5a9]
xor edx, edx
cmp ecx, dword [ebp - 0xe4]
sete dl
cmp edx, dword [ebp - 0x108]
jne 0x6f0e62
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f0be6
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f0e7e
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f10f6
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f0ed6
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f0ecf
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f0ecf
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f0ecf
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6f1099
cmp dword [ebp - 0x110], 0xc0
jb 0x6f1099
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f0f3e
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f1099
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f0f83
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6f1099
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f0fd7
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6f1099
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f1037
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6f1099
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f10c5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a8]
xor ecx, ecx
cmp eax, dword [ebp - 0xe4]
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f10f1
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f0e75
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f110d
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f13b4
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f1165
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f115e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f115e
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f115e
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f1328
cmp dword [ebp - 0x110], 0xc0
jb 0x6f1328
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f11cd
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f1328
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f1212
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f1328
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f1266
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f1328
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f12c6
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f1328
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f1353
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov eax, dword [edx*4 + 0x7abae8]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 1
je 0x6f1390
cmp dword [ebp - 0x258], 3
je 0x6f1390
mov dword [ebp - 0x3f0], 0
jmp 0x6f139a
mov dword [ebp - 0x3f0], 1
mov ecx, dword [ebp - 0x3f0]
cmp ecx, dword [ebp - 0x108]
jne 0x6f13af
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f1104
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f13cb
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f173d
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f1423
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f141c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f141c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f141c
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f15e6
cmp dword [ebp - 0x110], 0xc0
jb 0x6f15e6
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f148b
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f15e6
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f14d0
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f15e6
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f1524
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f15e6
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f1584
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f15e6
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0x180e
ja 0x6f166c
cmp dword [ebp - 0x3f4], 0x180e
je case.0x6f16ab.0
cmp dword [ebp - 0x3f4], 0x85
ja 0x6f1652
cmp dword [ebp - 0x3f4], 0x85
je case.0x6f16ab.0
cmp dword [ebp - 0x3f4], 9
jb case.0x6f16ab.11
cmp dword [ebp - 0x3f4], 0xd
jbe case.0x6f16ab.0
cmp dword [ebp - 0x3f4], 0x20
je case.0x6f16ab.0
jmp case.0x6f16ab.11
cmp dword [ebp - 0x3f4], 0xa0
je case.0x6f16ab.0
cmp dword [ebp - 0x3f4], 0x1680
je case.0x6f16ab.0
jmp case.0x6f16ab.11
cmp dword [ebp - 0x3f4], 0x202f
ja 0x6f16b2
cmp dword [ebp - 0x3f4], 0x202f
je case.0x6f16ab.0
mov eax, dword [ebp - 0x3f4]
sub eax, 0x2000
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0x29
ja case.0x6f16ab.11
mov ecx, dword [ebp - 0x3f4]
movzx edx, byte [ecx + 0x6fc5dc]
jmp dword [edx*4 + 0x6fc5d4]
cmp dword [ebp - 0x3f4], 0x205f
je case.0x6f16ab.0
cmp dword [ebp - 0x3f4], 0x3000
je case.0x6f16ab.0
jmp case.0x6f16ab.11
cmp dword [ebp - 0x108], 0
je 0x6f16dc
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f1738
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f170a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
xor ecx, ecx
cmp dword [eax*4 + 0x7abae8], 6
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f1738
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f13c2
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f1754
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f1a04
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f17ac
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f17a5
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f17a5
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f17a5
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f196f
cmp dword [ebp - 0x110], 0xc0
jb 0x6f196f
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f1814
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f196f
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f1859
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f196f
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f18ad
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f196f
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f190d
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f196f
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f199a
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov eax, dword [edx*4 + 0x7abae8]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 1
je 0x6f19e0
cmp dword [ebp - 0x25c], 3
je 0x6f19e0
cmp dword [ebp - 0x110], 0x5f
je 0x6f19e0
mov dword [ebp - 0x3f8], 0
jmp 0x6f19ea
mov dword [ebp - 0x3f8], 1
mov ecx, dword [ebp - 0x3f8]
cmp ecx, dword [ebp - 0x108]
jne 0x6f19ff
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f174b
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f1a1b
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f1ca9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f1a73
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f1a6c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f1a6c
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f1a6c
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f1c36
cmp dword [ebp - 0x110], 0xc0
jb 0x6f1c36
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f1adb
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f1c36
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f1b20
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f1c36
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f1b74
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f1c36
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f1bd4
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f1c36
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0xe4]
lea eax, [edx*4 + 0x7ac468]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x110]
cmp edx, dword [ecx]
jae 0x6f1c6d
cmp dword [ebp - 0x108], 0
je 0x6f1c66
jmp 0x6f1ca4
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x110]
mov edx, dword [eax]
mov eax, dword [ebp - 0x260]
add eax, 4
mov dword [ebp - 0x260], eax
cmp ecx, edx
jne 0x6f1ca2
cmp dword [ebp - 0x108], 0
je 0x6f1ca0
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f1ca4
jmp 0x6f1c49
jmp 0x6f1a12
jmp 0x6f1f56
mov dword [ebp - 0x20], 1
jmp 0x6f1cc0
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f1f4a
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f1d18
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f1d11
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f1d11
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f1d11
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f1edb
cmp dword [ebp - 0x110], 0xc0
jb 0x6f1edb
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f1d80
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f1edb
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f1dc5
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f1edb
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f1e19
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f1edb
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f1e79
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f1edb
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
cmp dword [ebp - 0x110], 0x24
je 0x6f1f26
cmp dword [ebp - 0x110], 0x40
je 0x6f1f26
cmp dword [ebp - 0x110], 0x60
je 0x6f1f26
cmp dword [ebp - 0x110], 0xa0
jb 0x6f1f0e
cmp dword [ebp - 0x110], 0xd7ff
jbe 0x6f1f26
cmp dword [ebp - 0x110], 0xe000
jae 0x6f1f26
mov dword [ebp - 0x3fc], 0
jmp 0x6f1f30
mov dword [ebp - 0x3fc], 1
mov ecx, dword [ebp - 0x3fc]
cmp ecx, dword [ebp - 0x108]
jne 0x6f1f45
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f1cb7
jmp 0x6f1f56
mov eax, 0xfffffff2
jmp 0x6fc2ec
jmp 0x6f4567
cmp dword [ebp - 0x10], 0x16
jne 0x6f24ab
mov dword [ebp - 0x20], 1
jmp 0x6f1f77
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f24a6
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f1fd4
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f1fc8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f1fc8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f1fc8
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f2197
cmp dword [ebp - 0x110], 0xc0
jb 0x6f2197
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f203c
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f2197
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f2081
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f2197
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f20d5
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f2197
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f2135
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f2197
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f21c2
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5aa]
mov dword [ebp - 0x268], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6f245c
mov dword [ebp - 0x26c], 1
cmp dword [ebp - 0xec], 0
jne 0x6f220d
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
jmp 0x6f23dd
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f23dd
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f2266
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x26c]
add ecx, 1
mov dword [ebp - 0x26c], ecx
jmp 0x6f23dd
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f22b2
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x26c]
add eax, 2
mov dword [ebp - 0x26c], eax
jmp 0x6f23dd
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f230d
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x26c]
add edx, 3
mov dword [ebp - 0x26c], edx
jmp 0x6f23dd
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f2374
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x26c]
add ecx, 4
mov dword [ebp - 0x26c], ecx
jmp 0x6f23dd
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x26c]
add edx, 5
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f2409
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5aa]
mov dword [ebp - 0x264], eax
mov edx, 1
mov ecx, dword [ebp - 0x264]
shl edx, cl
mov eax, dword [ebp - 0x268]
and edx, dword [eax*4 + 0x7aba74]
jne 0x6f243f
jmp 0x6f245c
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x26c]
mov dword [ebp + 8], edx
jmp 0x6f21da
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f24a1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f24a1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f24a1
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f24a1
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f1f6e
jmp 0x6f4567
cmp dword [ebp - 0xec], 0
je 0x6f3b3b
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x400]
sub edx, 6
mov dword [ebp - 0x400], edx
cmp dword [ebp - 0x400], 0xf
ja case.0x6f24e3.9
mov eax, dword [ebp - 0x400]
jmp dword [eax*4 + 0x6fc608]
mov dword [ebp - 0x20], 1
jmp 0x6f24fc
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f26bc
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f2554
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f254d
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f254d
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f254d
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x6f25b8
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f25a0
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6f25a0
mov dword [ebp - 0x404], 1
jmp 0x6f25aa
mov dword [ebp - 0x404], 0
mov edx, dword [ebp - 0x404]
mov dword [ebp - 0x408], edx
jmp 0x6f2617
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x6f2601
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x6f2601
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x6f25f5
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x35]
cmp eax, edx
jne 0x6f2601
mov dword [ebp - 0x40c], 1
jmp 0x6f260b
mov dword [ebp - 0x40c], 0
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
je 0x6f2627
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f2684
mov edx, dword [ebp + 8]
add edx, 1
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x78]
jb 0x6f2684
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
jne 0x6f2684
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 2
jne 0x6f2684
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x6f2684
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f2684
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jae 0x6f26b7
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6f26b7
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f268d
jmp 0x6f24f3
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f26d3
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f2763
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f272b
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f2724
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f2724
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f2724
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jae 0x6f275e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6f275e
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f2734
jmp 0x6f26ca
jmp 0x6f3b36
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
sub ecx, dword [ebp - 0x28]
cmp dword [ebp + 8], ecx
jbe 0x6f277d
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x28]
mov dword [ebp + 8], edx
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f279d
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f2a49
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f27f5
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f27ee
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f27ee
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f27ee
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f29ab
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f2850
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f29ab
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f2895
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6f29ab
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f28e9
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6f29ab
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f2949
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6f29ab
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x410], eax
cmp dword [ebp - 0x410], 0xd
ja 0x6f29e6
cmp dword [ebp - 0x410], 0xd
je 0x6f2a11
cmp dword [ebp - 0x410], 0xa
je 0x6f2a32
cmp dword [ebp - 0x410], 0xa
jbe 0x6f2a0a
cmp dword [ebp - 0x410], 0xc
jbe 0x6f2a34
jmp 0x6f2a0a
cmp dword [ebp - 0x410], 0x85
je 0x6f2a34
cmp dword [ebp - 0x410], 0x2027
jbe 0x6f2a0a
cmp dword [ebp - 0x410], 0x2029
jbe 0x6f2a34
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jae 0x6f2a30
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x6f2a30
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f2a44
jmp 0x6f2a44
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x68], 0
je 0x6f2a44
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f2794
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f2a60
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f2d28
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f2ab8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f2ab1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f2ab1
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f2ab1
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6f2c6e
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f2b13
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f2c6e
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f2b58
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f2c6e
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f2bac
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f2c6e
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f2c0c
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f2c6e
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x414], ecx
cmp dword [ebp - 0x414], 0x180e
ja 0x6f2cd0
cmp dword [ebp - 0x414], 0x180e
je 0x6f2d1c
cmp dword [ebp - 0x414], 0xa0
ja 0x6f2cc2
cmp dword [ebp - 0x414], 0xa0
je 0x6f2d1c
cmp dword [ebp - 0x414], 9
je 0x6f2d1c
cmp dword [ebp - 0x414], 0x20
je 0x6f2d1c
jmp 0x6f2d23
cmp dword [ebp - 0x414], 0x1680
je 0x6f2d1c
jmp 0x6f2d23
cmp dword [ebp - 0x414], 0x205f
ja 0x6f2d0e
cmp dword [ebp - 0x414], 0x205f
je 0x6f2d1c
cmp dword [ebp - 0x414], 0x2000
jb 0x6f2d23
cmp dword [ebp - 0x414], 0x200a
jbe 0x6f2d1c
cmp dword [ebp - 0x414], 0x202f
je 0x6f2d1c
jmp 0x6f2d23
cmp dword [ebp - 0x414], 0x3000
je 0x6f2d1c
jmp 0x6f2d23
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f2a57
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f2d3f
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f3009
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f2d97
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f2d90
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f2d90
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f2d90
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f2f4d
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f2df2
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f2f4d
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f2e37
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f2f4d
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f2e8b
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f2f4d
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f2eeb
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f2f4d
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x418], edx
cmp dword [ebp - 0x418], 0x180e
ja 0x6f2faf
cmp dword [ebp - 0x418], 0x180e
je 0x6f2ffb
cmp dword [ebp - 0x418], 0xa0
ja 0x6f2fa1
cmp dword [ebp - 0x418], 0xa0
je 0x6f2ffb
cmp dword [ebp - 0x418], 9
je 0x6f2ffb
cmp dword [ebp - 0x418], 0x20
je 0x6f2ffb
jmp 0x6f2ffd
cmp dword [ebp - 0x418], 0x1680
je 0x6f2ffb
jmp 0x6f2ffd
cmp dword [ebp - 0x418], 0x205f
ja 0x6f2fed
cmp dword [ebp - 0x418], 0x205f
je 0x6f2ffb
cmp dword [ebp - 0x418], 0x2000
jb 0x6f2ffd
cmp dword [ebp - 0x418], 0x200a
jbe 0x6f2ffb
cmp dword [ebp - 0x418], 0x202f
je 0x6f2ffb
jmp 0x6f2ffd
cmp dword [ebp - 0x418], 0x3000
je 0x6f2ffb
jmp 0x6f2ffd
jmp 0x6f3004
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f2d36
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f3020
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f328c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f3078
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f3071
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f3071
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f3071
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f322e
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f30d3
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f322e
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f3118
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6f322e
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f316c
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6f322e
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f31cc
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6f322e
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0x85
ja 0x6f3266
cmp dword [ebp - 0x41c], 0x85
je 0x6f3280
cmp dword [ebp - 0x41c], 0xa
jb 0x6f3287
cmp dword [ebp - 0x41c], 0xd
jbe 0x6f3280
jmp 0x6f3287
cmp dword [ebp - 0x41c], 0x2028
jb 0x6f3287
cmp dword [ebp - 0x41c], 0x2029
jbe 0x6f3280
jmp 0x6f3287
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f3017
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f32a3
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f3511
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f32fb
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f32f4
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f32f4
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f32f4
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6f34b1
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f3356
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f34b1
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f339b
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f34b1
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f33ef
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f34b1
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f344f
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f34b1
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x420], ecx
cmp dword [ebp - 0x420], 0x85
ja 0x6f34e9
cmp dword [ebp - 0x420], 0x85
je 0x6f3503
cmp dword [ebp - 0x420], 0xa
jb 0x6f3505
cmp dword [ebp - 0x420], 0xd
jbe 0x6f3503
jmp 0x6f3505
cmp dword [ebp - 0x420], 0x2028
jb 0x6f3505
cmp dword [ebp - 0x420], 0x2029
jbe 0x6f3503
jmp 0x6f3505
jmp 0x6f350c
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f329a
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f3528
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f3763
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f3580
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f3579
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f3579
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f3579
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f3736
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f35db
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f3736
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f3620
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f3736
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f3674
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f3736
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f36d4
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f3736
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x110], 0x80
jae 0x6f375e
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 4
je 0x6f375e
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f351f
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f377a
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f3814
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f37d2
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f37cb
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f37cb
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f37cb
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x270], ecx
cmp dword [ebp - 0x270], 0x80
jae 0x6f37ff
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x270]
movzx edx, byte [eax + ecx]
and edx, 4
jne 0x6f3806
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f3771
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f382b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f38ef
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f3883
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f387c
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f387c
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f387c
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 0x80
jae 0x6f38b7
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x274]
movzx eax, byte [ecx + edx]
and eax, 1
je 0x6f38b7
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f38ea
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6f38ea
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f38c0
jmp 0x6f3822
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f3906
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f39a0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f395e
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f3957
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f3957
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f3957
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x278], edx
cmp dword [ebp - 0x278], 0x80
jae 0x6f398b
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x278]
movzx eax, byte [ecx + edx]
and eax, 1
jne 0x6f3992
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f38fd
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f39b7
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f3a79
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f3a0f
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f3a08
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f3a08
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f3a08
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0x80
jae 0x6f3a43
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x27c]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x6f3a43
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6f3a74
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x6f3a74
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f3a4c
jmp 0x6f39ae
jmp 0x6f3b36
mov dword [ebp - 0x20], 1
jmp 0x6f3a90
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f3b2a
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f3ae8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f3ae1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f3ae1
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f3ae1
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0x80
jae 0x6f3b15
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x280]
movzx ecx, byte [edx + eax]
and ecx, 0x10
jne 0x6f3b1c
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f3a87
jmp 0x6f3b36
mov eax, 0xfffffff2
jmp 0x6fc2ec
jmp 0x6f4567
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x424]
sub ecx, 6
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x424], 0xf
ja case.0x6f3b66.9
mov edx, dword [ebp - 0x424]
jmp dword [edx*4 + 0x6fc648]
mov dword [ebp - 0x20], 1
jmp 0x6f3b7f
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f3d15
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f3bd7
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f3bd0
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f3bd0
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f3bd0
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x18], 0
je 0x6f3c3b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jae 0x6f3c23
mov eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp + 0x18]
add ecx, 0x1c
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6f3c23
mov dword [ebp - 0x428], 1
jmp 0x6f3c2d
mov dword [ebp - 0x428], 0
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x42c], ecx
jmp 0x6f3c9a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov ecx, dword [edx + 0x78]
sub ecx, dword [eax + 0x1c]
cmp dword [ebp + 8], ecx
ja 0x6f3c84
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x34]
cmp eax, edx
jne 0x6f3c84
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 1
je 0x6f3c78
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x35]
cmp edx, ecx
jne 0x6f3c84
mov dword [ebp - 0x430], 1
jmp 0x6f3c8e
mov dword [ebp - 0x430], 0
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x42c], edx
cmp dword [ebp - 0x42c], 0
je 0x6f3caa
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f3d07
mov ecx, dword [ebp + 8]
add ecx, 1
mov edx, dword [ebp + 0x18]
cmp ecx, dword [edx + 0x78]
jb 0x6f3d07
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x18], 0
jne 0x6f3d07
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 2
jne 0x6f3d07
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x34]
cmp eax, edx
jne 0x6f3d07
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f3d07
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f3b76
jmp 0x6f4567
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
sub ecx, dword [ebp - 0x28]
cmp dword [ebp + 8], ecx
jbe 0x6f3d69
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f3d62
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f3d62
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f3d62
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x28]
mov dword [ebp + 8], ecx
jmp 0x6f4567
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
sub eax, dword [ebp - 0x28]
cmp dword [ebp + 8], eax
jbe 0x6f3dc6
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f3dbf
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f3dbf
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f3dbf
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x28]
mov dword [ebp + 8], eax
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f3de6
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f3eca
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f3e3e
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f3e37
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f3e37
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f3e37
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x438]
sub edx, 0xa
mov dword [ebp - 0x438], edx
cmp dword [ebp - 0x438], 0x7b
ja case.0x6f3e84.4
mov eax, dword [ebp - 0x438]
movzx ecx, byte [eax + 0x6fc698]
jmp dword [ecx*4 + 0x6fc688]
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f3eb1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x6f3eb1
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f3ec5
jmp 0x6f3ec5
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x68], 0
je 0x6f3ec5
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f3ddd
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f3ee1
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f3f86
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f3f39
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f3f32
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f3f32
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f3f32
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 9
je 0x6f3f7a
cmp dword [ebp - 0x440], 0x20
je 0x6f3f7a
cmp dword [ebp - 0x440], 0xa0
je 0x6f3f7a
jmp 0x6f3f81
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f3ed8
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f3f9d
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f4040
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f3ff5
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f3fee
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f3fee
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f3fee
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 9
je 0x6f403b
cmp dword [ebp - 0x448], 0x20
je 0x6f403b
cmp dword [ebp - 0x448], 0xa0
je 0x6f403b
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f3f94
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f4057
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f40fc
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f40af
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f40a8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f40a8
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f40a8
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x450], 0xa
jl 0x6f40f7
cmp dword [ebp - 0x450], 0xd
jle 0x6f40f0
cmp dword [ebp - 0x450], 0x85
je 0x6f40f0
jmp 0x6f40f7
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f404e
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f4113
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f41b6
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f416b
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f4164
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f4164
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f4164
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 0xa
jl 0x6f41aa
cmp dword [ebp - 0x458], 0xd
jle 0x6f41b1
cmp dword [ebp - 0x458], 0x85
je 0x6f41b1
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f410a
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f41cd
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f4254
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f4221
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f421a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f421a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f421a
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, 1
test eax, eax
je 0x6f4246
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
movzx edx, byte [ecx + edx]
and edx, 4
je 0x6f4246
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f41c4
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f426b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f42ed
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f42bf
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f42b8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f42b8
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f42b8
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
xor ecx, ecx
jne 0x6f42d8
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
movzx eax, byte [edx + eax]
and eax, 4
jne 0x6f42df
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f4262
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f4304
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f438b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f4358
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f4351
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f4351
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f4351
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, 1
test edx, edx
je 0x6f437d
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
movzx ecx, byte [eax + ecx]
and ecx, 1
je 0x6f437d
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f42fb
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f43a2
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
jg 0x6f4424
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f43f6
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f43ef
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f43ef
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f43ef
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
xor eax, eax
jne 0x6f440f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
movzx edx, byte [ecx + edx]
and edx, 1
jne 0x6f4416
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f4399
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f443b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x28]
jg 0x6f44c2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f448f
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f4488
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f4488
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f4488
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, 1
test ecx, ecx
je 0x6f44b4
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
movzx eax, byte [edx + eax]
and eax, 0x10
je 0x6f44b4
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f4432
jmp 0x6f4567
mov dword [ebp - 0x20], 1
jmp 0x6f44d9
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jg 0x6f455b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f452d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f4526
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f4526
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f4526
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
xor edx, edx
jne 0x6f4546
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
jne 0x6f454d
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f44d0
jmp 0x6f4567
mov eax, 0xfffffff2
jmp 0x6fc2ec
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x124]
jne 0x6f4577
jmp 0x6e5641
cmp dword [ebp - 0x1c], 0
je 0x6f753a
cmp dword [ebp - 0x38], 0
jl 0x6f6357
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 0x45c], 0xa
ja case.default.0x6f45a7
mov edx, dword [ebp - 0x45c]
jmp dword [edx*4 + 0x6fc714]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f45bf
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f4600
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jl 0x6f4612
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f465e
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f4657
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f4657
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f4657
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f4821
cmp dword [ebp - 0x110], 0xc0
jb 0x6f4821
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f46c6
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f4821
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f470b
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f4821
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f475f
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f4821
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f47bf
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f4821
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x108], 0
je 0x6f4831
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f45b6
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f4847
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f4888
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6f489a
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f48e6
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f48df
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f48df
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f48df
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f4aa9
cmp dword [ebp - 0x110], 0xc0
jb 0x6f4aa9
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f494e
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f4aa9
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f4993
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f4aa9
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f49e7
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f4aa9
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f4a47
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f4aa9
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f4ad5
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5a9]
mov dword [ebp - 0x284], ecx
cmp dword [ebp - 0x284], 9
je 0x6f4b14
cmp dword [ebp - 0x284], 5
je 0x6f4b14
cmp dword [ebp - 0x284], 8
je 0x6f4b14
mov dword [ebp - 0x460], 0
jmp 0x6f4b1e
mov dword [ebp - 0x460], 1
mov edx, dword [ebp - 0x460]
cmp edx, dword [ebp - 0x108]
jne 0x6f4b33
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f483e
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f4b49
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f4b8a
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jl 0x6f4b9c
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f4be8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f4be1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f4be1
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f4be1
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f4dab
cmp dword [ebp - 0x110], 0xc0
jb 0x6f4dab
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f4c50
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f4dab
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f4c95
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f4dab
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f4ce9
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f4dab
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f4d49
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f4dab
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f4dd6
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov eax, dword [edx*4 + 0x7abae8]
xor ecx, ecx
cmp eax, dword [ebp - 0xe4]
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f4e09
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f4b40
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f4e1f
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f4e60
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6f4e72
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f4ebe
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f4eb7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f4eb7
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f4eb7
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f5081
cmp dword [ebp - 0x110], 0xc0
jb 0x6f5081
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f4f26
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f5081
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f4f6b
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f5081
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f4fbf
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f5081
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f501f
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f5081
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f50ad
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5a9]
xor edx, edx
cmp ecx, dword [ebp - 0xe4]
sete dl
cmp edx, dword [ebp - 0x108]
jne 0x6f50d9
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f4e16
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f50ef
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f5130
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jl 0x6f5142
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f518e
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f5187
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f5187
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f5187
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f5351
cmp dword [ebp - 0x110], 0xc0
jb 0x6f5351
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f51f6
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f5351
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f523b
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f5351
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f528f
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f5351
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f52ef
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f5351
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f537c
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a8]
xor eax, eax
cmp edx, dword [ebp - 0xe4]
sete al
cmp eax, dword [ebp - 0x108]
jne 0x6f53a8
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f50e6
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f53be
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f53ff
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6f5411
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f545d
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f5456
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f5456
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f5456
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6f5620
cmp dword [ebp - 0x110], 0xc0
jb 0x6f5620
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f54c5
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f5620
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f550a
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6f5620
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f555e
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6f5620
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f55be
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6f5620
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f564c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
mov ecx, dword [eax*4 + 0x7abae8]
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 1
je 0x6f5689
cmp dword [ebp - 0x288], 3
je 0x6f5689
mov dword [ebp - 0x464], 0
jmp 0x6f5693
mov dword [ebp - 0x464], 1
mov edx, dword [ebp - 0x464]
cmp edx, dword [ebp - 0x108]
jne 0x6f56a8
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f53b5
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f56be
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f56ff
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jl 0x6f5711
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f575d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f5756
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f5756
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f5756
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f5920
cmp dword [ebp - 0x110], 0xc0
jb 0x6f5920
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f57c5
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f5920
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f580a
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 2
mov dword [ebp + 8], edx
jmp 0x6f5920
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f585e
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 3
mov dword [ebp + 8], ecx
jmp 0x6f5920
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f58be
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x6f5920
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 5
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x468], edx
cmp dword [ebp - 0x468], 0x180e
ja 0x6f59a6
cmp dword [ebp - 0x468], 0x180e
je case.0x6f59e5.0
cmp dword [ebp - 0x468], 0x85
ja 0x6f598c
cmp dword [ebp - 0x468], 0x85
je case.0x6f59e5.0
cmp dword [ebp - 0x468], 9
jb case.0x6f59e5.11
cmp dword [ebp - 0x468], 0xd
jbe case.0x6f59e5.0
cmp dword [ebp - 0x468], 0x20
je case.0x6f59e5.0
jmp case.0x6f59e5.11
cmp dword [ebp - 0x468], 0xa0
je case.0x6f59e5.0
cmp dword [ebp - 0x468], 0x1680
je case.0x6f59e5.0
jmp case.0x6f59e5.11
cmp dword [ebp - 0x468], 0x202f
ja 0x6f59ec
cmp dword [ebp - 0x468], 0x202f
je case.0x6f59e5.0
mov eax, dword [ebp - 0x468]
sub eax, 0x2000
mov dword [ebp - 0x468], eax
cmp dword [ebp - 0x468], 0x29
ja case.0x6f59e5.11
mov ecx, dword [ebp - 0x468]
movzx edx, byte [ecx + 0x6fc748]
jmp dword [edx*4 + 0x6fc740]
cmp dword [ebp - 0x468], 0x205f
je case.0x6f59e5.0
cmp dword [ebp - 0x468], 0x3000
je case.0x6f59e5.0
jmp case.0x6f59e5.11
cmp dword [ebp - 0x108], 0
je 0x6f5a16
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f5a72
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f5a44
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
xor ecx, ecx
cmp dword [eax*4 + 0x7abae8], 6
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f5a72
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f56b5
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f5a88
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f5ac9
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6f5adb
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f5b27
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f5b20
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f5b20
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f5b20
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f5cea
cmp dword [ebp - 0x110], 0xc0
jb 0x6f5cea
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f5b8f
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f5cea
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f5bd4
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f5cea
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f5c28
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f5cea
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f5c88
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f5cea
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f5d16
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5a9]
mov edx, dword [ecx*4 + 0x7abae8]
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 1
je 0x6f5d5c
cmp dword [ebp - 0x28c], 3
je 0x6f5d5c
cmp dword [ebp - 0x110], 0x5f
je 0x6f5d5c
mov dword [ebp - 0x46c], 0
jmp 0x6f5d66
mov dword [ebp - 0x46c], 1
mov eax, dword [ebp - 0x46c]
cmp eax, dword [ebp - 0x108]
jne 0x6f5d7b
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f5a7f
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f5d91
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f5dd2
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jl 0x6f5de4
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f5e30
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f5e29
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f5e29
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f5e29
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6f5ff3
cmp dword [ebp - 0x110], 0xc0
jb 0x6f5ff3
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f5e98
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f5ff3
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f5edd
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6f5ff3
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f5f31
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6f5ff3
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f5f91
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6f5ff3
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0xe4]
lea ecx, [eax*4 + 0x7ac468]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x110]
cmp eax, dword [edx]
jae 0x6f602a
cmp dword [ebp - 0x108], 0
je 0x6f6023
jmp 0x6f6061
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x110]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x290]
add ecx, 4
mov dword [ebp - 0x290], ecx
cmp edx, eax
jne 0x6f605f
cmp dword [ebp - 0x108], 0
je 0x6f605d
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f6061
jmp 0x6f6006
jmp 0x6f5d88
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f6077
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f60b8
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6f60ca
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f6116
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f610f
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f610f
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f610f
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f62d9
cmp dword [ebp - 0x110], 0xc0
jb 0x6f62d9
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f617e
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f62d9
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f61c3
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f62d9
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f6217
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f62d9
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f6277
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f62d9
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
cmp dword [ebp - 0x110], 0x24
je 0x6f6324
cmp dword [ebp - 0x110], 0x40
je 0x6f6324
cmp dword [ebp - 0x110], 0x60
je 0x6f6324
cmp dword [ebp - 0x110], 0xa0
jb 0x6f630c
cmp dword [ebp - 0x110], 0xd7ff
jbe 0x6f6324
cmp dword [ebp - 0x110], 0xe000
jae 0x6f6324
mov dword [ebp - 0x470], 0
jmp 0x6f632e
mov dword [ebp - 0x470], 1
mov ecx, dword [ebp - 0x470]
cmp ecx, dword [ebp - 0x108]
jne 0x6f6343
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f606e
mov eax, 0xfffffff2
jmp 0x6fc2ec
cmp dword [ebp - 0x10], 0x16
jne 0x6f68ed
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f6372
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f63b3
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6f63c5
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f6416
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f640a
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f640a
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f640a
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
je 0x6f65d9
cmp dword [ebp - 0x110], 0xc0
jb 0x6f65d9
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f647e
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f65d9
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f64c3
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f65d9
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f6517
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f65d9
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f6577
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f65d9
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f6605
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5aa]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f689e
mov dword [ebp - 0x29c], 1
cmp dword [ebp - 0xec], 0
jne 0x6f6650
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
jmp 0x6f6820
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f6820
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f66a9
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x29c]
add eax, 1
mov dword [ebp - 0x29c], eax
jmp 0x6f6820
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f66f5
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x29c]
add edx, 2
mov dword [ebp - 0x29c], edx
jmp 0x6f6820
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f6750
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x29c]
add ecx, 3
mov dword [ebp - 0x29c], ecx
jmp 0x6f6820
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f67b7
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x29c]
add eax, 4
mov dword [ebp - 0x29c], eax
jmp 0x6f6820
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x29c]
add ecx, 5
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f684b
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5aa]
mov dword [ebp - 0x294], edx
mov eax, 1
mov ecx, dword [ebp - 0x294]
shl eax, cl
mov ecx, dword [ebp - 0x298]
and eax, dword [ecx*4 + 0x7aba74]
jne 0x6f6881
jmp 0x6f689e
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x298], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x29c]
mov dword [ebp + 8], eax
jmp 0x6f661d
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f68e3
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f68e3
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f68e3
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f68e3
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f6369
cmp dword [ebp - 0xec], 0
je 0x6f70bc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f690b
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f694c
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jl 0x6f695e
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f69aa
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f69a3
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f69a3
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f69a3
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0x10], 0xc
jne 0x6f6a87
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
je 0x6f6a18
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f6a00
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp + 0x18]
add edx, 0x1c
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6f6a00
mov dword [ebp - 0x474], 1
jmp 0x6f6a0a
mov dword [ebp - 0x474], 0
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x478], edx
jmp 0x6f6a77
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x78]
sub edx, dword [ecx + 0x1c]
cmp dword [ebp + 8], edx
ja 0x6f6a61
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne 0x6f6a61
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x1c], 1
je 0x6f6a55
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x35]
cmp eax, edx
jne 0x6f6a61
mov dword [ebp - 0x47c], 1
jmp 0x6f6a6b
mov dword [ebp - 0x47c], 0
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x478], eax
cmp dword [ebp - 0x478], 0
je 0x6f6a87
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6f6c3d
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f6ae2
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6f6c3d
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f6b27
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 2
mov dword [ebp + 8], ecx
jmp 0x6f6c3d
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f6b7b
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 3
mov dword [ebp + 8], eax
jmp 0x6f6c3d
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f6bdb
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x6f6c3d
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 5
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x480]
sub edx, 6
mov dword [ebp - 0x480], edx
cmp dword [ebp - 0x480], 0xf
ja case.0x6f6c68.9
mov eax, dword [ebp - 0x480]
jmp dword [eax*4 + 0x6fc774]
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f6cc7
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f6cc7
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x18], 0
jne 0x6f6cc7
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 2
jne 0x6f6cc7
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp dword [ebp - 0x110], ecx
jne 0x6f6cc7
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f6cc7
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f70b2
jmp 0x6f70b2
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x484], ecx
cmp dword [ebp - 0x484], 0xd
ja 0x6f6d0c
cmp dword [ebp - 0x484], 0xd
je 0x6f6d37
cmp dword [ebp - 0x484], 0xa
je 0x6f6d58
cmp dword [ebp - 0x484], 0xa
jbe 0x6f6d30
cmp dword [ebp - 0x484], 0xc
jbe 0x6f6d5a
jmp 0x6f6d30
cmp dword [ebp - 0x484], 0x85
je 0x6f6d5a
cmp dword [ebp - 0x484], 0x2027
jbe 0x6f6d30
cmp dword [ebp - 0x484], 0x2029
jbe 0x6f6d5a
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f6d56
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x6f6d56
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f6d6a
jmp 0x6f6d6a
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x68], 0
je 0x6f6d6a
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 0x180e
ja 0x6f6dd1
cmp dword [ebp - 0x488], 0x180e
je 0x6f6e1d
cmp dword [ebp - 0x488], 0xa0
ja 0x6f6dc3
cmp dword [ebp - 0x488], 0xa0
je 0x6f6e1d
cmp dword [ebp - 0x488], 9
je 0x6f6e1d
cmp dword [ebp - 0x488], 0x20
je 0x6f6e1d
jmp 0x6f6e24
cmp dword [ebp - 0x488], 0x1680
je 0x6f6e1d
jmp 0x6f6e24
cmp dword [ebp - 0x488], 0x205f
ja 0x6f6e0f
cmp dword [ebp - 0x488], 0x205f
je 0x6f6e1d
cmp dword [ebp - 0x488], 0x2000
jb 0x6f6e24
cmp dword [ebp - 0x488], 0x200a
jbe 0x6f6e1d
cmp dword [ebp - 0x488], 0x202f
je 0x6f6e1d
jmp 0x6f6e24
cmp dword [ebp - 0x488], 0x3000
je 0x6f6e1d
jmp 0x6f6e24
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x48c], eax
cmp dword [ebp - 0x48c], 0x180e
ja 0x6f6e8b
cmp dword [ebp - 0x48c], 0x180e
je 0x6f6ed7
cmp dword [ebp - 0x48c], 0xa0
ja 0x6f6e7d
cmp dword [ebp - 0x48c], 0xa0
je 0x6f6ed7
cmp dword [ebp - 0x48c], 9
je 0x6f6ed7
cmp dword [ebp - 0x48c], 0x20
je 0x6f6ed7
jmp 0x6f6ed9
cmp dword [ebp - 0x48c], 0x1680
je 0x6f6ed7
jmp 0x6f6ed9
cmp dword [ebp - 0x48c], 0x205f
ja 0x6f6ec9
cmp dword [ebp - 0x48c], 0x205f
je 0x6f6ed7
cmp dword [ebp - 0x48c], 0x2000
jb 0x6f6ed9
cmp dword [ebp - 0x48c], 0x200a
jbe 0x6f6ed7
cmp dword [ebp - 0x48c], 0x202f
je 0x6f6ed7
jmp 0x6f6ed9
cmp dword [ebp - 0x48c], 0x3000
je 0x6f6ed7
jmp 0x6f6ed9
jmp 0x6f6ee0
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x490], ecx
cmp dword [ebp - 0x490], 0x85
ja 0x6f6f1d
cmp dword [ebp - 0x490], 0x85
je 0x6f6f37
cmp dword [ebp - 0x490], 0xa
jb 0x6f6f3e
cmp dword [ebp - 0x490], 0xd
jbe 0x6f6f37
jmp 0x6f6f3e
cmp dword [ebp - 0x490], 0x2028
jb 0x6f6f3e
cmp dword [ebp - 0x490], 0x2029
jbe 0x6f6f37
jmp 0x6f6f3e
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x494], edx
cmp dword [ebp - 0x494], 0x85
ja 0x6f6f7b
cmp dword [ebp - 0x494], 0x85
je 0x6f6f95
cmp dword [ebp - 0x494], 0xa
jb 0x6f6f97
cmp dword [ebp - 0x494], 0xd
jbe 0x6f6f95
jmp 0x6f6f97
cmp dword [ebp - 0x494], 0x2028
jb 0x6f6f97
cmp dword [ebp - 0x494], 0x2029
jbe 0x6f6f95
jmp 0x6f6f97
jmp 0x6f6f9e
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
cmp dword [ebp - 0x110], 0x100
jae 0x6f6fcb
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 4
je 0x6f6fcb
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
cmp dword [ebp - 0x110], 0x100
jae 0x6f6ff1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 4
jne 0x6f6ff8
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
cmp dword [ebp - 0x110], 0x100
jae 0x6f7025
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 1
je 0x6f7025
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
cmp dword [ebp - 0x110], 0x100
jae 0x6f704b
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 1
jne 0x6f7052
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
cmp dword [ebp - 0x110], 0x100
jae 0x6f707c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x6f707c
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
cmp dword [ebp - 0x110], 0x100
jae 0x6f709f
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 0x10
jne 0x6f70a6
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f70b2
mov eax, 0xfffffff2
jmp 0x6fc2ec
jmp 0x6f6902
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f70cd
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f710e
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jl 0x6f7120
xor eax, eax
jmp 0x6fc2ec
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f716c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f7165
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f7165
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f7165
mov eax, 0xfffffff4
jmp 0x6fc2ec
xor eax, eax
jmp 0x6fc2ec
cmp dword [ebp - 0x10], 0xc
jne 0x6f7249
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x6f71da
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6f71c2
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6f71c2
mov dword [ebp - 0x498], 1
jmp 0x6f71cc
mov dword [ebp - 0x498], 0
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x49c], eax
jmp 0x6f7239
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
ja 0x6f7223
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6f7223
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 1
je 0x6f7217
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x6f7223
mov dword [ebp - 0x4a0], 1
jmp 0x6f722d
mov dword [ebp - 0x4a0], 0
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x49c], ecx
cmp dword [ebp - 0x49c], 0
je 0x6f7249
xor eax, eax
jmp 0x6fc2ec
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x4a4], edx
mov eax, dword [ebp - 0x4a4]
sub eax, 6
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0xf
ja case.0x6f7289.9
mov ecx, dword [ebp - 0x4a4]
jmp dword [ecx*4 + 0x6fc7b4]
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f72e8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f72e8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
jne 0x6f72e8
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 2
jne 0x6f72e8
mov ecx, dword [ebp + 0x18]
movzx edx, byte [ecx + 0x34]
cmp dword [ebp - 0x110], edx
jne 0x6f72e8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f72e8
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f7530
jmp 0x6f7530
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x4a8]
sub eax, 0xa
mov dword [ebp - 0x4a8], eax
cmp dword [ebp - 0x4a8], 0x7b
ja case.0x6f7323.4
mov ecx, dword [ebp - 0x4a8]
movzx edx, byte [ecx + 0x6fc804]
jmp dword [edx*4 + 0x6fc7f4]
xor eax, eax
jmp 0x6fc2ec
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6f7350
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x6f7350
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f7364
jmp 0x6f7364
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x68], 0
je 0x6f7364
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x4ac], eax
cmp dword [ebp - 0x4ac], 9
je 0x6f7395
cmp dword [ebp - 0x4ac], 0x20
je 0x6f7395
cmp dword [ebp - 0x4ac], 0xa0
je 0x6f7395
jmp 0x6f739c
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x4b0], ecx
cmp dword [ebp - 0x4b0], 9
je 0x6f73d2
cmp dword [ebp - 0x4b0], 0x20
je 0x6f73d2
cmp dword [ebp - 0x4b0], 0xa0
je 0x6f73d2
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x4b4], edx
cmp dword [ebp - 0x4b4], 0xa
jb 0x6f7401
cmp dword [ebp - 0x4b4], 0xd
jbe 0x6f7403
cmp dword [ebp - 0x4b4], 0x85
je 0x6f7403
jmp 0x6f740a
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x4b8], eax
cmp dword [ebp - 0x4b8], 0xa
jb 0x6f7439
cmp dword [ebp - 0x4b8], 0xd
jbe 0x6f7440
cmp dword [ebp - 0x4b8], 0x85
je 0x6f7440
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov ecx, 1
test ecx, ecx
je 0x6f746a
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 4
je 0x6f746a
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
xor eax, eax
jne 0x6f7488
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 4
jne 0x6f748f
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov edx, 1
test edx, edx
je 0x6f74b9
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 1
je 0x6f74b9
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
xor ecx, ecx
jne 0x6f74d4
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 1
jne 0x6f74db
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov eax, 1
test eax, eax
je 0x6f7502
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 0x10
je 0x6f7502
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
xor edx, edx
jne 0x6f751d
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 0x10
jne 0x6f7524
xor eax, eax
jmp 0x6fc2ec
jmp 0x6f7530
mov eax, 0xfffffff2
jmp 0x6fc2ec
jmp 0x6f70c4
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x38], 0
jl 0x6f92bd
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x4bc], edx
cmp dword [ebp - 0x4bc], 0xa
ja case.default.0x6f7566
mov eax, dword [ebp - 0x4bc]
jmp dword [eax*4 + 0x6fc880]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f757e
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6f77da
mov dword [ebp - 0x2a0], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f75e1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f75dc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f75dc
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f75dc
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f77da
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0xec], 0
je 0x6f77be
cmp dword [ebp - 0x110], 0xc0
jb 0x6f77be
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f7647
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2a0]
add edx, 1
mov dword [ebp - 0x2a0], edx
jmp 0x6f77be
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f7693
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2a0]
add ecx, 2
mov dword [ebp - 0x2a0], ecx
jmp 0x6f77be
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f76ee
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2a0]
add eax, 3
mov dword [ebp - 0x2a0], eax
jmp 0x6f77be
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f7755
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2a0]
add edx, 4
mov dword [ebp - 0x2a0], edx
jmp 0x6f77be
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2a0]
add eax, 5
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x108], 0
je 0x6f77c9
jmp 0x6f77da
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x2a0]
mov dword [ebp + 8], ecx
jmp 0x6f7575
jmp 0x6f922b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f77f0
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6f7ac5
mov dword [ebp - 0x2a8], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f7853
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f784e
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f784e
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f784e
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f7ac5
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xec], 0
je 0x6f7a30
cmp dword [ebp - 0x110], 0xc0
jb 0x6f7a30
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f78b9
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2a8]
add eax, 1
mov dword [ebp - 0x2a8], eax
jmp 0x6f7a30
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f7905
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2a8]
add edx, 2
mov dword [ebp - 0x2a8], edx
jmp 0x6f7a30
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f7960
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2a8]
add ecx, 3
mov dword [ebp - 0x2a8], ecx
jmp 0x6f7a30
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f79c7
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2a8]
add eax, 4
mov dword [ebp - 0x2a8], eax
jmp 0x6f7a30
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2a8]
add ecx, 5
mov dword [ebp - 0x2a8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f7a5b
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov dword [ebp - 0x2a4], edx
cmp dword [ebp - 0x2a4], 9
je 0x6f7a9a
cmp dword [ebp - 0x2a4], 5
je 0x6f7a9a
cmp dword [ebp - 0x2a4], 8
je 0x6f7a9a
mov dword [ebp - 0x4c0], 0
jmp 0x6f7aa4
mov dword [ebp - 0x4c0], 1
mov eax, dword [ebp - 0x4c0]
cmp eax, dword [ebp - 0x108]
jne 0x6f7ab4
jmp 0x6f7ac5
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x2a8]
mov dword [ebp + 8], ecx
jmp 0x6f77e7
jmp 0x6f922b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f7adb
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6f7d85
mov dword [ebp - 0x2ac], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f7b3e
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f7b39
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f7b39
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f7b39
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f7d85
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xec], 0
je 0x6f7d1b
cmp dword [ebp - 0x110], 0xc0
jb 0x6f7d1b
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f7ba4
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2ac]
add eax, 1
mov dword [ebp - 0x2ac], eax
jmp 0x6f7d1b
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f7bf0
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2ac]
add edx, 2
mov dword [ebp - 0x2ac], edx
jmp 0x6f7d1b
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f7c4b
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2ac]
add ecx, 3
mov dword [ebp - 0x2ac], ecx
jmp 0x6f7d1b
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f7cb2
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2ac]
add eax, 4
mov dword [ebp - 0x2ac], eax
jmp 0x6f7d1b
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2ac]
add ecx, 5
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f7d46
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov eax, dword [edx*4 + 0x7abae8]
xor ecx, ecx
cmp eax, dword [ebp - 0xe4]
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f7d74
jmp 0x6f7d85
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2ac]
mov dword [ebp + 8], edx
jmp 0x6f7ad2
jmp 0x6f922b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f7d9b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6f803f
mov dword [ebp - 0x2b0], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f7dfe
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f7df9
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f7df9
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f7df9
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f803f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0xec], 0
je 0x6f7fdb
cmp dword [ebp - 0x110], 0xc0
jb 0x6f7fdb
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f7e64
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 1
mov dword [ebp - 0x2b0], ecx
jmp 0x6f7fdb
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f7eb0
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2b0]
add eax, 2
mov dword [ebp - 0x2b0], eax
jmp 0x6f7fdb
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f7f0b
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2b0]
add edx, 3
mov dword [ebp - 0x2b0], edx
jmp 0x6f7fdb
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f7f72
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 4
mov dword [ebp - 0x2b0], ecx
jmp 0x6f7fdb
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2b0]
add edx, 5
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f8007
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
xor ecx, ecx
cmp eax, dword [ebp - 0xe4]
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f802e
jmp 0x6f803f
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2b0]
mov dword [ebp + 8], edx
jmp 0x6f7d92
jmp 0x6f922b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f8055
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6f82f9
mov dword [ebp - 0x2b4], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f80b8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f80b3
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f80b3
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f80b3
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f82f9
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0xec], 0
je 0x6f8295
cmp dword [ebp - 0x110], 0xc0
jb 0x6f8295
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f811e
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2b4]
add ecx, 1
mov dword [ebp - 0x2b4], ecx
jmp 0x6f8295
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f816a
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2b4]
add eax, 2
mov dword [ebp - 0x2b4], eax
jmp 0x6f8295
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f81c5
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2b4]
add edx, 3
mov dword [ebp - 0x2b4], edx
jmp 0x6f8295
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f822c
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2b4]
add ecx, 4
mov dword [ebp - 0x2b4], ecx
jmp 0x6f8295
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2b4]
add edx, 5
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f82c1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a8]
xor ecx, ecx
cmp eax, dword [ebp - 0xe4]
sete cl
cmp ecx, dword [ebp - 0x108]
jne 0x6f82e8
jmp 0x6f82f9
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2b4]
mov dword [ebp + 8], edx
jmp 0x6f804c
jmp 0x6f922b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f830f
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6f85e3
mov dword [ebp - 0x2bc], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f8372
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f836d
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f836d
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f836d
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f85e3
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0xec], 0
je 0x6f854f
cmp dword [ebp - 0x110], 0xc0
jb 0x6f854f
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f83d8
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2bc]
add ecx, 1
mov dword [ebp - 0x2bc], ecx
jmp 0x6f854f
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f8424
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2bc]
add eax, 2
mov dword [ebp - 0x2bc], eax
jmp 0x6f854f
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f847f
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2bc]
add edx, 3
mov dword [ebp - 0x2bc], edx
jmp 0x6f854f
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f84e6
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2bc]
add ecx, 4
mov dword [ebp - 0x2bc], ecx
jmp 0x6f854f
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2bc]
add edx, 5
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f857b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5a9]
mov ecx, dword [eax*4 + 0x7abae8]
mov dword [ebp - 0x2b8], ecx
cmp dword [ebp - 0x2b8], 1
je 0x6f85b8
cmp dword [ebp - 0x2b8], 3
je 0x6f85b8
mov dword [ebp - 0x4c4], 0
jmp 0x6f85c2
mov dword [ebp - 0x4c4], 1
mov edx, dword [ebp - 0x4c4]
cmp edx, dword [ebp - 0x108]
jne 0x6f85d2
jmp 0x6f85e3
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2bc]
mov dword [ebp + 8], eax
jmp 0x6f8306
jmp 0x6f922b
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f85f9
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6f8996
mov dword [ebp - 0x2c0], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f865c
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f8657
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f8657
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f8657
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f8996
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0xec], 0
je 0x6f8839
cmp dword [ebp - 0x110], 0xc0
jb 0x6f8839
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f86c2
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2c0]
add edx, 1
mov dword [ebp - 0x2c0], edx
jmp 0x6f8839
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f870e
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2c0]
add ecx, 2
mov dword [ebp - 0x2c0], ecx
jmp 0x6f8839
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f8769
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2c0]
add eax, 3
mov dword [ebp - 0x2c0], eax
jmp 0x6f8839
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f87d0
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2c0]
add edx, 4
mov dword [ebp - 0x2c0], edx
jmp 0x6f8839
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2c0]
add eax, 5
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x4c8], ecx
cmp dword [ebp - 0x4c8], 0x180e
ja 0x6f88c3
cmp dword [ebp - 0x4c8], 0x180e
je case.0x6f8903.0
cmp dword [ebp - 0x4c8], 0x85
ja 0x6f88a9
cmp dword [ebp - 0x4c8], 0x85
je case.0x6f8903.0
cmp dword [ebp - 0x4c8], 9
jb case.0x6f8903.11
cmp dword [ebp - 0x4c8], 0xd
jbe case.0x6f8903.0
cmp dword [ebp - 0x4c8], 0x20
je case.0x6f8903.0
jmp case.0x6f8903.11
cmp dword [ebp - 0x4c8], 0xa0
je case.0x6f8903.0
cmp dword [ebp - 0x4c8], 0x1680
je case.0x6f8903.0
jmp case.0x6f8903.11
cmp dword [ebp - 0x4c8], 0x202f
ja 0x6f890a
cmp dword [ebp - 0x4c8], 0x202f
je case.0x6f8903.0
mov edx, dword [ebp - 0x4c8]
sub edx, 0x2000
mov dword [ebp - 0x4c8], edx
cmp dword [ebp - 0x4c8], 0x29
ja case.0x6f8903.11
mov eax, dword [ebp - 0x4c8]
movzx ecx, byte [eax + 0x6fc8b4]
jmp dword [ecx*4 + 0x6fc8ac]
cmp dword [ebp - 0x4c8], 0x205f
je case.0x6f8903.0
cmp dword [ebp - 0x4c8], 0x3000
je case.0x6f8903.0
jmp case.0x6f8903.11
cmp dword [ebp - 0x108], 0
je 0x6f892f
jmp 0x6f8996
jmp 0x6f8985
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f895c
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
xor eax, eax
cmp dword [edx*4 + 0x7abae8], 6
sete al
cmp eax, dword [ebp - 0x108]
jne 0x6f8985
jmp 0x6f8996
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x2c0]
mov dword [ebp + 8], ecx
jmp 0x6f85f0
jmp 0x6f922b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f89ac
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6f8c88
mov dword [ebp - 0x2c8], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f8a0f
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f8a0a
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f8a0a
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f8a0a
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f8c88
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xec], 0
je 0x6f8bec
cmp dword [ebp - 0x110], 0xc0
jb 0x6f8bec
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f8a75
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
jmp 0x6f8bec
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6f8ac1
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2c8]
add edx, 2
mov dword [ebp - 0x2c8], edx
jmp 0x6f8bec
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f8b1c
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2c8]
add ecx, 3
mov dword [ebp - 0x2c8], ecx
jmp 0x6f8bec
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f8b83
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2c8]
add eax, 4
mov dword [ebp - 0x2c8], eax
jmp 0x6f8bec
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2c8]
add ecx, 5
mov dword [ebp - 0x2c8], ecx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f8c17
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5a9]
mov eax, dword [edx*4 + 0x7abae8]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 1
je 0x6f8c5d
cmp dword [ebp - 0x2c4], 3
je 0x6f8c5d
cmp dword [ebp - 0x110], 0x5f
je 0x6f8c5d
mov dword [ebp - 0x4cc], 0
jmp 0x6f8c67
mov dword [ebp - 0x4cc], 1
mov ecx, dword [ebp - 0x4cc]
cmp ecx, dword [ebp - 0x108]
jne 0x6f8c77
jmp 0x6f8c88
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2c8]
mov dword [ebp + 8], edx
jmp 0x6f89a3
jmp 0x6f922b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f8c9e
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6f8f53
mov dword [ebp - 0x2d0], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f8d01
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f8cfc
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f8cfc
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f8cfc
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f8f53
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0xec], 0
je 0x6f8ede
cmp dword [ebp - 0x110], 0xc0
jb 0x6f8ede
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f8d67
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2d0]
add ecx, 1
mov dword [ebp - 0x2d0], ecx
jmp 0x6f8ede
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f8db3
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2d0]
add eax, 2
mov dword [ebp - 0x2d0], eax
jmp 0x6f8ede
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f8e0e
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2d0]
add edx, 3
mov dword [ebp - 0x2d0], edx
jmp 0x6f8ede
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f8e75
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2d0]
add ecx, 4
mov dword [ebp - 0x2d0], ecx
jmp 0x6f8ede
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2d0]
add edx, 5
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0xe4]
lea ecx, [eax*4 + 0x7ac468]
mov dword [ebp - 0x2cc], ecx
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x110]
cmp eax, dword [edx]
jae 0x6f8f10
cmp dword [ebp - 0x108], 0
je 0x6f8f0e
jmp 0x6f8f42
jmp 0x6f8f53
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x110]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x2cc]
add ecx, 4
mov dword [ebp - 0x2cc], ecx
cmp edx, eax
jne 0x6f8f40
cmp dword [ebp - 0x108], 0
je 0x6f8f3e
jmp 0x6f8f53
jmp 0x6f8f42
jmp 0x6f8ef1
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2d0]
mov dword [ebp + 8], edx
jmp 0x6f8c95
jmp 0x6f922b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6f8f69
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6f921f
mov dword [ebp - 0x2d4], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6f8fcc
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f8fc7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f8fc7
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f8fc7
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f921f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0xec], 0
je 0x6f91a9
cmp dword [ebp - 0x110], 0xc0
jb 0x6f91a9
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f9032
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2d4]
add ecx, 1
mov dword [ebp - 0x2d4], ecx
jmp 0x6f91a9
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f907e
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2d4]
add eax, 2
mov dword [ebp - 0x2d4], eax
jmp 0x6f91a9
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f90d9
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2d4]
add edx, 3
mov dword [ebp - 0x2d4], edx
jmp 0x6f91a9
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f9140
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2d4]
add ecx, 4
mov dword [ebp - 0x2d4], ecx
jmp 0x6f91a9
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2d4]
add edx, 5
mov dword [ebp - 0x2d4], edx
cmp dword [ebp - 0x110], 0x24
je 0x6f91f4
cmp dword [ebp - 0x110], 0x40
je 0x6f91f4
cmp dword [ebp - 0x110], 0x60
je 0x6f91f4
cmp dword [ebp - 0x110], 0xa0
jb 0x6f91dc
cmp dword [ebp - 0x110], 0xd7ff
jbe 0x6f91f4
cmp dword [ebp - 0x110], 0xe000
jae 0x6f91f4
mov dword [ebp - 0x4d0], 0
jmp 0x6f91fe
mov dword [ebp - 0x4d0], 1
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x108]
jne 0x6f920e
jmp 0x6f921f
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x2d4]
mov dword [ebp + 8], ecx
jmp 0x6f8f60
jmp 0x6f922b
mov eax, 0xfffffff2
jmp 0x6fc2ec
cmp dword [ebp - 0x10c], 0
je 0x6f9239
jmp 0x6e5641
mov edx, dword [ebp + 8]
cmp edx, dword [ebp - 0x34]
ja 0x6f9246
jmp 0x6e55c6
mov eax, dword [ebp + 0x20]
add eax, 1
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f9287
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
cmp dword [ebp - 0xec], 0
je 0x6f92b6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x6f92b6
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f9299
jmp 0x6f9239
cmp dword [ebp - 0x10], 0x16
jne 0x6f9d06
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6f92d8
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6f9809
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6f9336
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6f932c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6f932c
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6f932c
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f9809
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 0xec], 0
je 0x6f94f9
cmp dword [ebp - 0x110], 0xc0
jb 0x6f94f9
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6f939e
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f94f9
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f93e3
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ebp + 8], eax
jmp 0x6f94f9
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f9437
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 3
mov dword [ebp + 8], edx
jmp 0x6f94f9
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6f9497
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp + 8], ecx
jmp 0x6f94f9
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp + 8]
add edx, 5
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f9525
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5aa]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jae 0x6f97bf
mov dword [ebp - 0x2e0], 1
cmp dword [ebp - 0xec], 0
jne 0x6f9570
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
jmp 0x6f9740
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6f9740
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f95c9
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2e0]
add edx, 1
mov dword [ebp - 0x2e0], edx
jmp 0x6f9740
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f9615
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2e0]
add ecx, 2
mov dword [ebp - 0x2e0], ecx
jmp 0x6f9740
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6f9670
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2e0]
add eax, 3
mov dword [ebp - 0x2e0], eax
jmp 0x6f9740
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f96d7
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2e0]
add edx, 4
mov dword [ebp - 0x2e0], edx
jmp 0x6f9740
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2e0]
add eax, 5
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x7adc28]
shl ecx, 7
mov edx, dword [ebp - 0x110]
and edx, 0x8000007f
jns 0x6f976c
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx eax, word [ecx*2 + 0x7afe28]
movzx ecx, byte [eax*8 + 0x7ac5aa]
mov dword [ebp - 0x2d8], ecx
mov edx, 1
mov ecx, dword [ebp - 0x2d8]
shl edx, cl
mov eax, dword [ebp - 0x2dc]
and edx, dword [eax*4 + 0x7aba74]
jne 0x6f97a2
jmp 0x6f97bf
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2dc], ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x2e0]
mov dword [ebp + 8], edx
jmp 0x6f953d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f9804
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f9804
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6f9804
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f9804
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f92cf
cmp dword [ebp - 0x10c], 0
je 0x6f9817
jmp 0x6e5641
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
ja 0x6f9824
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6f9865
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0xec], 0
jne 0x6f9888
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
jmp 0x6f9a2c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6f98a7
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
jmp 0x6f9888
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6f9a2c
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6f98f1
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
jmp 0x6f9a2c
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6f992e
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
jmp 0x6f9a2c
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6f997a
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
jmp 0x6f9a2c
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6f99d2
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
jmp 0x6f9a2c
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x7adc28]
shl eax, 7
mov ecx, dword [ebp - 0x110]
and ecx, 0x8000007f
jns 0x6f9a58
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx edx, word [eax*2 + 0x7afe28]
movzx eax, byte [edx*8 + 0x7ac5aa]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
ja 0x6f9a7d
jmp 0x6e55c6
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp - 0x2e4], edx
cmp dword [ebp - 0xec], 0
jne 0x6f9aa6
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
jmp 0x6f9c81
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x6f9acc
mov ecx, dword [ebp - 0x2e4]
sub ecx, 1
mov dword [ebp - 0x2e4], ecx
jmp 0x6f9aa6
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6f9c81
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6f9b1c
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
jmp 0x6f9c81
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6f9b5f
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp - 0x2e4]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp - 0x2e4]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
jmp 0x6f9c81
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6f9bb4
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
jmp 0x6f9c81
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6f9c18
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
jmp 0x6f9c81
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp - 0x2e4]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0x110]
and eax, 0x8000007f
jns 0x6f9cac
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5aa]
mov dword [ebp - 0x2ec], edx
mov eax, 1
mov ecx, dword [ebp - 0x2e8]
shl eax, cl
mov ecx, dword [ebp - 0x2ec]
and eax, dword [ecx*4 + 0x7aba74]
jne 0x6f9ce2
jmp 0x6f9cfc
mov edx, dword [ebp - 0x2e4]
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e8], eax
jmp 0x6f9a70
jmp 0x6f9817
cmp dword [ebp - 0xec], 0
je 0x6fb913
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4d4], ecx
mov edx, dword [ebp - 0x4d4]
sub edx, 6
mov dword [ebp - 0x4d4], edx
cmp dword [ebp - 0x4d4], 0xf
ja case.0x6f9d3e.9
mov eax, dword [ebp - 0x4d4]
jmp dword [eax*4 + 0x6fc8e0]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f9d56
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6f9f15
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f9daf
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f9daa
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f9daa
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f9daa
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f9f15
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x6f9e13
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6f9dfb
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6f9dfb
mov dword [ebp - 0x4d8], 1
jmp 0x6f9e05
mov dword [ebp - 0x4d8], 0
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], eax
jmp 0x6f9e72
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
ja 0x6f9e5c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6f9e5c
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 1
je 0x6f9e50
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x6f9e5c
mov dword [ebp - 0x4e0], 1
jmp 0x6f9e66
mov dword [ebp - 0x4e0], 0
mov ecx, dword [ebp - 0x4e0]
mov dword [ebp - 0x4dc], ecx
cmp dword [ebp - 0x4dc], 0
je 0x6f9e80
jmp 0x6f9f15
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6f9edd
mov eax, dword [ebp + 8]
add eax, 1
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x78]
jb 0x6f9edd
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
jne 0x6f9edd
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 2
jne 0x6f9edd
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6f9edd
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6f9edd
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jae 0x6f9f10
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6f9f10
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6f9ee6
jmp 0x6f9d4d
jmp 0x6fb857
cmp dword [ebp - 0x124], 0x7fffffff
jge 0x6f9fc5
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6f9f3b
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6f9fc3
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6f9f8d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6f9f8b
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6f9f8b
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6f9f8b
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6f9fc3
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6f9fbe
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
and eax, 0xc0
cmp eax, 0x80
jne 0x6f9fbe
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6f9f96
jmp 0x6f9f32
jmp 0x6fa008
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fa008
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fa008
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fa008
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fb857
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
sub edx, dword [ebp + 8]
cmp dword [ebp - 0x110], edx
jbe 0x6fa072
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fa070
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fa070
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fa070
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fa07e
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x110]
mov dword [ebp + 8], ecx
jmp 0x6fb857
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6fa094
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6fa357
mov dword [ebp - 0x2f0], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6fa0f7
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fa0f2
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fa0f2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fa0f2
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fa357
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6fa2c7
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6fa150
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2f0]
add eax, 1
mov dword [ebp - 0x2f0], eax
jmp 0x6fa2c7
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6fa19c
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2f0]
add edx, 2
mov dword [ebp - 0x2f0], edx
jmp 0x6fa2c7
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6fa1f7
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2f0]
add ecx, 3
mov dword [ebp - 0x2f0], ecx
jmp 0x6fa2c7
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6fa25e
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2f0]
add eax, 4
mov dword [ebp - 0x2f0], eax
jmp 0x6fa2c7
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2f0]
add ecx, 5
mov dword [ebp - 0x2f0], ecx
cmp dword [ebp - 0x110], 0xd
jne 0x6fa2fc
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fa2e6
jmp 0x6fa357
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x6fa2fa
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6fa352
cmp dword [ebp - 0x110], 0xa
je 0x6fa346
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x68], 0
jne 0x6fa344
cmp dword [ebp - 0x110], 0xb
je 0x6fa346
cmp dword [ebp - 0x110], 0xc
je 0x6fa346
cmp dword [ebp - 0x110], 0x85
je 0x6fa346
cmp dword [ebp - 0x110], 0x2028
je 0x6fa346
cmp dword [ebp - 0x110], 0x2029
je 0x6fa346
jmp 0x6fa357
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2f0]
mov dword [ebp + 8], eax
jmp 0x6fa08b
jmp 0x6fb857
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fa36d
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fa688
mov dword [ebp - 0x2f8], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fa3d0
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fa3cb
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fa3cb
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fa3cb
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fa688
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6fa5a0
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6fa429
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2f8]
add edx, 1
mov dword [ebp - 0x2f8], edx
jmp 0x6fa5a0
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6fa475
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x2f8]
add ecx, 2
mov dword [ebp - 0x2f8], ecx
jmp 0x6fa5a0
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6fa4d0
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2f8]
add eax, 3
mov dword [ebp - 0x2f8], eax
jmp 0x6fa5a0
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6fa537
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x2f8]
add edx, 4
mov dword [ebp - 0x2f8], edx
jmp 0x6fa5a0
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x2f8]
add eax, 5
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x4e4], ecx
cmp dword [ebp - 0x4e4], 0x180e
ja 0x6fa602
cmp dword [ebp - 0x4e4], 0x180e
je 0x6fa64e
cmp dword [ebp - 0x4e4], 0xa0
ja 0x6fa5f4
cmp dword [ebp - 0x4e4], 0xa0
je 0x6fa64e
cmp dword [ebp - 0x4e4], 9
je 0x6fa64e
cmp dword [ebp - 0x4e4], 0x20
je 0x6fa64e
jmp 0x6fa65a
cmp dword [ebp - 0x4e4], 0x1680
je 0x6fa64e
jmp 0x6fa65a
cmp dword [ebp - 0x4e4], 0x205f
ja 0x6fa640
cmp dword [ebp - 0x4e4], 0x205f
je 0x6fa64e
cmp dword [ebp - 0x4e4], 0x2000
jb 0x6fa65a
cmp dword [ebp - 0x4e4], 0x200a
jbe 0x6fa64e
cmp dword [ebp - 0x4e4], 0x202f
je 0x6fa64e
jmp 0x6fa65a
cmp dword [ebp - 0x4e4], 0x3000
je 0x6fa64e
jmp 0x6fa65a
mov dword [ebp - 0x2f4], 1
jmp 0x6fa664
mov dword [ebp - 0x2f4], 0
xor edx, edx
cmp dword [ebp - 0x10], 0x12
sete dl
cmp dword [ebp - 0x2f4], edx
jne 0x6fa677
jmp 0x6fa688
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x2f8]
mov dword [ebp + 8], eax
jmp 0x6fa364
jmp 0x6fb857
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fa69e
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fa95d
mov dword [ebp - 0x300], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fa701
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fa6fc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fa6fc
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fa6fc
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fa95d
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6fa8d1
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6fa75a
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x300]
add edx, 1
mov dword [ebp - 0x300], edx
jmp 0x6fa8d1
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6fa7a6
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x300]
add ecx, 2
mov dword [ebp - 0x300], ecx
jmp 0x6fa8d1
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6fa801
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x300]
add eax, 3
mov dword [ebp - 0x300], eax
jmp 0x6fa8d1
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6fa868
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x300]
add edx, 4
mov dword [ebp - 0x300], edx
jmp 0x6fa8d1
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x300]
add eax, 5
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x4e8], ecx
cmp dword [ebp - 0x4e8], 0x85
ja 0x6fa909
cmp dword [ebp - 0x4e8], 0x85
je 0x6fa923
cmp dword [ebp - 0x4e8], 0xa
jb 0x6fa92f
cmp dword [ebp - 0x4e8], 0xd
jbe 0x6fa923
jmp 0x6fa92f
cmp dword [ebp - 0x4e8], 0x2028
jb 0x6fa92f
cmp dword [ebp - 0x4e8], 0x2029
jbe 0x6fa923
jmp 0x6fa92f
mov dword [ebp - 0x2fc], 1
jmp 0x6fa939
mov dword [ebp - 0x2fc], 0
xor edx, edx
cmp dword [ebp - 0x10], 0x14
sete dl
cmp dword [ebp - 0x2fc], edx
jne 0x6fa94c
jmp 0x6fa95d
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x300]
mov dword [ebp + 8], eax
jmp 0x6fa695
jmp 0x6fb857
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fa973
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fabda
mov dword [ebp - 0x304], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fa9d6
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fa9d1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fa9d1
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fa9d1
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fabda
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6faba6
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6faa2f
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x304]
add edx, 1
mov dword [ebp - 0x304], edx
jmp 0x6faba6
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6faa7b
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x304]
add ecx, 2
mov dword [ebp - 0x304], ecx
jmp 0x6faba6
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6faad6
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x304]
add eax, 3
mov dword [ebp - 0x304], eax
jmp 0x6faba6
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6fab3d
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x304]
add edx, 4
mov dword [ebp - 0x304], edx
jmp 0x6faba6
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x304]
add eax, 5
mov dword [ebp - 0x304], eax
cmp dword [ebp - 0x110], 0x100
jae 0x6fabc9
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 4
je 0x6fabc9
jmp 0x6fabda
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x304]
mov dword [ebp + 8], edx
jmp 0x6fa96a
jmp 0x6fb857
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6fabf0
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6fae57
mov dword [ebp - 0x308], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fac53
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fac4e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fac4e
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fac4e
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fae57
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6fae23
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6facac
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x308]
add ecx, 1
mov dword [ebp - 0x308], ecx
jmp 0x6fae23
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6facf8
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x308]
add eax, 2
mov dword [ebp - 0x308], eax
jmp 0x6fae23
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6fad53
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x308]
add edx, 3
mov dword [ebp - 0x308], edx
jmp 0x6fae23
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6fadba
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x308]
add ecx, 4
mov dword [ebp - 0x308], ecx
jmp 0x6fae23
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x308]
add edx, 5
mov dword [ebp - 0x308], edx
cmp dword [ebp - 0x110], 0x100
jae 0x6fae44
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 4
jne 0x6fae46
jmp 0x6fae57
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x308]
mov dword [ebp + 8], ecx
jmp 0x6fabe7
jmp 0x6fb857
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6fae6d
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6fb0d4
mov dword [ebp - 0x30c], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6faed0
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6faecb
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6faecb
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6faecb
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fb0d4
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6fb0a0
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6faf29
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x30c]
add eax, 1
mov dword [ebp - 0x30c], eax
jmp 0x6fb0a0
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6faf75
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x30c]
add edx, 2
mov dword [ebp - 0x30c], edx
jmp 0x6fb0a0
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6fafd0
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x30c]
add ecx, 3
mov dword [ebp - 0x30c], ecx
jmp 0x6fb0a0
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6fb037
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x30c]
add eax, 4
mov dword [ebp - 0x30c], eax
jmp 0x6fb0a0
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x30c]
add ecx, 5
mov dword [ebp - 0x30c], ecx
cmp dword [ebp - 0x110], 0x100
jae 0x6fb0c3
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 1
je 0x6fb0c3
jmp 0x6fb0d4
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x30c]
mov dword [ebp + 8], eax
jmp 0x6fae64
jmp 0x6fb857
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fb0ea
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fb351
mov dword [ebp - 0x310], 1
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fb14d
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fb148
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fb148
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fb148
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fb351
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xc0
jb 0x6fb31d
mov ecx, dword [ebp - 0x110]
and ecx, 0x20
jne 0x6fb1a6
mov edx, dword [ebp - 0x110]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x310]
add edx, 1
mov dword [ebp - 0x310], edx
jmp 0x6fb31d
mov eax, dword [ebp - 0x110]
and eax, 0x10
jne 0x6fb1f2
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x310]
add ecx, 2
mov dword [ebp - 0x310], ecx
jmp 0x6fb31d
mov edx, dword [ebp - 0x110]
and edx, 8
jne 0x6fb24d
mov eax, dword [ebp - 0x110]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x310]
add eax, 3
mov dword [ebp - 0x310], eax
jmp 0x6fb31d
mov ecx, dword [ebp - 0x110]
and ecx, 4
jne 0x6fb2b4
mov edx, dword [ebp - 0x110]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x310]
add edx, 4
mov dword [ebp - 0x310], edx
jmp 0x6fb31d
mov eax, dword [ebp - 0x110]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x310]
add eax, 5
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x110], 0x100
jae 0x6fb33e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x110]
movzx ecx, byte [edx + eax]
and ecx, 1
jne 0x6fb340
jmp 0x6fb351
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x310]
mov dword [ebp + 8], edx
jmp 0x6fb0e1
jmp 0x6fb857
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6fb367
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6fb5ce
mov dword [ebp - 0x314], 1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fb3ca
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fb3c5
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fb3c5
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fb3c5
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fb5ce
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x6fb59a
mov eax, dword [ebp - 0x110]
and eax, 0x20
jne 0x6fb423
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
shl ecx, 6
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x314]
add ecx, 1
mov dword [ebp - 0x314], ecx
jmp 0x6fb59a
mov edx, dword [ebp - 0x110]
and edx, 0x10
jne 0x6fb46f
mov eax, dword [ebp - 0x110]
and eax, 0xf
shl eax, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x314]
add eax, 2
mov dword [ebp - 0x314], eax
jmp 0x6fb59a
mov ecx, dword [ebp - 0x110]
and ecx, 8
jne 0x6fb4ca
mov edx, dword [ebp - 0x110]
and edx, 7
shl edx, 0x12
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x314]
add edx, 3
mov dword [ebp - 0x314], edx
jmp 0x6fb59a
mov eax, dword [ebp - 0x110]
and eax, 4
jne 0x6fb531
mov ecx, dword [ebp - 0x110]
and ecx, 3
shl ecx, 0x18
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x314]
add ecx, 4
mov dword [ebp - 0x314], ecx
jmp 0x6fb59a
mov edx, dword [ebp - 0x110]
and edx, 1
shl edx, 0x1e
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x18
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 5]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x314]
add edx, 5
mov dword [ebp - 0x314], edx
cmp dword [ebp - 0x110], 0x100
jae 0x6fb5bd
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x110]
movzx eax, byte [ecx + edx]
and eax, 0x10
je 0x6fb5bd
jmp 0x6fb5ce
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x314]
mov dword [ebp + 8], ecx
jmp 0x6fb35e
jmp 0x6fb857
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6fb5e4
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6fb84b
mov dword [ebp - 0x318], 1
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6fb647
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fb642
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fb642
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fb642
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fb84b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0x110], 0xc0
jb 0x6fb817
mov edx, dword [ebp - 0x110]
and edx, 0x20
jne 0x6fb6a0
mov eax, dword [ebp - 0x110]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x318]
add eax, 1
mov dword [ebp - 0x318], eax
jmp 0x6fb817
mov ecx, dword [ebp - 0x110]
and ecx, 0x10
jne 0x6fb6ec
mov edx, dword [ebp - 0x110]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x318]
add edx, 2
mov dword [ebp - 0x318], edx
jmp 0x6fb817
mov eax, dword [ebp - 0x110]
and eax, 8
jne 0x6fb747
mov ecx, dword [ebp - 0x110]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x318]
add ecx, 3
mov dword [ebp - 0x318], ecx
jmp 0x6fb817
mov edx, dword [ebp - 0x110]
and edx, 4
jne 0x6fb7ae
mov eax, dword [ebp - 0x110]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x318]
add eax, 4
mov dword [ebp - 0x318], eax
jmp 0x6fb817
mov ecx, dword [ebp - 0x110]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x318]
add ecx, 5
mov dword [ebp - 0x318], ecx
cmp dword [ebp - 0x110], 0x100
jae 0x6fb838
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x110]
movzx edx, byte [eax + ecx]
and edx, 0x10
jne 0x6fb83a
jmp 0x6fb84b
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x318]
mov dword [ebp + 8], eax
jmp 0x6fb5db
jmp 0x6fb857
mov eax, 0xfffffff2
jmp 0x6fc2ec
cmp dword [ebp - 0x10c], 0
je 0x6fb865
jmp 0x6e5641
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
ja 0x6fb872
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6fb8b3
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
and edx, 0xc0
cmp edx, 0x80
jne 0x6fb8db
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x6fb8bc
cmp dword [ebp - 0x10], 0x11
jne 0x6fb909
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
jbe 0x6fb909
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x6fb909
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx - 1]
cmp edx, 0xd
jne 0x6fb909
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x6fb865
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
sub edx, 6
mov dword [ebp - 0x4ec], edx
cmp dword [ebp - 0x4ec], 0xf
ja case.0x6fb93e.9
mov eax, dword [ebp - 0x4ec]
jmp dword [eax*4 + 0x6fc920]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fb956
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fbae8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fb9af
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fb9aa
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fb9aa
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fb9aa
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbae8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
je 0x6fba13
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jae 0x6fb9fb
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp + 0x18]
add eax, 0x1c
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x78]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6fb9fb
mov dword [ebp - 0x4f0], 1
jmp 0x6fba05
mov dword [ebp - 0x4f0], 0
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x4f4], eax
jmp 0x6fba72
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x78]
sub eax, dword [edx + 0x1c]
cmp dword [ebp + 8], eax
ja 0x6fba5c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6fba5c
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x1c], 1
je 0x6fba50
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x18]
movzx eax, byte [edx + 0x35]
cmp ecx, eax
jne 0x6fba5c
mov dword [ebp - 0x4f8], 1
jmp 0x6fba66
mov dword [ebp - 0x4f8], 0
mov ecx, dword [ebp - 0x4f8]
mov dword [ebp - 0x4f4], ecx
cmp dword [ebp - 0x4f4], 0
je 0x6fba7d
jmp 0x6fbae8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fbada
mov eax, dword [ebp + 8]
add eax, 1
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x78]
jb 0x6fbada
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x18], 0
jne 0x6fbada
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x1c], 2
jne 0x6fbada
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x34]
cmp edx, ecx
jne 0x6fbada
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fbada
mov eax, 0xfffffff4
jmp 0x6fc2ec
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6fb94d
jmp 0x6fc24b
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0x28]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x78]
sub ecx, dword [ebp + 8]
cmp dword [ebp - 0x110], ecx
jbe 0x6fbb52
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x78]
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fbb50
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fbb50
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fbb50
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbb5e
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x110]
mov dword [ebp + 8], eax
jmp 0x6fc24b
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fbb74
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fbc4e
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fbbcd
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fbbc8
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fbbc8
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fbbc8
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbc4e
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0xd
jne 0x6fbc0e
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6fbbf8
jmp 0x6fbc4e
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
cmp edx, 0xa
jne 0x6fbc0c
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6fbc49
cmp dword [ebp - 0x110], 0xa
je 0x6fbc40
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x68], 0
jne 0x6fbc3e
cmp dword [ebp - 0x110], 0xb
je 0x6fbc40
cmp dword [ebp - 0x110], 0xc
je 0x6fbc40
cmp dword [ebp - 0x110], 0x85
je 0x6fbc40
jmp 0x6fbc4e
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6fbb6b
jmp 0x6fc24b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6fbc64
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6fbcee
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fbcb6
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fbcb4
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fbcb4
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fbcb4
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbcee
mov ecx, dword [ebp + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x4fc], dl
cmp byte [ebp - 0x4fc], 9
je 0x6fbce7
cmp byte [ebp - 0x4fc], 0x20
je 0x6fbce7
cmp byte [ebp - 0x4fc], 0xa0
je 0x6fbce7
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6fbce9
jmp 0x6fbcee
jmp 0x6fbc5b
jmp 0x6fc24b
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fbd04
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fbd8c
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fbd56
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fbd54
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fbd54
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fbd54
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbd8c
mov edx, dword [ebp + 8]
mov al, byte [edx]
mov byte [ebp - 0x500], al
cmp byte [ebp - 0x500], 9
je 0x6fbd7e
cmp byte [ebp - 0x500], 0x20
je 0x6fbd7e
cmp byte [ebp - 0x500], 0xa0
je 0x6fbd7e
jmp 0x6fbd8c
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6fbcfb
jmp 0x6fc24b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6fbda2
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6fbe2c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6fbdf4
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fbdf2
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fbdf2
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fbdf2
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbe2c
mov eax, dword [ebp + 8]
mov cl, byte [eax]
mov byte [ebp - 0x504], cl
cmp byte [ebp - 0x504], 0xa
jb 0x6fbe1a
cmp byte [ebp - 0x504], 0xd
jbe 0x6fbe25
cmp byte [ebp - 0x504], 0x85
je 0x6fbe25
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6fbe27
jmp 0x6fbe2c
jmp 0x6fbd99
jmp 0x6fc24b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6fbe42
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6fbeca
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fbe94
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fbe92
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fbe92
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fbe92
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbeca
mov ecx, dword [ebp + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x508], dl
cmp byte [ebp - 0x508], 0xa
jb 0x6fbeba
cmp byte [ebp - 0x508], 0xd
jbe 0x6fbebc
cmp byte [ebp - 0x508], 0x85
je 0x6fbebc
jmp 0x6fbeca
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6fbe39
jmp 0x6fc24b
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fbee0
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fbf60
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fbf32
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fbf30
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fbf30
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fbf30
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbf60
mov edx, 1
test edx, edx
je 0x6fbf52
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
movzx ecx, byte [eax + ecx]
and ecx, 4
je 0x6fbf52
jmp 0x6fbf60
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6fbed7
jmp 0x6fc24b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6fbf76
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6fbff1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fbfc8
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fbfc6
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fbfc6
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fbfc6
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fbff1
xor ecx, ecx
jne 0x6fbfe1
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
movzx eax, byte [edx + eax]
and eax, 4
jne 0x6fbfe3
jmp 0x6fbff1
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6fbf6d
jmp 0x6fc24b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6fc007
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6fc087
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6fc059
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fc057
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fc057
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fc057
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fc087
mov eax, 1
test eax, eax
je 0x6fc079
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
movzx edx, byte [ecx + edx]
and edx, 1
je 0x6fc079
jmp 0x6fc087
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6fbffe
jmp 0x6fc24b
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
jmp 0x6fc09d
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x124]
jge 0x6fc118
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x78]
jb 0x6fc0ef
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 0
je 0x6fc0ed
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x84]
jbe 0x6fc0ed
mov eax, dword [ebp + 0x18]
mov dword [eax + 0x64], 1
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 1
jle 0x6fc0ed
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fc118
xor edx, edx
jne 0x6fc108
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x40]
movzx ecx, byte [eax + ecx]
and ecx, 1
jne 0x6fc10a
jmp 0x6fc118
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
jmp 0x6fc094
jmp 0x6fc24b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x6fc12e
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x124]
jge 0x6fc1ae
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x78]
jb 0x6fc180
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 0
je 0x6fc17e
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x84]
jbe 0x6fc17e
mov edx, dword [ebp + 0x18]
mov dword [edx + 0x64], 1
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x88], 1
jle 0x6fc17e
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fc1ae
mov ecx, 1
test ecx, ecx
je 0x6fc1a0
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x40]
movzx eax, byte [edx + eax]
and eax, 0x10
je 0x6fc1a0
jmp 0x6fc1ae
mov ecx, dword [ebp + 8]
add ecx, 1
mov dword [ebp + 8], ecx
jmp 0x6fc125
jmp 0x6fc24b
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
jmp 0x6fc1c4
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x124]
jge 0x6fc23f
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x78]
jb 0x6fc216
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x88], 0
je 0x6fc214
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x84]
jbe 0x6fc214
mov ecx, dword [ebp + 0x18]
mov dword [ecx + 0x64], 1
mov edx, dword [ebp + 0x18]
cmp dword [edx + 0x88], 1
jle 0x6fc214
mov eax, 0xfffffff4
jmp 0x6fc2ec
jmp 0x6fc23f
xor eax, eax
jne 0x6fc22f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x40]
movzx edx, byte [ecx + edx]
and edx, 0x10
jne 0x6fc231
jmp 0x6fc23f
mov eax, dword [ebp + 8]
add eax, 1
mov dword [ebp + 8], eax
jmp 0x6fc1bb
jmp 0x6fc24b
mov eax, 0xfffffff2
jmp 0x6fc2ec
cmp dword [ebp - 0x10c], 0
je 0x6fc259
jmp 0x6e5641
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
jne 0x6fc266
jmp 0x6e55c6
mov edx, dword [ebp + 0x20]
add edx, 1
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.006e5540
add esp, 0x1c
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x6fc2a4
mov eax, dword [ebp - 0x120]
jmp 0x6fc2ec
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
cmp dword [ebp - 0x10], 0x11
jne 0x6fc2db
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x34]
jbe 0x6fc2db
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0xa
jne 0x6fc2db
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx - 1]
cmp edx, 0xd
jne 0x6fc2db
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
jmp 0x6fc259
mov eax, 0xfffffffb
jmp 0x6fc2ec
jmp 0x6e5641
pop edi
pop esi
mov esp, ebp
pop ebp
ret