Function at 0x6dbd56
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x310
push esi
push edi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x28], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0xb0], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x88], 0
mov edx, dword [ebp - 0x68]
and edx, 0x800
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0x68]
and eax, 0x200
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
xor ecx, 1
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x7c], 0
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x20], 0xfffffffe
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x68]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x80], edx
jmp 0x6db6ae
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jne 0x6db6eb
cmp dword [ebp - 0xb0], 0
je 0x6db6eb
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xb0], 0
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp + 0x34], 0
je 0x6db7c3
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x3c]
lea ecx, [ecx + eax - 0x64]
cmp dword [ebp - 0x3c], ecx
jbe 0x6db72b
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp + 0x30]
add eax, dword [ecx + 0x3c]
cmp dword [ebp - 0x3c], eax
sbb edx, edx
and edx, 0x23
add edx, 0x34
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x6e17e6
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0xc0]
jae 0x6db73f
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0xc0]
cmp ecx, edx
jge 0x6db764
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x6e17e6
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0xc0]
mov edx, dword [ebp + 0x34]
add ecx, dword [edx]
mov eax, dword [ebp + 0x34]
mov dword [eax], ecx
cmp dword [ebp - 4], 0
je 0x6db7b2
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x1c]
jbe 0x6db7b0
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00567d20
add esp, 0xc
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
jmp 0x6db7b8
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xc0], eax
jmp 0x6db7e5
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp + 0x30]
add edx, dword [eax + 0x3c]
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x20], edx
jbe 0x6db7e5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x6e17e6
cmp dword [ebp - 0xb4], 0
je 0x6db8ad
cmp dword [ebp - 0xb4], 0x5c
jne 0x6db81e
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x45
jne 0x6db81e
mov dword [ebp - 0x74], 0
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6db6a5
cmp dword [ebp - 0x74], 0
je 0x6db883
cmp dword [ebp - 0xc4], 0
je 0x6db854
cmp dword [ebp + 0x34], 0
jne 0x6db84a
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
call fcn.006e2ce0
add esp, 0xc
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x68]
and eax, 0x4000
je 0x6db87e
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp + 0x30]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.006e2c80
add esp, 0xc
mov dword [ebp - 0x3c], eax
jmp case.0x6dbbd0.1
cmp dword [ebp - 0xb4], 0x5c
jne 0x6db8ad
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x51
jne 0x6db8ad
mov dword [ebp - 0x74], 1
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6db6a5
mov edx, dword [ebp - 0x68]
and edx, 8
je 0x6dba53
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x124], eax
mov ecx, 1
test ecx, ecx
je 0x6db8f7
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xb4]
movzx edx, byte [eax + ecx]
and edx, 1
je 0x6db8f7
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0xb4], edx
jmp 0x6db8c2
cmp dword [ebp - 0xb4], 0x23
jne 0x6dba43
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
test edx, edx
je 0x6dba43
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x84], 0
je 0x6db988
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x38]
cmp edx, dword [ecx + 0x1c]
jae 0x6db970
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp + 0x30]
add ecx, 0x88
push ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x84]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6db970
mov dword [ebp - 0x288], 1
jmp 0x6db97a
mov dword [ebp - 0x288], 0
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x28c], ecx
jmp 0x6db9f3
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
sub ecx, dword [eax + 0x88]
cmp dword [ebp - 0x38], ecx
ja 0x6db9dd
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x30]
movzx edx, byte [ecx + 0x8c]
cmp eax, edx
jne 0x6db9dd
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x88], 1
je 0x6db9d1
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x30]
movzx ecx, byte [eax + 0x8d]
cmp edx, ecx
jne 0x6db9dd
mov dword [ebp - 0x290], 1
jmp 0x6db9e7
mov dword [ebp - 0x290], 0
mov edx, dword [ebp - 0x290]
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 0
je 0x6dba0d
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x38]
add ecx, dword [eax + 0x88]
mov dword [ebp - 0x38], ecx
jmp 0x6dba43
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0xa0], 0
je 0x6dba3e
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6dba3e
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6dba1f
jmp 0x6db90d
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x124]
jbe 0x6dba53
jmp 0x6db6ae
cmp dword [ebp - 0xb4], 0x28
jne 0x6dbaba
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x3f
jne 0x6dbaba
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 2]
cmp ecx, 0x23
jne 0x6dbaba
mov edx, dword [ebp - 0x38]
add edx, 3
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
test ecx, ecx
je 0x6dba9d
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x6dba9d
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6dba7d
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
test eax, eax
jne 0x6dbab5
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x12
jmp 0x6e17e6
jmp 0x6db6a5
cmp dword [ebp - 0xb4], 0x2a
je 0x6dbafd
cmp dword [ebp - 0xb4], 0x2b
je 0x6dbafd
cmp dword [ebp - 0xb4], 0x3f
je 0x6dbafd
cmp dword [ebp - 0xb4], 0x7b
jne 0x6dbaf1
mov edx, dword [ebp - 0x38]
add edx, 1
push edx
call fcn.006e1b60
add esp, 4
test eax, eax
jne 0x6dbafd
mov dword [ebp - 0x294], 0
jmp 0x6dbb07
mov dword [ebp - 0x294], 1
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
jne 0x6dbb6e
cmp dword [ebp - 0xc4], 0
je 0x6dbb6e
cmp dword [ebp - 0xb0], 0
jne 0x6dbb6e
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
sub edx, 1
mov dword [ebp - 0x8c], edx
test ecx, ecx
jg 0x6dbb6e
cmp dword [ebp + 0x34], 0
jne 0x6dbb64
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
call fcn.006e2ce0
add esp, 0xc
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x68]
and eax, 0x4000
je 0x6dbbaa
cmp dword [ebp - 0xe8], 0
jne 0x6dbbaa
cmp dword [ebp - 0xb0], 0
jne 0x6dbbaa
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp + 0x30]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.006e2c80
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x298], edx
cmp dword [ebp - 0x298], 0x7c
ja case.0x6dbbd0.1
mov eax, dword [ebp - 0x298]
movzx ecx, byte [eax + 0x6e182c]
jmp dword [ecx*4 + 0x6e17f8]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x94]
mov dword [edx], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x70]
mov dword [ecx], edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x90]
mov dword [edx], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
cmp dword [ebp + 0x34], 0
je 0x6dbc4e
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0xc0]
cmp eax, ecx
jge 0x6dbc3b
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x6e17e6
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0xc0]
mov ecx, dword [ebp + 0x34]
add eax, dword [ecx]
mov edx, dword [ebp + 0x34]
mov dword [edx], eax
mov eax, 1
jmp 0x6e17f0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x68]
and eax, 2
je 0x6dbc8e
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6dbc7d
mov dword [ebp - 0x70], 0xffffffff
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0x1c
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6dbc9d
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0x1b
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6e17e1
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x68]
and eax, 2
neg eax
sbb eax, eax
neg eax
add eax, 0x19
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6e17e1
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6dbcd8
mov dword [ebp - 0x70], 0xffffffff
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x68]
and edx, 4
neg edx
sbb edx, edx
neg edx
add edx, 0xc
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x6e17e1
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x60]
and eax, 0x2000000
je 0x6dbd51
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x40
jmp 0x6e17e6
jmp case.0x6dbbd0.1
push 6
push 0x7ab8f0
mov edx, dword [ebp - 0x38]
add edx, 1
push edx
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6dbd88
mov eax, dword [ebp - 0x38]
add eax, 7
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x38], 0x7aa4f0
jmp 0x6db6ae
push 6
push 0x7ab8e8
mov ecx, dword [ebp - 0x38]
add ecx, 1
push ecx
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6dbdba
mov edx, dword [ebp - 0x38]
add edx, 7
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x38], 0x7aa4fc
jmp 0x6db6ae
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x3a
je 0x6dbdf6
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x2e
je 0x6dbdf6
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x6dbe2b
lea ecx, [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.006e2b30
add esp, 8
test eax, eax
je 0x6dbe2b
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
sub ecx, 0x3a
neg ecx
sbb ecx, ecx
and ecx, 0x12
add ecx, 0xd
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
jmp 0x6e17e6
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x5c
jne 0x6dbe93
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x45
jne 0x6dbe6a
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6dbe91
push 3
push 0x7ab8e4
mov eax, dword [ebp - 0x38]
add eax, 1
push eax
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6dbe8f
mov ecx, dword [ebp - 0x38]
add ecx, 3
mov dword [ebp - 0x38], ecx
jmp 0x6dbe91
jmp 0x6dbeb5
jmp 0x6dbeb3
cmp dword [ebp - 0x110], 0
jne 0x6dbeb1
cmp dword [ebp - 0xb4], 0x5e
jne 0x6dbeb1
mov dword [ebp - 0x110], 1
jmp 0x6dbeb3
jmp 0x6dbeb5
jmp 0x6dbe35
cmp dword [ebp - 0xb4], 0x5d
jne 0x6dbf13
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x60]
and eax, 0x2000000
je 0x6dbf13
mov ecx, dword [ebp - 0x110]
neg ecx
sbb ecx, ecx
and ecx, 0xffffff70
add ecx, 0x9d
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6dbefc
mov dword [ebp - 0x70], 0xffffffff
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x98], edx
jmp 0x6e17e1
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x120], 0
xor edx, edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0xb4], 0
je 0x6dd212
cmp dword [ebp - 0xa0], 0
je 0x6dc14a
cmp dword [ebp - 0xb4], 0xc0
jb 0x6dc14a
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0xc0
jb 0x6dc14a
mov edx, dword [ebp - 0xb4]
and edx, 0x20
jne 0x6dbfeb
mov eax, dword [ebp - 0xb4]
and eax, 0x1f
shl eax, 6
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6dc14a
mov ecx, dword [ebp - 0xb4]
and ecx, 0x10
jne 0x6dc031
mov edx, dword [ebp - 0xb4]
and edx, 0xf
shl edx, 0xc
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0x38]
add edx, 2
mov dword [ebp - 0x38], edx
jmp 0x6dc14a
mov eax, dword [ebp - 0xb4]
and eax, 8
jne 0x6dc086
mov ecx, dword [ebp - 0xb4]
and ecx, 7
shl ecx, 0x12
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 3]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x38]
add ecx, 3
mov dword [ebp - 0x38], ecx
jmp 0x6dc14a
mov edx, dword [ebp - 0xb4]
and edx, 4
jne 0x6dc0e7
mov eax, dword [ebp - 0xb4]
and eax, 3
shl eax, 0x18
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 4]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
jmp 0x6dc14a
mov ecx, dword [ebp - 0xb4]
and ecx, 1
shl ecx, 0x1e
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 0x18
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 2]
and eax, 0x3f
shl eax, 0x12
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 3]
and eax, 0x3f
shl eax, 0xc
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 4]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 5]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x38]
add ecx, 5
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 8]
jbe 0x6dc15c
mov dword [ebp - 0x84], 1
cmp dword [ebp + 0x34], 0
je 0x6dc180
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jbe 0x6dc180
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x34]
add ecx, dword [edx]
mov eax, dword [ebp + 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x74], 0
je 0x6dc1b5
cmp dword [ebp - 0xb4], 0x5c
jne 0x6dc1b0
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x45
jne 0x6dc1b0
mov dword [ebp - 0x74], 0
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6dd1a3
jmp 0x6dcb5e
cmp dword [ebp - 0xb4], 0x5b
jne 0x6dc66b
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x3a
je 0x6dc1ea
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x2e
je 0x6dc1ea
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3d
jne 0x6dc66b
lea edx, [ebp - 0xac]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.006e2b30
add esp, 8
test eax, eax
je 0x6dc66b
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3a
je 0x6dc235
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1f
jmp 0x6e17e6
mov eax, dword [ebp - 0x38]
add eax, 2
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x5e
jne 0x6dc266
mov dword [ebp - 0x158], 1
mov dword [ebp - 0xf0], 1
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.006e2c00
add esp, 8
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
jge 0x6dc299
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x6e17e6
mov ecx, dword [ebp - 0x68]
and ecx, 1
je 0x6dc2b4
cmp dword [ebp - 0x130], 2
jg 0x6dc2b4
mov dword [ebp - 0x130], 0
mov edx, dword [ebp - 0x68]
and edx, 0x20000000
je 0x6dc437
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x158]
neg eax
sbb eax, eax
and eax, 0xe
add eax, dword [ebp - 0x130]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x160]
cmp dword [ecx*4 + 0x80c270], 0
je 0x6dc322
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax*4 + 0x80c270]
sub ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6dd1a3
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x29c], 8
je 0x6dc34e
cmp dword [ebp - 0x29c], 9
je 0x6dc358
cmp dword [ebp - 0x29c], 0xa
je 0x6dc36b
jmp 0x6dc3d9
mov dword [ebp - 0x164], 0xb
cmp dword [ebp - 0x164], 0
jne 0x6dc36b
mov dword [ebp - 0x164], 0xc
cmp dword [ebp - 0x164], 0
jne 0x6dc37e
mov dword [ebp - 0x164], 0xd
xor eax, eax
cmp dword [ebp - 0x158], 0
setne al
add eax, 3
mov ecx, dword [ebp - 0xc]
mov byte [ecx], al
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp - 0x164]
mov byte [eax], cl
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov byte [eax], 0
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x120], 1
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6dd1a3
cmp dword [ebp - 0x158], 0
je 0x6dc437
cmp dword [ebp - 0x84], 0
jne 0x6dc3fa
mov eax, dword [ebp - 0xac]
movzx ecx, byte [eax + 2]
cmp ecx, 0x5d
je 0x6dc437
mov edx, dword [ebp - 0xc]
mov byte [edx], 2
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0x100
call fcn.0070e1f0
add esp, 8
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
push edx
push 0x10ffff
call fcn.0070e1f0
add esp, 8
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x130]
imul eax, eax, 3
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x130]
mov esi, dword [ebp - 0x15c]
add esi, dword [ecx*4 + 0x7aa570]
mov ecx, 8
lea edi, [ebp - 0x154]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x130]
mov eax, dword [edx*4 + 0x7aa574]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx*4 + 0x7aa578]
mov dword [ebp - 0x134], edx
cmp dword [ebp - 0x12c], 0
jl 0x6dc558
cmp dword [ebp - 0x134], 0
jl 0x6dc4fd
mov dword [ebp - 0xb4], 0
jmp 0x6dc4bd
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc4fb
mov ecx, dword [ebp - 0xb4]
add ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x15c]
movzx eax, byte [edx + ecx]
mov ecx, dword [ebp - 0xb4]
movzx edx, byte [ebp + ecx - 0x154]
or edx, eax
mov eax, dword [ebp - 0xb4]
mov byte [ebp + eax - 0x154], dl
jmp 0x6dc4ae
jmp 0x6dc558
mov dword [ebp - 0xb4], 0
jmp 0x6dc518
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc558
mov edx, dword [ebp - 0xb4]
add edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x15c]
movzx ecx, byte [eax + edx]
not ecx
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x154]
and eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x154], al
jmp 0x6dc509
cmp dword [ebp - 0x134], 0
jge 0x6dc56f
mov edx, dword [ebp - 0x134]
neg edx
mov dword [ebp - 0x134], edx
cmp dword [ebp - 0x134], 1
jne 0x6dc58a
movzx eax, byte [ebp - 0x153]
and eax, 0xffffffc3
mov byte [ebp - 0x153], al
jmp 0x6dc5a3
cmp dword [ebp - 0x134], 2
jne 0x6dc5a3
movzx ecx, byte [ebp - 0x149]
and ecx, 0x7f
mov byte [ebp - 0x149], cl
cmp dword [ebp - 0x158], 0
je 0x6dc5fb
mov dword [ebp - 0xb4], 0
jmp 0x6dc5c7
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc5f9
mov eax, dword [ebp - 0xb4]
movzx ecx, byte [ebp + eax - 0x154]
not ecx
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc5b8
jmp 0x6dc646
mov dword [ebp - 0xb4], 0
jmp 0x6dc616
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc646
mov eax, dword [ebp - 0xb4]
movzx ecx, byte [ebp + eax - 0x154]
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc607
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0xdc], 2
jmp 0x6dd1a3
cmp dword [ebp - 0xb4], 0x5c
jne 0x6dcb5e
push 1
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x40]
push edx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xec]
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.006e1c40
add esp, 0x18
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x6dc6ac
jmp 0x6e17e6
cmp dword [ebp - 0x78], 0
jne 0x6dc6c3
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xb4], ecx
jmp 0x6dcb57
cmp dword [ebp - 0x78], 5
jne 0x6dc6d8
mov dword [ebp - 0xb4], 8
jmp 0x6dcb57
cmp dword [ebp - 0x78], 0xc
jne 0x6dc6f1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x47
jmp 0x6e17e6
cmp dword [ebp - 0x78], 0x1a
jne 0x6dc72b
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x5c
jne 0x6dc71a
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 2]
cmp eax, 0x45
jne 0x6dc71a
mov ecx, dword [ebp - 0x38]
add ecx, 2
mov dword [ebp - 0x38], ecx
jmp 0x6dc721
mov dword [ebp - 0x74], 1
jmp 0x6dd1a3
cmp dword [ebp - 0x78], 0x19
jne 0x6dc73b
jmp 0x6dd1a3
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 8]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xdc]
add edx, 2
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2a0]
sub ecx, 6
mov dword [ebp - 0x2a0], ecx
cmp dword [ebp - 0x2a0], 0x1c
ja case.0x6dc797.6
mov edx, dword [ebp - 0x2a0]
movzx eax, byte [edx + 0x6e18e0]
jmp dword [eax*4 + 0x6e18ac]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x78]
mov eax, dword [edx*4 + 0x80c1e4]
sub eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xe4]
sub ecx, 1
mov dword [ebp - 0xe4], ecx
jmp 0x6dd1a3
mov dword [ebp - 0xb4], 0
jmp 0x6dc7e6
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc818
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0xb4]
movzx ecx, byte [eax + 0x40]
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc7d7
jmp 0x6dd1a3
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xb4], 0
jmp 0x6dc842
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc876
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0xb4]
movzx ecx, byte [eax + 0x40]
not ecx
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc833
jmp 0x6dd1a3
mov dword [ebp - 0xb4], 0
jmp 0x6dc896
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc8cb
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0xb4]
movzx ecx, byte [eax + 0xa0]
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc887
jmp 0x6dd1a3
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xb4], 0
jmp 0x6dc8f5
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc92c
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0xb4]
movzx ecx, byte [eax + 0xa0]
not ecx
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc8e6
jmp 0x6dd1a3
mov dword [ebp - 0xb4], 0
jmp 0x6dc94c
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc97d
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0xb4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc93d
jmp 0x6dd1a3
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xb4], 0
jmp 0x6dc9a7
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dc9da
mov eax, dword [ebp - 0x168]
add eax, dword [ebp - 0xb4]
movzx ecx, byte [eax]
not ecx
mov edx, dword [ebp - 0xb4]
movzx eax, byte [ebp + edx - 0x64]
or eax, ecx
mov ecx, dword [ebp - 0xb4]
mov byte [ebp + ecx - 0x64], al
jmp 0x6dc998
jmp 0x6dd1a3
push 0xffffffffffffffff
push 0x7ab9b8
mov edx, dword [ebp + 0x30]
push edx
mov eax, dword [ebp - 0x68]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.006e31d0
add esp, 0x18
jmp 0x6dd1a3
push 0x7ab9b8
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x64]
push eax
call fcn.006e3260
add esp, 0x14
jmp 0x6dd1a3
push 0xffffffffffffffff
push 0x7aba08
mov ecx, dword [ebp + 0x30]
push ecx
mov edx, dword [ebp - 0x68]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.006e31d0
add esp, 0x18
jmp 0x6dd1a3
push 0x7aba08
mov edx, dword [ebp + 0x30]
push edx
mov eax, dword [ebp - 0x68]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.006e3260
add esp, 0x14
jmp 0x6dd1a3
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x170]
push ecx
lea edx, [ebp - 0x174]
push edx
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x38]
push ecx
call fcn.006e27e0
add esp, 0x14
test eax, eax
jne 0x6dcaad
jmp 0x6e17e6
xor edx, edx
cmp dword [ebp - 0x78], 0x10
sete dl
sub edx, dword [ebp - 0x16c]
neg edx
sbb edx, edx
add edx, 4
mov eax, dword [ebp - 0xc]
mov byte [eax], dl
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
mov al, byte [ebp - 0x174]
mov byte [edx], al
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
mov al, byte [ebp - 0x170]
mov byte [edx], al
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x120], 1
mov edx, dword [ebp - 0xe4]
sub edx, 1
mov dword [ebp - 0xe4], edx
jmp 0x6dd1a3
mov eax, dword [ebp - 0x68]
and eax, 0x40
je 0x6dcb2d
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 7
jmp 0x6e17e6
mov edx, dword [ebp - 0xe4]
sub edx, 1
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xdc]
sub eax, 2
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x5c
jne 0x6dcb88
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 2]
cmp eax, 0x45
jne 0x6dcb88
mov dword [ebp - 0x74], 0
mov ecx, dword [ebp - 0x38]
add ecx, 2
mov dword [ebp - 0x38], ecx
jmp 0x6dcb5e
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0xb4], 0xd
je 0x6dcba3
cmp dword [ebp - 0xb4], 0xa
jne 0x6dcbb5
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x64]
or ecx, 0x800
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x64], ecx
cmp dword [ebp - 0x74], 0
jne 0x6dcf97
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x2d
jne 0x6dcf97
mov edx, dword [ebp - 0x38]
add edx, 2
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x6dcbfa
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x45
jne 0x6dcbfa
mov ecx, dword [ebp - 0x38]
add ecx, 2
mov dword [ebp - 0x38], ecx
jmp 0x6dcbd8
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x5c
jne 0x6dcc47
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x51
jne 0x6dcc47
mov eax, dword [ebp - 0x38]
add eax, 2
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x5c
jne 0x6dcc3c
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x45
jne 0x6dcc3c
mov edx, dword [ebp - 0x38]
add edx, 2
mov dword [ebp - 0x38], edx
jmp 0x6dcbfa
mov dword [ebp - 0x74], 1
jmp 0x6dcc47
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
test ecx, ecx
je 0x6dcc62
cmp dword [ebp - 0x74], 0
jne 0x6dcc70
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x5d
jne 0x6dcc70
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x38], ecx
jmp 0x6dcf97
cmp dword [ebp - 0xa0], 0
je 0x6dce31
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0x178], eax
cmp dword [ebp - 0x178], 0xc0
jb 0x6dce2f
mov ecx, dword [ebp - 0x178]
and ecx, 0x20
jne 0x6dccd0
mov edx, dword [ebp - 0x178]
and edx, 0x1f
shl edx, 6
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6dce2f
mov eax, dword [ebp - 0x178]
and eax, 0x10
jne 0x6dcd16
mov ecx, dword [ebp - 0x178]
and ecx, 0xf
shl ecx, 0xc
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
and eax, 0x3f
shl eax, 6
or ecx, eax
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 2]
and eax, 0x3f
or ecx, eax
mov dword [ebp - 0x178], ecx
mov ecx, dword [ebp - 0x38]
add ecx, 2
mov dword [ebp - 0x38], ecx
jmp 0x6dce2f
mov edx, dword [ebp - 0x178]
and edx, 8
jne 0x6dcd6b
mov eax, dword [ebp - 0x178]
and eax, 7
shl eax, 0x12
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 3]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x38]
add eax, 3
mov dword [ebp - 0x38], eax
jmp 0x6dce2f
mov ecx, dword [ebp - 0x178]
and ecx, 4
jne 0x6dcdcc
mov edx, dword [ebp - 0x178]
and edx, 3
shl edx, 0x18
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
and ecx, 0x3f
shl ecx, 0x12
or edx, ecx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl ecx, 0xc
or edx, ecx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl ecx, 6
or edx, ecx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 4]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x38]
add edx, 4
mov dword [ebp - 0x38], edx
jmp 0x6dce2f
mov eax, dword [ebp - 0x178]
and eax, 1
shl eax, 0x1e
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
and edx, 0x3f
shl edx, 0x18
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 2]
and edx, 0x3f
shl edx, 0x12
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 3]
and edx, 0x3f
shl edx, 0xc
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 4]
and edx, 0x3f
shl edx, 6
or eax, edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 5]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x38]
add eax, 5
mov dword [ebp - 0x38], eax
jmp 0x6dce3d
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x178], edx
cmp dword [ebp - 0x74], 0
jne 0x6dcf07
cmp dword [ebp - 0x178], 0x5c
jne 0x6dceb5
push 1
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x40]
push edx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x178]
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.006e1c40
add esp, 0x18
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x6dce87
jmp 0x6e17e6
cmp dword [ebp - 0x17c], 0
je 0x6dceb3
cmp dword [ebp - 0x17c], 5
jne 0x6dcea5
mov dword [ebp - 0x178], 8
jmp 0x6dceb3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x53
jmp 0x6e17e6
jmp 0x6dcf07
cmp dword [ebp - 0x178], 0x5b
jne 0x6dcf07
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x3a
je 0x6dcee2
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x2e
je 0x6dcee2
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3d
jne 0x6dcf07
lea edx, [ebp - 0xac]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.006e2b30
add esp, 8
test eax, eax
je 0x6dcf07
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x53
jmp 0x6e17e6
mov edx, dword [ebp - 0x178]
cmp edx, dword [ebp - 0xb4]
jae 0x6dcf23
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x6e17e6
mov ecx, dword [ebp - 0x178]
cmp ecx, dword [ebp - 0xb4]
jne 0x6dcf33
jmp 0x6dcf97
mov dword [ebp - 0xdc], 2
cmp dword [ebp - 0x178], 0xd
je 0x6dcf4f
cmp dword [ebp - 0x178], 0xa
jne 0x6dcf60
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x64]
or eax, 0x800
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x64], eax
mov edx, dword [ebp - 0x178]
push edx
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp + 0x30]
push ecx
mov edx, dword [ebp - 0x68]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.006e2d30
add esp, 0x18
add eax, dword [ebp - 0xe4]
mov dword [ebp - 0xe4], eax
jmp 0x6dd1a3
cmp dword [ebp - 0xdc], 2
jge 0x6dcfaf
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
cmp dword [ebp - 0x74], 0
jne 0x6dd171
cmp dword [ebp - 0x120], 0
jne 0x6dd171
cmp dword [ebp - 0xdc], 1
jne 0x6dd171
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x5d
jne 0x6dd171
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x110], 0
je 0x6dd126
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6dd018
mov dword [ebp - 0x70], 0xffffffff
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xa0], 0
je 0x6dd0c3
mov ecx, dword [ebp - 0x68]
and ecx, 1
je 0x6dd0c3
mov eax, dword [ebp - 0xb4]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0xb4]
and eax, 0x8000007f
jns 0x6dd06e
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5ab]
mov dword [ebp - 0x180], edx
cmp dword [ebp - 0x180], 0
je 0x6dd0c3
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0xf
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov byte [edx], 9
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x180]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6dd121
mov ecx, dword [ebp - 0x68]
and ecx, 1
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0x1f
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0xa0], 0
je 0x6dd10d
cmp dword [ebp - 0xb4], 0x7f
jbe 0x6dd10d
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call fcn.0070e1f0
add esp, 8
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
jmp 0x6dd121
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0xb4]
mov byte [eax], cl
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6dd4c0
cmp dword [ebp - 0xa0], 0
je 0x6dd156
cmp dword [ebp - 0xb4], 0x7f
jbe 0x6dd156
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call fcn.0070e1f0
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x6dd16c
mov dl, byte [ebp - 0xb4]
mov byte [ebp - 0xcc], dl
mov dword [ebp - 0xd0], 1
jmp 0x6e1435
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp + 0x30]
push edx
mov eax, dword [ebp - 0x68]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x64]
push edx
call fcn.006e2d30
add esp, 0x18
add eax, dword [ebp - 0xe4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
jne 0x6dd1fb
cmp dword [ebp - 0xb0], 0
je 0x6dd212
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xb0], 0
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x6dd212
cmp dword [ebp - 0xb4], 0x5d
jne 0x6dbf7b
cmp dword [ebp - 0x74], 0
jne 0x6dbf7b
cmp dword [ebp - 0xb4], 0
jne 0x6dd229
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 6
jmp 0x6e17e6
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 8]
jbe 0x6dd23b
mov dword [ebp - 0x84], 1
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6dd248
mov dword [ebp - 0x70], 0xffffffff
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x84], 0
je 0x6dd426
cmp dword [ebp - 0x120], 0
jne 0x6dd29a
cmp dword [ebp - 0xf0], 0
je 0x6dd29a
mov ecx, dword [ebp - 0x68]
and ecx, 0x20000000
je 0x6dd426
cmp dword [ebp - 0xa0], 0
je 0x6dd306
cmp dword [ebp - 0xf0], 0
je 0x6dd306
cmp dword [ebp - 0x110], 0
jne 0x6dd306
mov edx, dword [ebp - 0x68]
and edx, 0x20000000
jne 0x6dd306
mov eax, dword [ebp - 0xc]
mov byte [eax], 2
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xa0], 0
je 0x6dd306
mov edx, dword [ebp - 0xc]
push edx
push 0x100
call fcn.0070e1f0
add esp, 8
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
push 0x10ffff
call fcn.0070e1f0
add esp, 8
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov byte [ecx], 0
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0x70
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
xor eax, eax
cmp dword [ebp - 0x110], 0
setne al
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
cmp dword [ebp - 0x120], 0
je 0x6dd355
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx]
or eax, 4
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
cmp dword [ebp - 0xe4], 0
jle 0x6dd3fa
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx]
or eax, 2
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x3c]
add edx, 0x20
push edx
call fcn.00567d20
add esp, 0xc
cmp dword [ebp - 0x110], 0
je 0x6dd3e2
cmp dword [ebp - 0x120], 0
jne 0x6dd3e2
mov dword [ebp - 0xb4], 0
jmp 0x6dd3c0
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x20
jae 0x6dd3e2
mov ecx, dword [ebp - 0xb4]
movzx edx, byte [ebp + ecx - 0x64]
not edx
mov eax, dword [ebp - 0xb4]
mov byte [ebp + eax - 0x64], dl
jmp 0x6dd3b1
mov ecx, 8
lea esi, [ebp - 0x64]
mov edi, dword [ebp - 0x3c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
add ecx, 0x20
mov dword [ebp - 0x3c], ecx
jmp 0x6dd400
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 4]
sar eax, 8
mov ecx, dword [ebp - 4]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 4]
and edx, 0xff
mov eax, dword [ebp - 4]
mov byte [eax + 2], dl
jmp 0x6e17e1
cmp dword [ebp + 0x34], 0
je 0x6dd43c
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x34]
add ecx, dword [edx]
mov eax, dword [ebp + 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x110]
xor edx, edx
cmp ecx, dword [ebp - 0xf0]
setne dl
add edx, 0x6e
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp + 0x34], 0
jne 0x6dd4b7
cmp dword [ebp - 0x110], 0
je 0x6dd4aa
mov dword [ebp - 0xb4], 0
jmp 0x6dd488
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x20
jae 0x6dd4aa
mov eax, dword [ebp - 0xb4]
movzx ecx, byte [ebp + eax - 0x64]
not ecx
mov edx, dword [ebp - 0xb4]
mov byte [ebp + edx - 0x64], cl
jmp 0x6dd479
mov ecx, 8
lea esi, [ebp - 0x64]
mov edi, dword [ebp - 0x3c]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x3c]
add eax, 0x20
mov dword [ebp - 0x3c], eax
jmp 0x6e17e1
cmp dword [ebp - 0xe8], 0
jne 0x6dd4d3
jmp case.0x6dbbd0.1
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
push ecx
call fcn.006e29d0
add esp, 0x10
mov dword [ebp - 0x38], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x6dd4fe
jmp 0x6e17e6
jmp 0x6dd52e
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x6dd52e
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x6dd52e
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 4], 0
jne 0x6dd542
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x6e17e6
cmp dword [ebp - 0x34], 0
jne 0x6dd56c
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x2c]
neg edx
sbb edx, edx
and edx, 2
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x68]
and ecx, 8
je 0x6dd770
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x184], edx
mov eax, 1
test eax, eax
je 0x6dd5e0
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + edx]
and edx, 1
je 0x6dd5e0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x6dd5ae
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ecx]
cmp edx, 0x23
je 0x6dd5f3
jmp 0x6dd764
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ecx]
test edx, edx
je 0x6dd75f
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x84], 0
je 0x6dd686
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x184]
cmp edx, dword [ecx + 0x1c]
jae 0x6dd66e
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp + 0x30]
add ecx, 0x88
push ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x84]
push edx
mov eax, dword [ebp - 0x184]
push eax
call fcn.0070f2c0
add esp, 0x14
test eax, eax
je 0x6dd66e
mov dword [ebp - 0x2a4], 1
jmp 0x6dd678
mov dword [ebp - 0x2a4], 0
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a8], ecx
jmp 0x6dd6fa
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
sub ecx, dword [eax + 0x88]
cmp dword [ebp - 0x184], ecx
ja 0x6dd6e4
mov edx, dword [ebp - 0x184]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x30]
movzx edx, byte [ecx + 0x8c]
cmp eax, edx
jne 0x6dd6e4
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x88], 1
je 0x6dd6d8
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x30]
movzx ecx, byte [eax + 0x8d]
cmp edx, ecx
jne 0x6dd6e4
mov dword [ebp - 0x2ac], 1
jmp 0x6dd6ee
mov dword [ebp - 0x2ac], 0
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2a8], edx
cmp dword [ebp - 0x2a8], 0
je 0x6dd71a
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x184]
add ecx, dword [eax + 0x88]
mov dword [ebp - 0x184], ecx
jmp 0x6dd75f
mov edx, dword [ebp - 0x184]
add edx, 1
mov dword [ebp - 0x184], edx
cmp dword [ebp - 0xa0], 0
je 0x6dd75a
mov eax, dword [ebp - 0x184]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6dd75a
mov edx, dword [ebp - 0x184]
add edx, 1
mov dword [ebp - 0x184], edx
jmp 0x6dd732
jmp 0x6dd602
jmp 0x6dd5ae
mov eax, dword [ebp - 0x184]
sub eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x28
jne 0x6dd7d5
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 2]
cmp ecx, 0x3f
jne 0x6dd7d5
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 3]
cmp eax, 0x23
jne 0x6dd7d5
mov ecx, dword [ebp - 0x38]
add ecx, 4
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
test eax, eax
je 0x6dd7bd
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x6dd7bd
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6dd79d
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
test edx, edx
jne 0x6dd7d5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x6e17e6
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x2b
jne 0x6dd800
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6dd82c
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x3f
jne 0x6dd823
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6dd82c
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x75
jne 0x6dd900
push 3
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 4]
add eax, 3
push eax
call fcn.00567d20
add esp, 0xc
mov ecx, dword [ebp - 4]
mov byte [ecx], 0x81
mov edx, dword [ebp - 4]
mov byte [edx + 1], 0
mov eax, dword [ebp - 4]
mov byte [eax + 2], 6
mov ecx, dword [ebp - 4]
mov byte [ecx + 6], 0x78
mov edx, dword [ebp - 4]
mov byte [edx + 7], 0
mov eax, dword [ebp - 4]
mov byte [eax + 8], 6
mov ecx, dword [ebp - 0x3c]
add ecx, 6
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], 9
cmp dword [ebp + 0x34], 0
jne 0x6dd900
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x10]
add eax, 2
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x20], eax
jb 0x6dd900
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x20]
movzx ecx, byte [eax - 2]
shl ecx, 8
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x20]
movzx edx, byte [eax - 1]
or ecx, edx
mov dword [ebp - 0x188], ecx
mov eax, dword [ebp - 4]
add eax, 1
mov ecx, dword [ebp + 0x30]
sub eax, dword [ecx + 0x14]
cmp dword [ebp - 0x188], eax
jne 0x6dd900
mov edx, dword [ebp - 0x188]
add edx, 3
sar edx, 8
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x20]
mov byte [ecx - 2], dl
mov edx, dword [ebp - 0x188]
add edx, 3
and edx, 0xff
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x20]
mov byte [ecx - 1], dl
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x1d
je 0x6dd930
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x1e
je 0x6dd930
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x1f
je 0x6dd930
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x20
jne 0x6dda4b
mov ecx, dword [ebp - 4]
mov dl, byte [ecx]
mov byte [ebp - 0x2b0], dl
cmp byte [ebp - 0x2b0], 0x1e
je 0x6dd95f
cmp byte [ebp - 0x2b0], 0x1f
je 0x6dd968
cmp byte [ebp - 0x2b0], 0x20
je 0x6dd971
mov dword [ebp - 0x44], 0
jmp 0x6dd978
mov dword [ebp - 0x44], 0xd
jmp 0x6dd978
mov dword [ebp - 0x44], 0x1a
jmp 0x6dd978
mov dword [ebp - 0x44], 0x27
cmp dword [ebp - 0xa0], 0
je 0x6dda0b
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax - 1]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6dda0b
mov edx, dword [ebp - 0x3c]
sub edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6dd9ce
mov edx, dword [ebp - 0x18c]
sub edx, 1
mov dword [ebp - 0x18c], edx
jmp 0x6dd9a6
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x18c]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov edx, dword [ebp - 0x18c]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.005645b0
add esp, 0xc
mov ecx, dword [ebp - 0xb4]
or ecx, 0x10000000
mov dword [ebp - 0xb4], ecx
jmp 0x6dda44
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx - 1]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x1e
jg 0x6dda44
cmp dword [ebp - 0x34], 1
jle 0x6dda44
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x80]
or edx, dword [ecx + 0x68]
mov dword [ebp - 0x90], edx
jmp 0x6dda6d
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x17
jge 0x6dde42
mov dword [ebp - 0x44], 0x34
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x10
je 0x6dda83
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0xf
jne 0x6dda9f
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 1]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 2]
mov dword [ebp - 0x198], edx
jmp 0x6ddab5
mov dword [ebp - 0x198], 0xffffffff
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x2c], 0
jne 0x6ddacf
jmp 0x6dec6f
mov eax, dword [ebp - 0xa8]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0x34], 0
jne 0x6ddb60
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x6ddb03
mov ecx, dword [ebp - 0xa8]
add ecx, 0x21
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6ddb5b
cmp dword [ebp - 0x2c], 1
jne 0x6ddb22
mov ecx, dword [ebp - 0xa8]
add ecx, 0x25
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6ddb5b
mov ecx, dword [ebp - 0xa8]
add ecx, 0x27
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x2c]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x2c]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
jmp 0x6dddb6
cmp dword [ebp - 0x34], 1
jne 0x6ddbdd
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x6ddb85
mov eax, dword [ebp - 0xa8]
add eax, 0x23
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6ddbd8
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x2c], 1
jne 0x6ddb99
jmp 0x6dec6f
mov ecx, dword [ebp - 0xa8]
add ecx, 0x27
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x2c]
sub eax, 1
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
jmp 0x6dddb6
mov eax, dword [ebp - 0x44]
add eax, 0x29
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
sar eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 2
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x2c], 0
jge 0x6ddcc1
cmp dword [ebp - 0xa0], 0
je 0x6ddc60
mov edx, dword [ebp - 0xb4]
and edx, 0x10000000
je 0x6ddc60
mov eax, dword [ebp - 0xb4]
and eax, 7
push eax
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005645b0
add esp, 0xc
mov eax, dword [ebp - 0xb4]
and eax, 7
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
jmp 0x6ddca5
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0xb4]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x194], 0
jl 0x6ddca5
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x194]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x198]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 0x21
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6dddb6
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x34]
je 0x6dddb6
cmp dword [ebp - 0xa0], 0
je 0x6ddd0f
mov edx, dword [ebp - 0xb4]
and edx, 0x10000000
je 0x6ddd0f
mov eax, dword [ebp - 0xb4]
and eax, 7
push eax
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005645b0
add esp, 0xc
mov eax, dword [ebp - 0xb4]
and eax, 7
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
jmp 0x6ddd23
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0xb4]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x194], 0
jl 0x6ddd54
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x194]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x198]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 1
jne 0x6ddd7c
mov edx, dword [ebp - 0xa8]
add edx, 0x25
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x6dddb6
mov edx, dword [ebp - 0xa8]
add edx, 0x27
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x2c]
sar edx, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x2c]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0xa0], 0
je 0x6dddf8
mov ecx, dword [ebp - 0xb4]
and ecx, 0x10000000
je 0x6dddf8
mov edx, dword [ebp - 0xb4]
and edx, 7
push edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.005645b0
add esp, 0xc
mov edx, dword [ebp - 0xb4]
and edx, 7
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], edx
jmp 0x6dde0c
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0xb4]
mov byte [eax], cl
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x194], 0
jl 0x6dde3d
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x194]
mov byte [eax], cl
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
mov cl, byte [ebp - 0x198]
mov byte [eax], cl
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6dea13
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x6e
je 0x6dde93
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x6f
je 0x6dde93
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x70
je 0x6dde93
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x71
je 0x6dde93
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x72
je 0x6dde93
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x73
je 0x6dde93
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x74
jne 0x6ddf88
cmp dword [ebp - 0x2c], 0
jne 0x6ddea4
mov edx, dword [ebp - 4]
mov dword [ebp - 0x3c], edx
jmp 0x6dec6f
cmp dword [ebp - 0x34], 0
jne 0x6ddecc
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x6ddecc
mov eax, dword [ebp - 0xa8]
add eax, 0x62
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6ddf83
cmp dword [ebp - 0x34], 1
jne 0x6ddef4
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x6ddef4
mov eax, dword [ebp - 0xa8]
add eax, 0x64
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6ddf83
cmp dword [ebp - 0x34], 0
jne 0x6ddf19
cmp dword [ebp - 0x2c], 1
jne 0x6ddf19
mov eax, dword [ebp - 0xa8]
add eax, 0x66
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6ddf83
mov eax, dword [ebp - 0xa8]
add eax, 0x68
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
sar eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x34]
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 2
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x2c], 0xffffffff
jne 0x6ddf60
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x2c]
sar edx, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x2c]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
jmp 0x6dea13
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x7d
jl 0x6de9f1
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x87
jg 0x6de9f1
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 4]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x1ac], 0
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x87
jne 0x6ddff7
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 3]
cmp ecx, 0x91
jne 0x6ddff7
jmp 0x6dec6f
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x81
jge 0x6de022
cmp dword [ebp - 0x34], 0
jle 0x6de00f
jmp 0x6dec6f
cmp dword [ebp - 0x2c], 0
jl 0x6de01b
cmp dword [ebp - 0x2c], 1
jle 0x6de022
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x34], 0
jne 0x6de1a3
cmp dword [ebp - 0x2c], 1
jg 0x6de0c1
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push 1
mov edx, dword [ebp - 4]
push edx
call fcn.006db2c0
add esp, 0x14
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
add edx, 1
push edx
call fcn.00567d20
add esp, 0xc
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x2c], 0
jne 0x6de099
mov ecx, dword [ebp - 4]
mov byte [ecx], 0xa1
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x6dec6f
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 0x92
mov edx, dword [ebp - 4]
mov byte [edx], cl
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
jmp 0x6de195
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push 4
mov edx, dword [ebp - 4]
push edx
call fcn.006db2c0
add esp, 0x14
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
add edx, 4
push edx
call fcn.00567d20
add esp, 0xc
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 0x92
mov edx, dword [ebp - 4]
mov byte [edx], cl
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov byte [ecx], 0x83
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
cmp dword [ebp - 0x1a0], 0
jne 0x6de148
mov dword [ebp - 0x2b4], 0
jmp 0x6de157
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1b0]
sar eax, 8
mov ecx, dword [ebp - 4]
mov byte [ecx], al
mov edx, dword [ebp - 0x1b0]
and edx, 0xff
mov eax, dword [ebp - 4]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 4]
add ecx, 2
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x6de3a4
cmp dword [ebp - 0x34], 1
jle 0x6de395
cmp dword [ebp + 0x34], 0
je 0x6de21a
mov eax, dword [ebp - 0x34]
sub eax, 1
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 1
mov dword [ebp - 0x2b8], ecx
fild dword [ebp - 0x2b8]
fimul dword [ebp - 0x28]
fcomp qword [0x79a0d0]
fnstsw ax
test ah, 0x41
je 0x6de1f7
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
cmp eax, dword [ebp - 0x1b4]
jge 0x6de205
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x6e17e6
mov edx, dword [ebp + 0x34]
mov eax, dword [edx]
add eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
jmp 0x6de395
cmp dword [ebp - 0x18], 0
je 0x6de23e
cmp dword [ebp - 0x90], 0
jge 0x6de23e
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1a4], 1
jmp 0x6de259
mov ecx, dword [ebp - 0x1a4]
add ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a4]
cmp edx, dword [ebp - 0x34]
jge 0x6de395
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.005645b0
add esp, 0xc
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x3c]
lea ecx, [ecx + eax - 0x64]
mov edx, dword [ebp - 0x1b8]
sub edx, dword [ebp - 0x19c]
sub ecx, edx
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x20], ecx
jbe 0x6de2d7
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.006e1a90
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x6de2d5
jmp 0x6e17e6
jmp 0x6de291
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x10]
add edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1bc], edx
jmp 0x6de2fa
mov eax, dword [ebp - 0x1bc]
add eax, 2
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x10]
add edx, dword [ebp - 0x1b8]
cmp dword [ebp - 0x1bc], edx
jae 0x6de378
mov eax, dword [ebp - 0x1bc]
movzx ecx, byte [eax]
shl ecx, 8
mov edx, dword [ebp - 0x1bc]
movzx eax, byte [edx + 1]
or ecx, eax
add ecx, dword [ebp - 0x1a8]
sar ecx, 8
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x20]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1bc]
movzx edx, byte [ecx]
shl edx, 8
mov eax, dword [ebp - 0x1bc]
movzx ecx, byte [eax + 1]
or edx, ecx
add edx, dword [ebp - 0x1a8]
and edx, 0xff
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x20]
add eax, 2
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x20], eax
jmp 0x6de2eb
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x3c], eax
jmp 0x6de24a
cmp dword [ebp - 0x2c], 0
jle 0x6de3a4
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0
jl 0x6de718
cmp dword [ebp + 0x34], 0
je 0x6de426
cmp dword [ebp - 0x2c], 0
jle 0x6de426
mov edx, dword [ebp - 0x28]
add edx, 7
imul edx, dword [ebp - 0x2c]
sub edx, 6
mov dword [ebp - 0x1c0], edx
fild dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add eax, 7
mov dword [ebp - 0x2bc], eax
fild dword [ebp - 0x2bc]
fmulp st(1)
fcomp qword [0x79a0d0]
fnstsw ax
test ah, 0x41
je 0x6de403
mov ecx, dword [ebp + 0x34]
mov edx, 0x7fffffeb
sub edx, dword [ecx]
cmp edx, dword [ebp - 0x1c0]
jge 0x6de411
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x6e17e6
mov ecx, dword [ebp + 0x34]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1c0]
mov eax, dword [ebp + 0x34]
mov dword [eax], edx
jmp 0x6de637
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x1a4], ecx
jmp 0x6de443
mov edx, dword [ebp - 0x1a4]
sub edx, 1
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x1a4], 0
jl 0x6de637
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x1c4], edx
mov eax, dword [ebp - 0xa8]
add eax, 0x92
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x1a4], 0
je 0x6de4f5
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0x83
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x1a0], 0
jne 0x6de4a8
mov dword [ebp - 0x2c0], 0
jmp 0x6de4b7
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1cc]
sar edx, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1cc]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.005645b0
add esp, 0xc
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x10]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x3c]
lea edx, [edx + ecx - 0x64]
mov eax, dword [ebp - 0x1c4]
sub eax, dword [ebp - 0x19c]
sub edx, eax
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x20], edx
jbe 0x6de552
mov edx, dword [ebp + 0x30]
push edx
call fcn.006e1a90
add esp, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x6de550
jmp 0x6e17e6
jmp 0x6de50c
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x10]
add ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x1c8], ecx
jmp 0x6de575
mov edx, dword [ebp - 0x1c8]
add edx, 2
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x10]
add ecx, dword [ebp - 0x1c4]
cmp dword [ebp - 0x1c8], ecx
jae 0x6de61a
mov edx, dword [ebp - 0x1c8]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x1c8]
movzx edx, byte [ecx + 1]
or eax, edx
add eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
neg ecx
sbb ecx, ecx
and ecx, 3
add ecx, 1
add eax, ecx
sar eax, 8
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov byte [ecx], al
mov edx, dword [ebp - 0x1c8]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x1c8]
movzx edx, byte [ecx + 1]
or eax, edx
add eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
neg ecx
sbb ecx, ecx
and ecx, 3
add ecx, 1
add eax, ecx
and eax, 0xff
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov byte [ecx + 1], al
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x20]
add eax, 2
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x20], eax
jmp 0x6de566
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x3c], eax
jmp 0x6de434
cmp dword [ebp - 0x1a0], 0
je 0x6de713
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x1a0]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x1d4]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x1d0], ecx
jne 0x6de692
mov dword [ebp - 0x2c4], 0
jmp 0x6de6a4
mov ecx, dword [ebp - 0x1a0]
sub ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0x78
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x1d8]
sar edx, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1d8]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1d8]
sar ecx, 8
mov edx, dword [ebp - 0x1d4]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x1d8]
and eax, 0xff
mov ecx, dword [ebp - 0x1d4]
mov byte [ecx + 2], al
jmp 0x6de637
jmp 0x6de9ef
mov edx, dword [ebp - 0x3c]
sub edx, 3
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e0]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x1e0]
movzx eax, byte [edx + 2]
or ecx, eax
mov edx, dword [ebp - 0x1e0]
sub edx, ecx
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1dc]
movzx ecx, byte [eax]
cmp ecx, 0x81
je 0x6de76c
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [edx]
cmp eax, 0x82
jne 0x6de77e
cmp dword [ebp - 0x10c], 0
je 0x6de77e
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx], 0x83
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [edx]
cmp eax, 0x81
je 0x6de79f
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [ecx]
cmp edx, 0x82
jne 0x6de7b5
mov eax, dword [ebp - 0xa8]
add eax, 0x79
mov ecx, dword [ebp - 0x1e0]
mov byte [ecx], al
jmp 0x6de9ef
cmp dword [ebp + 0x34], 0
jne 0x6de837
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e4], edx
push 0
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0x1e0]
push edx
mov eax, dword [ebp - 0x1e4]
push eax
call fcn.006d84f0
add esp, 0x14
test eax, eax
je 0x6de804
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [ecx]
add edx, 5
mov eax, dword [ebp - 0x1dc]
mov byte [eax], dl
jmp 0x6de837
mov ecx, dword [ebp - 0x1e4]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x1e4]
movzx ecx, byte [eax + 2]
or edx, ecx
add edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e4], edx
mov edx, dword [ebp - 0x1e4]
movzx eax, byte [edx]
cmp eax, 0x77
je 0x6de7c7
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [ecx]
cmp edx, 0x87
jne 0x6de879
mov eax, dword [ebp - 0x1dc]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [edx + 2]
or ecx, eax
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [edx + ecx]
cmp eax, 0x77
je 0x6de879
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx], 0x8c
cmp dword [ebp - 0x10c], 0
je 0x6de9de
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [edx]
cmp eax, 0x87
je 0x6de8ab
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [ecx]
cmp edx, 0x8c
jne 0x6de99d
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp + 0x30]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push 3
mov edx, dword [ebp - 0x1dc]
push edx
call fcn.006db2c0
add esp, 0x14
mov eax, dword [ebp - 0x1e8]
push eax
mov ecx, dword [ebp - 0x1dc]
push ecx
mov edx, dword [ebp - 0x1dc]
add edx, 3
push edx
call fcn.00567d20
add esp, 0xc
mov eax, dword [ebp - 0x3c]
add eax, 3
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1e8]
add ecx, 3
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [edx]
sub eax, 0x87
neg eax
sbb eax, eax
and eax, 5
add eax, 0x84
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0x7b
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x1e8]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x1e8]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x1e8]
sar eax, 8
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x1e8]
and edx, 0xff
mov eax, dword [ebp - 0x1dc]
mov byte [eax + 2], dl
jmp 0x6de9ba
mov ecx, dword [ebp - 0x1dc]
movzx edx, byte [ecx]
add edx, 1
mov eax, dword [ebp - 0x1dc]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1e0]
mov byte [ecx], 0x7b
cmp dword [ebp - 0x1ac], 0
je 0x6de9cc
mov edx, dword [ebp - 0x1ac]
mov byte [edx], 0x94
cmp dword [ebp - 0x34], 2
jge 0x6de9dc
mov dword [ebp - 0x10c], 0
jmp 0x6de9ef
mov eax, dword [ebp - 0xa8]
add eax, 0x79
mov ecx, dword [ebp - 0x1e0]
mov byte [ecx], al
jmp 0x6dea13
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x9d
jne 0x6dea05
jmp 0x6dec6f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xb
jmp 0x6e17e6
cmp dword [ebp - 0x10c], 0
je 0x6dec6f
mov edx, dword [ebp - 0xbc]
movzx eax, byte [edx]
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c8]
sub ecx, 0x1d
mov dword [ebp - 0x2c8], ecx
cmp dword [ebp - 0x2c8], 0x53
ja case.0x6dea58.4
mov edx, dword [ebp - 0x2c8]
movzx eax, byte [edx + 0x6e1914]
jmp dword [eax*4 + 0x6e1900]
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx + 3]
cmp edx, 0x10
je 0x6dea89
mov eax, dword [ebp - 0xbc]
movzx ecx, byte [eax + 3]
cmp ecx, 0xf
je 0x6dea89
mov dword [ebp - 0x2cc], 0
jmp 0x6dea93
mov dword [ebp - 0x2cc], 2
mov edx, dword [ebp - 0xbc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp - 0x2cc]
add ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xbc], ecx
jmp case.0x6dea58.4
mov edx, dword [ebp - 0xbc]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x7ab910]
add ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xa0], 0
je 0x6deb10
mov edx, dword [ebp - 0xbc]
movzx eax, byte [edx - 1]
cmp eax, 0xc0
jl 0x6deb10
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx - 1]
and edx, 0x3f
movzx eax, byte [edx + 0x7abaa8]
add eax, dword [ebp - 0xbc]
mov dword [ebp - 0xbc], eax
jmp case.0x6dea58.4
mov ecx, dword [ebp - 0xbc]
add ecx, 0x21
mov dword [ebp - 0xbc], ecx
jmp case.0x6dea58.4
mov edx, dword [ebp - 0xbc]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0xbc]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0xbc]
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
jle 0x6dec6f
mov ecx, dword [ebp - 0xbc]
movzx edx, byte [ecx]
mov dword [ebp - 0x1f0], edx
cmp dword [ebp - 0x1f0], 0x76
jae 0x6deba6
mov eax, dword [ebp - 0x1f0]
movzx ecx, byte [eax + 0x7ab798]
test ecx, ecx
jle 0x6deba6
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x1f0]
mov cl, byte [eax + 0x7ab798]
mov byte [edx], cl
jmp 0x6dec6f
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0
mov eax, dword [ebp - 0x88]
push eax
mov ecx, dword [ebp + 0x30]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
push 3
mov eax, dword [ebp - 0xbc]
push eax
call fcn.006db2c0
add esp, 0x14
mov ecx, dword [ebp - 0x1ec]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0xbc]
add eax, 3
push eax
call fcn.00567d20
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
add ecx, 3
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x1ec]
add edx, 3
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0xbc]
mov byte [eax], 0x81
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0x78
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x1ec]
sar eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x1ec]
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 2
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x1ec]
sar edx, 8
mov eax, dword [ebp - 0xbc]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x1ec]
and ecx, 0xff
mov edx, dword [ebp - 0xbc]
mov byte [edx + 2], cl
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x68]
or ecx, dword [ebp - 0x6c]
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x68], ecx
jmp 0x6e17e1
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x2a
jne 0x6df0d0
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3a
je 0x6decd5
mov edx, 1
test edx, edx
je 0x6df0d0
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + ecx]
and ecx, 2
je 0x6df0d0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1f4], 0x7aa450
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, 1
test ecx, ecx
je 0x6ded38
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + eax]
and eax, 2
je 0x6ded38
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6ded0f
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x208]
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x3a
jne 0x6dedad
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
test edx, edx
je 0x6ded84
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x29
je 0x6ded84
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6ded64
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 0xff
jbe 0x6dedad
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x4b
jmp 0x6e17e6
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x6dedc6
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x6e17e6
mov dword [ebp - 0x1fc], 0
jmp 0x6dede1
mov edx, dword [ebp - 0x1fc]
add edx, 1
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
cmp eax, dword [0x7aa4ec]
jge 0x6df0af
mov ecx, dword [ebp - 0x1fc]
imul ecx, ecx, 0xc
mov edx, dword [ebp - 0x204]
cmp edx, dword [ecx + 0x7aa480]
jne 0x6df08b
mov eax, dword [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x1f4]
push ecx
mov edx, dword [ebp - 0x208]
push edx
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6df08b
mov eax, dword [ebp - 0x1fc]
imul eax, eax, 0xc
cmp dword [eax + 0x7aa484], 0x9e
jne 0x6def27
cmp dword [ebp - 0x200], 0
je 0x6dee63
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x6e17e6
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x6c], 1
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x210], ecx
jmp 0x6dee89
mov edx, dword [ebp - 0x210]
mov eax, dword [edx]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x6deee9
cmp dword [ebp + 0x34], 0
je 0x6deea7
mov ecx, dword [ebp + 0x34]
mov edx, dword [ecx]
add edx, 3
mov eax, dword [ebp + 0x34]
mov dword [eax], edx
jmp 0x6deee7
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0xa0
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x210]
movzx ecx, word [eax + 4]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x210]
movzx ecx, word [eax + 4]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
jmp 0x6dee7b
mov ecx, dword [ebp + 0x30]
xor edx, edx
cmp dword [ecx + 0x5c], 0
setg dl
add edx, 0x9e
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
movzx edx, byte [ecx]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6def22
mov dword [ebp - 0x70], 0xffffffff
jmp 0x6df037
cmp dword [ebp - 0x200], 0
jne 0x6def7e
mov ecx, dword [ebp - 0x1fc]
imul ecx, ecx, 0xc
cmp dword [ecx + 0x7aa484], 0
jge 0x6def50
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x42
jmp 0x6e17e6
mov eax, dword [ebp - 0x1fc]
imul eax, eax, 0xc
mov ecx, dword [ebp - 0x3c]
mov dl, byte [eax + 0x7aa484]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
movzx ecx, byte [eax]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x6df037
mov eax, dword [ebp - 0x1fc]
imul eax, eax, 0xc
cmp dword [eax + 0x7aa488], 0
jge 0x6def9e
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x6e17e6
mov edx, dword [ebp - 0x1fc]
imul edx, edx, 0xc
mov eax, dword [ebp - 0x3c]
mov cl, byte [edx + 0x7aa488]
mov byte [eax], cl
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp + 0x34], 0
je 0x6defee
mov edx, dword [ebp + 0x34]
mov eax, dword [edx]
add eax, dword [ebp - 0x200]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6df028
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x200]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x200]
push ecx
mov edx, dword [ebp - 0x1f8]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.005645b0
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x200]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x2d0]
sub edx, 0x96
mov dword [ebp - 0x2d0], edx
cmp dword [ebp - 0x2d0], 5
ja case.default.0x6df064
mov eax, dword [ebp - 0x2d0]
jmp dword [eax*4 + 0x6e1968]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x64]
or edx, 0x1000
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x64], edx
jmp case.default.0x6df064
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x70], 1
jmp 0x6df0af
mov edx, dword [ebp - 0x1fc]
imul edx, edx, 0xc
mov eax, dword [edx + 0x7aa480]
mov ecx, dword [ebp - 0x1f4]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x1f4], edx
jmp 0x6dedd2
mov eax, dword [ebp - 0x1fc]
cmp eax, dword [0x7aa4ec]
jge 0x6df0c2
jmp 0x6db6a5
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x6e17e6
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x30], 0x85
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x3f
jne 0x6e0a59
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x2d4]
sub edx, 0x21
mov dword [ebp - 0x2d4], edx
cmp dword [ebp - 0x2d4], 0x5b
ja case.0x6df153.1
mov eax, dword [ebp - 0x2d4]
movzx ecx, byte [eax + 0x6e19b8]
jmp dword [ecx*4 + 0x6e1980]
mov dword [ebp - 0x108], 1
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x7c], 1
mov dword [ebp - 0x30], 0x83
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6e0a57
mov dword [ebp - 0x30], 0x87
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x3f
jne 0x6df237
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 2]
cmp edx, 0x43
jne 0x6df237
mov dword [ebp - 0x21c], 3
jmp 0x6df1ce
mov eax, dword [ebp - 0x21c]
add eax, 1
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x21c]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x6df1f0
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x21c]
movzx ecx, byte [eax]
cmp ecx, 0x39
jle 0x6df1f2
jmp 0x6df1f4
jmp 0x6df1bf
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x21c]
movzx eax, byte [edx]
cmp eax, 0x29
jne 0x6df21b
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0xac]
lea eax, [edx + ecx + 1]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx]
cmp edx, 0x28
je 0x6df237
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1c
jmp 0x6e17e6
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx + 1]
cmp edx, 0x3f
jne 0x6df2a3
mov eax, dword [ebp - 0xac]
movzx ecx, byte [eax + 2]
cmp ecx, 0x3d
je 0x6df291
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx + 2]
cmp eax, 0x21
je 0x6df291
mov ecx, dword [ebp - 0xac]
movzx edx, byte [ecx + 2]
cmp edx, 0x3c
jne 0x6df2a3
mov eax, dword [ebp - 0xac]
movzx ecx, byte [eax + 3]
cmp ecx, 0x3d
je 0x6df291
mov edx, dword [ebp - 0xac]
movzx eax, byte [edx + 3]
cmp eax, 0x21
jne 0x6df2a3
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x80], 1
jmp 0x6e0a57
mov edx, dword [ebp - 0x3c]
mov byte [edx + 3], 0x8d
mov dword [ebp - 0x104], 3
mov dword [ebp - 0xf4], 0xffffffff
mov dword [ebp - 0x220], 0xffffffff
mov dword [ebp - 0x224], 0
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x52
jne 0x6df31b
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x26
jne 0x6df31b
mov dword [ebp - 0xf8], 0xffffffff
mov edx, dword [ebp - 0x38]
add edx, 2
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x3c]
mov byte [eax + 3], 0x8f
jmp 0x6df3b2
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x3c
jne 0x6df33b
mov dword [ebp - 0xf8], 0x3e
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6df3b2
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x27
jne 0x6df35b
mov dword [ebp - 0xf8], 0x27
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6df3b2
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x2d
je 0x6df37b
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x2b
jne 0x6df392
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6df3b2
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x30
jl 0x6df3b2
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x39
jg 0x6df3b2
mov dword [ebp - 0xf4], 0
cmp dword [ebp - 0xf4], 0
jl 0x6df435
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x30
jl 0x6df430
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x39
jg 0x6df430
cmp dword [ebp - 0xd4], 0xccccccb
jle 0x6df40c
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x6df3fe
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x39
jg 0x6df3fe
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6df3dd
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3d
jmp 0x6e17e6
mov ecx, dword [ebp - 0xd4]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6df3bb
jmp 0x6df4df
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x30
jl 0x6df459
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x39
jg 0x6df459
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x54
jmp 0x6e17e6
xor edx, edx
jne 0x6df472
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
jne 0x6df480
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1c
jmp 0x6e17e6
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, 1
test edx, edx
je 0x6df4bb
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
je 0x6df4bb
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6df492
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x224]
mov dword [ebp - 0x220], eax
cmp dword [ebp + 0x34], 0
je 0x6df4df
mov ecx, dword [ebp - 0x104]
add ecx, 2
mov dword [ebp - 0x104], ecx
cmp dword [ebp - 0xf8], 0
jle 0x6df502
movzx edx, byte [ebp - 0xf8]
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
cmp ecx, edx
jne 0x6df516
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
cmp edx, 0x29
je 0x6df52d
mov ecx, dword [ebp - 0x38]
sub ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1a
jmp 0x6e17e6
cmp dword [ebp + 0x34], 0
je 0x6df538
jmp 0x6e0a57
cmp dword [ebp - 0xf4], 0
jl 0x6df608
cmp dword [ebp - 0xd4], 0
jg 0x6df55c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x23
jmp 0x6e17e6
cmp dword [ebp - 0xf4], 0
je 0x6df5a3
cmp dword [ebp - 0xf4], 0x2d
jne 0x6df585
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x40]
sub edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0x2d8], edx
jmp 0x6df597
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
add ecx, dword [eax + 0x40]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0
jle 0x6df5ba
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
cmp ecx, dword [eax + 0x44]
jle 0x6df5c8
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6e17e6
mov eax, dword [ebp - 0xd4]
sar eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 4], al
mov edx, dword [ebp - 0xd4]
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 5], dl
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ecx + 0x4c]
jle 0x6df603
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x4c], ecx
jmp 0x6e0a57
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x21c], 0
jmp 0x6df62f
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x21c]
cmp eax, dword [edx + 0x30]
jge 0x6df68b
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x228]
add edx, 2
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6df677
mov ecx, dword [ebp - 0x228]
add ecx, dword [ebp - 0x220]
movzx edx, byte [ecx + 2]
test edx, edx
jne 0x6df677
jmp 0x6df68b
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x228]
add ecx, dword [eax + 0x34]
mov dword [ebp - 0x228], ecx
jmp 0x6df620
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x21c]
cmp eax, dword [edx + 0x30]
jge 0x6df805
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x230], 1
mov eax, dword [ebp - 0x228]
movzx ecx, byte [eax]
shl ecx, 8
mov edx, dword [ebp - 0x228]
movzx eax, byte [edx + 1]
or ecx, eax
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ecx + 0x4c]
jle 0x6df6fa
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x4c], ecx
jmp 0x6df70b
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x21c]
cmp ecx, dword [eax + 0x30]
jge 0x6df776
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x228]
add eax, dword [edx + 0x34]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x228]
add edx, 2
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6df763
mov ecx, dword [ebp - 0x228]
add ecx, dword [ebp - 0x220]
movzx edx, byte [ecx + 2]
test edx, edx
je 0x6df765
jmp 0x6df776
mov eax, dword [ebp - 0x230]
add eax, 1
mov dword [ebp - 0x230], eax
jmp 0x6df6fc
cmp dword [ebp - 0x230], 1
jle 0x6df7e0
mov ecx, dword [ebp - 0x234]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx + 4], cl
mov eax, dword [ebp - 0x234]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 5], al
mov edx, dword [ebp - 0x230]
sar edx, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax + 6], dl
mov ecx, dword [ebp - 0x230]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 7], cl
mov eax, dword [ebp - 0x104]
add eax, 2
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ecx + 3]
add dl, 1
mov eax, dword [ebp - 0x3c]
mov byte [eax + 3], dl
jmp 0x6df800
mov ecx, dword [ebp - 0xd4]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx + 4], cl
mov eax, dword [ebp - 0xd4]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 5], al
jmp 0x6df95e
cmp dword [ebp - 0xf8], 0
je 0x6df821
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6e17e6
mov eax, dword [ebp - 0x224]
movzx ecx, byte [eax]
cmp ecx, 0x52
jne 0x6df91a
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x21c], 1
jmp 0x6df858
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x220]
jge 0x6df8dd
mov ecx, dword [ebp - 0x224]
add ecx, dword [ebp - 0x21c]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x6df88e
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x21c]
movzx ecx, byte [eax]
cmp ecx, 0x39
jle 0x6df89c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6e17e6
cmp dword [ebp - 0xd4], 0xccccccb
jle 0x6df8b6
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3d
jmp 0x6e17e6
mov ecx, dword [ebp - 0xd4]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x224]
add edx, dword [ebp - 0x21c]
movzx eax, byte [edx]
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 0xd4], ecx
jmp 0x6df849
cmp dword [ebp - 0xd4], 0
jne 0x6df8f0
mov dword [ebp - 0xd4], 0xffff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 3], 0x8f
mov eax, dword [ebp - 0xd4]
sar eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 4], al
mov edx, dword [ebp - 0xd4]
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 5], dl
jmp 0x6df95e
cmp dword [ebp - 0x220], 6
jne 0x6df950
push 6
push 0x7ab8dc
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6df950
mov edx, dword [ebp - 0x3c]
mov byte [edx + 3], 0x91
mov dword [ebp - 0x104], 1
jmp 0x6df95e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x6e17e6
jmp 0x6e0a57
mov dword [ebp - 0x30], 0x7d
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x5c]
add edx, 1
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6e0a57
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x29
jne 0x6df9f9
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x2a
je 0x6df9f9
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x2b
je 0x6df9f9
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3f
je 0x6df9f9
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x7b
jne 0x6df9de
mov ecx, dword [ebp - 0x38]
add ecx, 2
push ecx
call fcn.006e1b60
add esp, 4
test eax, eax
jne 0x6df9f9
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0x9d
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0
jmp 0x6db6a5
mov dword [ebp - 0x30], 0x7e
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x5c]
add edx, 1
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x5c], edx
jmp 0x6e0a57
mov ecx, dword [ebp - 0x38]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x2dc], dl
cmp byte [ebp - 0x2dc], 0x21
je 0x6dfa55
cmp byte [ebp - 0x2dc], 0x3d
je 0x6dfa34
jmp 0x6dfa76
mov dword [ebp - 0x30], 0x7f
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x5c]
add ecx, 1
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x5c], ecx
mov eax, dword [ebp - 0x38]
add eax, 2
mov dword [ebp - 0x38], eax
jmp 0x6dfab1
mov dword [ebp - 0x30], 0x80
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x5c]
add edx, 1
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp - 0x38]
add ecx, 2
mov dword [ebp - 0x38], ecx
jmp 0x6dfab1
mov edx, 1
test edx, edx
je 0x6dfa9a
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + ecx]
and ecx, 0x10
je 0x6dfa9a
jmp case.0x6df153.6
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x18
jmp 0x6e17e6
jmp 0x6e0a57
mov dword [ebp - 0x30], 0x81
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6e0a57
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x8c], 1
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0x76
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x238], 0
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x30
jl 0x6dfb3a
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x39
jg 0x6dfb3a
mov ecx, dword [ebp - 0x238]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 0x238], ecx
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6dfb00
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x29
je 0x6dfb53
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x27
jmp 0x6e17e6
cmp dword [ebp - 0x238], 0xff
jle 0x6dfb6d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x26
jmp 0x6e17e6
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x238]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x38]
sub edx, dword [ecx + 0x18]
add edx, 1
sar edx, 8
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x38]
sub edx, dword [ecx + 0x18]
add edx, 1
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x3c]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0
jmp 0x6db6a5
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x3d
je 0x6dfbef
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x3e
jne 0x6dfc14
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x3e
sete dl
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xf8], 0x29
jmp 0x6dff43
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x3c
je case.0x6df153.6
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x29
jmp 0x6e17e6
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
sub ecx, 0x3c
neg ecx
sbb ecx, ecx
and ecx, 0xffffffe9
add ecx, 0x3e
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x6dfc7c
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x39
jg 0x6dfc7c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x6e17e6
mov eax, 1
test eax, eax
je 0x6dfca5
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + edx]
and edx, 0x10
je 0x6dfca5
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6dfc7c
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x224]
mov dword [ebp - 0x220], ecx
cmp dword [ebp + 0x34], 0
je 0x6dff21
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x40]
add eax, 1
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xf8]
cmp edx, eax
je 0x6dfcec
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x2a
jmp 0x6e17e6
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x30], 0x7530
jl 0x6dfd06
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x31
jmp 0x6e17e6
mov ecx, dword [ebp - 0x220]
add ecx, 3
mov edx, dword [ebp + 0x30]
cmp ecx, dword [edx + 0x34]
jle 0x6dfd3d
mov eax, dword [ebp - 0x220]
add eax, 3
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x34], eax
cmp dword [ebp - 0x220], 0x20
jle 0x6dfd3d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x6e17e6
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x21c], 0
jmp 0x6dfd73
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x23c]
add eax, 0xc
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ecx + 0x30]
jge 0x6dfe15
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x220]
cmp ecx, dword [eax + 4]
jne 0x6dfdf1
mov edx, dword [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x224]
push edx
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6dfdf1
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x240]
jne 0x6dfdcc
jmp 0x6dfe15
mov edx, dword [ebp - 0x68]
and edx, 0x80000
jne 0x6dfde5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2b
jmp 0x6e17e6
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x78], 1
jmp 0x6dfe10
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0x240]
jne 0x6dfe10
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x41
jmp 0x6e17e6
jmp 0x6dfd55
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x21c]
cmp eax, dword [edx + 0x30]
jl 0x6dff21
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [edx + 0x38]
jl 0x6dfec8
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x38]
shl edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
imul eax, eax, 0xc
push eax
call dword [0x80c2e0]
add esp, 4
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jne 0x6dfe77
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x15
jmp 0x6e17e6
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x38]
imul eax, eax, 0xc
push eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x244]
push eax
call fcn.005645b0
add esp, 0xc
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x38], 0x14
jle 0x6dfeb0
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x28]
push eax
call dword [0x80c2e4]
add esp, 4
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x244]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x248]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x30]
imul eax, eax, 0xc
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x224]
mov dword [eax + edx], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x30]
imul eax, eax, 0xc
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x220]
mov dword [edx + eax + 4], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x30]
imul eax, eax, 0xc
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x28]
mov ecx, dword [ebp - 0x240]
mov dword [edx + eax + 8], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x30]
add eax, 1
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6e0a6d
mov dword [ebp - 0xf8], 0x29
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x30
jl 0x6dff79
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x39
jg 0x6dff79
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x54
jmp 0x6e17e6
mov ecx, 1
test ecx, ecx
je 0x6dffa2
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + eax]
and eax, 0x10
je 0x6dffa2
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6dff79
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x220], edx
cmp dword [ebp + 0x34], 0
je 0x6e0148
mov dword [ebp - 0xd4], 0
cmp dword [ebp - 0x220], 0
jne 0x6dffdc
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3e
jmp 0x6e17e6
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0xf8]
cmp edx, eax
je 0x6dfffb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x2a
jmp 0x6e17e6
cmp dword [ebp - 0x220], 0x20
jle 0x6e0012
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x6e17e6
cmp dword [ebp - 0xe0], 0
jne 0x6e002a
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x54]
add ecx, 1
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x54], ecx
mov eax, dword [ebp + 0x34]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp + 0x34]
mov dword [edx], ecx
mov eax, dword [ebp + 0x34]
mov ecx, dword [eax]
add ecx, 0xc
mov edx, dword [ebp + 0x34]
mov dword [edx], ecx
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x7c], 0
je 0x6e005a
mov ecx, dword [ebp + 0x34]
mov edx, dword [ecx]
add edx, 0xc
mov eax, dword [ebp + 0x34]
mov dword [eax], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x21c], 0
jmp 0x6e0090
mov eax, dword [ebp - 0x21c]
add eax, 1
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x24c]
add ecx, 0xc
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x21c]
cmp eax, dword [edx + 0x30]
jge 0x6e0143
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x220]
cmp edx, dword [ecx + 4]
jne 0x6e013e
mov eax, dword [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6e013e
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xe0], 0
je 0x6e00f4
jmp 0x6e0143
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x250], ecx
jmp 0x6e0110
mov edx, dword [ebp - 0x250]
mov eax, dword [edx]
mov dword [ebp - 0x250], eax
cmp dword [ebp - 0x250], 0
je 0x6e013e
mov ecx, dword [ebp - 0x250]
movzx edx, word [ecx + 4]
cmp edx, dword [ebp - 0xd4]
jne 0x6e013c
mov eax, 1
mov ecx, dword [ebp - 0x250]
mov word [ecx + 6], ax
jmp 0x6e013e
jmp 0x6e0102
jmp 0x6e0072
jmp 0x6e0207
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x21c], 0
jmp 0x6e016f
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x21c]
cmp eax, dword [edx + 0x30]
jge 0x6e01cb
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp - 0x228]
add edx, 2
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.005673f1
add esp, 0xc
test eax, eax
jne 0x6e01b7
mov ecx, dword [ebp - 0x228]
add ecx, dword [ebp - 0x220]
movzx edx, byte [ecx + 2]
test edx, edx
jne 0x6e01b7
jmp 0x6e01cb
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x228]
add ecx, dword [eax + 0x34]
mov dword [ebp - 0x228], ecx
jmp 0x6e0160
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x21c]
cmp eax, dword [edx + 0x30]
jge 0x6e01f9
mov ecx, dword [ebp - 0x228]
movzx edx, byte [ecx]
shl edx, 8
mov eax, dword [ebp - 0x228]
movzx ecx, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xd4], edx
jmp 0x6e0207
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6e17e6
cmp dword [ebp - 0xe0], 0
je 0x6e0215
jmp 0x6e06a7
cmp dword [ebp + 0x34], 0
jne 0x6e04d6
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x78], 0
je 0x6e04d6
mov dword [ebp - 0x254], 1
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x228]
add eax, dword [edx + 0x34]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
jmp 0x6e0274
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x21c]
cmp ecx, dword [eax + 0x30]
jge 0x6e034a
mov edx, dword [ebp - 0x25c]
add edx, 2
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x228]
add eax, 2
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dl, byte [ecx]
mov byte [ebp - 0x2e5], dl
mov eax, dword [ebp - 0x2e0]
cmp dl, byte [eax]
jne 0x6e0302
cmp byte [ebp - 0x2e5], 0
je 0x6e02f6
mov ecx, dword [ebp - 0x2e4]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x2e6], dl
mov eax, dword [ebp - 0x2e0]
cmp dl, byte [eax + 1]
jne 0x6e0302
add dword [ebp - 0x2e4], 2
add dword [ebp - 0x2e0], 2
cmp byte [ebp - 0x2e6], 0
jne 0x6e02a4
mov dword [ebp - 0x2ec], 0
jmp 0x6e030d
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], edx
cmp dword [ebp - 0x2f0], 0
je 0x6e0324
jmp 0x6e034a
mov eax, dword [ebp - 0x254]
add eax, 1
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x25c]
add edx, dword [ecx + 0x34]
mov dword [ebp - 0x25c], edx
jmp 0x6e0265
cmp dword [ebp - 0x254], 1
jle 0x6e04d6
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e0364
mov dword [ebp - 0x70], 0xffffffff
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x68]
and ecx, 1
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0x73
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x258]
shr ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x258]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x254]
sar eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], al
mov edx, dword [ebp - 0x254]
and edx, 0xff
mov eax, dword [ebp - 0x3c]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 2
mov dword [ebp - 0x3c], ecx
jmp 0x6e03fe
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x228]
add eax, dword [edx + 0x34]
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
cmp ecx, dword [ebp - 0x25c]
jae 0x6e04d1
mov edx, dword [ebp - 0x228]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x228]
movzx edx, byte [ecx + 1]
or eax, edx
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x20
jge 0x6e044c
mov eax, 1
mov ecx, dword [ebp - 0xd4]
shl eax, cl
mov dword [ebp - 0x2f4], eax
jmp 0x6e0456
mov dword [ebp - 0x2f4], 1
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x50]
or edx, dword [ebp - 0x2f4]
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ecx + 0x4c]
jle 0x6e0482
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x4c], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x260], eax
jmp 0x6e049e
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx]
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 0
je 0x6e04cc
mov eax, dword [ebp - 0x260]
movzx ecx, word [eax + 4]
cmp ecx, dword [ebp - 0xd4]
jne 0x6e04ca
mov edx, 1
mov eax, dword [ebp - 0x260]
mov word [eax + 6], dx
jmp 0x6e04cc
jmp 0x6e0490
jmp 0x6e03ec
jmp 0x6db6a5
jmp 0x6e10e7
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x6e0507
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1d
jmp 0x6e17e6
jmp 0x6e06a7
mov dword [ebp - 0xf8], 0x29
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x2b
jne 0x6e055a
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x30
jl 0x6e054a
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x39
jle 0x6e0558
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3f
jmp 0x6e17e6
jmp 0x6e0589
cmp dword [ebp - 0xf4], 0x2d
jne 0x6e0589
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x30
jl 0x6e057b
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x39
jle 0x6e0580
jmp case.0x6df153.1
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x30
jl 0x6e0608
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x39
jg 0x6e0608
cmp dword [ebp - 0xd4], 0xccccccb
jle 0x6e05e4
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x30
jl 0x6e05d6
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x39
jg 0x6e05d6
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6e05b5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3d
jmp 0x6e17e6
mov ecx, dword [ebp - 0xd4]
imul ecx, ecx, 0xa
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
lea ecx, [ecx + eax - 0x30]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x6e0593
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0xf8]
cmp ecx, edx
je 0x6e0627
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1d
jmp 0x6e17e6
cmp dword [ebp - 0xf4], 0x2d
jne 0x6e0675
cmp dword [ebp - 0xd4], 0
jne 0x6e0647
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x6e17e6
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x40]
sub eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jg 0x6e0673
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x6e17e6
jmp 0x6e06a7
cmp dword [ebp - 0xf4], 0x2b
jne 0x6e06a7
cmp dword [ebp - 0xd4], 0
jne 0x6e0695
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3a
jmp 0x6e17e6
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
add ecx, dword [eax + 0x40]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x264], ecx
cmp dword [ebp + 0x34], 0
jne 0x6e0810
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0
cmp dword [ebp - 0xd4], 0
je 0x6e0707
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x14]
push eax
call fcn.006d6a10
add esp, 0xc
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jne 0x6e07bb
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ecx + 0x44]
jle 0x6e0730
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x6e17e6
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x14]
add edx, dword [ebp - 0xd4]
mov dword [ebp - 0x264], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x3c]
lea ecx, [ecx + eax - 0x64]
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x20], ecx
jb 0x6e0778
mov eax, dword [ebp + 0x30]
push eax
call fcn.006e1a90
add esp, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x6e0778
jmp 0x6e17e6
mov eax, dword [ebp - 0x3c]
add eax, 1
mov ecx, dword [ebp + 0x30]
sub eax, dword [ecx + 0x14]
sar eax, 8
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov byte [ecx], al
mov edx, dword [ebp - 0x3c]
add edx, 1
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x14]
and edx, 0xff
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
mov byte [eax + 1], dl
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x20]
add edx, 2
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x20], edx
jmp 0x6e0810
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx + 1]
shl edx, 8
mov eax, dword [ebp - 0x264]
movzx ecx, byte [eax + 2]
or edx, ecx
jne 0x6e0810
cmp dword [ebp + 0x2c], 0
jg 0x6e0810
mov edx, dword [ebp + 0x30]
push edx
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x264]
push eax
call fcn.006e2ae0
add esp, 0x14
test eax, eax
je 0x6e0810
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x28
jmp 0x6e17e6
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0x75
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x264]
sub ecx, dword [eax + 0x14]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], cl
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x264]
sub ecx, dword [eax + 0x14]
and ecx, 0xff
mov edx, dword [ebp - 0x3c]
mov byte [edx + 2], cl
mov eax, dword [ebp - 0x3c]
add eax, 3
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e0860
mov dword [ebp - 0x70], 0xffffffff
jmp 0x6db6a5
mov dword [ebp - 0x214], 0
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x218], ecx
lea edx, [ebp - 0x218]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x29
je 0x6e09d4
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
cmp eax, 0x3a
je 0x6e09d4
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x2fc]
sub edx, 0x2d
mov dword [ebp - 0x2fc], edx
cmp dword [ebp - 0x2fc], 0x4b
ja case.0x6e08ef.1
mov eax, dword [ebp - 0x2fc]
movzx ecx, byte [eax + 0x6e1a38]
jmp dword [ecx*4 + 0x6e1a14]
lea edx, [ebp - 0x214]
mov dword [ebp - 0x22c], edx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 0x80000
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x64]
or ecx, 0x400
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x64], ecx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 1
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 2
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 4
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 8
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 0x200
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
jmp 0x6e09cf
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 0x40
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
jmp 0x6e09cf
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
mov ecx, dword [ebp - 0x38]
sub ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x6e17e6
jmp 0x6e0887
mov edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x214]
not eax
and edx, eax
mov dword [ebp - 0xd8], edx
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x29
jne 0x6e0a47
mov eax, dword [ebp - 0xd8]
and eax, 0x200
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
xor ecx, 1
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xd8]
and edx, 1
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x68]
mov dword [ecx], edx
mov dword [ebp - 4], 0
jmp 0x6db6a5
mov dword [ebp - 0x30], 0x83
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6e0aa6
mov ecx, dword [ebp - 0x68]
and ecx, 0x1000
je 0x6e0a6d
mov dword [ebp - 0x30], 0x83
jmp 0x6e0aa6
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x40]
add eax, 1
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x40], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x40]
shr eax, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 3], al
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x40]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 4], al
mov dword [ebp - 0x104], 2
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x58]
add eax, 1
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x58], eax
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x58], 0xfa
jle 0x6e0acf
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x52
jmp 0x6e17e6
cmp dword [ebp - 0x30], 0x7d
jl 0x6e0b00
cmp dword [ebp - 0x30], 0x80
jg 0x6e0b00
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x80], 0
je 0x6e0b00
mov dword [ebp - 4], 0
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x80], 0
jmp 0x6e0b18
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x30]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x30], 0x7f
je 0x6e0b63
cmp dword [ebp - 0x30], 0x80
je 0x6e0b63
mov dword [ebp - 0x300], 0
jmp 0x6e0b6d
mov dword [ebp - 0x300], 1
mov edx, dword [ebp + 0x34]
neg edx
sbb edx, edx
lea eax, [ebp - 0x28]
and edx, eax
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov edx, dword [ebp + 0x28]
push edx
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0xfc]
push eax
xor ecx, ecx
cmp dword [ebp - 0x30], 0x87
sete cl
add ecx, dword [ebp + 0x2c]
push ecx
mov edx, dword [ebp - 0x104]
push edx
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp - 0x300]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xbc]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
call fcn.006dad60
add esp, 0x3c
test eax, eax
jne 0x6e0bea
jmp 0x6e17e6
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x58]
sub ecx, 1
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x58], ecx
cmp dword [ebp - 0x30], 0x81
jne 0x6e0c16
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x40]
cmp ecx, dword [ebp - 0x114]
ja 0x6e0c16
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0x82
cmp dword [ebp - 0x30], 0x7d
jl 0x6e0c34
cmp dword [ebp - 0x30], 0x80
jg 0x6e0c34
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x5c]
sub ecx, 1
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x5c], ecx
cmp dword [ebp - 0x30], 0x87
jne 0x6e0d04
cmp dword [ebp + 0x34], 0
jne 0x6e0d04
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], 0
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x26c]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
movzx ecx, byte [eax]
cmp ecx, 0x78
jne 0x6e0c5e
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx + 3]
cmp eax, 0x91
jne 0x6e0cce
cmp dword [ebp - 0x268], 1
jle 0x6e0cc5
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x36
jmp 0x6e17e6
mov dword [ebp - 0x30], 0x91
jmp 0x6e0d04
cmp dword [ebp - 0x268], 2
jle 0x6e0ce5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1b
jmp 0x6e17e6
cmp dword [ebp - 0x268], 1
jne 0x6e0d04
mov dword [ebp - 0x118], 0xffffffff
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
cmp edx, 0x29
je 0x6e0d1d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xe
jmp 0x6e17e6
cmp dword [ebp + 0x34], 0
je 0x6e0d9f
mov ecx, dword [ebp + 0x34]
mov edx, 0x7fffffeb
sub edx, dword [ecx]
mov eax, dword [ebp - 0x28]
sub eax, 6
cmp edx, eax
jge 0x6e0d45
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x6e17e6
mov edx, dword [ebp + 0x34]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x28]
lea edx, [ecx + eax - 6]
mov eax, dword [ebp + 0x34]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0
mov eax, dword [ebp - 0x3c]
mov byte [eax + 1], 3
mov ecx, dword [ebp - 0x3c]
add ecx, 2
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov byte [edx], 0x78
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x3c]
mov byte [edx + 1], 3
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
jmp 0x6e17e1
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x30], 0x91
jne 0x6e0db6
jmp 0x6e17e1
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x30], 0x81
jl 0x6e0e81
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e0e2e
cmp dword [ebp - 0x11c], 0
jl 0x6e0e1b
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x18], 1
jmp 0x6e0e22
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x98], 0xffffffff
jmp 0x6e0e5e
cmp dword [ebp - 0x11c], 0
jl 0x6e0e5e
cmp dword [ebp - 0x118], 0
jge 0x6e0e5e
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x11c]
or eax, dword [ebp - 0xa4]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
jl 0x6e0e7f
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x90], edx
jmp 0x6e0eb1
cmp dword [ebp - 0x30], 0x7d
jne 0x6e0eb1
cmp dword [ebp - 0x118], 0
jl 0x6e0eb1
cmp dword [ebp - 0x11c], 0
jl 0x6e0eb1
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x90], ecx
jmp 0x6e17e1
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xac], edx
push 0
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x40]
push edx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0xec]
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.006e1c40
add esp, 0x18
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x6e0ef3
jmp 0x6e17e6
cmp dword [ebp - 0x78], 0
jne 0x6e0f0a
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xb4], ecx
jmp 0x6e1378
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e0f23
cmp dword [ebp - 0x78], 5
jle 0x6e0f23
cmp dword [ebp - 0x78], 0x17
jge 0x6e0f23
mov dword [ebp - 0x70], 0xffffffff
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x78], 0x1b
jne 0x6e1042
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx]
sub edx, 0x3c
neg edx
sbb edx, edx
and edx, 0xffffffe9
add edx, 0x3e
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
mov dword [ebp - 0x274], ecx
cmp dword [ebp - 0x274], 0x2b
je 0x6e0fd9
cmp dword [ebp - 0x274], 0x2d
je 0x6e0fd9
cmp dword [ebp - 0x274], 0x30
jb 0x6e0fca
cmp dword [ebp - 0x274], 0x39
jbe 0x6e0fd9
mov dword [ebp - 0xe0], 1
jmp 0x6dff43
mov edx, dword [ebp - 0x38]
add edx, 2
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x270]
movzx ecx, byte [eax]
cmp ecx, 0x30
jl 0x6e1012
mov edx, dword [ebp - 0x270]
movzx eax, byte [edx]
cmp eax, 0x39
jg 0x6e1012
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x270], ecx
jmp 0x6e0fe5
mov edx, dword [ebp - 0x270]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xf8]
cmp eax, ecx
je 0x6e1034
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x39
jmp 0x6e17e6
mov eax, dword [ebp - 0x38]
add eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6e0516
cmp dword [ebp - 0x78], 0x1c
jne 0x6e10d2
mov ecx, dword [ebp - 0x38]
movzx edx, byte [ecx + 1]
cmp edx, 0x3c
je 0x6e107e
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
cmp ecx, 0x27
je 0x6e107e
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx + 1]
cmp eax, 0x7b
je 0x6e107e
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x45
jmp 0x6e17e6
mov dword [ebp - 0xe0], 0
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax]
cmp ecx, 0x3c
jne 0x6e10a8
mov dword [ebp - 0x304], 0x3e
jmp 0x6e10c1
mov edx, dword [ebp - 0x38]
movzx eax, byte [edx]
sub eax, 0x27
neg eax
sbb eax, eax
and eax, 0x56
add eax, 0x27
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0xf8], ecx
jmp 0x6dff43
cmp dword [ebp - 0x78], 0
jge 0x6e11f4
mov edx, dword [ebp - 0x78]
neg edx
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e10f4
mov dword [ebp - 0x70], 0xffffffff
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x68]
and ecx, 1
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0x71
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xd4]
sar ecx, 8
mov edx, dword [ebp - 0x3c]
mov byte [edx], cl
mov eax, dword [ebp - 0xd4]
and eax, 0xff
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0xd4], 0x20
jge 0x6e116f
mov eax, 1
mov ecx, dword [ebp - 0xd4]
shl eax, cl
mov dword [ebp - 0x308], eax
jmp 0x6e1179
mov dword [ebp - 0x308], 1
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x50]
or edx, dword [ebp - 0x308]
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ecx + 0x4c]
jle 0x6e11a5
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x4c], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x278], eax
jmp 0x6e11c1
mov ecx, dword [ebp - 0x278]
mov edx, dword [ecx]
mov dword [ebp - 0x278], edx
cmp dword [ebp - 0x278], 0
je 0x6e11ef
mov eax, dword [ebp - 0x278]
movzx ecx, word [eax + 4]
cmp ecx, dword [ebp - 0xd4]
jne 0x6e11ed
mov edx, 1
mov eax, dword [ebp - 0x278]
mov word [eax + 6], dx
jmp 0x6e11ef
jmp 0x6e11b3
jmp 0x6e1373
cmp dword [ebp - 0x78], 0xf
je 0x6e1204
cmp dword [ebp - 0x78], 0x10
jne 0x6e12b0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x280]
push edx
lea eax, [ebp - 0x284]
push eax
lea ecx, [ebp - 0x27c]
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.006e27e0
add esp, 0x14
test eax, eax
jne 0x6e1246
jmp 0x6e17e6
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x88], eax
xor ecx, ecx
cmp dword [ebp - 0x78], 0x10
sete cl
xor edx, edx
cmp ecx, dword [ebp - 0x27c]
setne dl
add edx, 0xf
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov al, byte [ebp - 0x284]
mov byte [edx], al
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov al, byte [ebp - 0x280]
mov byte [edx], al
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x6e1373
cmp dword [ebp - 0x78], 5
je 0x6e12c2
cmp dword [ebp - 0x78], 4
je 0x6e12c2
cmp dword [ebp - 0x78], 1
jne 0x6e12d5
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x48], 0
jne 0x6e12d5
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x48], 1
cmp dword [ebp - 0x78], 0x1d
jl 0x6e12ff
cmp dword [ebp - 0x78], 0x22
jg 0x6e12ff
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x78]
mov eax, dword [edx*4 + 0x80c1e4]
sub eax, 1
mov dword [ebp - 0x38], eax
jmp 0x6e1373
cmp dword [ebp - 0x78], 5
jle 0x6e1316
cmp dword [ebp - 0x78], 0x17
jge 0x6e1316
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30c], ecx
jmp 0x6e1320
mov dword [ebp - 0x30c], 0
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
sub edx, dword [ecx + 0x10]
mov dword [ebp - 0x88], edx
cmp dword [ebp - 0xa0], 0
jne 0x6e1356
cmp dword [ebp - 0x78], 0xe
jne 0x6e1356
mov dword [ebp - 0x310], 0xd
jmp 0x6e135f
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0x310]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
jmp 0x6db6a5
cmp dword [ebp - 0xa0], 0
je 0x6e13a8
cmp dword [ebp - 0xb4], 0x7f
jbe 0x6e13a8
lea ecx, [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call fcn.0070e1f0
add esp, 8
mov dword [ebp - 0xd0], eax
jmp 0x6e13be
mov al, byte [ebp - 0xb4]
mov byte [ebp - 0xcc], al
mov dword [ebp - 0xd0], 1
jmp 0x6e1435
mov dword [ebp - 0xd0], 1
mov cl, byte [ebp - 0xb4]
mov byte [ebp - 0xcc], cl
cmp dword [ebp - 0xa0], 0
je 0x6e1435
cmp dword [ebp - 0xb4], 0xc0
jb 0x6e1435
mov edx, 1
test edx, edx
je 0x6e1435
mov eax, dword [ebp - 0x38]
movzx ecx, byte [eax + 1]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x6e1435
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x38]
mov dl, byte [ecx]
mov byte [ebp + eax - 0xcc], dl
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
jmp 0x6e13eb
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
sub ecx, dword [eax + 0x10]
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0xa0], 0
je 0x6e1688
mov edx, dword [ebp - 0x68]
and edx, 1
je 0x6e1688
movzx eax, byte [ebp - 0xcc]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0xc0
jb 0x6e15ec
mov ecx, dword [ebp - 0xb4]
and ecx, 0x20
jne 0x6e14b1
mov edx, dword [ebp - 0xb4]
and edx, 0x1f
shl edx, 6
movzx eax, byte [ebp - 0xcb]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0xb4], edx
jmp 0x6e15ec
mov ecx, dword [ebp - 0xb4]
and ecx, 0x10
jne 0x6e14ee
mov edx, dword [ebp - 0xb4]
and edx, 0xf
shl edx, 0xc
movzx eax, byte [ebp - 0xcb]
and eax, 0x3f
shl eax, 6
or edx, eax
movzx ecx, byte [ebp - 0xca]
and ecx, 0x3f
or edx, ecx
mov dword [ebp - 0xb4], edx
jmp 0x6e15ec
mov edx, dword [ebp - 0xb4]
and edx, 8
jne 0x6e153a
mov eax, dword [ebp - 0xb4]
and eax, 7
shl eax, 0x12
movzx ecx, byte [ebp - 0xcb]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
movzx edx, byte [ebp - 0xca]
and edx, 0x3f
shl edx, 6
or eax, edx
movzx ecx, byte [ebp - 0xc9]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0xb4], eax
jmp 0x6e15ec
mov edx, dword [ebp - 0xb4]
and edx, 4
jne 0x6e1592
mov eax, dword [ebp - 0xb4]
and eax, 3
shl eax, 0x18
movzx ecx, byte [ebp - 0xcb]
and ecx, 0x3f
shl ecx, 0x12
or eax, ecx
movzx edx, byte [ebp - 0xca]
and edx, 0x3f
shl edx, 0xc
or eax, edx
movzx ecx, byte [ebp - 0xc9]
and ecx, 0x3f
shl ecx, 6
or eax, ecx
movzx edx, byte [ebp - 0xc8]
and edx, 0x3f
or eax, edx
mov dword [ebp - 0xb4], eax
jmp 0x6e15ec
mov eax, dword [ebp - 0xb4]
and eax, 1
shl eax, 0x1e
movzx ecx, byte [ebp - 0xcb]
and ecx, 0x3f
shl ecx, 0x18
or eax, ecx
movzx edx, byte [ebp - 0xca]
and edx, 0x3f
shl edx, 0x12
or eax, edx
movzx ecx, byte [ebp - 0xc9]
and ecx, 0x3f
shl ecx, 0xc
or eax, ecx
movzx edx, byte [ebp - 0xc8]
and edx, 0x3f
shl edx, 6
or eax, edx
movzx ecx, byte [ebp - 0xc7]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x7adc28]
shl edx, 7
mov eax, dword [ebp - 0xb4]
and eax, 0x8000007f
jns 0x6e1617
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x7afe28]
movzx edx, byte [ecx*8 + 0x7ac5ab]
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0
je 0x6e1688
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0x10
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x3c]
mov byte [edx], 9
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ebp - 0xb4]
mov byte [ecx], dl
mov eax, dword [ebp - 0x3c]
add eax, 1
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e1683
mov dword [ebp - 0x98], 0xffffffff
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x70], ecx
jmp 0x6e17e1
mov edx, dword [ebp - 0x68]
and edx, 1
neg edx
sbb edx, edx
neg edx
add edx, 0x1d
mov eax, dword [ebp - 0x3c]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0xb4], 0
jmp 0x6e16c0
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xd0]
jae 0x6e16eb
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0xb4]
mov al, byte [ebp + edx - 0xcc]
mov byte [ecx], al
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x6e16b1
movzx edx, byte [ebp - 0xcc]
cmp edx, 0xd
je 0x6e1703
movzx eax, byte [ebp - 0xcc]
cmp eax, 0xa
jne 0x6e1715
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x64]
or edx, 0x800
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x64], edx
cmp dword [ebp - 0x70], 0xfffffffe
jne 0x6e1792
mov dword [ebp - 0x98], 0xffffffff
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0xd0], 1
je 0x6e1746
cmp dword [ebp - 0x80], 0
jne 0x6e177d
movzx eax, byte [ebp - 0xcc]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x70], ecx
cmp dword [ebp - 0xd0], 1
je 0x6e177b
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx - 1]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x90], edx
jmp 0x6e1790
mov dword [ebp - 0x90], 0xffffffff
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x70], eax
jmp 0x6e17e1
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0xd0], 1
je 0x6e17c5
cmp dword [ebp - 0x80], 0
jne 0x6e17e1
mov edx, dword [ebp - 0x3c]
movzx eax, byte [edx - 1]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x80]
or edx, dword [ecx + 0x68]
mov dword [ebp - 0x90], edx
jmp 0x6db6a5
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret