Function at 0x47d390
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 0x47d41b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48aef2
mov edi, 0xfffffff8
jmp 0x486fe4
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x47d439
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af02
mov edi, 0xffffffeb
jmp 0x486fe4
cmp dword [ebp + 0x98], 2
jne 0x47d463
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.0x47d48f.98
movzx eax, byte [eax + 0x48b13c]
jmp dword [eax*4 + 0x48aff0]
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 0x47d4cd
push 0x134
call dword [0xf7cc9c]
mov edi, eax
add esp, 4
test edi, edi
je 0x48ac98
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 + 0x5ac9d0]
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 0x47d3e0
mov edx, dword [esi + 4]
test edx, edx
jne 0x47d53c
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
mov edx, dword [esi + 4]
test edx, edx
jne 0x47d579
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
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 0x47d5c8
push 0x134
call dword [0xf7cc9c]
mov edi, eax
add esp, 4
test edi, edi
je 0x48ac98
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x47d4d7
mov edx, dword [esi + 4]
test edx, edx
jne 0x47d5fc
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x47d63d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x5ac9d0]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x47d463
mov edi, dword [esi + 4]
test edi, edi
jne 0x47d662
push 0x134
call dword [0xf7cc9c]
mov edi, eax
add esp, 4
test edi, edi
je 0x48ac98
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x47d4d7
mov edx, dword [esi + 4]
test edx, edx
jne 0x47d696
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
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 0x47d6e5
push 0x134
call dword [0xf7cc9c]
mov edi, eax
add esp, 4
test edi, edi
je 0x48ac98
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x47d4d7
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 0x488649
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.0x47d48f.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 0x487083
mov dword [esi + 0x54], ebx
jmp 0x47df6f
mov dword [esi + 0x54], ebx
jmp 0x47df93
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 0x47d8b1
mov edi, dword [0xf82b94]
test edi, edi
je 0x47d89d
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.0x48933a
jns 0x47d89d
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x487124
jmp 0x486fe0
movzx eax, byte [0x5aca46]
add dword [esi + 0xc], eax
movzx eax, byte [0x5aca46]
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.0x47d8d4.146
movzx eax, byte [eax + 0x48b1f8]
jmp dword [eax*4 + 0x48b1e0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x47d8d4.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x47d9b2
cmp ecx, dword [edx + 4]
je 0x47d9b2
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x48735d
movzx ecx, byte [ecx + 0x5ac9d0]
jmp 0x487360
cmp dword [ebp + 0xa4], 0
je case.0x47d8d4.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 0x47d90c
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 0x47d90c
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x47d958
jmp 0x47d90c
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 0x47d907
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x47d907
mov eax, 1
jmp 0x47d909
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.0x47d8d4.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 0x47da0f
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x47da0f
mov eax, 1
jmp 0x47da11
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x47d90c
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x47d9e5
jmp 0x47d90c
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x47da5b
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4875d1
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 0x47dac8
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x47d463
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 0x47dabf
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x47db1f
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x47db10
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x47d463
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x47db6a
cmp cl, 0x9f
je 0x47db6a
cmp dword [ebp + 0xa4], ebx
jne 0x47db6a
cmp dword [ebp + 0x5c], ebx
jne case.default.0x48933a
cmp dword [ebp + 0x60], ebx
je 0x47db6a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x48933a
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 0x487124
jmp 0x486fe0
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x47dbc7
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x487448
mov dword [esi + 0x58], ebx
jmp 0x487448
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x47dbf3
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x487592
mov dword [esi + 0x58], ebx
jmp 0x487592
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x47dc42
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x47dc60
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x487f3a.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x47dc3c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x47dc30
test edx, edx
jg 0x47dc15
jmp 0x47dc60
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.0x487f3a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x47dabf
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x47d463
mov edi, dword [0xf82b94]
test edi, edi
je 0x47dd63
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.0x48933a
jns 0x47dd63
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x487124
jmp 0x486fe0
add dword [esi + 0xc], 6
jmp 0x47d463
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 0x47dd8d
xor edx, edx
jmp 0x47dd9a
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 0x47ddb9
cmp edx, dword [ecx + 4]
jne 0x47ddb1
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x47ddf6
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x47dda4
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 0x47de0c
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x47de24
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af12
mov edi, 0xffffffe6
jmp 0x486fe0
shl eax, 2
push eax
call dword [0xf7cc94]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x48ac98
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.004692b0
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4876b8
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 0x47de50
jmp 0x47d463
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x47de98
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
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 0x47dec0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x47defe
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
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 0x47df20
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x47d463
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 0x47df6f
cmp eax, 0x8b
jne 0x47df93
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 0x47dfb0
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 0x488206
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 0x47e02d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x47e056
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
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 0x47e092
cmp al, 0x81
je 0x47e092
mov dword [esi + 0x38], ebx
jmp 0x47e0a3
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 0x47e0b0
cmp al, 0x80
jbe 0x47e0b4
cmp al, 0x82
jne 0x47e0d1
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 0x487562
cmp al, 0x85
je 0x47e0e5
cmp al, 0x8a
je 0x47e0e5
cmp al, 0x86
je 0x47e0e5
cmp al, 0x8b
jne 0x47e1bb
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 0x47e12a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x47e12a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x487562
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 0x47e159
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x47e1bb
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x47e17f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x47e17f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x47e170
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 0x47e1bb
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x47e1f3
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 0x48af22
mov edi, 0xfffffc1a
jmp 0x486fe0
cmp cl, 0x78
je 0x47e283
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x47e283
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x47e249
test ecx, ecx
jne 0x47e22e
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
test ecx, ecx
jne 0x47e26b
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x47fbc2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x47e2b4
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
cmp dword [ebp + 0x44], ebx
je case.0x47d48f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x48933a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x47f386.10
jmp case.default.0x48933a
cmp dword [ebp + 0x44], ebx
je 0x47e302
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x48933a
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x47f386.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x48933a
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x47e34d
cmp ecx, edi
jbe 0x47e342
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0048db70
add esp, 0x14
test eax, eax
je 0x47e342
mov eax, 1
jmp 0x47e344
xor eax, eax
test eax, eax
jne case.0x47f386.10
jmp case.default.0x48933a
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x48933a
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x48933a
cmp edx, 1
je case.0x47f386.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x47f386.10
jmp case.default.0x48933a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x47f386.10
jmp case.default.0x48933a
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x47d463
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x47e444
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x47e3d2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0048d9e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x47f386.10
jmp 0x47e3f3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x47e3ef
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47e3ef
cmp edi, 1
je case.0x47f386.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x47f386.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x487f3a.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x487f3a.14
cmp dword [ebp + 0x18], 0
jne case.0x487f3a.14
cmp dword [ebp + 0x1c], 2
jne case.0x487f3a.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x487f3a.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x48acfa
jmp case.0x487f3a.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x48933a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x47f386.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x47f386.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x47f386.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afb2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x486fe4
cmp dword [ebp + 0x48], ebx
jne case.default.0x48933a
cmp dword [ebp + 0x58], ebx
je case.0x47d48f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47f392
jmp case.default.0x48933a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x47e44d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x47e4de
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0048d9e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x47e50c
jmp 0x47e4fb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x47e50c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47e50c
cmp edi, 1
je 0x47e4fb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x47e50c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x47e44d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x48933a
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x48933a
cmp dword [ebp + 0x18], ebx
jne case.default.0x48933a
cmp dword [ebp + 0x1c], 2
jne case.default.0x48933a
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x48933a
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x48933a
jmp 0x47e477
cmp dword [esp + 0x28], ebx
je 0x47e814
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x47e576
mov dword [esi + 0x5c], ebx
jmp 0x47e6a1
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x47e58e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x47e582
cmp ecx, dword [ebp + 0x84]
jae 0x47e59c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x47e653
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x47e5ca
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x47e64b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x47e5dd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x47e645
and eax, 0x3f
test bl, 8
jne 0x47e5f8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x47e645
test bl, 4
jne 0x47e61c
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 0x47e645
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 0x47e6d7
cmp edx, 0x5f
jne 0x47e669
mov dword [esi + 0x5c], 1
jmp 0x47e6a1
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x47e6e8
cmp eax, 3
je 0x47e6e8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47e6ef
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47e6cb
cmp edi, dword [ebp + 0x84]
jbe 0x47e6cb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
mov dword [esi + 0x54], 0
jmp 0x47e92f
cmp edi, 0x100
jae 0x47e69c
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x47e69c
mov eax, 1
jmp 0x47e69e
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x47e7a6
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x47e71d
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x47e79e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x47e730
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x47e798
and eax, 0x3f
test dl, 8
jne 0x47e74b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x47e798
test dl, 4
jne 0x47e76f
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 0x47e798
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 0x47e7f9
cmp edi, 0x5f
jne 0x47e7bf
mov dword [esi + 0x54], 1
jmp 0x47e92f
shr eax, 7
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x47e80a
cmp eax, 3
je 0x47e80a
xor eax, eax
jmp 0x47e92c
cmp ebx, 0x100
jae 0x47e7f2
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x47e7f2
mov eax, 1
jmp 0x47e92c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x47e824
mov dword [esi + 0x5c], ebx
jmp 0x47e8ae
cmp eax, dword [ebp + 0x84]
ja 0x47e833
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x47e89e
cmp ecx, 0x5f
jne 0x47e84d
mov dword [esi + 0x5c], 1
jmp 0x47e8ae
mov eax, ecx
test eax, eax
jns 0x47e856
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
and ecx, 0x8000007f
jns 0x47e870
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x47e897
cmp eax, 3
je 0x47e897
xor eax, eax
jmp 0x47e8ab
mov eax, 1
jmp 0x47e8ab
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 0x47e8dd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x47e8d8
cmp eax, dword [ebp + 0x84]
jbe 0x47e8d8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x47e477
mov dword [esi + 0x54], ebx
jmp 0x47e92f
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x47e91f
cmp ecx, 0x5f
jne 0x47e8f3
mov dword [esi + 0x54], 1
jmp 0x47e92f
mov eax, ecx
test eax, eax
jns 0x47e8fc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
and ecx, 0x8000007f
jns 0x47e7cf
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x47e7cf
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 0x47e94a
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x47e952
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x47d463
jmp case.default.0x48933a
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x47e999
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x47e98e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0048d9e0
add esp, 0x14
test eax, eax
je 0x47e98e
mov eax, 1
jmp 0x47e990
xor eax, eax
test eax, eax
je 0x47e9c4
jmp case.default.0x48933a
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x47e9c4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x47e9c4
cmp edx, 1
je case.default.0x48933a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x48933a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x47d48f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x47d48f.13
cmp dword [ebp + 0x18], ebx
jne case.0x47d48f.13
cmp dword [ebp + 0x1c], 2
jne case.0x47d48f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x47d48f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x47e477
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x47ea32
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x48933a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x48933a
jmp 0x47e477
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x47f386.10
cmp ecx, dword [ebp + 0x78]
jae case.0x47f386.10
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x47f386.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x47ea50
inc dword [esi + 0xc]
jmp 0x47d463
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x47ea94
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x48933a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x48933a
jmp 0x47e547
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x47d463
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47eac1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x47ebab
cmp edx, 0xc0
jb 0x47ebab
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x47eaff
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47eba6
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x47eb20
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x47eba6
test dl, 8
jne 0x47eb43
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 0x47eba6
test dl, 4
jne 0x47eb72
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 0x47eba6
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.0x47f386.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x47f386.10
jmp case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x47ebe9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edx, dword [ebp + 0x84]
jmp 0x47ea17
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x47ece6
cmp ecx, 0xc0
jb 0x47ece6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x47ec25
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x47ece1
test cl, 0x10
jne 0x47ec46
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 0x47ece1
test cl, 8
jne 0x47ec70
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 0x47ece1
test cl, 4
jne 0x47eca6
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 0x47ece1
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.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x47f386.10
jmp case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47ed24
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x47ee2c
cmp edx, 0xc0
jb 0x47ee2c
test dl, 0x20
jne 0x47ed60
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47ee27
test dl, 0x10
jne 0x47ed87
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 0x47ee27
test dl, 8
jne 0x47edb7
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 0x47ee27
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x47edf3
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 0x47ee27
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.0x47f386.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x47f386.10
jmp case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x47ee6a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edx, dword [ebp + 0x84]
jmp 0x47ea17
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x47ef67
cmp ecx, 0xc0
jb 0x47ef67
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x47eea6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x47ef62
test cl, 0x10
jne 0x47eec7
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 0x47ef62
test cl, 8
jne 0x47eef1
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 0x47ef62
test cl, 4
jne 0x47ef27
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 0x47ef62
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.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x47f386.10
jmp case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47efa5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x47f0ad
cmp edx, 0xc0
jb 0x47f0ad
test dl, 0x20
jne 0x47efe1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47f0a8
test dl, 0x10
jne 0x47f008
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 0x47f0a8
test dl, 8
jne 0x47f038
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 0x47f0a8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x47f074
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 0x47f0a8
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.0x47f386.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x47f386.10
jmp case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x47f0eb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edx, dword [ebp + 0x84]
jmp 0x47ea17
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x47f1e8
cmp ecx, 0xc0
jb 0x47f1e8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x47f127
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x47f1e3
test cl, 0x10
jne 0x47f148
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 0x47f1e3
test cl, 8
jne 0x47f172
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 0x47f1e3
test cl, 4
jne 0x47f1a8
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 0x47f1e3
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.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x47f386.10
jmp case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47f226
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47f366
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x47f366
test dl, 0x20
jne 0x47f276
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 0x47f36a
test dl, 0x10
jne 0x47f2a6
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 0x47f36a
test dl, 8
jne 0x47f2e2
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 0x47f36a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x47f327
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 0x47f36a
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 0x47f36a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x47f3c9
cmp ecx, 0x85
je case.0x47f386.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x48933a
jmp dword [edx*4 + 0x48b20c]
cmp edi, dword [ebp + 0x78]
jb 0x47f3b4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x47f386.10
cmp eax, dword [ebp + 0x84]
jbe case.0x47f386.10
cmp ecx, 1
jmp 0x47e46a
cmp byte [eax], 0xa
jne case.0x47f386.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x47d463
sub edx, 0x2028
je case.0x47f386.11
sub edx, 1
jne case.default.0x48933a
cmp dword [ebp + 0x68], 0
je case.0x47f386.10
jmp case.default.0x48933a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47f40a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47f525
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x47f525
test dl, 0x20
jne 0x47f451
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47f518
test dl, 0x10
jne 0x47f478
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 0x47f518
test dl, 8
jne 0x47f4a8
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 0x47f518
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x47f4e4
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 0x47f518
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 0x47f58b
cmp ebx, 0x2000
je case.default.0x48933a
cmp edx, 0xa0
ja 0x47f56b
cmp edi, 0xa0
je case.default.0x48933a
cmp edx, 9
je case.default.0x48933a
cmp edx, 0x20
je case.default.0x48933a
inc dword [esi + 0xc]
jmp 0x47d463
cmp edx, 0x1680
je case.default.0x48933a
cmp edx, 0x180e
je case.default.0x48933a
inc dword [esi + 0xc]
jmp 0x47d463
cmp eax, 0x3000
ja case.0x47f386.10
cmp ecx, 0x3000
je case.default.0x48933a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x47f386.10
movzx eax, byte [edx + 0x48b224]
jmp dword [eax*4 + 0x48b21c]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x47f5e0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edx, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47f6f0
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x47f6f0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x47f627
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x47f6e3
test cl, 0x10
jne 0x47f648
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 0x47f6e3
test cl, 8
jne 0x47f672
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 0x47f6e3
test cl, 4
jne 0x47f6a8
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 0x47f6e3
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 0x47f750
cmp ebx, 0x2000
je case.0x47f386.10
cmp ecx, 0xa0
ja 0x47f733
cmp edx, 0xa0
je case.0x47f386.10
cmp ecx, 9
je case.0x47f386.10
cmp ecx, 0x20
je case.0x47f386.10
jmp case.default.0x48933a
cmp ecx, 0x1680
je case.0x47f386.10
cmp ecx, 0x180e
je case.0x47f386.10
jmp case.default.0x48933a
cmp eax, 0x3000
ja case.default.0x48933a
cmp edi, 0x3000
je case.0x47f386.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x48933a
movzx eax, byte [ecx + 0x48b28c]
jmp dword [eax*4 + 0x48b284]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47f7a5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47f8bd
cmp edx, 0xc0
jb 0x47f8bd
test dl, 0x20
jne 0x47f7e5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x47f8b6
test dl, 0x10
jne 0x47f80c
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 0x47f8b6
test dl, 8
jne 0x47f83f
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 0x47f8b6
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x47f87b
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 0x47f8b6
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 0x47f8e3
cmp eax, 0x85
je case.0x487f3a.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x47f386.10
jmp dword [edx*4 + 0x48b2ec]
sub edx, 0x2028
je case.0x487f3a.14
sub edx, 1
jne case.0x47f386.10
jmp case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47f91e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47fa10
cmp edx, 0xc0
jb 0x47fa10
test dl, 0x20
jne 0x47f95c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47fa09
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x47f983
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x47fa09
test dl, 8
jne 0x47f9a6
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 0x47fa09
test dl, 4
jne 0x47f9d5
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 0x47fa09
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 0x47fa36
cmp eax, 0x85
je case.0x47f386.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x487f3a.14
jmp dword [edx*4 + 0x48b2fc]
sub edx, 0x2028
je case.0x47f386.10
sub edx, 1
je case.0x47f386.10
jmp case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x47fa71
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47fb84
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x47fb84
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x47faca
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x47fb71
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x47faeb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x47fb71
test dl, 8
jne 0x47fb0e
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 0x47fb71
test dl, 4
jne 0x47fb3d
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 0x47fb71
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 + 0x5ae358]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x5b0558]
cmp ecx, 0xa
ja case.0x4892b8.15
jmp dword [ecx*4 + 0x48b30c]
cmp dword [esi + 0x9c], 0xf
je case.default.0x48933a
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x47d463
mov al, byte [ebx*8 + 0x5accd9]
cmp al, 9
je 0x47fbe4
cmp al, 5
je 0x47fbe4
cmp al, 8
je 0x47fbe4
xor ecx, ecx
jmp 0x47fbe9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x47fbc2
jmp case.default.0x48933a
movzx ecx, byte [ebx*8 + 0x5accd9]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x5acae8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x47fbc2
jmp case.default.0x48933a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x5accd9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x47fbc2
jmp case.default.0x48933a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x5accd8]
jmp 0x47fc37
movzx eax, byte [ebx*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x47fbe4
cmp eax, 3
je 0x47fbe4
xor ecx, ecx
jmp 0x47fbe9
cmp edx, 0x20
ja 0x47fca3
je case.0x47fbae.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x47fd1f.8203
jmp dword [edx*4 + 0x48b338]
cmp edx, 0x2000
ja 0x47fcff
je case.0x47fbae.0
cmp edx, 0x1680
ja 0x47fcf7
je case.0x47fbae.0
sub edx, 0x85
je case.0x47fbae.0
sub edx, 0x1b
je case.0x47fbae.0
movzx eax, byte [ebx*8 + 0x5accd9]
xor ecx, ecx
cmp dword [eax*4 + 0x5acae8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x47fc43
cmp edx, 0x180e
jmp 0x47fcce
cmp edx, 0x3000
ja case.0x47fd1f.8203
je case.0x47fbae.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x47fd1f.8203
movzx eax, byte [edx + 0x48b354]
jmp dword [eax*4 + 0x48b34c]
movzx eax, byte [ebx*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x47fbe4
cmp eax, 3
je 0x47fbe4
cmp edx, 0x5f
je 0x47fbe4
xor ecx, ecx
jmp 0x47fbe9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x5acb98]
cmp ecx, dword [eax]
jb 0x47fd7d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x47fd8f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x47fd70
cmp dword [esi + 0x9c], 0x10
jne 0x47fbc2
jmp case.default.0x48933a
cmp dword [esi + 0x9c], 0x10
je 0x47fbc2
jmp case.default.0x48933a
cmp dword [esp + 0x24], 0x24
je 0x47fbe4
cmp dword [esp + 0x1c], 0x40
je 0x47fbe4
cmp edx, 0x60
je 0x47fbe4
cmp edx, 0xa0
jb 0x47fdd4
cmp edx, 0xd7ff
jbe 0x47fbe4
cmp edx, 0xe000
jae 0x47fbe4
xor ecx, ecx
jmp 0x47fbe9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x47fe08
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edx, dword [ebp + 0x84]
jmp 0x47ea17
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 0x47fef5
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x47fef5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x47fe4b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x47feea
test al, 0x10
jne 0x47fe63
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x47fee4
test al, 8
jne 0x47fe84
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 0x47fee4
test al, 4
jne 0x47feb1
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 0x47fee4
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 + 0x5ae358]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accda]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], edx
jae 0x480065
mov dword [esp + 0x10], edx
nop dword [eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x48000c
cmp edx, 0xc0
jb 0x48000c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x47ff71
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x480008
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x47ff8c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x480002
and eax, 0x3f
test dl, 8
jne 0x47ffac
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x480002
test dl, 4
jne 0x47ffd5
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 0x480002
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 + 0x5ae358]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx ecx, byte [eax*8 + 0x5accda]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5acb60], eax
mov ebp, dword [esp + 0xb0]
je 0x480065
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 0x47ff30
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x47f386.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x47f386.10
jmp 0x47f3a0
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 0x480178
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 0x48010a
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x48011b
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x10], edi
mov edx, edi
test ebx, ebx
jg 0x4800e1
jmp 0x480178
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x480172
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 0x480168
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x480168
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x480172
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.0x480193
movzx eax, byte [ecx + 0x48b3bc]
jmp dword [eax*4 + 0x48b3b4]
lea eax, [edx + 1]
mov ebx, ecx
mov dword [esi + 0xc], eax
and ebx, 1
movsx eax, byte [ecx + 0x5ac028]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5ac034]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x480218
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x480218
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 0x480214
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x47d463
jns 0x480235
cmp dword [esi + 0x90], 0
je 0x47d463
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x48027a
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.0048bf30
add esp, 0x14
test eax, eax
js 0x480298
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x480247
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x10], 0
je 0x4802c3
mov dword [esi + 0x84], eax
jmp 0x487933
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4802a7
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x78]
jb case.default.0x48933a
jmp 0x47ea11
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x48797f
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0048bf30
add esp, 0x14
test eax, eax
js 0x480306
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4802cf
cmp eax, 0xfffffffe
jne 0x48797f
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x48797f
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x48797f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x48797f
jmp 0x47e477
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0048bf30
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x48039f
cmp ecx, 0xfffffffe
jne 0x480374
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x48933a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x48933a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x48933a
jmp 0x47e547
add dword [esi + 8], ecx
jmp 0x47d463
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.0x4803cf
movzx eax, byte [ecx + 0x48b3cc]
jmp dword [eax*4 + 0x48b3c4]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4803ec
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4803f4
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x5ac028]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5ac034]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x480489
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x480489
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 0x48046f
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x480489
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 0x480603
cmp dword [esi + 0x90], ebx
jl 0x48064b
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4805c3
test bl, 0x20
jne 0x4804f7
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 0x4805c3
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x480525
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 0x4805c3
test bl, 8
jne 0x480552
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 0x4805c3
test bl, 4
jne 0x480588
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 0x4805c3
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 0x4805d3
cmp dword [esi + 0x9c], 0x6e
jmp 0x4805e6
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.0x48933a
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esi + 0x90]
jle 0x4804b0
jmp 0x480647
cmp dword [esi + 0x90], ebx
jl 0x48064b
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
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.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x480610
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x480677
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x488a47
jmp 0x487a2c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x48085c
cmp eax, dword [esi + 0x8c]
jge 0x48084c
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x48082a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4807d5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4806f5
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 0x4807da
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x480724
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 0x4807da
test bl, 8
jne 0x480758
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 0x4807da
test bl, 4
jne 0x480795
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 0x4807da
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 0x4807da
mov eax, 1
cmp edx, 0xff
jbe 0x4807ed
cmp dword [esi + 0x9c], 0x6e
je 0x48084c
jmp 0x48080e
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 0x48084c
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 0x4806a0
jmp 0x48084c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x48084c
cmp edi, dword [ebp + 0x84]
jbe 0x48084c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x488ab1
cmp eax, dword [esi + 0x8c]
jge 0x4808c1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x48089f
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 0x4808c1
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 0x480864
jmp 0x4808c1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4808c1
cmp ebx, dword [ebp + 0x84]
jbe 0x4808c1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x487a6f
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.0x480907
movzx eax, byte [ecx + 0x48b3e0]
jmp dword [eax*4 + 0x48b3d8]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x480924
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x48092c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x5ac028]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5ac034]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4809c1
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x4809c1
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 0x4809a7
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x4809c1
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 0x480b00
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x480ad7
cmp edx, 0xc0
jb 0x480ad7
test dl, 0x20
jne 0x480a27
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x480ad4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x480a4e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x480ad4
test dl, 8
jne 0x480a71
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 0x480ad4
test dl, 4
jne 0x480aa0
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 0x480ad4
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.0048d2c0
add esp, 0xc
test eax, eax
je case.default.0x48933a
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4809e0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x480b1e
mov dword [esi + 0x84], eax
jmp 0x488822
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 0x480c71
nop word [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480c4f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x480c21
cmp edx, 0xc0
jb 0x480c21
test dl, 0x20
jne 0x480b81
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x480c19
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x480ba3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x480c19
and eax, 0x3f
test dl, 8
jne 0x480bc3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x480c19
test dl, 4
jne 0x480bec
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 0x480c19
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.0048d2c0
add esp, 0xc
test eax, eax
je 0x480c71
mov eax, dword [esp + 0x10]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x480b40
jmp 0x480c71
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x480c71
cmp edi, dword [ebp + 0x84]
jbe 0x480c71
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x488894
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x480e3d
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 0x480dc8
test bl, 0x20
jne 0x480cdb
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 0x480dc8
test bl, 0x10
jne 0x480d10
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 0x480dc8
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 0x480d51
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 0x480dc8
test bl, 4
jne 0x480d8a
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 0x480dc8
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 0x480dfd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edx, edi
jb case.default.0x48933a
cmp edx, dword [ebp + 0x84]
jmp 0x47ea17
test ecx, ecx
jle 0x480e2f
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.0x48933a
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x480e01
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x47d463
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x480e79
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x487f3a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x48acfa
jmp case.0x487f3a.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 0x481197
jmp case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x480eb5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp edi, dword [ebp + 0x84]
jmp 0x47ea17
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x481178
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 0x480ffc
test bl, 0x20
jne 0x480f0f
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 0x480ffc
test bl, 0x10
jne 0x480f44
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 0x480ffc
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 0x480f85
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 0x480ffc
test bl, 4
jne 0x480fbe
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 0x480ffc
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 0x48102a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x48933a
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x47d463
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x48111d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x481059
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x481118
test cl, 0x10
jne 0x48107a
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 0x481118
test cl, 8
jne 0x4810a7
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 0x481118
test cl, 4
jne 0x4810dd
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 0x481118
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 0x47d463
mov eax, edx
test eax, eax
jns 0x48113d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5ae358]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x481158
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5b0558]
mov eax, dword [eax*8 + 0x5accdc]
add eax, edx
cmp edi, eax
je 0x47d463
jmp case.default.0x48933a
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.0x487f3a.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x47d463
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 0x4812b5
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 0x4811fa
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x481202
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4812b5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4812b5
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4812b5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4812b5
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 + 0x5ac028]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5ac034]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4812b5
mov dword [esi + 0x8c], 0x7fffffff
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x481709
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 0x4813fe
test bl, 0x20
jne 0x481311
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 0x4813fe
test bl, 0x10
jne 0x481346
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 0x4813fe
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 0x481387
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 0x4813fe
test bl, 4
jne 0x4813c0
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 0x4813fe
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 0x48171a
cmp dword [esi + 0x9c], 0x2e
jb 0x481470
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x48142c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5ae358]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x481447
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5b0558]
mov ecx, dword [eax*8 + 0x5accdc]
add ecx, edx
cmp ecx, edx
je 0x481470
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0048d260
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x481477
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x10], 1
cmp eax, 1
jl 0x481584
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 0x4814fe
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4814c1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4814c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4814b0
cmp edi, 0xfffffffc
je 0x4814f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4814fb
cmp edi, 0xfffffffd
je 0x4814f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4814fb
cmp edi, 0xfffffffe
je 0x4814f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4814fb
cmp edi, 0xffffffff
je 0x4814f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4814fb
mov eax, dword [esi + 0x88]
jmp 0x481566
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4815a2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4815a2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x481531
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x481536
add ecx, 4
add edx, 4
sub edi, 4
jae 0x481520
cmp edi, 0xfffffffc
je 0x481563
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4815a2
cmp edi, 0xfffffffd
je 0x481563
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4815a2
cmp edi, 0xfffffffe
je 0x481563
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4815a2
cmp edi, 0xffffffff
je 0x481563
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4815a2
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 0x481490
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x4815c4
mov dword [esi + 0x84], eax
jmp 0x488c21
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x48933a
cmp ebx, dword [ebp + 0x84]
jmp 0x47ea17
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 0x4816f9
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 0x48164e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x481611
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x481616
add ecx, 4
add edx, 4
sub edi, 4
jae 0x481600
cmp edi, 0xfffffffc
je 0x481643
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x48164b
cmp edi, 0xfffffffd
je 0x481643
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x48164b
cmp edi, 0xfffffffe
je 0x481643
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x48164b
cmp edi, 0xffffffff
je 0x481643
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x48164b
mov eax, dword [esi + 0x88]
jmp 0x4816b6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4816d2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4816d2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x481681
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x481686
add ecx, 4
add edx, 4
sub edi, 4
jae 0x481670
cmp edi, 0xfffffffc
je 0x4816b3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4816d2
cmp edi, 0xfffffffd
je 0x4816b3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4816d2
cmp edi, 0xfffffffe
je 0x4816b3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4816d2
cmp edi, 0xffffffff
je 0x4816b3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4816d2
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 0x4815e0
jmp 0x4816f9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4816f9
cmp ebx, dword [ebp + 0x78]
jb 0x4816f9
cmp ebx, dword [ebp + 0x84]
jbe 0x4816f9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x488ccd
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x48171e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x481818
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 0x481784
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4879e5
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x481773
cmp dword [esi + 0x94], ecx
jne case.0x487f3a.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x481750
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x4817a2
mov dword [esi + 0x84], eax
jmp 0x487b19
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x481808
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4817e6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4817d5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x481808
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4817b8
jmp 0x481808
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x481808
cmp eax, dword [ebp + 0x84]
jbe 0x481808
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x48acfa
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x487b5c
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x48184f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x48186d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x48933a
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x481825
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x481886
mov dword [esi + 0x84], eax
jmp 0x487be1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp ebx, dword [ebp + 0x84]
jmp 0x47ea17
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4818e6
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4818c4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4818e6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4818a0
jmp 0x4818e6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4818e6
cmp ecx, dword [ebp + 0x84]
jbe 0x4818e6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x487c24
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x481bbf
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x481a04
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x481945
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x481a01
test bl, 0x10
jne 0x481966
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 0x481a01
test bl, 8
jne 0x481990
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 0x481a01
test bl, 4
jne 0x4819c6
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 0x481a01
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 0x481b45
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x481a50
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 0x481b49
test dl, 0x10
jne 0x481a7e
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 0x481b49
test dl, 8
jne 0x481ab8
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 0x481b49
test dl, 4
jne 0x481afb
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 0x481b49
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 0x481b49
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x9c], 0x1f
jne 0x481b5f
cmp ebx, eax
jne 0x47d463
jmp case.default.0x48933a
cmp ebx, 0x7f
jbe 0x481b9d
mov eax, ebx
test eax, eax
jns 0x481b6d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5ae358]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x481b88
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5b0558]
mov eax, dword [eax*8 + 0x5accdc]
add eax, ebx
jmp 0x481baa
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x48933a
cmp eax, edi
jne 0x47d463
jmp case.default.0x48933a
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x487f3a.14
cmp dword [esi + 0x9c], 0x20
jne 0x481197
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x487f3a.14
add dword [esi + 0xc], 2
jmp 0x47d463
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 0x481d44
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 0x481c58
cmp al, 0x4f
je 0x481c58
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x481d44
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x481d44
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x481d44
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x481d44
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x481d44
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 0x481d44
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 + 0x5ac028]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x5ac034]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x481d44
mov dword [esi + 0x8c], 0x7fffffff
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 0x481e75
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x481e75
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x481d96
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x481e71
test cl, 0x10
jne 0x481dbe
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 0x481e71
test cl, 8
jne 0x481df2
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 0x481e71
test cl, 4
jne 0x481e2f
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 0x481e71
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 0x482261
test eax, eax
je 0x481ed5
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x481ed5
mov eax, edx
test eax, eax
jns 0x481e9a
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5ae358]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x481eb5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x5b0558]
mov eax, dword [eax*8 + 0x5accdc]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x481ef8
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 0x482036
cmp dword [esi + 0x90], 1
jl 0x482074
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x48200f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x481f4e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x48200a
test cl, 0x10
jne 0x481f6f
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 0x48200a
test cl, 8
jne 0x481f99
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 0x48200a
test cl, 4
jne 0x481fcf
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 0x48200a
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.0x48933a
cmp dword [esi + 0x94], eax
je case.default.0x48933a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x481f10
jmp 0x482074
cmp dword [esi + 0x90], edi
jl 0x482074
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x48933a
cmp dword [esi + 0x94], ecx
je case.default.0x48933a
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x482040
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47d463
test ebx, ebx
je 0x4820a0
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x488e58
jmp 0x487cce
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4821f7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4821e7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4821c5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4821a0
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x482104
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x48219c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x48211f
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x482196
and eax, 0x3f
test dl, 8
jne 0x48213f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x482196
test dl, 4
jne 0x482168
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 0x482196
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 0x4821e7
cmp dword [esi + 0x94], eax
je 0x4821e7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4820c4
jmp 0x4821e7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4821e7
cmp edi, dword [ebp + 0x84]
jbe 0x4821e7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x488ebc
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x482251
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x48222f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x482251
cmp dword [esi + 0x94], ecx
je 0x482251
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x482205
jmp 0x482251
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x482251
cmp eax, dword [ebp + 0x84]
jbe 0x482251
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x48acfa
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x487d11
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x4823b9
cmp dword [esi + 0x90], edi
jl 0x4823ef
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x48239a
mov cl, byte [eax]
test bl, 0x20
jne 0x4822bb
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x482392
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4822df
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 0x482392
test bl, 8
jne 0x48231a
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 0x48239a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x482358
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 0x48238e
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.0x48933a
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x90]
jle 0x482282
jmp 0x4823eb
cmp dword [esi + 0x90], edi
jl 0x4823ef
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x48186d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x48933a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4823c1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x48241b
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x48905f
jmp 0x487d96
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x48256e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x48255e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x48253c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x48251b
test dl, 0x20
jne 0x482476
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x482513
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x482498
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x48250f
and eax, 0x3f
test dl, 8
jne 0x4824b8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x48250f
test dl, 4
jne 0x4824e1
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 0x48250f
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 0x48255e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x482440
jmp 0x48255e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x48255e
cmp edi, dword [ebp + 0x84]
jbe 0x48255e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x4890be
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4825c6
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4825a4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4825c6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x482580
jmp 0x4825c6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4825c6
cmp ecx, dword [ebp + 0x84]
jbe 0x4825c6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x48acfa
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x487dd9
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 0x482707
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 0x482707
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x482707
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x482707
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x482707
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 0x482707
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 + 0x5ac028]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x5ac034]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x482707
mov dword [esi + 0x8c], 0x7fffffff
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 0x482729
cmp ecx, 0xf
je 0x482729
mov dword [esi + 0x60], 0xffffffff
jmp 0x48274d
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 0x48295a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x483654
cmp eax, 0xa
ja case.0x4892b8.15
jmp dword [eax*4 + 0x48b3ec]
cmp dword [esi + 0x68], 0
jne case.default.0x48933a
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x48295e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x487e45
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4827de
cmp edx, 0xc0
jb 0x4827de
test dl, 0x20
jne 0x4827bc
lea eax, [ecx + 2]
jmp 0x4827db
test dl, 0x10
jne 0x4827c6
lea eax, [ecx + 3]
jmp 0x4827db
test dl, 8
jne 0x4827d0
lea eax, [ecx + 4]
jmp 0x4827db
lea eax, [ecx + 5]
test dl, 4
je 0x4827db
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x482791
jmp 0x48295e
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x48290a
cmp eax, 0xc0
jb 0x48290a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x482849
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x482905
test al, 0x10
jne 0x482869
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 0x482905
test al, 8
jne 0x482895
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 0x482905
test al, 4
jne 0x4828ca
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 0x482905
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp eax, 9
je 0x48293f
cmp eax, 5
je 0x48293f
cmp eax, 8
je 0x48293f
xor eax, eax
jmp 0x482944
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x482800
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x47d463
cmp dword [esp + 0x20], 0
je 0x4849cb
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x4849ae
cmp ecx, 0xa
ja case.0x4892b8.15
jmp dword [ecx*4 + 0x48b418]
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x482abf
cmp eax, 0xc0
jb 0x482abf
test al, 0x20
jne 0x4829e9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x482aba
test al, 0x10
jne 0x482a0f
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 0x482aba
test al, 8
jne 0x482a41
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 0x482aba
test al, 4
movzx eax, byte [edx]
jne 0x482a7c
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 0x482aba
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4829a0
jmp 0x48295a
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
nop dword [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x482c3f
cmp eax, 0xc0
jb 0x482c3f
test al, 0x20
jne 0x482b69
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x482c3a
test al, 0x10
jne 0x482b8f
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 0x482c3a
test al, 8
jne 0x482bc1
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 0x482c3a
test al, 4
movzx eax, byte [edx]
jne 0x482bfc
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 0x482c3a
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x482b20
jmp 0x48295a
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x482db0
cmp eax, 0xc0
jb 0x482db0
test al, 0x20
jne 0x482cda
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x482dab
test al, 0x10
jne 0x482d00
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 0x482dab
test al, 8
jne 0x482d32
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 0x482dab
test al, 4
movzx eax, byte [edx]
jne 0x482d6d
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 0x482dab
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x482c91
jmp 0x48295a
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x482f21
cmp eax, 0xc0
jb 0x482f21
test al, 0x20
jne 0x482e4b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x482f1c
test al, 0x10
jne 0x482e71
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 0x482f1c
test al, 8
jne 0x482ea3
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 0x482f1c
test al, 4
movzx eax, byte [edx]
jne 0x482ede
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 0x482f1c
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x482f58
cmp eax, 3
je 0x482f58
xor eax, eax
jmp 0x482f5d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x482e02
jmp 0x48295a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x48295a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
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 0x4830ba
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x4830ba
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x482fed
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4830a9
test cl, 0x10
jne 0x48300e
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 0x4830a9
test cl, 8
jne 0x483038
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 0x4830a9
test cl, 4
jne 0x48306e
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 0x4830a9
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 0x4830db
cmp eax, 0x20
je case.0x4831b0.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4831b0.8203
jmp dword [eax*4 + 0x48b444]
cmp edx, 0x2000
ja 0x483188
cmp edi, 0x2000
je case.0x4831b0.8193
cmp ecx, 0x1680
ja 0x483180
je case.0x4831b0.8193
mov eax, ecx
sub eax, 0x85
je case.0x4831b0.8193
sub eax, 0x1b
je case.0x4831b0.8193
mov eax, ecx
test eax, eax
jns 0x483124
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
and ecx, 0x8000007f
jns 0x48313e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp dword [eax*4 + 0x5acae8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x48933a
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x482f90
jmp 0x48295a
cmp ecx, 0x180e
jmp 0x483115
cmp ebx, 0x3000
ja case.0x4831b0.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4831b0.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4831b0.8203
movzx eax, byte [eax + 0x48b460]
jmp dword [eax*4 + 0x48b458]
cmp dword [esi + 0x68], 0
jne case.default.0x48933a
jmp 0x483166
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x48295a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x4832df
cmp eax, 0xc0
jb 0x4832df
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x48321f
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4832d8
test al, 0x10
jne 0x48323f
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 0x4832d8
test al, 8
jne 0x483268
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 0x4832d8
test al, 4
jne 0x48329d
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 0x4832d8
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x48331b
cmp eax, 3
je 0x48331b
cmp ebx, 0x5f
je 0x48331b
xor eax, eax
jmp 0x483320
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x48933a
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4831d4
jmp 0x48295a
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x483449
cmp edx, 0xc0
jb 0x483449
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x48339d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x483444
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4833be
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x483444
test dl, 8
jne 0x4833e1
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 0x483444
test dl, 4
jne 0x483410
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 0x483444
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 + 0x5acb98]
lea eax, [eax*4 + 0x5acb98]
jb 0x48346d
mov ecx, dword [eax]
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x483489
mov ecx, dword [eax]
cmp edx, ecx
jae 0x483460
cmp dword [esi + 0x68], 0
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x483350
jmp 0x48295a
cmp dword [esi + 0x68], 0
jne case.default.0x48933a
jmp 0x483477
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x48295a
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
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 0x4835fd
mov dword [esp + 0x10], ecx
cmp ecx, 0xc0
jb 0x4835fd
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x483510
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 0x483601
test cl, 0x10
jne 0x48353c
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 0x483601
test cl, 8
jne 0x483574
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 0x483601
test cl, 4
jne 0x4835b5
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 0x483601
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 0x483601
mov edi, dword [esp + 0x10]
cmp edx, 0x24
je 0x48362c
cmp eax, 0x40
je 0x48362c
cmp ebx, 0x60
je 0x48362c
cmp edi, 0xa0
jb 0x483620
cmp ecx, 0xd7ff
jbe 0x48362c
cmp ecx, 0xe000
jae 0x48362c
xor eax, eax
jmp 0x483631
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x48933a
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x4834b0
jmp 0x48295a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x48394b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x48295a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x47ea03
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 0x48377c
mov dword [esp + 0x10], edi
cmp eax, 0xc0
jb 0x48377c
test al, 0x20
jne 0x4836bc
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x48376b
test al, 0x10
jne 0x4836dc
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 0x48376b
test al, 8
jne 0x483705
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 0x48376b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x483738
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 0x48376b
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 + 0x5ae358]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accda]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x10], eax
jae 0x48390b
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 0x483899
cmp edx, 0xc0
jb 0x483899
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x483801
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x483895
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x483819
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x48388f
and eax, 0x3f
test dl, 8
jne 0x483839
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x48388f
test dl, 4
jne 0x483862
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 0x48388f
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 + 0x5ae358]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx ecx, byte [eax*8 + 0x5accda]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5acb60], eax
mov ebp, dword [esp + 0xb0]
je 0x483903
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 0x4837c0
jmp 0x48390b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x483931
cmp edx, eax
jb 0x483931
cmp ecx, dword [ebp + 0x84]
jbe 0x483931
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x488c8c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x483671
jmp 0x48295a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x484510
cmp eax, 0xf
ja case.0x4892b8.15
jmp dword [eax*4 + 0x48b4c0]
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x47ea03
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4839b9
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0048d9e0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4839ad
mov eax, 1
jmp 0x4839af
xor eax, eax
test eax, eax
jne case.default.0x48933a
jmp 0x4839e0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4839de
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4839de
cmp edi, 1
je case.default.0x48933a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x48933a
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x483a16
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x483a16
test ecx, ecx
jne 0x483a16
cmp dword [ebp + 0x1c], 2
jne 0x483a16
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x483a16
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x488c8c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x483a32
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x483a32
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x483a21
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x483977
jmp 0x48295a
mov edi, 1
cmp ecx, edi
jl 0x48295e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4879e5
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x483a88
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x483a88
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x483a70
inc edi
cmp edi, dword [esi + 0x90]
jle 0x483a54
jmp 0x48295e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x487f3a.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x48295e
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x48295e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
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 0x483bc7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x483b02
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x483bbe
test cl, 0x10
jne 0x483b23
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 0x483bbe
test cl, 8
jne 0x483b4d
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 0x483bbe
test cl, 4
jne 0x483b83
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 0x483bbe
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 0x483bfb
cmp eax, 0x85
je case.0x483be2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x48933a
jmp dword [ecx*4 + 0x48b500]
cmp ebx, dword [ebp + 0x78]
jae case.0x483be2.10
cmp byte [edx], 0xa
jne case.0x483be2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x483be2.10
sub ecx, 0x2028
je case.0x483be2.11
sub ecx, 1
jne case.default.0x48933a
cmp dword [ebp + 0x68], 0
jne case.default.0x48933a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x483ac2
jmp 0x48295a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x48295e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
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 0x483d50
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x483c87
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x483d43
test cl, 0x10
jne 0x483ca8
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 0x483d43
test cl, 8
jne 0x483cd2
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 0x483d43
test cl, 4
jne 0x483d08
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 0x483d43
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 0x483dbc
cmp ebx, 0x2000
je case.default.0x48933a
cmp ecx, 0xa0
ja 0x483da2
je case.default.0x48933a
cmp ecx, 9
je case.default.0x48933a
cmp ecx, 0x20
je case.default.0x48933a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x483c41
jmp 0x48295a
cmp edx, 0x1680
je case.default.0x48933a
cmp ecx, 0x180e
je case.default.0x48933a
jmp case.0x483de1.8203
cmp eax, 0x3000
ja case.0x483de1.8203
cmp edi, 0x3000
je case.default.0x48933a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x483de1.8203
movzx eax, byte [ecx + 0x48b518]
jmp dword [eax*4 + 0x48b510]
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x48295e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
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 0x483f0f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x483e46
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x483f02
test cl, 0x10
jne 0x483e67
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 0x483f02
test cl, 8
jne 0x483e91
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 0x483f02
test cl, 4
jne 0x483ec7
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 0x483f02
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 0x483f6b
cmp ebx, 0x2000
je case.0x483f94.8193
cmp ecx, 0xa0
ja 0x483f55
je case.0x483f94.8193
cmp ecx, 9
je case.0x483f94.8193
cmp ecx, 0x20
jne case.default.0x48933a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x483e00
jmp 0x48295a
cmp edx, 0x1680
je case.0x483f94.8193
cmp ecx, 0x180e
jne case.default.0x48933a
jmp case.0x483f94.8193
cmp eax, 0x3000
ja case.default.0x48933a
cmp edi, 0x3000
je case.0x483f94.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x48933a
movzx eax, byte [ecx + 0x48b580]
jmp dword [eax*4 + 0x48b578]
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4840b3
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x483ff0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4840ac
test cl, 0x10
jne 0x484011
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 0x4840ac
test cl, 8
jne 0x48403b
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 0x4840ac
test cl, 4
jne 0x484071
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 0x4840ac
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 0x4840d5
cmp edi, 0x85
je case.default.0x48933a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4840ce
jmp dword [ecx*4 + 0x48b5e0]
sub ecx, 0x2028
je case.default.0x48933a
sub ecx, 1
je case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x483fb0
jmp 0x48295a
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x484200
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x484152
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4841f9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x484173
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4841f9
test dl, 8
jne 0x484196
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 0x4841f9
test dl, 4
jne 0x4841c5
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 0x4841f9
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 0x484222
cmp ecx, 0x85
je case.0x48421b.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x48933a
jmp dword [edx*4 + 0x48b5f0]
sub edx, 0x2028
je case.0x48421b.10
sub edx, 1
jne case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x484110
jmp 0x48295a
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x47ea75
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x48433e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x484292
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x484339
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4842b3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x484339
test dl, 8
jne 0x4842d6
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 0x484339
test dl, 4
jne 0x484305
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 0x484339
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 0x484352
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x48933a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x484252
jmp 0x48295a
cmp ecx, 1
jl 0x48295e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x487e45
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x487f3a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x484372
jmp 0x48295e
mov edi, 1
cmp ecx, edi
jl 0x48295e
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x487e45
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4843e3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x487f3a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x484408
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x484408
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4843f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4843c0
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x487e45
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x487f3a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x484424
jmp 0x48295e
mov edi, 1
cmp ecx, edi
jl 0x48295e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x487e45
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x484493
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x487f3a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4844b8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4844b8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4844a0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x484470
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x487e45
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x487f3a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4844d4
jmp 0x48295e
cmp eax, 0xf
ja case.0x4892b8.15
jmp dword [eax*4 + 0x48b600]
mov ebx, 1
cmp ecx, ebx
jl 0x48295a
nop dword [eax]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x47ebd0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x484570
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0048d9e0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x484564
mov eax, 1
jmp 0x484566
xor eax, eax
test eax, eax
jne case.default.0x48933a
jmp 0x484597
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x484597
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x484597
cmp edi, 1
je case.default.0x48933a
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x48933a
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4845ce
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4845ce
cmp dword [ebp + 0x18], 0
jne 0x4845ce
cmp dword [ebp + 0x1c], 2
jne 0x4845ce
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4845ce
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x488c8c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x484530
jmp 0x48295a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x483aa6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
mov edx, 1
cmp ecx, edx
jl 0x48295e
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x487e45
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x487f3a.14
movzx eax, byte [eax + 0x48b650]
jmp dword [eax*4 + 0x48b640]
cmp ecx, dword [ebp + 0x78]
jae case.0x484648.10
cmp byte [ecx], 0xa
jne case.0x484648.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x484648.10
cmp dword [ebp + 0x68], 0
jne case.0x487f3a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x484620
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edx, 1
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4879e5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x487f3a.14
cmp ecx, 0x20
je case.0x487f3a.14
cmp ecx, 0xa0
je case.0x487f3a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x484690
jmp 0x48295e
mov edx, 1
cmp ecx, edx
jl 0x48295e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4879e5
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x484709
cmp ecx, 0x20
je 0x484709
cmp ecx, 0xa0
jne case.0x487f3a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4846e0
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edx, 1
mov edi, edx
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4879e5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x484756.11
movzx eax, byte [eax + 0x48b6d4]
mov edx, edi
jmp dword [eax*4 + 0x48b6cc]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x484730
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edx, 1
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4879e5
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x487f3a.14
movzx eax, byte [eax + 0x48b758]
jmp dword [eax*4 + 0x48b750]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x484780
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4845f3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x487f3a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4847d0
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4845f3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x487f3a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x484810
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4845f3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x487f3a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x484850
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4845f3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x487f3a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x484890
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4845f3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x487f3a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4848d0
jmp 0x48295e
cmp ecx, 1
jl 0x48295e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4845f3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x487f3a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x484910
jmp 0x48295e
mov dword [esi + 0x84], eax
jmp 0x489726
mov dword [esi + 0x84], eax
jmp 0x4898f4
mov dword [esi + 0x84], eax
jmp 0x489aba
mov dword [esi + 0x84], eax
jmp 0x489c78
mov dword [esi + 0x84], eax
jmp 0x489e36
mov dword [esi + 0x84], eax
jmp 0x48a61d
mov dword [esi + 0x84], eax
jmp 0x48aa37
mov dword [esi + 0x84], eax
jmp 0x48ac75
mov dword [esi + 0x84], eax
jmp 0x48ae56
mov dword [esi + 0x84], eax
jmp 0x48a800
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x48a16b
test ebx, ebx
jne 0x4893ab
jmp 0x488044
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x485933
cmp eax, 0xa
ja case.0x4892b8.15
jmp dword [eax*4 + 0x48b7d4]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x484a62
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x484a72
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x484a4e
cmp ecx, 0xc0
jb 0x484a4e
test cl, 0x20
jne 0x484a28
mov eax, 2
jmp 0x484a4e
test cl, 0x10
jne 0x484a34
mov eax, 3
jmp 0x484a4e
test cl, 8
jne 0x484a40
mov eax, 4
jmp 0x484a4e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x484a62
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x484a00
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x48a1ce
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x484a62
cmp edx, dword [ebp + 0x84]
jbe 0x484a62
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x484a62
jmp 0x48acfa
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop word [eax + eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x484c07
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x484ba4
cmp eax, 0xc0
jb 0x484ba4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x484af9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x484ba0
test al, 0x10
jne 0x484b13
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x484b9a
test al, 8
jne 0x484b36
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 0x484b9a
test al, 4
jne 0x484b65
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 0x484b9a
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp eax, 9
je 0x484bd9
cmp eax, 5
je 0x484bd9
cmp eax, 8
je 0x484bd9
xor eax, eax
jmp 0x484bde
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x484a62
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 0x484ab0
jmp 0x484a62
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x484a62
cmp edx, dword [ebp + 0x84]
jbe 0x484a62
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x484a62
jmp 0x47e477
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x484d9e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x484d44
cmp eax, 0xc0
jb 0x484d44
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x484c99
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x484d40
test al, 0x10
jne 0x484cb3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x484d3a
test al, 8
jne 0x484cd6
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 0x484d3a
test al, 4
jne 0x484d05
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 0x484d3a
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x484a62
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 0x484c50
jmp 0x484a62
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x484a62
cmp edx, dword [ebp + 0x84]
jbe 0x484a62
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x484a62
jmp 0x47e477
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x484d9e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x484ed3
cmp eax, 0xc0
jb 0x484ed3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x484e28
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x484ecf
test al, 0x10
jne 0x484e42
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x484ec9
test al, 8
jne 0x484e65
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 0x484ec9
test al, 4
jne 0x484e94
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 0x484ec9
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x484a62
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 0x484de3
jmp 0x484a62
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x484d9e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x485034
cmp eax, 0xc0
jb 0x485034
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x484f89
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x485030
test al, 0x10
jne 0x484fa3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x48502a
test al, 8
jne 0x484fc6
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 0x48502a
test al, 4
jne 0x484ff5
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 0x48502a
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x484a62
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 0x484f40
jmp 0x484a62
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop dword [eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x484c07
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x485194
cmp eax, 0xc0
jb 0x485194
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4850e9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x485190
test al, 0x10
jne 0x485103
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x48518a
test al, 8
jne 0x485126
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 0x48518a
test al, 4
jne 0x485155
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 0x48518a
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x4851cb
cmp eax, 3
je 0x4851cb
xor eax, eax
jmp 0x4851d0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x484a62
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 0x4850a0
jmp 0x484a62
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x485439
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 0x485329
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x485329
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x485275
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x485319
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x485293
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x485313
and eax, 0x3f
test dl, 8
jne 0x4852b6
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 0x485313
test dl, 4
jne 0x4852e2
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 0x485313
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 0x485348
cmp eax, 0x20
je case.0x485426.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x485426.8203
jmp dword [eax*4 + 0x48b800]
cmp edx, 0x2000
ja 0x4853fe
cmp ecx, 0x2000
je case.0x485426.8193
cmp edx, 0x1680
ja 0x4853f6
je case.0x485426.8193
mov eax, edx
sub eax, 0x85
je case.0x485426.8193
sub eax, 0x1b
je case.0x485426.8193
mov eax, edx
test eax, eax
jns 0x485391
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
and edx, 0x8000007f
jns 0x4853ab
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp dword [eax*4 + 0x5acae8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x484a62
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 0x485210
jmp 0x484a62
cmp edx, 0x180e
jmp 0x485382
cmp ebx, 0x3000
ja case.0x485426.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x485426.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x485426.8203
movzx eax, byte [eax + 0x48b81c]
jmp dword [eax*4 + 0x48b814]
cmp dword [esi + 0x68], 0
jne 0x484a62
jmp 0x4853d3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x484a62
cmp edi, dword [ebp + 0x84]
jmp 0x484db2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop dword [eax + eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x484d9e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x48557a
cmp eax, 0xc0
jb 0x48557a
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4854c1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x485574
test al, 0x10
jne 0x4854de
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x48556e
test al, 8
jne 0x485504
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 0x48556e
test al, 4
jne 0x485536
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 0x48556e
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x4855b6
cmp eax, 3
je 0x4855b6
cmp ebx, 0x5f
je 0x4855b6
xor eax, eax
jmp 0x4855bb
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x484a62
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 0x485470
jmp 0x484a62
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
nop dword [eax]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x485743
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4856e8
cmp edx, 0xc0
jb 0x4856e8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x48564d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4856e4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x485668
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4856de
and eax, 0x3f
test dl, 8
jne 0x485688
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4856de
test dl, 4
jne 0x4856b1
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 0x4856de
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 + 0x5acb98]
lea eax, [eax*4 + 0x5acb98]
jb 0x48570d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x485737
mov ecx, dword [eax]
cmp edx, ecx
jae 0x485700
cmp dword [esi + 0x68], 0
je 0x484a62
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 0x485600
jmp 0x484a62
cmp dword [esi + 0x68], 0
jne 0x484a62
jmp 0x485717
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x484a62
cmp edi, dword [ebp + 0x84]
jmp 0x484c1b
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x484a62
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x48590d
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
je 0x4858af
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x4858af
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4857db
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 0x4858af
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x48580b
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 0x4858af
test dl, 8
jne 0x485840
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 0x4858af
test dl, 4
jne 0x48586c
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 0x48589d
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 0x4858dc
cmp ecx, 0x40
je 0x4858dc
cmp ebx, 0x60
je 0x4858dc
cmp dword [esp + 0x10], 0xa0
jb 0x4858d0
cmp edx, 0xd7ff
jbe 0x4858dc
cmp edx, 0xe000
jae 0x4858dc
xor eax, eax
jmp 0x4858e1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x484a62
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 0x485772
jmp 0x484a62
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x484a62
cmp edi, dword [ebp + 0x84]
jbe 0x484a62
mov dword [ebp + 0x64], 1
jmp 0x484c24
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x485ca9
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x485c5a
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x485c38
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 0x485a6a
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x485a6a
test al, 0x20
jne 0x4859ab
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x485a59
test al, 0x10
jne 0x4859c9
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 0x485a59
test al, 8
jne 0x4859f0
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 0x485a59
test al, 4
movzx eax, byte [edi]
jne 0x485a23
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 0x485a59
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 + 0x5ae358]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accda]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x485bfb
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 0x485b89
cmp edx, 0xc0
jb 0x485b89
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x485af1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x485b85
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x485b09
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x485b7f
and eax, 0x3f
test dl, 8
jne 0x485b29
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x485b7f
test dl, 4
jne 0x485b52
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 0x485b7f
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 + 0x5ae358]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx ecx, byte [eax*8 + 0x5accda]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5acb60], eax
mov ebp, dword [esp + 0xb0]
je 0x485bf3
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 0x485ab0
jmp 0x485bfb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x485c21
cmp edx, eax
jb 0x485c21
cmp ecx, dword [ebp + 0x84]
jbe 0x485c21
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x488c8c
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x485960
jmp 0x485c5a
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x485c5a
cmp ecx, dword [ebp + 0x84]
jbe 0x485c5a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x47e477
cmp dword [esp + 0x24], 0
jne 0x47d463
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x485c9a
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4880f3
add eax, 0xfffffffa
test ebx, ebx
je 0x486abf
cmp eax, 0xf
ja case.0x4892b8.15
jmp dword [eax*4 + 0x48b87c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x486aaf
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x485da3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x485d18
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0048d9e0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x485d0c
mov eax, 1
jmp 0x485d0e
xor eax, eax
test eax, eax
jne 0x486aaf
jmp 0x485d3f
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x485d3d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x485d3d
cmp edi, 1
je 0x486aaf
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x486aaf
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x485d75
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x485d75
test ecx, ecx
jne 0x485d75
cmp dword [ebp + 0x1c], 2
jne 0x485d75
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x485d75
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x488c8c
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x485d91
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x485d91
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x485d80
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x485cd6
jmp 0x486aaf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x486aaf
cmp ecx, dword [ebp + 0x84]
jbe 0x486aaf
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x486aaf
jmp 0x47e477
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x485e28
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x486aaf
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x485e2e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x485e1a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x485e1a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x485e02
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x485df0
jmp 0x486aaf
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x486aaf
cmp eax, dword [ebp + 0x84]
jbe 0x486aaf
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x486aaf
jmp 0x48acfa
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 0x485ea9
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x486aaf
cmp edx, dword [ebp + 0x84]
jbe 0x486aaf
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x486aaf
jmp 0x48acfa
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x486aaf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x486aaf
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x485fce
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x485f1e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x485fc2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x485f3c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x485fbc
and eax, 0x3f
test dl, 8
jne 0x485f5f
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 0x485fbc
test dl, 4
jne 0x485f8b
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 0x485fbc
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 0x485fea
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x486aaf
cmp byte [eax], 0xa
jne 0x48602a
inc eax
jmp 0x486027
cmp eax, 0xa
je 0x486021
cmp dword [ebp + 0x68], 0
jne 0x486aaf
cmp ebx, 0xb
je 0x486021
cmp dword [esp + 0x10], 0xc
je 0x486021
cmp edx, 0x85
je 0x486021
cmp edx, 0x2028
je 0x486021
cmp edx, 0x2029
jne 0x486aaf
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 0x485ed0
jmp 0x486aaf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x486aaf
cmp edi, dword [ebp + 0x84]
jmp 0x485db7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x486aaf
nop dword [eax]
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x48617a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4860ca
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x48616e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4860e8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x486168
and eax, 0x3f
test dl, 8
jne 0x48610b
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 0x486168
test dl, 4
jne 0x486137
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 0x486168
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 0x4861ea
cmp ebx, 0x2000
je case.0x48620b.8193
cmp edx, 0xa0
ja 0x4861da
je case.0x48620b.8193
cmp edx, 9
je case.0x48620b.8193
cmp edx, 0x20
je case.0x48620b.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x486aaf
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 0x486080
jmp 0x486aaf
cmp edx, 0x1680
je case.0x48620b.8193
cmp edx, 0x180e
jmp 0x4861a2
cmp eax, 0x3000
ja case.0x48620b.8203
cmp ecx, 0x3000
je case.0x48620b.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x48620b.8203
movzx eax, byte [edx + 0x48b8c4]
jmp dword [eax*4 + 0x48b8bc]
mov ecx, 1
jmp 0x4861a6
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x486aaf
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x486371
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x48630c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x486272
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x486306
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x48628a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x486300
and eax, 0x3f
test dl, 8
jne 0x4862aa
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x486300
test dl, 4
jne 0x4862d3
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 0x486300
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 0x48632a
cmp ecx, 0x85
je case.0x486323.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x486323
jmp dword [edx*4 + 0x48b924]
sub edx, 0x2028
je case.0x486323.10
sub edx, 1
je case.0x486323.10
xor ecx, ecx
jmp 0x486340
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x486aaf
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 0x486230
jmp 0x486aaf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x486aaf
cmp edi, dword [ebp + 0x84]
jbe 0x486aaf
mov dword [ebp + 0x64], ebx
jmp 0x485dc4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x486aaf
nop dword [eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4864a3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4863f4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x48649d
test dl, 0x10
jne 0x48640f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x486497
test dl, 8
jne 0x486433
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 0x486497
test dl, 4
jne 0x486463
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 0x486497
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 0x4864ba
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x486aaf
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 0x4863b0
jmp 0x486aaf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x486aaf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4865c9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x486530
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4865c5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x486548
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4865bf
and eax, 0x3f
test dl, 8
jne 0x486568
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4865bf
test dl, 4
jne 0x486591
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 0x4865bf
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 0x486aaf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x486aaf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4864f0
jmp 0x486aaf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x486aaf
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x486703
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x486654
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4866fd
test dl, 0x10
jne 0x48666f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4866f7
test dl, 8
jne 0x486693
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 0x4866f7
test dl, 4
jne 0x4866c3
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 0x4866f7
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 0x48671a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x486aaf
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 0x486610
jmp 0x486aaf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x486aaf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x486829
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x486790
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x486825
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4867a8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x48681f
and eax, 0x3f
test dl, 8
jne 0x4867c8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x48681f
test dl, 4
jne 0x4867f1
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 0x48681f
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 0x486aaf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x486aaf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x486750
jmp 0x486aaf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x486aaf
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x486963
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4868b4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x48695d
test dl, 0x10
jne 0x4868cf
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x486957
test dl, 8
jne 0x4868f3
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 0x486957
test dl, 4
jne 0x486923
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 0x486957
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 0x48697a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x486aaf
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 0x486870
jmp 0x486aaf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x486aaf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x486044
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x486a8c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4869f0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x486a88
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x486a0b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x486a82
and eax, 0x3f
test dl, 8
jne 0x486a2b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x486a82
test dl, 4
jne 0x486a54
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 0x486a82
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 0x486aaf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x486aaf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4869b0
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x489635
cmp eax, 0xf
ja case.0x4892b8.15
jmp dword [eax*4 + 0x48b934]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x486da0.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x486b9b
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x486b28
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0048d9e0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x486b1c
mov eax, 1
jmp 0x486b1e
xor eax, eax
test eax, eax
jne case.0x486da0.10
jmp 0x486b4f
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x486b4f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x486b4f
cmp edi, 1
je case.0x486da0.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x486da0.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x486b86
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x486b86
cmp dword [ebp + 0x18], 0
jne 0x486b86
cmp dword [ebp + 0x1c], 2
jne 0x486b86
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x486b86
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x488c8c
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x486ae1
jmp case.0x486da0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x486da0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x486da0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x486da0.10
jmp 0x47e477
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 0x486c16
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x486da0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x486da0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x486da0.10
jmp 0x48acfa
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x486da0.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x486da0.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x486c92
mov al, byte [ecx]
cmp al, 0xd
jne 0x486c58
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x486da0.10
cmp byte [eax], 0xa
jne 0x486c84
inc eax
jmp 0x486c81
cmp al, 0xa
je 0x486c7e
cmp dword [ebp + 0x68], 0
jne case.0x486da0.10
cmp al, 0xb
je 0x486c7e
cmp al, 0xc
je 0x486c7e
cmp al, 0x85
jne case.0x486da0.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x486c33
jmp case.0x486da0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x486da0.10
cmp ecx, dword [ebp + 0x84]
jmp 0x486bfb
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x486da0.10
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x486cf7
mov cl, byte [eax]
cmp cl, 9
je case.0x486da0.10
cmp cl, 0x20
je case.0x486da0.10
cmp cl, 0xa0
je case.0x486da0.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x486cc0
jmp case.0x486da0.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x486da0.10
cmp eax, dword [ebp + 0x84]
jbe case.0x486da0.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x486da0.10
jmp 0x48acfa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x486da0.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x486cf7
mov cl, byte [eax]
cmp cl, 9
je 0x486d59
cmp cl, 0x20
je 0x486d59
cmp cl, 0xa0
jne case.0x486da0.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x486d38
jmp case.0x486da0.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x486da0.10
mov edi, ecx
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486be7
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x486da0.11
movzx eax, byte [eax + 0x48b97c]
mov ecx, edi
jmp dword [eax*4 + 0x48b974]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x486d80
jmp case.0x486da0.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x486da0.10
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x486c92
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x486da0.10
movzx eax, byte [eax + 0x48ba00]
jmp dword [eax*4 + 0x48b9f8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x486dd0
jmp case.0x486da0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x486da0.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486be7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x486da0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x486e20
jmp case.0x486da0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x486da0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486be7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x486da0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x486e62
jmp case.0x486da0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x486da0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486be7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x486da0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x486ea4
jmp case.0x486da0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x486da0.10
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486be7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x486da0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x486ef0
jmp case.0x486da0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x486da0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486be7
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x486da0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x486f32
jmp case.0x486da0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x486da0.10
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x486f95
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x486da0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x486f70
jmp case.0x486da0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x486da0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x486da0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x48acfa
cmp dword [esp + 0x24], 0
jne 0x47d463
jmp 0x4880b4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afdf
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x486ff4
jmp dword [eax*4 + 0x48ba7c]
cmp edi, 0xfffffc1b
je 0x4870de
cmp edi, 0xfffffc20
jne 0x487049
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.0x48750c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x487042
cmp byte [ecx], 0x77
jne case.default.0x48750c
xor edi, edi
jmp 0x487051
test edi, edi
jne case.default.0x48750c
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 0x4870de
cmp dword [esi + 0x9c], 0x88
jb 0x48709d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4870c6
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
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 0x486fe4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4871fa
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 0x487254
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x487170
cmp byte [ecx], 0x77
jne 0x487254
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.0x487f3a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x487265
cmp eax, 0x81
je 0x487265
cmp dword [ebp + 0x6c], 0
jne 0x48726f
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 0x48726f
movzx eax, byte [edx]
movzx eax, byte [eax + 0x5ac9d0]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x47d3f0
test edi, edi
je 0x487170
cmp edi, 0xfffffc1b
jne 0x487254
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x81
je 0x487249
cmp byte [eax], 0x77
mov ebx, eax
jne 0x487238
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 0x487220
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 0x487124
jmp 0x486fe0
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 0x4872ad
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
cmp edi, 1
jne 0x487344
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4872e0
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4872f7
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 0x487329
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 0x487312
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x5ac9d0]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x47d90c
test edi, edi
je 0x47d90c
cmp edi, 0xfffffc20
je 0x47d90c
jmp case.default.0x48750c
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x48737c
cmp byte [eax - 3], 0x77
jne 0x47d463
cmp dword [esi + 0x9c], 0x8c
jne 0x47d3f0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4873bf
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4880f3
cmp edi, 1
je 0x487480
cmp edi, 0xfffffc19
je 0x487480
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x487426
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.0x48750c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x48742e
cmp byte [ecx], 0x77
jmp 0x487428
test edi, edi
jne case.default.0x48750c
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 0x487486
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487471
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4875c5
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x487f3a.14
cmp dword [esi + 0x58], 0
jne 0x487562
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 0x4874a0
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x47d463
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4874ef
je case.0x48750c.995
cmp edi, 0xfffffc19
jmp 0x4875fc
test edi, edi
jg 0x4875f7
je 0x487578
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x48750c
jmp dword [eax*4 + 0x48bb88]
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.0x48750c.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x487578
cmp byte [ecx], 0x77
je 0x487578
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 0x487541
cmp dword [esi + 0x58], 0
je 0x487807
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af32
mov edi, 1
jmp 0x486fe0
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 0x487558
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4875bb
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x47d3e0
mov eax, edi
sub eax, 1
je case.0x487f3a.14
jmp case.default.0x48750c
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004692b0
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 0x48ae89
cmp edi, 0xfffffc19
je 0x48ae89
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x487670
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x487f3a.14
push ecx
call dword [0xf7cc98]
add esp, 4
jmp case.0x487f3a.14
test edi, edi
je 0x487694
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x48750c
push ecx
call dword [0xf7cc98]
add esp, 4
jmp case.default.0x48750c
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 0x487739
cmp dword [esi + 0x58], 0
je 0x4876cc
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4876f5
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 + 0x5ac9d0]
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 0x47d3e0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x487650
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x487795
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48777d
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
cmp al, 0x88
jb 0x48aeb8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4877c6
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
test edi, edi
jne case.default.0x48750c
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 0x4877f0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x47d463
test edi, edi
je case.0x47f386.10
jmp case.default.0x48750c
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af42
mov edi, 0xfffffc1b
jmp 0x486fe4
cmp edi, 0xfffffc1b
jne 0x487860
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x487862
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4886e6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48789d
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0048bf30
add esp, 0x14
test eax, eax
jns 0x487928
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x487906
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edi, dword [ebp + 0x78]
jb case.0x487f3a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x480e5e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48795c
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
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.0x48933a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4879b4
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x487a04
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x487f3a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x487f3a.14
jmp 0x47e42f
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.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487a55
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x48933a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487aa4
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x487af4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x487f3a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x487f3a.14
jmp 0x47e42f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x487b0f
cmp dword [esi + 0x94], ecx
jne case.0x487f3a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487b42
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4880f3
dec dword [esi + 8]
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487b91
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480e4a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487c0a
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4880f3
dec dword [esi + 8]
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487c59
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x487ca9
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x487f3a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x487f3a.14
jmp 0x47e42f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x487f3a.14
cmp dword [esi + 0x94], ecx
je case.0x487f3a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487cf7
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487d46
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480e4a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487dbf
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x487e0e
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x487e5e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x480e5e
cmp dword [esi + 0x7c], 0xc
jne 0x487eb9
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x487e8c
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0048d9e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x487eb9
jmp case.0x487f3a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x487eb9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x487eb9
cmp edi, 1
je case.0x487f3a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x487f3a.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.0x4892b8.15
jmp dword [eax*4 + 0x48bb98]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x487ed4.13
cmp edx, dword [ebp + 0x78]
jb case.0x487ed4.13
cmp dword [ebp + 0x18], 0
jne case.0x487ed4.13
cmp dword [ebp + 0x1c], 2
jne case.0x487ed4.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x487ed4.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x487ed4.13
jmp 0x48acfa
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x487f3a.14
movzx eax, byte [ecx + 0x48bbe8]
jmp dword [eax*4 + 0x48bbd8]
cmp edx, dword [ebp + 0x78]
jae case.0x487ed4.13
cmp byte [edx], 0xa
jne case.0x487ed4.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x487ed4.13
cmp dword [ebp + 0x68], 0
je case.0x487ed4.13
jmp case.0x487f3a.14
cmp ecx, 9
je case.0x487f3a.14
cmp ecx, 0x20
je case.0x487f3a.14
cmp ecx, 0xa0
jne case.0x487ed4.13
jmp case.0x487f3a.14
cmp ecx, 9
je case.0x487ed4.13
cmp ecx, 0x20
je case.0x487ed4.13
cmp ecx, 0xa0
je case.0x487ed4.13
jmp case.0x487f3a.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x487ed4.13
movzx eax, byte [ecx + 0x48bc6c]
jmp dword [eax*4 + 0x48bc64]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x487f3a.14
movzx eax, byte [ecx + 0x48bcf0]
jmp dword [eax*4 + 0x48bce8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x487ed4.13
jmp case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x487ed4.13
jmp case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x487ed4.13
jmp case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x487ed4.13
jmp case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x487ed4.13
jmp case.0x487f3a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48806d
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x4880b4
cmp eax, dword [esi + 0x30]
jbe 0x4880b4
cmp byte [eax], 0xa
jne 0x4880b4
dec eax
cmp byte [eax], 0xd
jne 0x4880b4
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4880e9
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x47d3e0
cmp edi, 0xfffffc1a
jne 0x488181
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 0x488179
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 0x488160
jmp 0x4881e1
mov dword [esi + 8], eax
jmp 0x488206
cmp edi, 0xfffffc20
jne 0x4881bb
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.0x48750c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4881c3
cmp byte [ecx], 0x77
jmp 0x4881bd
test edi, edi
jne case.default.0x48750c
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 0x4881fa
cmp dword [esi + 0x5c], 0
jne 0x487807
cmp dword [esi + 0x54], 0
jne 0x487807
jmp case.0x487f3a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x488220
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x488249
push 0x134
call dword [0xf7cc9c]
mov edx, eax
add esp, 4
test edx, edx
je 0x48ac98
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 0x487708
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x488377
jmp 0x48711c
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x48711c
test eax, eax
je 0x48af52
mov edi, 0xfffffc1c
jmp 0x486fe4
test edi, edi
je 0x488321
jmp case.default.0x48750c
cmp edi, 1
je 0x4882b2
cmp edi, 0xfffffc19
jne 0x4882d0
cmp dword [ebp + 0xac], 0
jne 0x4882d0
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x48750c
cmp edi, 0xfffffc1f
jne case.default.0x48750c
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x488314
test dl, dl
je 0x48830d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x488314
add eax, 2
add ecx, 2
test dl, dl
jne 0x4882e5
xor eax, eax
jmp 0x488319
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x48750c
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af62
mov edi, 0xfffffc1e
jmp 0x486fe4
cmp edi, 1
je 0x488352
cmp edi, 0xfffffc19
jne 0x48836b
cmp dword [ebp + 0xac], 0
jne 0x48836b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x48711c
test eax, eax
je 0x48af72
mov edi, 0xfffffc1d
jmp 0x486fe4
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af82
mov edi, 0xfffffc1f
jmp 0x486fe4
cmp edi, 1
je 0x4883c5
cmp edi, 0xfffffc19
jne case.0x486ff4.54
cmp dword [ebp + 0xac], 0
jne case.0x486ff4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48af92
mov edi, 0xfffffc20
jmp 0x486fe4
cmp edi, 0xfffffc1a
jne 0x488467
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 0x48845f
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 0x488443
jmp 0x4884d3
mov dword [esi + 8], eax
jmp 0x47e002
cmp edi, 0xfffffc20
jne 0x4884a1
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.0x48750c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4884a9
cmp byte [ecx], 0x77
jmp 0x4884a3
test edi, edi
jne case.default.0x48750c
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 0x47e002
cmp dword [esi + 0x5c], 0
jne 0x488513
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 0x47dabf
cmp dword [esi + 0x5c], 0
jne 0x47dabf
jmp case.0x487f3a.14
cmp edi, 1
jne 0x4885dd
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x488550
cmp al, 0x77
jne case.0x487f3a.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 0x488550
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 0x47fbc2
cmp ecx, dword [esi + 0x38]
je 0x47fbc2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x48868d
test ecx, ecx
jne 0x4885c2
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
cmp edi, 0xfffffc20
jne 0x488617
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.0x48750c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x48861f
cmp byte [ecx], 0x77
jmp 0x488619
test edi, edi
jne case.default.0x48750c
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 0x48853b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x488672
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
test ecx, ecx
jne 0x4886b3
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
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 0x4880fc
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x47d3f0
test edi, edi
jne case.default.0x48750c
add dword [esi + 0xc], 3
jmp 0x47d3f0
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480e4a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x488807
cmp edx, 0xc0
jb 0x488807
test dl, 0x20
jne 0x48874f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x488804
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x48877a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x488804
test dl, 8
jne 0x4887a1
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 0x488804
test dl, 4
jne 0x4887d0
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 0x488804
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.0048d2c0
add esp, 0xc
test eax, eax
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48884b
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x487f3a.14
test ebx, ebx
je 0x488894
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x488894
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x488888
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4888bd
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x488907
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x480e5e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x488a03
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x48893d
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4889fc
test bl, 0x10
jne 0x48895e
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 0x4889fc
test bl, 8
jne 0x48898b
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 0x4889fc
test bl, 4
jne 0x4889c1
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 0x4889fc
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 0x488a2a
cmp dword [esi + 0x9c], 0x6e
jne 0x488a41
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afc2
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x486fe4
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 0x488a11
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x488a70
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x48933a
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x488ab1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x488aa5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x488ada
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.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 0x488b95
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x488b45
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x488b4a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x488b30
cmp edi, 0xfffffffc
je 0x488b87
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x488b92
cmp edi, 0xfffffffd
je 0x488b87
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x488b92
cmp edi, 0xfffffffe
je 0x488b87
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x488b92
cmp edi, 0xffffffff
je 0x488b87
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x488b92
mov eax, dword [esi + 0x88]
jmp 0x488c16
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x488c59
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x488c59
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x488bd5
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x488bda
add ecx, 4
add edx, 4
sub edi, 4
jae 0x488bc0
cmp edi, 0xfffffffc
je 0x488c13
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x488c59
cmp edi, 0xfffffffd
je 0x488c13
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x488c59
cmp edi, 0xfffffffe
je 0x488c13
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x488c59
cmp edi, 0xffffffff
je 0x488c13
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x488c59
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 0x488c4a
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4880f3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x48933a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x48933a
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x48933a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x48933a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afb2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x486fe4
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x488ccd
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x488cc1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x488d02
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480e4a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x488e3a
test dl, 0x20
jne 0x488d70
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 0x488e3a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x488da0
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 0x488e3a
test dl, 8
jne 0x488dcb
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 0x488e3a
test dl, 4
jne 0x488dff
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 0x488e3a
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.0x487f3a.14
cmp dword [esi + 0x94], eax
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x488e81
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x488ebc
nop dword [eax + eax]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x488eb0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x488ef1
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x488f41
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x487f3a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x487f3a.14
jmp 0x47e42f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x48904d
mov cl, byte [eax]
test bl, 0x20
jne 0x488f72
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x489045
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x488f96
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 0x489045
test bl, 8
jne 0x488fd1
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 0x48904d
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x48900f
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 0x489045
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.0x48933a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x489088
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4890be
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4890b2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4890f3
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x48913f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x480e5e
cmp dword [esi + 0x7c], 0xc
jne 0x489192
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x489169
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0048d9e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x489192
jmp case.0x487f3a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x489192
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x489192
cmp edi, 1
je case.0x487f3a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x487f3a.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 0x4892a9
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4891e3
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x48928e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x489208
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x48928e
test dl, 8
jne 0x48922b
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 0x48928e
test dl, 4
jne 0x48925a
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 0x48928e
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.0x4892b8.15
jmp dword [eax*4 + 0x48bd6c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4892b8.13
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x78]
jb case.0x4892b8.13
cmp dword [ebp + 0x18], 0
jne case.0x4892b8.13
cmp dword [ebp + 0x1c], 2
jne case.0x4892b8.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4892b8.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4892b8.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afb2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x486fe4
cmp edx, 0x85
ja 0x489353
je case.0x48933a.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x48933a
jmp dword [edx*4 + 0x48bdac]
cmp edi, dword [ebp + 0x78]
jae case.0x4892b8.13
cmp byte [edi], 0xa
jne case.0x4892b8.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x4892b8.13
sub edx, 0x2028
je case.0x48933a.11
sub edx, 1
jne case.default.0x48933a
cmp dword [ebp + 0x68], 0
je case.0x4892b8.13
jmp case.default.0x48933a
cmp edx, 0x2000
ja 0x4893f7
je case.default.0x48933a
cmp edx, 0xa0
ja 0x4893e3
je case.default.0x48933a
cmp edx, 9
je case.default.0x48933a
cmp edx, 0x20
je case.default.0x48933a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4893d4
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4880f3
cmp edx, 0x1680
je case.default.0x48933a
cmp edx, 0x180e
jmp 0x48939f
cmp edx, 0x3000
ja case.0x4892b8.13
je case.default.0x48933a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4892b8.13
movzx eax, byte [edx + 0x48bdc4]
jmp dword [eax*4 + 0x48bdbc]
cmp edx, 0x2000
ja 0x48946e
je case.0x4892b8.13
cmp edx, 0xa0
ja 0x489451
je case.0x4892b8.13
cmp edx, 9
je case.0x4892b8.13
cmp edx, 0x20
je case.0x4892b8.13
jmp case.default.0x48933a
cmp edx, 0x1680
je case.0x4892b8.13
cmp edx, 0x180e
je case.0x4892b8.13
jmp case.default.0x48933a
cmp edx, 0x3000
ja case.default.0x48933a
je case.0x4892b8.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x48933a
movzx eax, byte [edx + 0x48be2c]
jmp dword [eax*4 + 0x48be24]
cmp edx, 0x85
ja 0x4894be
je case.default.0x48933a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4892b8.13
jmp dword [edx*4 + 0x48be8c]
sub edx, 0x2028
je case.default.0x48933a
sub edx, 1
jne case.0x4892b8.13
jmp case.default.0x48933a
cmp edx, 0x85
ja 0x4894f9
je case.0x4892b8.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x48933a
jmp dword [edx*4 + 0x48be9c]
sub edx, 0x2028
je case.0x4892b8.13
sub edx, 1
je case.0x4892b8.13
jmp case.default.0x48933a
cmp ecx, 0x100
jae case.0x4892b8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4892b8.13
jmp case.default.0x48933a
cmp ebx, 0x100
jae case.default.0x48933a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4892b8.13
jmp case.default.0x48933a
cmp dword [esp + 0x18], 0x100
jae case.0x4892b8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4892b8.13
jmp case.default.0x48933a
cmp dword [esp + 0x10], 0x100
jae case.default.0x48933a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4892b8.13
jmp case.default.0x48933a
cmp dword [esp + 0x1c], 0x100
jae case.0x4892b8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4892b8.13
jmp case.default.0x48933a
cmp dword [esp + 0x20], 0x100
jae case.default.0x48933a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4892b8.13
jmp case.default.0x48933a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x486ff4
mov edi, 0xfffffff2
jmp 0x486fe0
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x48960c
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x489600
cmp dword [esi + 0x7c], 0x11
jne 0x489635
cmp ecx, dword [esi + 0x30]
jbe 0x489635
cmp byte [ecx], 0xa
jne 0x489635
dec ecx
cmp byte [ecx], 0xd
jne 0x489635
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48966a
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4896ba
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x487f3a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x487f3a.14
jmp 0x47e42f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x489716
cmp ecx, 0xc0
jb 0x489716
test cl, 0x20
jne 0x4896dd
lea eax, [edx + 1]
jmp 0x489713
test cl, 0x10
jne 0x4896ee
add eax, 3
jmp 0x489713
test cl, 8
jne 0x4896ff
add eax, 4
jmp 0x489713
test cl, 4
jne 0x489710
add eax, 5
jmp 0x489713
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48974f
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x489799
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x48989c
cmp eax, 0xc0
jb 0x48989c
test al, 0x20
jne 0x4897d5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x489897
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x4897fb
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 0x489897
test al, 8
jne 0x489827
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 0x489897
test al, 4
jne 0x48985c
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 0x489897
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp eax, 9
je 0x4898e0
cmp eax, 5
je 0x4898e0
cmp eax, 8
je 0x4898e0
xor eax, eax
jmp 0x4898e5
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48991d
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x489967
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x489a7a
cmp eax, 0xc0
jb 0x489a7a
test al, 0x20
jne 0x4899a3
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x489a75
test al, 0x10
jne 0x4899cb
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 0x489a75
test al, 8
jne 0x4899ff
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 0x489a75
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x489a3a
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 0x489a75
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x489ae3
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x489b2d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x489c3f
cmp eax, 0xc0
jb 0x489c3f
test al, 0x20
jne 0x489b69
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x489c3a
test al, 0x10
jne 0x489b8f
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 0x489c3a
test al, 8
jne 0x489bc1
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 0x489c3a
test al, 4
movzx eax, byte [edx]
jne 0x489bfc
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 0x489c3a
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x489ca1
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x489ceb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x489dfd
cmp eax, 0xc0
jb 0x489dfd
test al, 0x20
jne 0x489d27
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x489df8
test al, 0x10
jne 0x489d4d
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 0x489df8
test al, 8
jne 0x489d7f
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 0x489df8
test al, 4
movzx eax, byte [edx]
jne 0x489dba
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 0x489df8
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 + 0x5ae358]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x489e5f
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x489ea9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
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 0x489faa
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x489faa
test al, 0x20
jne 0x489eea
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x489f99
test al, 0x10
jne 0x489f0a
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 0x489f99
test al, 8
jne 0x489f33
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 0x489f99
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x489f66
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 0x489f99
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 + 0x5ae358]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accda]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], edx
jae 0x48a126
mov dword [esp + 0x14], edx
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x48a0c9
cmp edx, 0xc0
jb 0x48a0c9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x48a026
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x48a0c5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x48a045
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x48a0bf
and eax, 0x3f
test dl, 8
jne 0x48a069
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x48a0bf
test dl, 4
jne 0x48a092
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 0x48a0bf
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 + 0x5ae358]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx ecx, byte [eax*8 + 0x5accda]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x5acb60], eax
mov ebp, dword [esp + 0xb0]
je 0x48a126
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 0x489fe1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x48a165
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x48a165
cmp eax, dword [ebp + 0x84]
jbe 0x48a165
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x48a165
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afb2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x486fe4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48a194
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x48a1ce
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x48a1ce
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x48a1c2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48a203
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x48a231
movzx edx, byte [edi]
jmp 0x48a30d
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x48a24c
nop dword [eax]
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x48a240
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x48a30f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x48a27f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x48a30b
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x48a299
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x48a305
and eax, 0x3f
test dl, 8
jne 0x48a2b8
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x48a305
test dl, 4
jne 0x48a2dc
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 0x48a305
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 + 0x5ae358]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx ebx, byte [eax*8 + 0x5accda]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x47d3f0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x48a354
movzx edx, byte [edi]
jmp 0x48a430
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x48a372
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x48a362
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x48a432
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x48a3a2
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x48a42e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x48a3bc
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x48a428
and eax, 0x3f
test dl, 8
jne 0x48a3db
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x48a428
test dl, 4
jne 0x48a3ff
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 0x48a428
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 + 0x5ae358]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x5b0558]
movzx edx, byte [eax*8 + 0x5accda]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5acb60], eax
je 0x485c65
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x48a331
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x48a4b3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x48a5c7
cmp eax, 0xc0
jb 0x48a5c7
test al, 0x20
jne 0x48a4ef
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x48a5c2
test al, 0x10
jne 0x48a515
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 0x48a5c2
test al, 8
jne 0x48a547
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 0x48a5c2
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x48a584
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 0x48a5c2
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x48a609
cmp eax, 3
je 0x48a609
xor eax, eax
jmp 0x48a60e
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48a646
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480e4a
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 0x48a7aa
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x48a7aa
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x48a6cf
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 0x48a7ae
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x48a6fb
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 0x48a7ae
test dl, 8
jne 0x48a72c
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 0x48a7ae
test dl, 4
jne 0x48a766
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 0x48a7ae
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 0x48a7ae
mov edi, dword [esp + 0x14]
cmp ecx, 0x24
je 0x48a7ec
cmp eax, 0x40
je 0x48a7ec
cmp ebx, 0x60
je 0x48a7ec
cmp edi, 0xa0
jb 0x48a7d9
cmp edx, 0xd7ff
jbe 0x48a7ec
cmp edx, 0xe000
jae 0x48a7ec
xor eax, eax
jmp 0x48a7f1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x48933a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48a829
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4880f3
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x480e4a
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 0x48a973
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x48a973
test dl, 0x20
jne 0x48a8b1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x48a962
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x48a8dc
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x48a962
test dl, 8
jne 0x48a8ff
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 0x48a962
test dl, 4
jne 0x48a92e
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 0x48a962
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 0x48a998
cmp eax, 0x20
je case.0x48aaa6.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x48aaa6.8203
jmp dword [eax*4 + 0x48beac]
cmp edx, 0x2000
ja 0x48aa7a
cmp ecx, 0x2000
je case.0x48aaa6.8193
cmp edi, 0x1680
ja 0x48aa6f
cmp edx, 0x1680
je case.0x48aaa6.8193
mov eax, edx
sub eax, 0x85
je case.0x48aaa6.8193
sub eax, 0x1b
je case.0x48aaa6.8193
mov eax, edx
test eax, eax
jns 0x48a9eb
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5ae358]
shl eax, 7
and edx, 0x8000007f
jns 0x48aa09
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
cmp dword [eax*4 + 0x5acae8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x48933a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48aa60
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48ac98
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4880f3
cmp edx, 0x180e
jmp 0x48a9d8
cmp ebx, 0x3000
ja case.0x48aaa6.8203
cmp dword [esp + 0x18], 0x3000
je case.0x48aaa6.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x48aaa6.8203
movzx eax, byte [eax + 0x48bec8]
jmp dword [eax*4 + 0x48bec0]
cmp dword [esi + 0x68], 0
je 0x48aa31
jmp case.default.0x48933a
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x48aafb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edx, dword [ebp + 0x84]
jmp 0x480e5e
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 0x48ac16
cmp eax, 0xc0
jb 0x48ac16
test al, 0x20
jne 0x48ab3c
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x48ac0f
test al, 0x10
jne 0x48ab62
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 0x48ac0f
test al, 8
jne 0x48ab94
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 0x48ac0f
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x48abd1
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 0x48ac0f
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 + 0x5ae358]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x5b0558]
movzx eax, byte [eax*8 + 0x5accd9]
mov eax, dword [eax*4 + 0x5acae8]
cmp eax, 1
je 0x48ac61
cmp eax, 3
je 0x48ac61
cmp ebx, 0x5f
je 0x48ac61
xor eax, eax
jmp 0x48ac66
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x48933a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48aeca
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x48aec0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afcf
mov edi, 0xfffffffa
jmp 0x486fe0
test edi, edi
jne case.default.0x48750c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x487f3a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x48ad10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x487f3a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x487f3a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x487f3a.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afb2
mov edi, 0xfffffff4
jmp 0x486fe4
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x48ae00
cmp edx, 0xc0
jb 0x48ae00
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x48ad50
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x48adfb
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x48ad75
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x48adfb
test dl, 8
jne 0x48ad98
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 0x48adfb
test dl, 4
jne 0x48adc7
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 0x48adfb
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 + 0x5acb98]
lea eax, [eax*4 + 0x5acb98]
jb 0x48ae2d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x48ae4a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x48ae20
cmp dword [esi + 0x68], 0
jne 0x48ae50
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afc2
xor edi, edi
jmp 0x486fe4
cmp dword [esi + 0x68], 0
jne case.0x487f3a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x48aee3
push 0x134
call dword [0xf7cc9c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x48aed9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x48afcf
lea edi, [ecx - 6]
jmp 0x486fe4
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x48aea4
push ecx
call dword [0xf7cc98]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x47d463
mov dword [esi + 0xc], ecx
jmp 0x47d3f0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4880f3
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4880f3
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