Function at 0x4ef470
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
nop
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x4c]
mov dword [esp + 0x28], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x4ef4fb
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fcfd2
mov edi, 0xfffffff8
jmp 0x4f90c4
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x4ef519
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fcfe2
mov edi, 0xffffffeb
jmp 0x4f90c4
cmp dword [ebp + 0x98], 2
jne 0x4ef543
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], ebx
mov cl, byte [eax]
movzx eax, cl
mov dword [esi + 0x9c], eax
cmp cl, 0xa1
ja case.0x4ef56f.98
movzx eax, byte [eax + 0x4fd21c]
jmp dword [eax*4 + 0x4fd0d0]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x4ef5ad
push 0x134
call dword [0x68f5ec]
mov edi, eax
add esp, 4
test edi, edi
je 0x4fcd78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x622a18]
add eax, edx
add ecx, eax
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x4ef4c0
mov edx, dword [esi + 4]
test edx, edx
jne 0x4ef61c
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov edx, dword [esi + 4]
test edx, edx
jne 0x4ef659
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x4ef6a8
push 0x134
call dword [0x68f5ec]
mov edi, eax
add esp, 4
test edi, edi
je 0x4fcd78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x4ef5b7
mov edx, dword [esi + 4]
test edx, edx
jne 0x4ef6dc
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x4ef71d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x622a18]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x4ef543
mov edi, dword [esi + 4]
test edi, edi
jne 0x4ef742
push 0x134
call dword [0x68f5ec]
mov edi, eax
add esp, 4
test edi, edi
je 0x4fcd78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x4ef5b7
mov edx, dword [esi + 4]
test edx, edx
jne 0x4ef776
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x4ef7c5
push 0x134
call dword [0x68f5ec]
mov edi, eax
add esp, 4
test edi, edi
je 0x4fcd78
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x4ef5b7
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x4fa729
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x4ef56f.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x4f9163
mov dword [esi + 0x54], ebx
jmp 0x4f004f
mov dword [esi + 0x54], ebx
jmp 0x4f0073
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0xc], eax
cmp byte [eax], 0x76
jne 0x4ef991
mov edi, dword [0x695640]
test edi, edi
je 0x4ef97d
mov dword [esp + 0x34], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x40], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x34]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x4fb41a
jns 0x4ef97d
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4f9204
jmp 0x4f90c0
movzx eax, byte [0x622a8e]
add dword [esi + 0xc], eax
movzx eax, byte [0x622a8e]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ebx, dword [esi + 0xc]
movzx ecx, byte [ebx]
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 0x8d]
cmp eax, 0x10
ja case.0x4ef9b4.146
movzx eax, byte [eax + 0x4fd2d8]
jmp dword [eax*4 + 0x4fd2c0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x4ef9b4.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x4efa92
cmp ecx, dword [edx + 4]
je 0x4efa92
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x4f943d
movzx ecx, byte [ecx + 0x622a18]
jmp 0x4f9440
cmp dword [ebp + 0xa4], 0
je case.0x4ef9b4.145
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebx + 2]
or ecx, eax
mov eax, dword [ebp + 0x30]
imul ecx, dword [ebp + 0x24]
add eax, ecx
test edi, edi
je 0x4ef9ec
mov ebx, eax
movzx edx, byte [eax + 1]
dec edi
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
mov ecx, dword [eax + 4]
xor eax, eax
cmp edx, ecx
sete al
mov dword [esi + 0x58], eax
je 0x4ef9ec
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x4efa38
jmp 0x4ef9ec
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4ef9e7
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4ef9e7
mov eax, 1
jmp 0x4ef9e9
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ebx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
je case.0x4ef9b4.145
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4efaef
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4efaef
mov eax, 1
jmp 0x4efaf1
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x4ef9ec
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x4efac5
jmp 0x4ef9ec
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4efb3b
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
jmp 0x4f96b1
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x4efba8
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x4ef543
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jl 0x4efb9f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x4efbff
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4efbf0
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x4ef543
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x4efc4a
cmp cl, 0x9f
je 0x4efc4a
cmp dword [ebp + 0xa4], ebx
jne 0x4efc4a
cmp dword [ebp + 0x5c], ebx
jne case.default.0x4fb41a
cmp dword [ebp + 0x60], ebx
je 0x4efc4a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x4fb41a
mov dword [ebp + 0x80], edi
mov edi, 0xfffffc19
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, 1
cmp dword [esi + 0x9c], ebx
cmove edi, eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4f9204
jmp 0x4f90c0
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4efca7
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4f9528
mov dword [esi + 0x58], ebx
jmp 0x4f9528
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x4efcd3
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4f9672
mov dword [esi + 0x58], ebx
jmp 0x4f9672
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4efd22
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x4efd40
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x4fa01a.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4efd1c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4efd10
test edx, edx
jg 0x4efcf5
jmp 0x4efd40
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x74]
jb case.0x4fa01a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x4efb9f
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x4ef543
mov edi, dword [0x695640]
test edi, edi
je 0x4efe43
mov dword [esp + 0x68], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x74], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x94], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x68]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x4fb41a
jns 0x4efe43
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4f9204
jmp 0x4f90c0
add dword [esi + 0xc], 6
jmp 0x4ef543
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x4efe6d
xor edx, edx
jmp 0x4efe7a
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x4efe99
cmp edx, dword [ecx + 4]
jne 0x4efe91
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x4efed6
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x4efe84
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x4efeec
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x4eff04
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fcff2
mov edi, 0xffffffe6
jmp 0x4f90c0
shl eax, 2
push eax
call dword [0x68f5e4]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4fcd78
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.004da640
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4f9798
mov edx, dword [esi + 0xc]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4eff30
jmp 0x4ef543
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4eff78
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x4fa1dc
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x4effa0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4effde
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x4fa1dc
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x4f0000
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x4ef543
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x4f004f
cmp eax, 0x8b
jne 0x4f0073
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x4f0090
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x4fa2e6
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x4f010d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4f0136
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x4f0172
cmp al, 0x81
je 0x4f0172
mov dword [esi + 0x38], ebx
jmp 0x4f0183
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x4f0190
cmp al, 0x80
jbe 0x4f0194
cmp al, 0x82
jne 0x4f01b1
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x4f9642
cmp al, 0x85
je 0x4f01c5
cmp al, 0x8a
je 0x4f01c5
cmp al, 0x86
je 0x4f01c5
cmp al, 0x8b
jne 0x4f029b
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x4f020a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x4f020a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x4f9642
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x4f0239
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x4f029b
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x4f025f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x4f025f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4f0250
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x4f029b
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x4f02d3
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd002
mov edi, 0xfffffc1a
jmp 0x4f90c0
cmp cl, 0x78
je 0x4f0363
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x4f0363
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x4f0329
test ecx, ecx
jne 0x4f030e
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4fa1dc
test ecx, ecx
jne 0x4f034b
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4fa1dc
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4f1ca2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f0394
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4fa1dc
cmp dword [ebp + 0x44], ebx
je case.0x4ef56f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4fb41a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x4f1466.10
jmp case.default.0x4fb41a
cmp dword [ebp + 0x44], ebx
je 0x4f03e2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4fb41a
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x4f1466.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x4fb41a
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4f042d
cmp ecx, edi
jbe 0x4f0422
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.004ffc50
add esp, 0x14
test eax, eax
je 0x4f0422
mov eax, 1
jmp 0x4f0424
xor eax, eax
test eax, eax
jne case.0x4f1466.10
jmp case.default.0x4fb41a
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x4fb41a
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x4fb41a
cmp edx, 1
je case.0x4f1466.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4f1466.10
jmp case.default.0x4fb41a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x4f1466.10
jmp case.default.0x4fb41a
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x4ef543
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4f0524
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f04b2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.004ffac0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x4f1466.10
jmp 0x4f04d3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4f04cf
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4f04cf
cmp edi, 1
je case.0x4f1466.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4f1466.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fa01a.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x4fa01a.14
cmp dword [ebp + 0x18], 0
jne case.0x4fa01a.14
cmp dword [ebp + 0x1c], 2
jne case.0x4fa01a.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4fa01a.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4fcdda
jmp case.0x4fa01a.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x4fb41a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4f1466.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x4f1466.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x4f1466.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd092
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4f90c4
cmp dword [ebp + 0x48], ebx
jne case.default.0x4fb41a
cmp dword [ebp + 0x58], ebx
je case.0x4ef56f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f1472
jmp case.default.0x4fb41a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4f052d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f05be
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004ffac0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4f05ec
jmp 0x4f05db
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4f05ec
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4f05ec
cmp edi, 1
je 0x4f05db
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4f05ec
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x4f052d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4fb41a
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4fb41a
cmp dword [ebp + 0x18], ebx
jne case.default.0x4fb41a
cmp dword [ebp + 0x1c], 2
jne case.default.0x4fb41a
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x4fb41a
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x4fb41a
jmp 0x4f0557
cmp dword [esp + 0x28], ebx
je 0x4f08f4
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x4f0656
mov dword [esi + 0x5c], ebx
jmp 0x4f0781
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x4f066e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x4f0662
cmp ecx, dword [ebp + 0x84]
jae 0x4f067c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x4f0733
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4f06aa
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x4f072b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x4f06bd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4f0725
and eax, 0x3f
test bl, 8
jne 0x4f06d8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4f0725
test bl, 4
jne 0x4f06fc
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x4f0725
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp dword [ebp + 0x54], 0
mov edx, ebx
je 0x4f07b7
cmp edx, 0x5f
jne 0x4f0749
mov dword [esi + 0x5c], 1
jmp 0x4f0781
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f07c8
cmp eax, 3
je 0x4f07c8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f07cf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f07ab
cmp edi, dword [ebp + 0x84]
jbe 0x4f07ab
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
mov dword [esi + 0x54], 0
jmp 0x4f0a0f
cmp edi, 0x100
jae 0x4f077c
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4f077c
mov eax, 1
jmp 0x4f077e
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4f0886
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f07fd
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f087e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f0810
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4f0878
and eax, 0x3f
test dl, 8
jne 0x4f082b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f0878
test dl, 4
jne 0x4f084f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f0878
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp dword [ebp + 0x54], 0
mov edi, edx
je 0x4f08d9
cmp edi, 0x5f
jne 0x4f089f
mov dword [esi + 0x54], 1
jmp 0x4f0a0f
shr eax, 7
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f08ea
cmp eax, 3
je 0x4f08ea
xor eax, eax
jmp 0x4f0a0c
cmp ebx, 0x100
jae 0x4f08d2
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4f08d2
mov eax, 1
jmp 0x4f0a0c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4f0904
mov dword [esi + 0x5c], ebx
jmp 0x4f098e
cmp eax, dword [ebp + 0x84]
ja 0x4f0913
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x4f097e
cmp ecx, 0x5f
jne 0x4f092d
mov dword [esi + 0x5c], 1
jmp 0x4f098e
mov eax, ecx
test eax, eax
jns 0x4f0936
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4f0950
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f0977
cmp eax, 3
je 0x4f0977
xor eax, eax
jmp 0x4f098b
mov eax, 1
jmp 0x4f098b
mov eax, dword [ebp + 0x40]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4f09bd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4f09b8
cmp eax, dword [ebp + 0x84]
jbe 0x4f09b8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4f0557
mov dword [esi + 0x54], ebx
jmp 0x4f0a0f
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x4f09ff
cmp ecx, 0x5f
jne 0x4f09d3
mov dword [esi + 0x54], 1
jmp 0x4f0a0f
mov eax, ecx
test eax, eax
jns 0x4f09dc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4f08af
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x4f08af
mov eax, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x4f0a2a
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x4f0a32
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x4ef543
jmp case.default.0x4fb41a
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4f0a79
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4f0a6e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.004ffac0
add esp, 0x14
test eax, eax
je 0x4f0a6e
mov eax, 1
jmp 0x4f0a70
xor eax, eax
test eax, eax
je 0x4f0aa4
jmp case.default.0x4fb41a
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4f0aa4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4f0aa4
cmp edx, 1
je case.default.0x4fb41a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4fb41a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4ef56f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x4ef56f.13
cmp dword [ebp + 0x18], ebx
jne case.0x4ef56f.13
cmp dword [ebp + 0x1c], 2
jne case.0x4ef56f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4ef56f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4f0557
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4f0b12
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x4fb41a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4fb41a
jmp 0x4f0557
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x4f1466.10
cmp ecx, dword [ebp + 0x78]
jae case.0x4f1466.10
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x4f1466.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4f0b30
inc dword [esi + 0xc]
jmp 0x4ef543
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4f0b74
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4fb41a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4fb41a
jmp 0x4f0627
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4ef543
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f0ba1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4f0c8b
cmp edx, 0xc0
jb 0x4f0c8b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4f0bdf
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f0c86
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4f0c00
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f0c86
test dl, 8
jne 0x4f0c23
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f0c86
test dl, 4
jne 0x4f0c52
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f0c86
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x100
jae case.0x4f1466.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4f1466.10
jmp case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4f0cc9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edx, dword [ebp + 0x84]
jmp 0x4f0af7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4f0dc6
cmp ecx, 0xc0
jb 0x4f0dc6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f0d05
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f0dc1
test cl, 0x10
jne 0x4f0d26
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f0dc1
test cl, 8
jne 0x4f0d50
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f0dc1
test cl, 4
jne 0x4f0d86
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f0dc1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp eax, 0xff
ja case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4f1466.10
jmp case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f0e04
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4f0f0c
cmp edx, 0xc0
jb 0x4f0f0c
test dl, 0x20
jne 0x4f0e40
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f0f07
test dl, 0x10
jne 0x4f0e67
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f0f07
test dl, 8
jne 0x4f0e97
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f0f07
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4f0ed3
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f0f07
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x100
jae case.0x4f1466.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4f1466.10
jmp case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4f0f4a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edx, dword [ebp + 0x84]
jmp 0x4f0af7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4f1047
cmp ecx, 0xc0
jb 0x4f1047
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f0f86
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f1042
test cl, 0x10
jne 0x4f0fa7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f1042
test cl, 8
jne 0x4f0fd1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f1042
test cl, 4
jne 0x4f1007
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f1042
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp eax, 0xff
ja case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4f1466.10
jmp case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f1085
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4f118d
cmp edx, 0xc0
jb 0x4f118d
test dl, 0x20
jne 0x4f10c1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f1188
test dl, 0x10
jne 0x4f10e8
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f1188
test dl, 8
jne 0x4f1118
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f1188
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4f1154
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f1188
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x100
jae case.0x4f1466.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4f1466.10
jmp case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4f11cb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edx, dword [ebp + 0x84]
jmp 0x4f0af7
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4f12c8
cmp ecx, 0xc0
jb 0x4f12c8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f1207
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f12c3
test cl, 0x10
jne 0x4f1228
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f12c3
test cl, 8
jne 0x4f1252
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f12c3
test cl, 4
jne 0x4f1288
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f12c3
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp eax, 0xff
ja case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4f1466.10
jmp case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f1306
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edi
mov dword [esi + 8], edi
mov ebx, edx
mov ecx, edx
mov dword [esp + 0x20], edi
je 0x4f1446
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x4f1446
test dl, 0x20
jne 0x4f1356
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x4f144a
test dl, 0x10
jne 0x4f1386
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x4f144a
test dl, 8
jne 0x4f13c2
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x4f144a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4f1407
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x4f144a
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x4f144a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x4f14a9
cmp ecx, 0x85
je case.0x4f1466.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4fb41a
jmp dword [edx*4 + 0x4fd2ec]
cmp edi, dword [ebp + 0x78]
jb 0x4f1494
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4f1466.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4f1466.10
cmp ecx, 1
jmp 0x4f054a
cmp byte [eax], 0xa
jne case.0x4f1466.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x4ef543
sub edx, 0x2028
je case.0x4f1466.11
sub edx, 1
jne case.default.0x4fb41a
cmp dword [ebp + 0x68], 0
je case.0x4f1466.10
jmp case.default.0x4fb41a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f14ea
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ebx, edx
mov dword [esi + 8], edi
mov eax, edx
mov dword [esp + 0x20], edx
mov ecx, edx
je 0x4f1605
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4f1605
test dl, 0x20
jne 0x4f1531
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f15f8
test dl, 0x10
jne 0x4f1558
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f15f8
test dl, 8
jne 0x4f1588
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f15f8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4f15c4
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f15f8
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ebx, edx
mov dword [esp + 0x20], edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x20], 0x2000
mov edi, edx
ja 0x4f166b
cmp ebx, 0x2000
je case.default.0x4fb41a
cmp edx, 0xa0
ja 0x4f164b
cmp edi, 0xa0
je case.default.0x4fb41a
cmp edx, 9
je case.default.0x4fb41a
cmp edx, 0x20
je case.default.0x4fb41a
inc dword [esi + 0xc]
jmp 0x4ef543
cmp edx, 0x1680
je case.default.0x4fb41a
cmp edx, 0x180e
je case.default.0x4fb41a
inc dword [esi + 0xc]
jmp 0x4ef543
cmp eax, 0x3000
ja case.0x4f1466.10
cmp ecx, 0x3000
je case.default.0x4fb41a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4f1466.10
movzx eax, byte [edx + 0x4fd304]
jmp dword [eax*4 + 0x4fd2fc]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4f16c0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edx, dword [ebp + 0x84]
jmp 0x4f0af7
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ebx, ecx
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x20], ecx
mov edi, ecx
je 0x4f17d0
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x4f17d0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f1707
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f17c3
test cl, 0x10
jne 0x4f1728
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f17c3
test cl, 8
jne 0x4f1752
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f17c3
test cl, 4
jne 0x4f1788
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f17c3
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x20], 0x2000
mov edx, ecx
ja 0x4f1830
cmp ebx, 0x2000
je case.0x4f1466.10
cmp ecx, 0xa0
ja 0x4f1813
cmp edx, 0xa0
je case.0x4f1466.10
cmp ecx, 9
je case.0x4f1466.10
cmp ecx, 0x20
je case.0x4f1466.10
jmp case.default.0x4fb41a
cmp ecx, 0x1680
je case.0x4f1466.10
cmp ecx, 0x180e
je case.0x4f1466.10
jmp case.default.0x4fb41a
cmp eax, 0x3000
ja case.default.0x4fb41a
cmp edi, 0x3000
je case.0x4f1466.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4fb41a
movzx eax, byte [ecx + 0x4fd36c]
jmp dword [eax*4 + 0x4fd364]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f1885
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x4f199d
cmp edx, 0xc0
jb 0x4f199d
test dl, 0x20
jne 0x4f18c5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x4f1996
test dl, 0x10
jne 0x4f18ec
movzx ecx, byte [edi]
and edx, 0xf
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f1996
test dl, 8
jne 0x4f191f
movzx ecx, byte [edi]
and edx, 7
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f1996
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x4f195b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f1996
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x4f19c3
cmp eax, 0x85
je case.0x4fa01a.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4f1466.10
jmp dword [edx*4 + 0x4fd3cc]
sub edx, 0x2028
je case.0x4fa01a.14
sub edx, 1
jne case.0x4f1466.10
jmp case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f19fe
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x4f1af0
cmp edx, 0xc0
jb 0x4f1af0
test dl, 0x20
jne 0x4f1a3c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f1ae9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4f1a63
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f1ae9
test dl, 8
jne 0x4f1a86
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f1ae9
test dl, 4
jne 0x4f1ab5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f1ae9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x4f1b16
cmp eax, 0x85
je case.0x4f1466.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4fa01a.14
jmp dword [edx*4 + 0x4fd3dc]
sub edx, 0x2028
je case.0x4f1466.10
sub edx, 1
je case.0x4f1466.10
jmp case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f1b51
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov ebx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
je 0x4f1c64
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4f1c64
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4f1baa
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f1c51
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4f1bcb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f1c51
test dl, 8
jne 0x4f1bee
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f1c51
test dl, 4
jne 0x4f1c1d
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f1c51
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov ecx, edx
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ecx
mov edi, dword [esi + 0xc]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x6243a0]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x6265a0]
cmp ecx, 0xa
ja case.0x4fb398.15
jmp dword [ecx*4 + 0x4fd3ec]
cmp dword [esi + 0x9c], 0xf
je case.default.0x4fb41a
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x4ef543
mov al, byte [ebx*8 + 0x622d21]
cmp al, 9
je 0x4f1cc4
cmp al, 5
je 0x4f1cc4
cmp al, 8
je 0x4f1cc4
xor ecx, ecx
jmp 0x4f1cc9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x4f1ca2
jmp case.default.0x4fb41a
movzx ecx, byte [ebx*8 + 0x622d21]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x622b30]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x4f1ca2
jmp case.default.0x4fb41a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x622d21]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x4f1ca2
jmp case.default.0x4fb41a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x622d20]
jmp 0x4f1d17
movzx eax, byte [ebx*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f1cc4
cmp eax, 3
je 0x4f1cc4
xor ecx, ecx
jmp 0x4f1cc9
cmp edx, 0x20
ja 0x4f1d83
je case.0x4f1c8e.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4f1dff.8203
jmp dword [edx*4 + 0x4fd418]
cmp edx, 0x2000
ja 0x4f1ddf
je case.0x4f1c8e.0
cmp edx, 0x1680
ja 0x4f1dd7
je case.0x4f1c8e.0
sub edx, 0x85
je case.0x4f1c8e.0
sub edx, 0x1b
je case.0x4f1c8e.0
movzx eax, byte [ebx*8 + 0x622d21]
xor ecx, ecx
cmp dword [eax*4 + 0x622b30], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x4f1d23
cmp edx, 0x180e
jmp 0x4f1dae
cmp edx, 0x3000
ja case.0x4f1dff.8203
je case.0x4f1c8e.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4f1dff.8203
movzx eax, byte [edx + 0x4fd434]
jmp dword [eax*4 + 0x4fd42c]
movzx eax, byte [ebx*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f1cc4
cmp eax, 3
je 0x4f1cc4
cmp edx, 0x5f
je 0x4f1cc4
xor ecx, ecx
jmp 0x4f1cc9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x622be0]
cmp ecx, dword [eax]
jb 0x4f1e5d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4f1e6f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4f1e50
cmp dword [esi + 0x9c], 0x10
jne 0x4f1ca2
jmp case.default.0x4fb41a
cmp dword [esi + 0x9c], 0x10
je 0x4f1ca2
jmp case.default.0x4fb41a
cmp dword [esp + 0x24], 0x24
je 0x4f1cc4
cmp dword [esp + 0x1c], 0x40
je 0x4f1cc4
cmp edx, 0x60
je 0x4f1cc4
cmp edx, 0xa0
jb 0x4f1eb4
cmp edx, 0xd7ff
jbe 0x4f1cc4
cmp edx, 0xe000
jae 0x4f1cc4
xor ecx, ecx
jmp 0x4f1cc9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4f1ee8
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edx, dword [ebp + 0x84]
jmp 0x4f0af7
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x10], edx
je 0x4f1fd5
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x4f1fd5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4f1f2b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x4f1fca
test al, 0x10
jne 0x4f1f43
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x4f1fc4
test al, 8
jne 0x4f1f64
and eax, 7
lea edi, [edx + 3]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f1fc4
test al, 4
jne 0x4f1f91
and eax, 3
lea edi, [edx + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f1fc4
and eax, 1
lea edi, [edx + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d22]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], edx
jae 0x4f2145
mov dword [esp + 0x10], edx
nop dword [eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4f20ec
cmp edx, 0xc0
jb 0x4f20ec
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f2051
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f20e8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f206c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f20e2
and eax, 0x3f
test dl, 8
jne 0x4f208c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f20e2
test dl, 4
jne 0x4f20b5
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f20e2
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x6243a0]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx ecx, byte [eax*8 + 0x622d22]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x622ba8], eax
mov ebp, dword [esp + 0xb0]
je 0x4f2145
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x4f2010
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4f1466.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x4f1466.10
jmp 0x4f1480
mov edx, dword [esi + 0xc]
xor eax, eax
cmp cl, 0x74
sete al
movzx ebx, byte [edx + 3]
movzx edi, byte [edx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [edx + 4]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [edx + 2]
or edi, eax
lea eax, [edx + 5]
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
je 0x4f2258
mov edx, edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
dec ebx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [esi + 0x14]
jge 0x4f21ea
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x4f21fb
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x10], edi
mov edx, edi
test ebx, ebx
jg 0x4f21c1
jmp 0x4f2258
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x4f2252
xor eax, eax
cmp cl, 0x72
sete al
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0x98]
cmp eax, dword [esi + 0x14]
jge 0x4f2248
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x4f2248
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x4f2252
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 7
ja case.default.0x4f2273
movzx eax, byte [ecx + 0x4fd49c]
jmp dword [eax*4 + 0x4fd494]
lea eax, [edx + 1]
mov ebx, ecx
mov dword [esi + 0xc], eax
and ebx, 1
movsx eax, byte [ecx + 0x622070]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x62207c]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4f22f8
mov dword [esi + 0x8c], getsockopt
jmp 0x4f22f8
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x10], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4f22f4
mov dword [esi + 0x8c], getsockopt
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x4ef543
jns 0x4f2315
cmp dword [esi + 0x90], 0
je 0x4ef543
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4f235a
mov ebx, 1
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.004fe010
add esp, 0x14
test eax, eax
js 0x4f2378
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x4f2327
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x10], 0
je 0x4f23a3
mov dword [esi + 0x84], eax
jmp 0x4f9a13
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4f2387
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x78]
jb case.default.0x4fb41a
jmp 0x4f0af1
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x4f9a5f
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.004fe010
add esp, 0x14
test eax, eax
js 0x4f23e6
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4f23af
cmp eax, 0xfffffffe
jne 0x4f9a5f
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4f9a5f
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4f9a5f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4f9a5f
jmp 0x4f0557
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.004fe010
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x4f247f
cmp ecx, 0xfffffffe
jne 0x4f2454
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4fb41a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4fb41a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4fb41a
jmp 0x4f0627
add dword [esi + 8], ecx
jmp 0x4ef543
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
lea eax, [edx + 0x21]
mov dword [esi + 0xc], eax
mov bl, byte [eax]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4f24af
movzx eax, byte [ecx + 0x4fd4ac]
jmp dword [eax*4 + 0x4fd4a4]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4f24cc
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4f24d4
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x622070]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x62207c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4f2569
mov dword [esi + 0x8c], getsockopt
jmp 0x4f2569
movzx ecx, byte [edx + 0x22]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 0x23]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4f254f
mov dword [esi + 0x8c], getsockopt
add dword [esi + 0xc], 5
jmp 0x4f2569
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x4f26e3
cmp dword [esi + 0x90], ebx
jl 0x4f272b
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4f26a3
test bl, 0x20
jne 0x4f25d7
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4f26a3
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4f2605
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4f26a3
test bl, 8
jne 0x4f2632
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4f26a3
test bl, 4
jne 0x4f2668
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x4f26a3
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov eax, ecx
cmp eax, 0xff
jbe 0x4f26b3
cmp dword [esi + 0x9c], 0x6e
jmp 0x4f26c6
mov eax, dword [esi + 0x28]
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.default.0x4fb41a
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f2590
jmp 0x4f2727
cmp dword [esi + 0x90], ebx
jl 0x4f272b
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f26f0
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f2757
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x4fab27
jmp 0x4f9b0c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x4f293c
cmp eax, dword [esi + 0x8c]
jge 0x4f292c
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f290a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4f28b5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4f27d5
mov eax, ebx
mov dword [esp + 0x1c], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
or ebx, eax
mov eax, 2
mov ecx, ebx
mov edx, ebx
jmp 0x4f28ba
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4f2804
and ebx, 0xf
mov dword [esp + 0x1c], 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, 3
mov ecx, ebx
mov edx, ebx
jmp 0x4f28ba
test bl, 8
jne 0x4f2838
and ebx, 7
mov dword [esp + 0x1c], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 4
mov ecx, ebx
mov edx, ebx
jmp 0x4f28ba
test bl, 4
jne 0x4f2875
and ebx, 3
mov dword [esp + 0x1c], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 5
mov ecx, ebx
mov edx, ebx
jmp 0x4f28ba
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 6
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov edx, ebx
jmp 0x4f28ba
mov eax, 1
cmp edx, 0xff
jbe 0x4f28cd
cmp dword [esi + 0x9c], 0x6e
je 0x4f292c
jmp 0x4f28ee
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [esp + 0x1c], eax
mov edx, 1
mov eax, dword [esi + 0x28]
shr ebx, 3
shl edx, cl
test byte [ebx + eax], dl
je 0x4f292c
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f2780
jmp 0x4f292c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f292c
cmp edi, dword [ebp + 0x84]
jbe 0x4f292c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fab91
cmp eax, dword [esi + 0x8c]
jge 0x4f29a1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4f297f
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x4f29a1
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f2944
jmp 0x4f29a1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f29a1
cmp ebx, dword [ebp + 0x84]
jbe 0x4f29a1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4f9b4f
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x4f29e7
movzx eax, byte [ecx + 0x4fd4c0]
jmp dword [eax*4 + 0x4fd4b8]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4f2a04
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4f2a0c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x622070]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x62207c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4f2aa1
mov dword [esi + 0x8c], getsockopt
jmp 0x4f2aa1
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4f2a87
mov dword [esi + 0x8c], getsockopt
add dword [esi + 0xc], 5
jmp 0x4f2aa1
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov eax, dword [esi + 0x90]
mov ebx, 1
mov ecx, eax
cmp eax, ebx
jl 0x4f2be0
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x4f2bb7
cmp edx, 0xc0
jb 0x4f2bb7
test dl, 0x20
jne 0x4f2b07
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f2bb4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4f2b2e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f2bb4
test dl, 8
jne 0x4f2b51
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f2bb4
test dl, 4
jne 0x4f2b80
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f2bb4
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.004ff3a0
add esp, 0xc
test eax, eax
je case.default.0x4fb41a
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4f2ac0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f2bfe
mov dword [esi + 0x84], eax
jmp 0x4fa902
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f2d51
nop word [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2d2f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x4f2d01
cmp edx, 0xc0
jb 0x4f2d01
test dl, 0x20
jne 0x4f2c61
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4f2cf9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4f2c83
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f2cf9
and eax, 0x3f
test dl, 8
jne 0x4f2ca3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f2cf9
test dl, 4
jne 0x4f2ccc
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f2cf9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.004ff3a0
add esp, 0xc
test eax, eax
je 0x4f2d51
mov eax, dword [esp + 0x10]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f2c20
jmp 0x4f2d51
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f2d51
cmp edi, dword [ebp + 0x84]
jbe 0x4f2d51
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fa974
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4f2f1d
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x4f2ea8
test bl, 0x20
jne 0x4f2dbb
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4f2ea8
test bl, 0x10
jne 0x4f2df0
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4f2ea8
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x4f2e31
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4f2ea8
test bl, 4
jne 0x4f2e6a
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4f2ea8
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x4f2edd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edx, edi
jb case.default.0x4fb41a
cmp edx, dword [ebp + 0x84]
jmp 0x4f0af7
test ecx, ecx
jle 0x4f2f0f
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.default.0x4fb41a
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4f2ee1
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x4ef543
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4f2f59
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4fa01a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4fcdda
jmp case.0x4fa01a.14
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x4f3277
jmp case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4f2f95
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp edi, dword [ebp + 0x84]
jmp 0x4f0af7
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4f3258
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x4f30dc
test bl, 0x20
jne 0x4f2fef
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4f30dc
test bl, 0x10
jne 0x4f3024
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4f30dc
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x4f3065
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4f30dc
test bl, 4
jne 0x4f309e
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4f30dc
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x80]
movzx ecx, byte [eax]
cmp edi, 0x80
jae 0x4f310a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x4fb41a
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x4ef543
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4f31fd
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f3139
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f31f8
test cl, 0x10
jne 0x4f315a
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f31f8
test cl, 8
jne 0x4f3187
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f31f8
test cl, 4
jne 0x4f31bd
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f31f8
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edx, dword [esi + 0x80]
cmp edx, ecx
je 0x4ef543
mov eax, edx
test eax, eax
jns 0x4f321d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x6243a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4f3238
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6265a0]
mov eax, dword [eax*8 + 0x622d24]
add eax, edx
cmp edi, eax
je 0x4ef543
jmp case.default.0x4fb41a
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x4fa01a.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x4ef543
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x4f3395
mov dword [esp + 0x24], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x4f32da
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4f32e2
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4f3395
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f3395
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f3395
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f3395
mov edx, dword [esi + 0xc]
cmp cl, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x2e
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x622070]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x62207c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4f3395
mov dword [esi + 0x8c], getsockopt
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4f37e9
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x4f34de
test bl, 0x20
jne 0x4f33f1
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x4f34de
test bl, 0x10
jne 0x4f3426
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x4f34de
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x4f3467
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4f34de
test bl, 4
jne 0x4f34a0
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4f34de
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x4f37fa
cmp dword [esi + 0x9c], 0x2e
jb 0x4f3550
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x4f350c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x6243a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4f3527
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6265a0]
mov ecx, dword [eax*8 + 0x622d24]
add ecx, edx
cmp ecx, edx
je 0x4f3550
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.004ff340
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4f3557
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x10], 1
cmp eax, 1
jl 0x4f3664
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x4f35de
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4f35a1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4f35a6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4f3590
cmp edi, 0xfffffffc
je 0x4f35d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4f35db
cmp edi, 0xfffffffd
je 0x4f35d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4f35db
cmp edi, 0xfffffffe
je 0x4f35d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4f35db
cmp edi, 0xffffffff
je 0x4f35d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4f35db
mov eax, dword [esi + 0x88]
jmp 0x4f3646
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4f3682
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4f3682
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4f3611
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4f3616
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4f3600
cmp edi, 0xfffffffc
je 0x4f3643
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4f3682
cmp edi, 0xfffffffd
je 0x4f3643
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4f3682
cmp edi, 0xfffffffe
je 0x4f3643
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4f3682
cmp edi, 0xffffffff
je 0x4f3643
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4f3682
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x10]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], edx
cmp edx, eax
jle 0x4f3570
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f36a4
mov dword [esi + 0x84], eax
jmp 0x4fad01
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4fb41a
cmp ebx, dword [ebp + 0x84]
jmp 0x4f0af7
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f37d9
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x4f372e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4f36f1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4f36f6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4f36e0
cmp edi, 0xfffffffc
je 0x4f3723
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4f372b
cmp edi, 0xfffffffd
je 0x4f3723
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4f372b
cmp edi, 0xfffffffe
je 0x4f3723
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4f372b
cmp edi, 0xffffffff
je 0x4f3723
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4f372b
mov eax, dword [esi + 0x88]
jmp 0x4f3796
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4f37b2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4f37b2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4f3761
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4f3766
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4f3750
cmp edi, 0xfffffffc
je 0x4f3793
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4f37b2
cmp edi, 0xfffffffd
je 0x4f3793
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4f37b2
cmp edi, 0xfffffffe
je 0x4f3793
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4f37b2
cmp edi, 0xffffffff
je 0x4f3793
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4f37b2
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x10]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4f36c0
jmp 0x4f37d9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f37d9
cmp ebx, dword [ebp + 0x78]
jb 0x4f37d9
cmp ebx, dword [ebp + 0x84]
jbe 0x4f37d9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fadad
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4f37fe
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4f38f8
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, edi
jl 0x4f3864
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f9ac5
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4f3853
cmp dword [esi + 0x94], ecx
jne case.0x4fa01a.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x4f3830
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f3882
mov dword [esi + 0x84], eax
jmp 0x4f9bf9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4f38e8
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f38c6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4f38b5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4f38e8
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4f3898
jmp 0x4f38e8
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4f38e8
cmp eax, dword [ebp + 0x84]
jbe 0x4f38e8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4fcdda
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4f9c3c
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4f392f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4f394d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x4fb41a
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x4f3905
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f3966
mov dword [esi + 0x84], eax
jmp 0x4f9cc1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp ebx, dword [ebp + 0x84]
jmp 0x4f0af7
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4f39c6
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f39a4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4f39c6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4f3980
jmp 0x4f39c6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f39c6
cmp ecx, dword [ebp + 0x84]
jbe 0x4f39c6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4f9d04
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4f3c9f
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4f3ae4
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4f3a25
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4f3ae1
test bl, 0x10
jne 0x4f3a46
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x4f3ae1
test bl, 8
jne 0x4f3a70
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x4f3ae1
test bl, 4
jne 0x4f3aa6
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x4f3ae1
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 8], ecx
mov edi, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4f3c25
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x4f3b30
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4f3c29
test dl, 0x10
jne 0x4f3b5e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4f3c29
test dl, 8
jne 0x4f3b98
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4f3c29
test dl, 4
jne 0x4f3bdb
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4f3c29
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x4f3c29
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x9c], 0x1f
jne 0x4f3c3f
cmp ebx, eax
jne 0x4ef543
jmp case.default.0x4fb41a
cmp ebx, 0x7f
jbe 0x4f3c7d
mov eax, ebx
test eax, eax
jns 0x4f3c4d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x6243a0]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4f3c68
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6265a0]
mov eax, dword [eax*8 + 0x622d24]
add eax, ebx
jmp 0x4f3c8a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x4fb41a
cmp eax, edi
jne 0x4ef543
jmp case.default.0x4fb41a
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4fa01a.14
cmp dword [esi + 0x9c], 0x20
jne 0x4f3277
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4fa01a.14
add dword [esi + 0xc], 2
jmp 0x4ef543
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x4f3e24
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x4f3d38
cmp al, 0x4f
je 0x4f3d38
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4f3e24
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4f3e24
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f3e24
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f3e24
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f3e24
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x4f3e24
mov edx, dword [esi + 0xc]
cmp cl, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x48
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x622070]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x62207c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4f3e24
mov dword [esi + 0x8c], getsockopt
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x28]
inc edx
mov dword [esi + 0xc], edx
test eax, eax
je 0x4f3f55
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x4f3f55
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f3e76
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4f3f51
test cl, 0x10
jne 0x4f3e9e
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x4f3f51
test cl, 8
jne 0x4f3ed2
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x4f3f51
test cl, 4
jne 0x4f3f0f
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 4
jmp 0x4f3f51
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 5
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x48
jb 0x4f4341
test eax, eax
je 0x4f3fb5
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x4f3fb5
mov eax, edx
test eax, eax
jns 0x4f3f7a
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x6243a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4f3f95
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x6265a0]
mov eax, dword [eax*8 + 0x622d24]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x4f3fd8
cmp dword [esp + 0x28], 0
mov edi, 1
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
je 0x4f4116
cmp dword [esi + 0x90], 1
jl 0x4f4154
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x4f40ef
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f402e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f40ea
test cl, 0x10
jne 0x4f404f
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f40ea
test cl, 8
jne 0x4f4079
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f40ea
test cl, 4
jne 0x4f40af
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f40ea
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ecx
cmp dword [esi + 0x80], ecx
je case.default.0x4fb41a
cmp dword [esi + 0x94], eax
je case.default.0x4fb41a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4f3ff0
jmp 0x4f4154
cmp dword [esi + 0x90], edi
jl 0x4f4154
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x4fb41a
cmp dword [esi + 0x94], ecx
je case.default.0x4fb41a
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f4120
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4ef543
test ebx, ebx
je 0x4f4180
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x4faf38
jmp 0x4f9dae
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4f42d7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4f42c7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f42a5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4f4280
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f41e4
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4f427c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f41ff
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4f4276
and eax, 0x3f
test dl, 8
jne 0x4f421f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f4276
test dl, 4
jne 0x4f4248
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f4276
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp dword [esi + 0x80], edx
je 0x4f42c7
cmp dword [esi + 0x94], eax
je 0x4f42c7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4f41a4
jmp 0x4f42c7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f42c7
cmp edi, dword [ebp + 0x84]
jbe 0x4f42c7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4faf9c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4f4331
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f430f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4f4331
cmp dword [esi + 0x94], ecx
je 0x4f4331
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4f42e5
jmp 0x4f4331
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4f4331
cmp eax, dword [ebp + 0x84]
jbe 0x4f4331
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4fcdda
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4f9df1
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x4f4499
cmp dword [esi + 0x90], edi
jl 0x4f44cf
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4f447a
mov cl, byte [eax]
test bl, 0x20
jne 0x4f439b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4f4472
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4f43bf
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x4f4472
test bl, 8
jne 0x4f43fa
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x4f447a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4f4438
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x4f446e
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
mov edi, dword [esp + 0x10]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x4fb41a
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x90]
jle 0x4f4362
jmp 0x4f44cb
cmp dword [esi + 0x90], edi
jl 0x4f44cf
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4f394d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x4fb41a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4f44a1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f44fb
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x4fb13f
jmp 0x4f9e76
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4f464e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x4f463e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f461c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4f45fb
test dl, 0x20
jne 0x4f4556
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4f45f3
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4f4578
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f45ef
and eax, 0x3f
test dl, 8
jne 0x4f4598
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f45ef
test dl, 4
jne 0x4f45c1
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f45ef
and edx, 1
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x4f463e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4f4520
jmp 0x4f463e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f463e
cmp edi, dword [ebp + 0x84]
jbe 0x4f463e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fb19e
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4f46a6
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f4684
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4f46a6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4f4660
jmp 0x4f46a6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f46a6
cmp ecx, dword [ebp + 0x84]
jbe 0x4f46a6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4fcdda
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4f9eb9
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x4f47e7
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x20], edx
mov dword [esi + 0xc], eax
jmp 0x4f47e7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f47e7
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], getsockopt
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f47e7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4f47e7
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x4f47e7
mov ecx, dword [esi + 0xc]
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
add ebx, 0xffffffab
mov dword [esi + 0xc], eax
mov edx, ebx
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [edx + 0x622070]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x62207c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4f47e7
mov dword [esi + 0x8c], getsockopt
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x4f4809
cmp ecx, 0xf
je 0x4f4809
mov dword [esi + 0x60], 0xffffffff
jmp 0x4f482d
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x4f4a3a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4f5734
cmp eax, 0xa
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fd4cc]
cmp dword [esi + 0x68], 0
jne case.default.0x4fb41a
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x4f4a3e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f9f25
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4f48be
cmp edx, 0xc0
jb 0x4f48be
test dl, 0x20
jne 0x4f489c
lea eax, [ecx + 2]
jmp 0x4f48bb
test dl, 0x10
jne 0x4f48a6
lea eax, [ecx + 3]
jmp 0x4f48bb
test dl, 8
jne 0x4f48b0
lea eax, [ecx + 4]
jmp 0x4f48bb
lea eax, [ecx + 5]
test dl, 4
je 0x4f48bb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4f4871
jmp 0x4f4a3e
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4f49ea
cmp eax, 0xc0
jb 0x4f49ea
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4f4929
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f49e5
test al, 0x10
jne 0x4f4949
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f49e5
test al, 8
jne 0x4f4975
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f49e5
test al, 4
jne 0x4f49aa
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f49e5
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp eax, 9
je 0x4f4a1f
cmp eax, 5
je 0x4f4a1f
cmp eax, 8
je 0x4f4a1f
xor eax, eax
jmp 0x4f4a24
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f48e0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x4ef543
cmp dword [esp + 0x20], 0
je 0x4f6aab
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x4f6a8e
cmp ecx, 0xa
ja case.0x4fb398.15
jmp dword [ecx*4 + 0x4fd4f8]
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4f4b9f
cmp eax, 0xc0
jb 0x4f4b9f
test al, 0x20
jne 0x4f4ac9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f4b9a
test al, 0x10
jne 0x4f4aef
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f4b9a
test al, 8
jne 0x4f4b21
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f4b9a
test al, 4
movzx eax, byte [edx]
jne 0x4f4b5c
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f4b9a
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f4a80
jmp 0x4f4a3a
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
nop dword [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4f4d1f
cmp eax, 0xc0
jb 0x4f4d1f
test al, 0x20
jne 0x4f4c49
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f4d1a
test al, 0x10
jne 0x4f4c6f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f4d1a
test al, 8
jne 0x4f4ca1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f4d1a
test al, 4
movzx eax, byte [edx]
jne 0x4f4cdc
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f4d1a
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f4c00
jmp 0x4f4a3a
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4f4e90
cmp eax, 0xc0
jb 0x4f4e90
test al, 0x20
jne 0x4f4dba
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f4e8b
test al, 0x10
jne 0x4f4de0
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f4e8b
test al, 8
jne 0x4f4e12
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f4e8b
test al, 4
movzx eax, byte [edx]
jne 0x4f4e4d
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f4e8b
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d20]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f4d71
jmp 0x4f4a3a
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x4f5001
cmp eax, 0xc0
jb 0x4f5001
test al, 0x20
jne 0x4f4f2b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f4ffc
test al, 0x10
jne 0x4f4f51
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f4ffc
test al, 8
jne 0x4f4f83
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f4ffc
test al, 4
movzx eax, byte [edx]
jne 0x4f4fbe
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f4ffc
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f5038
cmp eax, 3
je 0x4f5038
xor eax, eax
jmp 0x4f503d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f4ee2
jmp 0x4f4a3a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4f4a3a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
cmp dword [esp + 0x28], 0
lea edx, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov edi, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
je 0x4f519a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x4f519a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f50cd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f5189
test cl, 0x10
jne 0x4f50ee
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f5189
test cl, 8
jne 0x4f5118
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f5189
test cl, 4
jne 0x4f514e
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f5189
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0x20
mov edx, ecx
ja 0x4f51bb
cmp eax, 0x20
je case.0x4f5290.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4f5290.8203
jmp dword [eax*4 + 0x4fd524]
cmp edx, 0x2000
ja 0x4f5268
cmp edi, 0x2000
je case.0x4f5290.8193
cmp ecx, 0x1680
ja 0x4f5260
je case.0x4f5290.8193
mov eax, ecx
sub eax, 0x85
je case.0x4f5290.8193
sub eax, 0x1b
je case.0x4f5290.8193
mov eax, ecx
test eax, eax
jns 0x4f5204
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4f521e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp dword [eax*4 + 0x622b30], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4fb41a
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4f5070
jmp 0x4f4a3a
cmp ecx, 0x180e
jmp 0x4f51f5
cmp ebx, 0x3000
ja case.0x4f5290.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4f5290.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4f5290.8203
movzx eax, byte [eax + 0x4fd540]
jmp dword [eax*4 + 0x4fd538]
cmp dword [esi + 0x68], 0
jne case.default.0x4fb41a
jmp 0x4f5246
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4f4a3a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4f53bf
cmp eax, 0xc0
jb 0x4f53bf
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4f52ff
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f53b8
test al, 0x10
jne 0x4f531f
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f53b8
test al, 8
jne 0x4f5348
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f53b8
test al, 4
jne 0x4f537d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f53b8
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f53fb
cmp eax, 3
je 0x4f53fb
cmp ebx, 0x5f
je 0x4f53fb
xor eax, eax
jmp 0x4f5400
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4fb41a
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4f52b4
jmp 0x4f4a3a
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x4f5529
cmp edx, 0xc0
jb 0x4f5529
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4f547d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f5524
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4f549e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f5524
test dl, 8
jne 0x4f54c1
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f5524
test dl, 4
jne 0x4f54f0
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f5524
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x622be0]
lea eax, [eax*4 + 0x622be0]
jb 0x4f554d
mov ecx, dword [eax]
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x4f5569
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4f5540
cmp dword [esi + 0x68], 0
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f5430
jmp 0x4f4a3a
cmp dword [esi + 0x68], 0
jne case.default.0x4fb41a
jmp 0x4f5557
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4f4a3a
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edi
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x10], ecx
mov ebx, ecx
je 0x4f56dd
mov dword [esp + 0x10], ecx
cmp ecx, 0xc0
jb 0x4f56dd
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4f55f0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edi + 1]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4f56e1
test cl, 0x10
jne 0x4f561c
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4f56e1
test cl, 8
jne 0x4f5654
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4f56e1
test cl, 4
jne 0x4f5695
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4f56e1
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x4f56e1
mov edi, dword [esp + 0x10]
cmp edx, 0x24
je 0x4f570c
cmp eax, 0x40
je 0x4f570c
cmp ebx, 0x60
je 0x4f570c
cmp edi, 0xa0
jb 0x4f5700
cmp ecx, 0xd7ff
jbe 0x4f570c
cmp ecx, 0xe000
jae 0x4f570c
xor eax, eax
jmp 0x4f5711
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4fb41a
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x4f5590
jmp 0x4f4a3a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4f5a2b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4f4a3a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f0ae3
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x10], edi
je 0x4f585c
mov dword [esp + 0x10], edi
cmp eax, 0xc0
jb 0x4f585c
test al, 0x20
jne 0x4f579c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4f584b
test al, 0x10
jne 0x4f57bc
mov ecx, eax
lea edx, [edi + 2]
movzx eax, byte [edi]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x4f584b
test al, 8
jne 0x4f57e5
mov ecx, eax
lea edx, [edi + 3]
movzx eax, byte [edi]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x4f584b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x4f5818
and eax, 3
lea edx, [edi + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4f584b
and eax, 1
lea edx, [edi + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x10], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x6243a0]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d22]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x10], eax
jae 0x4f59eb
mov edi, edx
mov dword [esp + 0x10], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4f5979
cmp edx, 0xc0
jb 0x4f5979
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f58e1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f5975
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f58f9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f596f
and eax, 0x3f
test dl, 8
jne 0x4f5919
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f596f
test dl, 4
jne 0x4f5942
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f596f
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x14], edi
movzx eax, byte [edx + 0x6243a0]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx ecx, byte [eax*8 + 0x622d22]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x622ba8], eax
mov ebp, dword [esp + 0xb0]
je 0x4f59e3
lea edx, [ebx + edi]
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x10], eax
cmp edx, eax
jb 0x4f58a0
jmp 0x4f59eb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4f5a11
cmp edx, eax
jb 0x4f5a11
cmp ecx, dword [ebp + 0x84]
jbe 0x4f5a11
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4fad6c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4f5751
jmp 0x4f4a3a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4f65f0
cmp eax, 0xf
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fd5a0]
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4f0ae3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f5a99
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004ffac0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4f5a8d
mov eax, 1
jmp 0x4f5a8f
xor eax, eax
test eax, eax
jne case.default.0x4fb41a
jmp 0x4f5ac0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4f5abe
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4f5abe
cmp edi, 1
je case.default.0x4fb41a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4fb41a
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4f5af6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4f5af6
test ecx, ecx
jne 0x4f5af6
cmp dword [ebp + 0x1c], 2
jne 0x4f5af6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4f5af6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4fad6c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f5b12
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4f5b12
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4f5b01
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f5a57
jmp 0x4f4a3a
mov edi, 1
cmp ecx, edi
jl 0x4f4a3e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4f9ac5
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4f5b68
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4f5b68
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4f5b50
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4f5b34
jmp 0x4f4a3e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x4fa01a.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4f4a3e
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4f4a3e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp ecx, 0xc0
jb 0x4f5ca7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f5be2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x4f5c9e
test cl, 0x10
jne 0x4f5c03
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 2
jmp 0x4f5c9e
test cl, 8
jne 0x4f5c2d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x4f5c9e
test cl, 4
jne 0x4f5c63
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x4f5c9e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp edi, 0x85
ja 0x4f5cdb
cmp eax, 0x85
je case.0x4f5cc2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4fb41a
jmp dword [ecx*4 + 0x4fd5e0]
cmp ebx, dword [ebp + 0x78]
jae case.0x4f5cc2.10
cmp byte [edx], 0xa
jne case.0x4f5cc2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4f5cc2.10
sub ecx, 0x2028
je case.0x4f5cc2.11
sub ecx, 1
jne case.default.0x4fb41a
cmp dword [ebp + 0x68], 0
jne case.default.0x4fb41a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4f5ba2
jmp 0x4f4a3a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4f4a3e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4f5e30
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f5d67
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f5e23
test cl, 0x10
jne 0x4f5d88
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f5e23
test cl, 8
jne 0x4f5db2
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f5e23
test cl, 4
jne 0x4f5de8
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f5e23
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x4f5e9c
cmp ebx, 0x2000
je case.default.0x4fb41a
cmp ecx, 0xa0
ja 0x4f5e82
je case.default.0x4fb41a
cmp ecx, 9
je case.default.0x4fb41a
cmp ecx, 0x20
je case.default.0x4fb41a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4f5d21
jmp 0x4f4a3a
cmp edx, 0x1680
je case.default.0x4fb41a
cmp ecx, 0x180e
je case.default.0x4fb41a
jmp case.0x4f5ec1.8203
cmp eax, 0x3000
ja case.0x4f5ec1.8203
cmp edi, 0x3000
je case.default.0x4fb41a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4f5ec1.8203
movzx eax, byte [ecx + 0x4fd5f8]
jmp dword [eax*4 + 0x4fd5f0]
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4f4a3e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4f5fef
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f5f26
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f5fe2
test cl, 0x10
jne 0x4f5f47
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f5fe2
test cl, 8
jne 0x4f5f71
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f5fe2
test cl, 4
jne 0x4f5fa7
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f5fe2
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x4f604b
cmp ebx, 0x2000
je case.0x4f6074.8193
cmp ecx, 0xa0
ja 0x4f6035
je case.0x4f6074.8193
cmp ecx, 9
je case.0x4f6074.8193
cmp ecx, 0x20
jne case.default.0x4fb41a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4f5ee0
jmp 0x4f4a3a
cmp edx, 0x1680
je case.0x4f6074.8193
cmp ecx, 0x180e
jne case.default.0x4fb41a
jmp case.0x4f6074.8193
cmp eax, 0x3000
ja case.default.0x4fb41a
cmp edi, 0x3000
je case.0x4f6074.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4fb41a
movzx eax, byte [ecx + 0x4fd660]
jmp dword [eax*4 + 0x4fd658]
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4f6193
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4f60d0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4f618c
test cl, 0x10
jne 0x4f60f1
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4f618c
test cl, 8
jne 0x4f611b
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4f618c
test cl, 4
jne 0x4f6151
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4f618c
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov eax, ecx
cmp eax, 0x85
ja 0x4f61b5
cmp edi, 0x85
je case.default.0x4fb41a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4f61ae
jmp dword [ecx*4 + 0x4fd6c0]
sub ecx, 0x2028
je case.default.0x4fb41a
sub ecx, 1
je case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f6090
jmp 0x4f4a3a
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4f62e0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4f6232
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f62d9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4f6253
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f62d9
test dl, 8
jne 0x4f6276
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f62d9
test dl, 4
jne 0x4f62a5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f62d9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, edx
cmp eax, 0x85
ja 0x4f6302
cmp ecx, 0x85
je case.0x4f62fb.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4fb41a
jmp dword [edx*4 + 0x4fd6d0]
sub edx, 0x2028
je case.0x4f62fb.10
sub edx, 1
jne case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f61f0
jmp 0x4f4a3a
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f0b55
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4f641e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4f6372
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4f6419
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4f6393
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4f6419
test dl, 8
jne 0x4f63b6
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4f6419
test dl, 4
jne 0x4f63e5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4f6419
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, edx
cmp eax, 0x80
jae 0x4f6432
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x4fb41a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f6332
jmp 0x4f4a3a
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f9f25
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4fa01a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f6452
jmp 0x4f4a3e
mov edi, 1
cmp ecx, edi
jl 0x4f4a3e
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4f9f25
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4f64c3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4fa01a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4f64e8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4f64e8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4f64d0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4f64a0
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f9f25
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4fa01a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f6504
jmp 0x4f4a3e
mov edi, 1
cmp ecx, edi
jl 0x4f4a3e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4f9f25
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4f6573
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4fa01a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4f6598
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4f6598
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4f6580
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4f6550
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f9f25
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4fa01a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f65b4
jmp 0x4f4a3e
cmp eax, 0xf
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fd6e0]
mov ebx, 1
cmp ecx, ebx
jl 0x4f4a3a
nop dword [eax]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4f0cb0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f6650
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.004ffac0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4f6644
mov eax, 1
jmp 0x4f6646
xor eax, eax
test eax, eax
jne case.default.0x4fb41a
jmp 0x4f6677
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4f6677
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4f6677
cmp edi, 1
je case.default.0x4fb41a
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4fb41a
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4f66ae
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4f66ae
cmp dword [ebp + 0x18], 0
jne 0x4f66ae
cmp dword [ebp + 0x1c], 2
jne 0x4f66ae
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4f66ae
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4fad6c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4f6610
jmp 0x4f4a3a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4f5b86
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
mov edx, 1
cmp ecx, edx
jl 0x4f4a3e
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f9f25
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4fa01a.14
movzx eax, byte [eax + 0x4fd730]
jmp dword [eax*4 + 0x4fd720]
cmp ecx, dword [ebp + 0x78]
jae case.0x4f6728.10
cmp byte [ecx], 0xa
jne case.0x4f6728.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4f6728.10
cmp dword [ebp + 0x68], 0
jne case.0x4fa01a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4f6700
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edx, 1
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f9ac5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4fa01a.14
cmp ecx, 0x20
je case.0x4fa01a.14
cmp ecx, 0xa0
je case.0x4fa01a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4f6770
jmp 0x4f4a3e
mov edx, 1
cmp ecx, edx
jl 0x4f4a3e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f9ac5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4f67e9
cmp ecx, 0x20
je 0x4f67e9
cmp ecx, 0xa0
jne case.0x4fa01a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4f67c0
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edx, 1
mov edi, edx
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f9ac5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4f6836.11
movzx eax, byte [eax + 0x4fd7b4]
mov edx, edi
jmp dword [eax*4 + 0x4fd7ac]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x4f6810
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edx, 1
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f9ac5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4fa01a.14
movzx eax, byte [eax + 0x4fd838]
jmp dword [eax*4 + 0x4fd830]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4f6860
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f66d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4fa01a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f68b0
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f66d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4fa01a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f68f0
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f66d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4fa01a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f6930
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f66d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4fa01a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f6970
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f66d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4fa01a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f69b0
jmp 0x4f4a3e
cmp ecx, 1
jl 0x4f4a3e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f66d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4fa01a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4f69f0
jmp 0x4f4a3e
mov dword [esi + 0x84], eax
jmp 0x4fb806
mov dword [esi + 0x84], eax
jmp 0x4fb9d4
mov dword [esi + 0x84], eax
jmp 0x4fbb9a
mov dword [esi + 0x84], eax
jmp 0x4fbd58
mov dword [esi + 0x84], eax
jmp 0x4fbf16
mov dword [esi + 0x84], eax
jmp 0x4fc6fd
mov dword [esi + 0x84], eax
jmp 0x4fcb17
mov dword [esi + 0x84], eax
jmp 0x4fcd55
mov dword [esi + 0x84], eax
jmp 0x4fcf36
mov dword [esi + 0x84], eax
jmp 0x4fc8e0
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x4fc24b
test ebx, ebx
jne 0x4fb48b
jmp 0x4fa124
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4f7a13
cmp eax, 0xa
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fd8b4]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4f6b42
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f6b52
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x4f6b2e
cmp ecx, 0xc0
jb 0x4f6b2e
test cl, 0x20
jne 0x4f6b08
mov eax, 2
jmp 0x4f6b2e
test cl, 0x10
jne 0x4f6b14
mov eax, 3
jmp 0x4f6b2e
test cl, 8
jne 0x4f6b20
mov eax, 4
jmp 0x4f6b2e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4f6b42
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f6ae0
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fc2ae
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f6b42
cmp edx, dword [ebp + 0x84]
jbe 0x4f6b42
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4f6b42
jmp 0x4fcdda
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop word [eax + eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4f6ce7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4f6c84
cmp eax, 0xc0
jb 0x4f6c84
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4f6bd9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4f6c80
test al, 0x10
jne 0x4f6bf3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f6c7a
test al, 8
jne 0x4f6c16
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f6c7a
test al, 4
jne 0x4f6c45
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x4f6c7a
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp eax, 9
je 0x4f6cb9
cmp eax, 5
je 0x4f6cb9
cmp eax, 8
je 0x4f6cb9
xor eax, eax
jmp 0x4f6cbe
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4f6b42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f6b90
jmp 0x4f6b42
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f6b42
cmp edx, dword [ebp + 0x84]
jbe 0x4f6b42
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x4f6b42
jmp 0x4f0557
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f6e7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4f6e24
cmp eax, 0xc0
jb 0x4f6e24
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4f6d79
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4f6e20
test al, 0x10
jne 0x4f6d93
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f6e1a
test al, 8
jne 0x4f6db6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f6e1a
test al, 4
jne 0x4f6de5
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x4f6e1a
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4f6b42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f6d30
jmp 0x4f6b42
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f6b42
cmp edx, dword [ebp + 0x84]
jbe 0x4f6b42
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4f6b42
jmp 0x4f0557
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f6e7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4f6fb3
cmp eax, 0xc0
jb 0x4f6fb3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4f6f08
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4f6faf
test al, 0x10
jne 0x4f6f22
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f6fa9
test al, 8
jne 0x4f6f45
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f6fa9
test al, 4
jne 0x4f6f74
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x4f6fa9
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4f6b42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f6ec3
jmp 0x4f6b42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f6e7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4f7114
cmp eax, 0xc0
jb 0x4f7114
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4f7069
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4f7110
test al, 0x10
jne 0x4f7083
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f710a
test al, 8
jne 0x4f70a6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f710a
test al, 4
jne 0x4f70d5
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x4f710a
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d20]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4f6b42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f7020
jmp 0x4f6b42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop dword [eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4f6ce7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4f7274
cmp eax, 0xc0
jb 0x4f7274
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4f71c9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4f7270
test al, 0x10
jne 0x4f71e3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f726a
test al, 8
jne 0x4f7206
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f726a
test al, 4
jne 0x4f7235
and eax, 3
mov ebx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x4f726a
and eax, 1
mov ebx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f72ab
cmp eax, 3
je 0x4f72ab
xor eax, eax
jmp 0x4f72b0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4f6b42
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f7180
jmp 0x4f6b42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4f7519
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x4f7409
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4f7409
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f7355
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4f73f9
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f7373
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4f73f3
and eax, 0x3f
test dl, 8
jne 0x4f7396
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f73f3
test dl, 4
jne 0x4f73c2
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f73f3
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x10], 0x20
ja 0x4f7428
cmp eax, 0x20
je case.0x4f7506.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4f7506.8203
jmp dword [eax*4 + 0x4fd8e0]
cmp edx, 0x2000
ja 0x4f74de
cmp ecx, 0x2000
je case.0x4f7506.8193
cmp edx, 0x1680
ja 0x4f74d6
je case.0x4f7506.8193
mov eax, edx
sub eax, 0x85
je case.0x4f7506.8193
sub eax, 0x1b
je case.0x4f7506.8193
mov eax, edx
test eax, eax
jns 0x4f7471
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
and edx, 0x8000007f
jns 0x4f748b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp dword [eax*4 + 0x622b30], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4f6b42
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f72f0
jmp 0x4f6b42
cmp edx, 0x180e
jmp 0x4f7462
cmp ebx, 0x3000
ja case.0x4f7506.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x4f7506.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4f7506.8203
movzx eax, byte [eax + 0x4fd8fc]
jmp dword [eax*4 + 0x4fd8f4]
cmp dword [esi + 0x68], 0
jne 0x4f6b42
jmp 0x4f74b3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f6b42
cmp edi, dword [ebp + 0x84]
jmp 0x4f6e92
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop dword [eax + eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x4f6e7e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4f765a
cmp eax, 0xc0
jb 0x4f765a
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4f75a1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x4f7654
test al, 0x10
jne 0x4f75be
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4f764e
test al, 8
jne 0x4f75e4
and eax, 7
mov dword [esp + 0x18], 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4f764e
test al, 4
jne 0x4f7616
and eax, 3
mov dword [esp + 0x18], 5
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x4f764e
and eax, 1
mov dword [esp + 0x18], 6
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4f7696
cmp eax, 3
je 0x4f7696
cmp ebx, 0x5f
je 0x4f7696
xor eax, eax
jmp 0x4f769b
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4f6b42
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f7550
jmp 0x4f6b42
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
nop dword [eax]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4f7823
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4f77c8
cmp edx, 0xc0
jb 0x4f77c8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f772d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f77c4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f7748
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f77be
and eax, 0x3f
test dl, 8
jne 0x4f7768
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f77be
test dl, 4
jne 0x4f7791
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f77be
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x622be0]
lea eax, [eax*4 + 0x622be0]
jb 0x4f77ed
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4f7817
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4f77e0
cmp dword [esi + 0x68], 0
je 0x4f6b42
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f76e0
jmp 0x4f6b42
cmp dword [esi + 0x68], 0
jne 0x4f6b42
jmp 0x4f77f7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f6b42
cmp edi, dword [ebp + 0x84]
jmp 0x4f6cfb
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f6b42
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4f79ed
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
je 0x4f798f
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x4f798f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f78bb
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x4f798f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4f78eb
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x4f798f
test dl, 8
jne 0x4f7920
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x4f798f
test dl, 4
jne 0x4f794c
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f797d
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x4f79bc
cmp ecx, 0x40
je 0x4f79bc
cmp ebx, 0x60
je 0x4f79bc
cmp dword [esp + 0x10], 0xa0
jb 0x4f79b0
cmp edx, 0xd7ff
jbe 0x4f79bc
cmp edx, 0xe000
jae 0x4f79bc
xor eax, eax
jmp 0x4f79c1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4f6b42
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f7852
jmp 0x4f6b42
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f6b42
cmp edi, dword [ebp + 0x84]
jbe 0x4f6b42
mov dword [ebp + 0x64], 1
jmp 0x4f6d04
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4f7d89
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f7d3a
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f7d18
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x18], edi
je 0x4f7b4a
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x4f7b4a
test al, 0x20
jne 0x4f7a8b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4f7b39
test al, 0x10
jne 0x4f7aa9
movzx eax, byte [edi]
lea edx, [edi + 2]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x4f7b39
test al, 8
jne 0x4f7ad0
movzx eax, byte [edi]
lea edx, [edi + 3]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x4f7b39
test al, 4
movzx eax, byte [edi]
jne 0x4f7b03
and ecx, 3
lea edx, [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4f7b39
and ecx, 1
lea edx, [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x6243a0]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d22]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x4f7cdb
mov edi, edx
mov dword [esp + 0x18], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4f7c69
cmp edx, 0xc0
jb 0x4f7c69
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f7bd1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f7c65
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f7be9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f7c5f
and eax, 0x3f
test dl, 8
jne 0x4f7c09
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f7c5f
test dl, 4
jne 0x4f7c32
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f7c5f
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x10]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x6243a0]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx ecx, byte [eax*8 + 0x622d22]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x622ba8], eax
mov ebp, dword [esp + 0xb0]
je 0x4f7cd3
lea edx, [ebx + edi]
mov dword [esp + 0x10], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x18], eax
cmp edx, eax
jb 0x4f7b90
jmp 0x4f7cdb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4f7d01
cmp edx, eax
jb 0x4f7d01
cmp ecx, dword [ebp + 0x84]
jbe 0x4f7d01
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4fad6c
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f7a40
jmp 0x4f7d3a
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f7d3a
cmp ecx, dword [ebp + 0x84]
jbe 0x4f7d3a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4f0557
cmp dword [esp + 0x24], 0
jne 0x4ef543
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f7d7a
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4fa1d3
add eax, 0xfffffffa
test ebx, ebx
je 0x4f8b9f
cmp eax, 0xf
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fd95c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4f8b8f
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4f7e83
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f7df8
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004ffac0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4f7dec
mov eax, 1
jmp 0x4f7dee
xor eax, eax
test eax, eax
jne 0x4f8b8f
jmp 0x4f7e1f
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4f7e1d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4f7e1d
cmp edi, 1
je 0x4f8b8f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4f8b8f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4f7e55
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4f7e55
test ecx, ecx
jne 0x4f7e55
cmp dword [ebp + 0x1c], 2
jne 0x4f7e55
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4f7e55
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4fad6c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f7e71
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4f7e71
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4f7e60
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4f7db6
jmp 0x4f8b8f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f8b8f
cmp ecx, dword [ebp + 0x84]
jbe 0x4f8b8f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4f8b8f
jmp 0x4f0557
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4f7f08
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4f8b8f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4f7f0e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4f7efa
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4f7efa
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4f7ee2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4f7ed0
jmp 0x4f8b8f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4f8b8f
cmp eax, dword [ebp + 0x84]
jbe 0x4f8b8f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4f8b8f
jmp 0x4fcdda
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x4f7f89
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f8b8f
cmp edx, dword [ebp + 0x84]
jbe 0x4f8b8f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4f8b8f
jmp 0x4fcdda
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4f8b8f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f8b8f
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4f80ae
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f7ffe
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4f80a2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f801c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4f809c
and eax, 0x3f
test dl, 8
jne 0x4f803f
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f809c
test dl, 4
jne 0x4f806b
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f809c
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x4f80ca
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4f8b8f
cmp byte [eax], 0xa
jne 0x4f810a
inc eax
jmp 0x4f8107
cmp eax, 0xa
je 0x4f8101
cmp dword [ebp + 0x68], 0
jne 0x4f8b8f
cmp ebx, 0xb
je 0x4f8101
cmp dword [esp + 0x10], 0xc
je 0x4f8101
cmp edx, 0x85
je 0x4f8101
cmp edx, 0x2028
je 0x4f8101
cmp edx, 0x2029
jne 0x4f8b8f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f7fb0
jmp 0x4f8b8f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f8b8f
cmp edi, dword [ebp + 0x84]
jmp 0x4f7e97
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f8b8f
nop dword [eax]
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4f825a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f81aa
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4f824e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f81c8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4f8248
and eax, 0x3f
test dl, 8
jne 0x4f81eb
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f8248
test dl, 4
jne 0x4f8217
and edx, 3
mov dword [esp + 0x18], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f8248
and edx, 1
mov dword [esp + 0x18], 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x10], 0x2000
ja 0x4f82ca
cmp ebx, 0x2000
je case.0x4f82eb.8193
cmp edx, 0xa0
ja 0x4f82ba
je case.0x4f82eb.8193
cmp edx, 9
je case.0x4f82eb.8193
cmp edx, 0x20
je case.0x4f82eb.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x4f8b8f
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f8160
jmp 0x4f8b8f
cmp edx, 0x1680
je case.0x4f82eb.8193
cmp edx, 0x180e
jmp 0x4f8282
cmp eax, 0x3000
ja case.0x4f82eb.8203
cmp ecx, 0x3000
je case.0x4f82eb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4f82eb.8203
movzx eax, byte [edx + 0x4fd9a4]
jmp dword [eax*4 + 0x4fd99c]
mov ecx, 1
jmp 0x4f8286
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f8b8f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4f8451
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4f83ec
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f8352
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4f83e6
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f836a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4f83e0
and eax, 0x3f
test dl, 8
jne 0x4f838a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f83e0
test dl, 4
jne 0x4f83b3
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f83e0
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
cmp eax, 0x85
ja 0x4f840a
cmp ecx, 0x85
je case.0x4f8403.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4f8403
jmp dword [edx*4 + 0x4fda04]
sub edx, 0x2028
je case.0x4f8403.10
sub edx, 1
je case.0x4f8403.10
xor ecx, ecx
jmp 0x4f8420
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x4f8b8f
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f8310
jmp 0x4f8b8f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4f8b8f
cmp edi, dword [ebp + 0x84]
jbe 0x4f8b8f
mov dword [ebp + 0x64], ebx
jmp 0x4f7ea4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f8b8f
nop dword [eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4f8583
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f84d4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f857d
test dl, 0x10
jne 0x4f84ef
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4f8577
test dl, 8
jne 0x4f8513
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f8577
test dl, 4
jne 0x4f8543
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f8577
and edx, eax
mov ebx, 6
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4f859a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4f8b8f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f8490
jmp 0x4f8b8f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4f8b8f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4f86a9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f8610
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4f86a5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f8628
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4f869f
and eax, 0x3f
test dl, 8
jne 0x4f8648
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f869f
test dl, 4
jne 0x4f8671
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f869f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4f8b8f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4f8b8f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4f85d0
jmp 0x4f8b8f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f8b8f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4f87e3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f8734
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f87dd
test dl, 0x10
jne 0x4f874f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4f87d7
test dl, 8
jne 0x4f8773
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f87d7
test dl, 4
jne 0x4f87a3
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f87d7
and edx, eax
mov ebx, 6
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4f87fa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4f8b8f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f86f0
jmp 0x4f8b8f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4f8b8f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4f8909
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f8870
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4f8905
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f8888
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4f88ff
and eax, 0x3f
test dl, 8
jne 0x4f88a8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f88ff
test dl, 4
jne 0x4f88d1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f88ff
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4f8b8f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4f8b8f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4f8830
jmp 0x4f8b8f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4f8b8f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4f8a43
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f8994
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4f8a3d
test dl, 0x10
jne 0x4f89af
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4f8a37
test dl, 8
jne 0x4f89d3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f8a37
test dl, 4
jne 0x4f8a03
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f8a37
and edx, eax
mov ebx, 6
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x4f8a5a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4f8b8f
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4f8950
jmp 0x4f8b8f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4f8b8f
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f8124
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4f8b6c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4f8ad0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4f8b68
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4f8aeb
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4f8b62
and eax, 0x3f
test dl, 8
jne 0x4f8b0b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4f8b62
test dl, 4
jne 0x4f8b34
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4f8b62
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4f8b8f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4f8b8f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4f8a90
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fb715
cmp eax, 0xf
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fda14]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4f8c7b
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f8c08
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.004ffac0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4f8bfc
mov eax, 1
jmp 0x4f8bfe
xor eax, eax
test eax, eax
jne case.0x4f8e80.10
jmp 0x4f8c2f
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4f8c2f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4f8c2f
cmp edi, 1
je case.0x4f8e80.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4f8e80.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4f8c66
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4f8c66
cmp dword [ebp + 0x18], 0
jne 0x4f8c66
cmp dword [ebp + 0x1c], 2
jne 0x4f8c66
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4f8c66
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4fad6c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4f8bc1
jmp case.0x4f8e80.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4f8e80.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4f8e80.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4f8e80.10
jmp 0x4f0557
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x4f8cf6
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4f8e80.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4f8e80.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4f8e80.10
jmp 0x4fcdda
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x4f8e80.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f8d72
mov al, byte [ecx]
cmp al, 0xd
jne 0x4f8d38
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x4f8e80.10
cmp byte [eax], 0xa
jne 0x4f8d64
inc eax
jmp 0x4f8d61
cmp al, 0xa
je 0x4f8d5e
cmp dword [ebp + 0x68], 0
jne case.0x4f8e80.10
cmp al, 0xb
je 0x4f8d5e
cmp al, 0xc
je 0x4f8d5e
cmp al, 0x85
jne case.0x4f8e80.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x4f8d13
jmp case.0x4f8e80.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4f8e80.10
cmp ecx, dword [ebp + 0x84]
jmp 0x4f8cdb
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4f8e80.10
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f8dd7
mov cl, byte [eax]
cmp cl, 9
je case.0x4f8e80.10
cmp cl, 0x20
je case.0x4f8e80.10
cmp cl, 0xa0
je case.0x4f8e80.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4f8da0
jmp case.0x4f8e80.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4f8e80.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4f8e80.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4f8e80.10
jmp 0x4fcdda
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4f8dd7
mov cl, byte [eax]
cmp cl, 9
je 0x4f8e39
cmp cl, 0x20
je 0x4f8e39
cmp cl, 0xa0
jne case.0x4f8e80.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4f8e18
jmp case.0x4f8e80.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov edi, ecx
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f8cc7
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4f8e80.11
movzx eax, byte [eax + 0x4fda5c]
mov ecx, edi
jmp dword [eax*4 + 0x4fda54]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4f8e60
jmp case.0x4f8e80.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4f8e80.10
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4f8d72
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4f8e80.10
movzx eax, byte [eax + 0x4fdae0]
jmp dword [eax*4 + 0x4fdad8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4f8eb0
jmp case.0x4f8e80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4f8e80.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f8cc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4f8e80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f8f00
jmp case.0x4f8e80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f8cc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4f8e80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f8f42
jmp case.0x4f8e80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f8cc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4f8e80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f8f84
jmp case.0x4f8e80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4f8e80.10
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f8cc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4f8e80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f8fd0
jmp case.0x4f8e80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4f8e80.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f8cc7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4f8e80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f9012
jmp case.0x4f8e80.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4f8e80.10
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4f9075
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4f8e80.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4f9050
jmp case.0x4f8e80.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4f8e80.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4f8e80.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4fcdda
cmp dword [esp + 0x24], 0
jne 0x4ef543
jmp 0x4fa194
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd0bf
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4f90d4
jmp dword [eax*4 + 0x4fdb5c]
cmp edi, 0xfffffc1b
je 0x4f91be
cmp edi, 0xfffffc20
jne 0x4f9129
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4f95ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4f9122
cmp byte [ecx], 0x77
jne case.default.0x4f95ec
xor edi, edi
jmp 0x4f9131
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4f91be
cmp dword [esi + 0x9c], 0x88
jb 0x4f917d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4f91a6
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
jne 0x4f90c4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4f92da
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x4f9334
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4f9250
cmp byte [ecx], 0x77
jne 0x4f9334
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne case.0x4fa01a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4f9345
cmp eax, 0x81
je 0x4f9345
cmp dword [ebp + 0x6c], 0
jne 0x4f934f
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x4f934f
movzx eax, byte [edx]
movzx eax, byte [eax + 0x622a18]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x4ef4d0
test edi, edi
je 0x4f9250
cmp edi, 0xfffffc1b
jne 0x4f9334
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x81
je 0x4f9329
cmp byte [eax], 0x77
mov ebx, eax
jne 0x4f9318
mov edx, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov ebx, eax
mov edx, eax
cmp byte [eax], 0x77
je 0x4f9300
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub eax, ecx
xor ecx, ecx
cmp dword [ebp + 0xb4], eax
cmove edi, ecx
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4f9204
jmp 0x4f90c0
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x4f938d
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
cmp edi, 1
jne 0x4f9424
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4f93c0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4f93d7
inc edx
mov dword [esi + 0xc], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
jne 0x4f9409
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4f93f2
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x622a18]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x4ef9ec
test edi, edi
je 0x4ef9ec
cmp edi, 0xfffffc20
je 0x4ef9ec
jmp case.default.0x4f95ec
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x4f945c
cmp byte [eax - 3], 0x77
jne 0x4ef543
cmp dword [esi + 0x9c], 0x8c
jne 0x4ef4d0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f949f
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4fa1d3
cmp edi, 1
je 0x4f9560
cmp edi, 0xfffffc19
je 0x4f9560
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4f9506
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4f95ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4f950e
cmp byte [ecx], 0x77
jmp 0x4f9508
test edi, edi
jne case.default.0x4f95ec
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
jne 0x4f9566
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9551
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4f96a5
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x4fa01a.14
cmp dword [esi + 0x58], 0
jne 0x4f9642
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x4f9580
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x4ef543
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4f95cf
je case.0x4f95ec.995
cmp edi, 0xfffffc19
jmp 0x4f96dc
test edi, edi
jg 0x4f96d7
je 0x4f9658
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4f95ec
jmp dword [eax*4 + 0x4fdc68]
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4f95ec.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4f9658
cmp byte [ecx], 0x77
je 0x4f9658
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4f9621
cmp dword [esi + 0x58], 0
je 0x4f98e7
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd012
mov edi, 1
jmp 0x4f90c0
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
jne 0x4f9638
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f969b
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x4ef4c0
mov eax, edi
sub eax, 1
je case.0x4fa01a.14
jmp case.default.0x4f95ec
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004da640
mov eax, dword [esi + 0x4c]
lea ecx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x4fcf69
cmp edi, 0xfffffc19
je 0x4fcf69
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4f9750
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x4fa01a.14
push ecx
call dword [0x68f5e8]
add esp, 4
jmp case.0x4fa01a.14
test edi, edi
je 0x4f9774
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x4f95ec
push ecx
call dword [0x68f5e8]
add esp, 4
jmp case.default.0x4f95ec
mov dword [ebp + 0xa4], ecx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x4f9819
cmp dword [esi + 0x58], 0
je 0x4f97ac
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4f97d5
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x622a18]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x4ef4c0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x4f9730
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x4f9875
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f985d
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], edi
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4fa1dc
cmp al, 0x88
jb 0x4fcf98
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f98a6
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4fa1dc
test edi, edi
jne case.default.0x4f95ec
mov edx, dword [esi + 0x2c]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x4f98d0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x4ef543
test edi, edi
je case.0x4f1466.10
jmp case.default.0x4f95ec
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd022
mov edi, 0xfffffc1b
jmp 0x4f90c4
cmp edi, 0xfffffc1b
jne 0x4f9940
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4f9942
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4fa7c6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f997d
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4fa1dc
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.004fe010
add esp, 0x14
test eax, eax
jns 0x4f9a08
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4f99e6
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edi, dword [ebp + 0x78]
jb case.0x4fa01a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4f2f3e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9a3c
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x88]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4fb41a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9a94
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4f9ae4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fa01a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4fa01a.14
jmp 0x4f050f
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9b35
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4fb41a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9b84
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4f9bd4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fa01a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4fa01a.14
jmp 0x4f050f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4f9bef
cmp dword [esi + 0x94], ecx
jne case.0x4fa01a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9c22
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4fa1d3
dec dword [esi + 8]
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9c71
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2f2a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9cea
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4fa1d3
dec dword [esi + 8]
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9d39
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4f9d89
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fa01a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4fa01a.14
jmp 0x4f050f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4fa01a.14
cmp dword [esi + 0x94], ecx
je case.0x4fa01a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9dd7
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9e26
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2f2a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9e9f
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4f9eee
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4f9f3e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4f2f3e
cmp dword [esi + 0x7c], 0xc
jne 0x4f9f99
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4f9f6c
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004ffac0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4f9f99
jmp case.0x4fa01a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4f9f99
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4f9f99
cmp edi, 1
je case.0x4fa01a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4fa01a.14
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fdc78]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x4f9fb4.13
cmp edx, dword [ebp + 0x78]
jb case.0x4f9fb4.13
cmp dword [ebp + 0x18], 0
jne case.0x4f9fb4.13
cmp dword [ebp + 0x1c], 2
jne case.0x4f9fb4.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4f9fb4.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x4f9fb4.13
jmp 0x4fcdda
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4fa01a.14
movzx eax, byte [ecx + 0x4fdcc8]
jmp dword [eax*4 + 0x4fdcb8]
cmp edx, dword [ebp + 0x78]
jae case.0x4f9fb4.13
cmp byte [edx], 0xa
jne case.0x4f9fb4.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4f9fb4.13
cmp dword [ebp + 0x68], 0
je case.0x4f9fb4.13
jmp case.0x4fa01a.14
cmp ecx, 9
je case.0x4fa01a.14
cmp ecx, 0x20
je case.0x4fa01a.14
cmp ecx, 0xa0
jne case.0x4f9fb4.13
jmp case.0x4fa01a.14
cmp ecx, 9
je case.0x4f9fb4.13
cmp ecx, 0x20
je case.0x4f9fb4.13
cmp ecx, 0xa0
je case.0x4f9fb4.13
jmp case.0x4fa01a.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4f9fb4.13
movzx eax, byte [ecx + 0x4fdd4c]
jmp dword [eax*4 + 0x4fdd44]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4fa01a.14
movzx eax, byte [ecx + 0x4fddd0]
jmp dword [eax*4 + 0x4fddc8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4f9fb4.13
jmp case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4f9fb4.13
jmp case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4f9fb4.13
jmp case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4f9fb4.13
jmp case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4f9fb4.13
jmp case.0x4fa01a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fa14d
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x4fa194
cmp eax, dword [esi + 0x30]
jbe 0x4fa194
cmp byte [eax], 0xa
jne 0x4fa194
dec eax
cmp byte [eax], 0xd
jne 0x4fa194
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fa1c9
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x4ef4c0
cmp edi, 0xfffffc1a
jne 0x4fa261
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x4fa259
mov edx, dword [esi + 0xc]
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4fa240
jmp 0x4fa2c1
mov dword [esi + 8], eax
jmp 0x4fa2e6
cmp edi, 0xfffffc20
jne 0x4fa29b
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4f95ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4fa2a3
cmp byte [ecx], 0x77
jmp 0x4fa29d
test edi, edi
jne case.default.0x4f95ec
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4fa2da
cmp dword [esi + 0x5c], 0
jne 0x4f98e7
cmp dword [esi + 0x54], 0
jne 0x4f98e7
jmp case.0x4fa01a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4fa300
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4fa329
push 0x134
call dword [0x68f5ec]
mov edx, eax
add esp, 4
test edx, edx
je 0x4fcd78
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4f97e8
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x4fa457
jmp 0x4f91fc
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4f91fc
test eax, eax
je 0x4fd032
mov edi, 0xfffffc1c
jmp 0x4f90c4
test edi, edi
je 0x4fa401
jmp case.default.0x4f95ec
cmp edi, 1
je 0x4fa392
cmp edi, 0xfffffc19
jne 0x4fa3b0
cmp dword [ebp + 0xac], 0
jne 0x4fa3b0
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x4f95ec
cmp edi, 0xfffffc1f
jne case.default.0x4f95ec
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fa3f4
test dl, dl
je 0x4fa3ed
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fa3f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fa3c5
xor eax, eax
jmp 0x4fa3f9
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4f95ec
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd042
mov edi, 0xfffffc1e
jmp 0x4f90c4
cmp edi, 1
je 0x4fa432
cmp edi, 0xfffffc19
jne 0x4fa44b
cmp dword [ebp + 0xac], 0
jne 0x4fa44b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4f91fc
test eax, eax
je 0x4fd052
mov edi, 0xfffffc1d
jmp 0x4f90c4
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd062
mov edi, 0xfffffc1f
jmp 0x4f90c4
cmp edi, 1
je 0x4fa4a5
cmp edi, 0xfffffc19
jne case.0x4f90d4.54
cmp dword [ebp + 0xac], 0
jne case.0x4f90d4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd072
mov edi, 0xfffffc20
jmp 0x4f90c4
cmp edi, 0xfffffc1a
jne 0x4fa547
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x4fa53f
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4fa523
jmp 0x4fa5b3
mov dword [esi + 8], eax
jmp 0x4f00e2
cmp edi, 0xfffffc20
jne 0x4fa581
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4f95ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4fa589
cmp byte [ecx], 0x77
jmp 0x4fa583
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
je 0x4f00e2
cmp dword [esi + 0x5c], 0
jne 0x4fa5f3
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x4efb9f
cmp dword [esi + 0x5c], 0
jne 0x4efb9f
jmp case.0x4fa01a.14
cmp edi, 1
jne 0x4fa6bd
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4fa630
cmp al, 0x77
jne case.0x4fa01a.14
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x4fa630
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov edi, dword [esi + 0xc]
mov al, byte [edi]
cmp al, 0x78
je 0x4f1ca2
cmp ecx, dword [esi + 0x38]
je 0x4f1ca2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x4fa76d
test ecx, ecx
jne 0x4fa6a2
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4fa1dc
cmp edi, 0xfffffc20
jne 0x4fa6f7
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x4f95ec
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4fa6ff
cmp byte [ecx], 0x77
jmp 0x4fa6f9
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4fa61b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fa752
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4fa1dc
test ecx, ecx
jne 0x4fa793
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4fa1dc
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x4ef4d0
test edi, edi
jne case.default.0x4f95ec
add dword [esi + 0xc], 3
jmp 0x4ef4d0
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2f2a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x4fa8e7
cmp edx, 0xc0
jb 0x4fa8e7
test dl, 0x20
jne 0x4fa82f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4fa8e4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4fa85a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4fa8e4
test dl, 8
jne 0x4fa881
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4fa8e4
test dl, 4
jne 0x4fa8b0
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4fa8e4
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
push ebx
push dword [esi + 0x28]
push edx
call fcn.004ff3a0
add esp, 0xc
test eax, eax
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fa92b
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x4fa01a.14
test ebx, ebx
je 0x4fa974
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4fa974
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4fa968
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fa99d
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4fa9e7
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4faae3
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4faa1d
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4faadc
test bl, 0x10
jne 0x4faa3e
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x4faadc
test bl, 8
jne 0x4faa6b
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x4faadc
test bl, 4
jne 0x4faaa1
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x4faadc
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
mov edi, ebx
mov eax, ebx
cmp eax, 0xff
jbe 0x4fab0a
cmp dword [esi + 0x9c], 0x6e
jne 0x4fab21
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd0a2
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x4f90c4
mov edx, dword [esi + 0x28]
and edi, 7
shr ebx, 3
mov eax, 1
mov ecx, edi
shl eax, cl
test byte [ebx + edx], al
jmp 0x4faaf1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fab50
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x4fb41a
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4fab91
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4fab85
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fabba
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x4fac75
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4fac25
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4fac2a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4fac10
cmp edi, 0xfffffffc
je 0x4fac67
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4fac72
cmp edi, 0xfffffffd
je 0x4fac67
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4fac72
cmp edi, 0xfffffffe
je 0x4fac67
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4fac72
cmp edi, 0xffffffff
je 0x4fac67
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4fac72
mov eax, dword [esi + 0x88]
jmp 0x4facf6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4fad39
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4fad39
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4facb5
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4facba
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4faca0
cmp edi, 0xfffffffc
je 0x4facf3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4fad39
cmp edi, 0xfffffffd
je 0x4facf3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4fad39
cmp edi, 0xfffffffe
je 0x4facf3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4fad39
cmp edi, 0xffffffff
je 0x4facf3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4fad39
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fad2a
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4fa1d3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4fb41a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4fb41a
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x4fb41a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4fb41a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd092
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4f90c4
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4fadad
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4fada1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fade2
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2f2a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4faf1a
test dl, 0x20
jne 0x4fae50
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4faf1a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4fae80
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4faf1a
test dl, 8
jne 0x4faeab
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4faf1a
test dl, 4
jne 0x4faedf
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x4faf1a
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov edx, ecx
mov eax, ecx
cmp dword [esi + 0x80], edx
je case.0x4fa01a.14
cmp dword [esi + 0x94], eax
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4faf61
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4faf9c
nop dword [eax + eax]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4faf90
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fafd1
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4fb021
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fa01a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4fa01a.14
jmp 0x4f050f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4fb12d
mov cl, byte [eax]
test bl, 0x20
jne 0x4fb052
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4fb125
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4fb076
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x4fb125
test bl, 8
jne 0x4fb0b1
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x4fb12d
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4fb0ef
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x4fb125
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x4fb41a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fb168
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4fb19e
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4fb192
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fb1d3
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4fb21f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4f2f3e
cmp dword [esi + 0x7c], 0xc
jne 0x4fb272
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4fb249
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.004ffac0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4fb272
jmp case.0x4fa01a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4fb272
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4fb272
cmp edi, 1
je case.0x4fa01a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4fa01a.14
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4fb389
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4fb2c3
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x4fb36e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4fb2e8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x4fb36e
test dl, 8
jne 0x4fb30b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 3
jmp 0x4fb36e
test dl, 4
jne 0x4fb33a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 4
jmp 0x4fb36e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 5
mov ecx, edx
mov dword [esi + 8], edi
mov dword [esp + 0x14], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4fb398.15
jmp dword [eax*4 + 0x4fde4c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fb398.13
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x78]
jb case.0x4fb398.13
cmp dword [ebp + 0x18], 0
jne case.0x4fb398.13
cmp dword [ebp + 0x1c], 2
jne case.0x4fb398.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4fb398.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4fb398.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd092
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4f90c4
cmp edx, 0x85
ja 0x4fb433
je case.0x4fb41a.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4fb41a
jmp dword [edx*4 + 0x4fde8c]
cmp edi, dword [ebp + 0x78]
jae case.0x4fb398.13
cmp byte [edi], 0xa
jne case.0x4fb398.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x4fb398.13
sub edx, 0x2028
je case.0x4fb41a.11
sub edx, 1
jne case.default.0x4fb41a
cmp dword [ebp + 0x68], 0
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp edx, 0x2000
ja 0x4fb4d7
je case.default.0x4fb41a
cmp edx, 0xa0
ja 0x4fb4c3
je case.default.0x4fb41a
cmp edx, 9
je case.default.0x4fb41a
cmp edx, 0x20
je case.default.0x4fb41a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fb4b4
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4fa1d3
cmp edx, 0x1680
je case.default.0x4fb41a
cmp edx, 0x180e
jmp 0x4fb47f
cmp edx, 0x3000
ja case.0x4fb398.13
je case.default.0x4fb41a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4fb398.13
movzx eax, byte [edx + 0x4fdea4]
jmp dword [eax*4 + 0x4fde9c]
cmp edx, 0x2000
ja 0x4fb54e
je case.0x4fb398.13
cmp edx, 0xa0
ja 0x4fb531
je case.0x4fb398.13
cmp edx, 9
je case.0x4fb398.13
cmp edx, 0x20
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp edx, 0x1680
je case.0x4fb398.13
cmp edx, 0x180e
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp edx, 0x3000
ja case.default.0x4fb41a
je case.0x4fb398.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x4fb41a
movzx eax, byte [edx + 0x4fdf0c]
jmp dword [eax*4 + 0x4fdf04]
cmp edx, 0x85
ja 0x4fb59e
je case.default.0x4fb41a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4fb398.13
jmp dword [edx*4 + 0x4fdf6c]
sub edx, 0x2028
je case.default.0x4fb41a
sub edx, 1
jne case.0x4fb398.13
jmp case.default.0x4fb41a
cmp edx, 0x85
ja 0x4fb5d9
je case.0x4fb398.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4fb41a
jmp dword [edx*4 + 0x4fdf7c]
sub edx, 0x2028
je case.0x4fb398.13
sub edx, 1
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp ecx, 0x100
jae case.0x4fb398.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp ebx, 0x100
jae case.default.0x4fb41a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4fb398.13
jmp case.default.0x4fb41a
cmp dword [esp + 0x18], 0x100
jae case.0x4fb398.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp dword [esp + 0x10], 0x100
jae case.default.0x4fb41a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4fb398.13
jmp case.default.0x4fb41a
cmp dword [esp + 0x1c], 0x100
jae case.0x4fb398.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4fb398.13
jmp case.default.0x4fb41a
cmp dword [esp + 0x20], 0x100
jae case.default.0x4fb41a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4fb398.13
jmp case.default.0x4fb41a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x4f90d4
mov edi, 0xfffffff2
jmp 0x4f90c0
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4fb6ec
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4fb6e0
cmp dword [esi + 0x7c], 0x11
jne 0x4fb715
cmp ecx, dword [esi + 0x30]
jbe 0x4fb715
cmp byte [ecx], 0xa
jne 0x4fb715
dec ecx
cmp byte [ecx], 0xd
jne 0x4fb715
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fb74a
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4fb79a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4fa01a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4fa01a.14
jmp 0x4f050f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x4fb7f6
cmp ecx, 0xc0
jb 0x4fb7f6
test cl, 0x20
jne 0x4fb7bd
lea eax, [edx + 1]
jmp 0x4fb7f3
test cl, 0x10
jne 0x4fb7ce
add eax, 3
jmp 0x4fb7f3
test cl, 8
jne 0x4fb7df
add eax, 4
jmp 0x4fb7f3
test cl, 4
jne 0x4fb7f0
add eax, 5
jmp 0x4fb7f3
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fb82f
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fb879
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4fb97c
cmp eax, 0xc0
jb 0x4fb97c
test al, 0x20
jne 0x4fb8b5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4fb977
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x4fb8db
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4fb977
test al, 8
jne 0x4fb907
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4fb977
test al, 4
jne 0x4fb93c
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4fb977
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp eax, 9
je 0x4fb9c0
cmp eax, 5
je 0x4fb9c0
cmp eax, 8
je 0x4fb9c0
xor eax, eax
jmp 0x4fb9c5
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fb9fd
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fba47
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4fbb5a
cmp eax, 0xc0
jb 0x4fbb5a
test al, 0x20
jne 0x4fba83
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4fbb55
test al, 0x10
jne 0x4fbaab
mov ecx, eax
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4fbb55
test al, 8
jne 0x4fbadf
mov ecx, eax
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4fbb55
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4fbb1a
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4fbb55
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fbbc3
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fbc0d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4fbd1f
cmp eax, 0xc0
jb 0x4fbd1f
test al, 0x20
jne 0x4fbc49
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4fbd1a
test al, 0x10
jne 0x4fbc6f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4fbd1a
test al, 8
jne 0x4fbca1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4fbd1a
test al, 4
movzx eax, byte [edx]
jne 0x4fbcdc
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4fbd1a
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fbd81
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fbdcb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4fbedd
cmp eax, 0xc0
jb 0x4fbedd
test al, 0x20
jne 0x4fbe07
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4fbed8
test al, 0x10
jne 0x4fbe2d
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4fbed8
test al, 8
jne 0x4fbe5f
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4fbed8
test al, 4
movzx eax, byte [edx]
jne 0x4fbe9a
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4fbed8
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d20]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fbf3f
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fbf89
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x14], edx
je 0x4fc08a
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x4fc08a
test al, 0x20
jne 0x4fbfca
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x4fc079
test al, 0x10
jne 0x4fbfea
mov ecx, eax
lea edi, [edx + 2]
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x4fc079
test al, 8
jne 0x4fc013
mov ecx, eax
lea edi, [edx + 3]
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4fc079
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4fc046
and eax, 3
lea edi, [edx + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x4fc079
and eax, 1
lea edi, [edx + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d22]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], edx
jae 0x4fc206
mov dword [esp + 0x14], edx
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4fc1a9
cmp edx, 0xc0
jb 0x4fc1a9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4fc106
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4fc1a5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4fc125
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4fc19f
and eax, 0x3f
test dl, 8
jne 0x4fc149
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4fc19f
test dl, 4
jne 0x4fc172
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4fc19f
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x18]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x6243a0]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx ecx, byte [eax*8 + 0x622d22]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x622ba8], eax
mov ebp, dword [esp + 0xb0]
je 0x4fc206
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x4fc0c1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4fc245
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x4fc245
cmp eax, dword [ebp + 0x84]
jbe 0x4fc245
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4fc245
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd092
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4f90c4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fc274
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x4fc2ae
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4fc2ae
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4fc2a2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fc2e3
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x4fc311
movzx edx, byte [edi]
jmp 0x4fc3ed
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4fc32c
nop dword [eax]
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x4fc320
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4fc3ef
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4fc35f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4fc3eb
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4fc379
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4fc3e5
and eax, 0x3f
test dl, 8
jne 0x4fc398
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4fc3e5
test dl, 4
jne 0x4fc3bc
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4fc3e5
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x6243a0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx ebx, byte [eax*8 + 0x622d22]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x4ef4d0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x4fc434
movzx edx, byte [edi]
jmp 0x4fc510
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4fc452
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x4fc442
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x4fc512
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4fc482
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4fc50e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4fc49c
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4fc508
and eax, 0x3f
test dl, 8
jne 0x4fc4bb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4fc508
test dl, 4
jne 0x4fc4df
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4fc508
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x6243a0]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x6265a0]
movzx edx, byte [eax*8 + 0x622d22]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x622ba8], eax
je 0x4f7d45
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x4fc411
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fc593
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4fc6a7
cmp eax, 0xc0
jb 0x4fc6a7
test al, 0x20
jne 0x4fc5cf
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4fc6a2
test al, 0x10
jne 0x4fc5f5
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4fc6a2
test al, 8
jne 0x4fc627
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4fc6a2
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4fc664
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4fc6a2
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4fc6e9
cmp eax, 3
je 0x4fc6e9
xor eax, eax
jmp 0x4fc6ee
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fc726
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2f2a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
mov ebx, edx
mov dword [esp + 0x14], edx
je 0x4fc88a
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x4fc88a
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4fc7af
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4fc88e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4fc7db
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4fc88e
test dl, 8
jne 0x4fc80c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4fc88e
test dl, 4
jne 0x4fc846
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4fc88e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x4fc88e
mov edi, dword [esp + 0x14]
cmp ecx, 0x24
je 0x4fc8cc
cmp eax, 0x40
je 0x4fc8cc
cmp ebx, 0x60
je 0x4fc8cc
cmp edi, 0xa0
jb 0x4fc8b9
cmp edx, 0xd7ff
jbe 0x4fc8cc
cmp edx, 0xe000
jae 0x4fc8cc
xor eax, eax
jmp 0x4fc8d1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4fb41a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fc909
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4fa1d3
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4f2f2a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edx
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x4fca53
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x4fca53
test dl, 0x20
jne 0x4fc991
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4fca42
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4fc9bc
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4fca42
test dl, 8
jne 0x4fc9df
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4fca42
test dl, 4
jne 0x4fca0e
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4fca42
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov dword [esp + 0x14], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x14], 0x20
mov edi, edx
ja 0x4fca78
cmp eax, 0x20
je case.0x4fcb86.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4fcb86.8203
jmp dword [eax*4 + 0x4fdf8c]
cmp edx, 0x2000
ja 0x4fcb5a
cmp ecx, 0x2000
je case.0x4fcb86.8193
cmp edi, 0x1680
ja 0x4fcb4f
cmp edx, 0x1680
je case.0x4fcb86.8193
mov eax, edx
sub eax, 0x85
je case.0x4fcb86.8193
sub eax, 0x1b
je case.0x4fcb86.8193
mov eax, edx
test eax, eax
jns 0x4fcacb
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x6243a0]
shl eax, 7
and edx, 0x8000007f
jns 0x4fcae9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
cmp dword [eax*4 + 0x622b30], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4fb41a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fcb40
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4fcd78
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4fa1d3
cmp edx, 0x180e
jmp 0x4fcab8
cmp ebx, 0x3000
ja case.0x4fcb86.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4fcb86.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4fcb86.8203
movzx eax, byte [eax + 0x4fdfa8]
jmp dword [eax*4 + 0x4fdfa0]
cmp dword [esi + 0x68], 0
je 0x4fcb11
jmp case.default.0x4fb41a
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4fcbdb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edx, dword [ebp + 0x84]
jmp 0x4f2f3e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov edi, eax
mov ebx, eax
je 0x4fccf6
cmp eax, 0xc0
jb 0x4fccf6
test al, 0x20
jne 0x4fcc1c
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x4fccef
test al, 0x10
jne 0x4fcc42
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4fccef
test al, 8
jne 0x4fcc74
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4fccef
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4fccb1
and ecx, 3
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4fccef
and ecx, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x6243a0]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x6265a0]
movzx eax, byte [eax*8 + 0x622d21]
mov eax, dword [eax*4 + 0x622b30]
cmp eax, 1
je 0x4fcd41
cmp eax, 3
je 0x4fcd41
cmp ebx, 0x5f
je 0x4fcd41
xor eax, eax
jmp 0x4fcd46
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4fb41a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fcfaa
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4fcfa0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd0af
mov edi, 0xfffffffa
jmp 0x4f90c0
test edi, edi
jne case.default.0x4f95ec
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4fa01a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4fcdf0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4fa01a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4fa01a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4fa01a.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd092
mov edi, 0xfffffff4
jmp 0x4f90c4
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x4fcee0
cmp edx, 0xc0
jb 0x4fcee0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4fce30
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4fcedb
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4fce55
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4fcedb
test dl, 8
jne 0x4fce78
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x4fcedb
test dl, 4
jne 0x4fcea7
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x4fcedb
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x622be0]
lea eax, [eax*4 + 0x622be0]
jb 0x4fcf0d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4fcf2a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4fcf00
cmp dword [esi + 0x68], 0
jne 0x4fcf30
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd0a2
xor edi, edi
jmp 0x4f90c4
cmp dword [esi + 0x68], 0
jne case.0x4fa01a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4fcfc3
push 0x134
call dword [0x68f5ec]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4fcfb9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4fd0af
lea edi, [ecx - 6]
jmp 0x4f90c4
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4fcf84
push ecx
call dword [0x68f5e8]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x4ef543
mov dword [esi + 0xc], ecx
jmp 0x4ef4d0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4fa1d3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4fa1d3
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x8c
ret