Function at 0x49f290
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
mov edi, edi
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 0x49f31b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acbc2
mov edi, 0xfffffff8
jmp 0x4a8ecc
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x49f339
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acbd2
mov edi, 0xffffffeb
jmp 0x4a8ecc
cmp dword [ebp + 0x98], 2
jne 0x49f363
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.0x49f38f.98
movzx eax, byte [eax + 0x4ace0c]
jmp dword [eax*4 + 0x4accc0]
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 0x49f3cd
push 0x134
call dword [0xd91300]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac983
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 + 0x55c438]
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 0x49f2e0
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f43c
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f479
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
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 0x49f4c8
push 0x134
call dword [0xd91300]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac983
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x49f3d7
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f4fc
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x49f53d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x55c438]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x49f363
mov edi, dword [esi + 4]
test edi, edi
jne 0x49f562
push 0x134
call dword [0xd91300]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac983
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x49f3d7
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f596
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
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 0x49f5e5
push 0x134
call dword [0xd91300]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac983
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x49f3d7
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 0x4aa484
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.0x49f38f.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 0x4a8f64
mov dword [esi + 0x54], ebx
jmp 0x49fe7f
mov dword [esi + 0x54], ebx
jmp 0x49fea3
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 0x49f7b3
mov edi, dword [0xd93e58]
test edi, edi
je 0x49f79f
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 eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
mov dword [esp + 0x54], eax
jne 0x49f764
mov dword [esp + 0x54], 0xffffffff
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.0x4ab0fc
jns 0x49f79f
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a9001
jmp 0x4a8ec8
movzx eax, byte [0x55c4ae]
add dword [esi + 0xc], eax
movzx eax, byte [0x55c4ae]
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.0x49f7d6.146
movzx eax, byte [eax + 0x4acec8]
jmp dword [eax*4 + 0x4aceb0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x49f7d6.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x49f8bd
cmp ecx, dword [edx + 4]
je 0x49f8bd
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x4a922b
movzx ecx, byte [ecx + 0x55c438]
jmp 0x4a922e
cmp dword [ebp + 0xa4], 0
je case.0x49f7d6.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 0x49f80e
mov ebx, eax
lea ebx, [ebx]
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 0x49f80e
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x49f860
jmp 0x49f80e
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 0x49f809
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49f809
mov eax, 1
jmp 0x49f80b
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.0x49f7d6.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 0x49f91a
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49f91a
mov eax, 1
jmp 0x49f91c
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x49f80e
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x49f8f0
jmp 0x49f80e
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49f966
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9490
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 0x49f9d3
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x49f363
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 0x49f9ca
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x49fa23
mov eax, ecx
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x49fa14
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x49f363
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x49fa6e
cmp cl, 0x9f
je 0x49fa6e
cmp dword [ebp + 0xa4], ebx
jne 0x49fa6e
cmp dword [ebp + 0x5c], ebx
jne case.default.0x4ab0fc
cmp dword [ebp + 0x60], ebx
je 0x49fa6e
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x4ab0fc
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov eax, dword [esi]
neg edi
mov esi, eax
sbb edi, edi
and edi, 0xfffffc18
inc edi
test eax, eax
je 0x4a9001
jmp 0x4a8ec8
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49fac9
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a930b
mov dword [esi + 0x58], ebx
jmp 0x4a930b
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49faf5
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a9451
mov dword [esi + 0x58], ebx
jmp 0x4a9451
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x49fb42
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x49fb60
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x4a9dcf.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49fb3c
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49fb30
test edx, edx
jg 0x49fb17
jmp 0x49fb60
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.0x4a9dcf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x49f9ca
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x49f363
mov edi, dword [0xd93e58]
test edi, edi
je 0x49fc68
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 eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
mov dword [esp + 0x88], eax
jne 0x49fc27
mov dword [esp + 0x88], 0xffffffff
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.0x4ab0fc
jns 0x49fc68
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a9001
jmp 0x4a8ec8
add dword [esi + 0xc], 6
jmp 0x49f363
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 0x49fc92
xor edx, edx
jmp 0x49fc9f
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 0x49fcc5
lea esp, [esp]
cmp edx, dword [ecx + 4]
jne 0x49fcbd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x49fd02
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x49fcb0
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 0x49fd18
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x49fd30
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acbe2
mov edi, 0xffffffe6
jmp 0x4a8ec8
shl eax, 2
push eax
call dword [0xd912f8]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4ac983
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.004adc20
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4a9577
mov edx, dword [esi + 0xc]
lea esp, [esp]
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 0x49fd60
jmp 0x49f363
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49fda8
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
jmp 0x49fdd0
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 0x49fdd0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49fe0e
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
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 0x49fe30
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x49f363
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 0x49fe7f
cmp eax, 0x8b
jne 0x49fea3
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 0x49fec0
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 0x4aa07b
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 0x49ff3d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49ff66
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
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 0x49ffa2
cmp al, 0x81
je 0x49ffa2
mov dword [esi + 0x38], ebx
jmp 0x49ffb3
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 0x49ffc0
cmp al, 0x80
jbe 0x49ffc4
cmp al, 0x82
jne 0x49ffe1
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 0x4a9421
cmp al, 0x85
je 0x49fff5
cmp al, 0x8a
je 0x49fff5
cmp al, 0x86
je 0x49fff5
cmp al, 0x8b
jne 0x4a00cb
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 0x4a003a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x4a003a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x4a9421
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 0x4a0069
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x4a00cb
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x4a008f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x4a008f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4a0080
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 0x4a00cb
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x4a0103
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 0x4acbf2
mov edi, 0xfffffc1a
jmp 0x4a8ec8
cmp cl, 0x78
je 0x4a0193
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x4a0193
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x4a0159
test ecx, ecx
jne 0x4a013e
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
test ecx, ecx
jne 0x4a017b
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4a1ad2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a01c4
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
cmp dword [ebp + 0x44], ebx
je case.0x49f38f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4ab0fc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x4a1296.10
jmp case.default.0x4ab0fc
cmp dword [ebp + 0x44], ebx
je 0x4a0212
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4ab0fc
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x4a1296.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x4ab0fc
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4a025d
cmp ecx, edi
jbe 0x4a0252
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0050a5d0
add esp, 0x14
test eax, eax
je 0x4a0252
mov eax, 1
jmp 0x4a0254
xor eax, eax
test eax, eax
jne case.0x4a1296.10
jmp case.default.0x4ab0fc
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x4ab0fc
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x4ab0fc
cmp edx, 1
je case.0x4a1296.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a1296.10
jmp case.default.0x4ab0fc
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x4a1296.10
jmp case.default.0x4ab0fc
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x49f363
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a0354
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a02e2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0050a440
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x4a1296.10
jmp 0x4a0303
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a02ff
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a02ff
cmp edi, 1
je case.0x4a1296.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a1296.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9dcf.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x4a9dcf.14
cmp dword [ebp + 0x18], 0
jne case.0x4a9dcf.14
cmp dword [ebp + 0x1c], 2
jne case.0x4a9dcf.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4a9dcf.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4ac9e5
jmp case.0x4a9dcf.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x4ab0fc
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a1296.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x4a1296.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x4a1296.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc82
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8ecc
cmp dword [ebp + 0x48], ebx
jne case.default.0x4ab0fc
cmp dword [ebp + 0x58], ebx
je case.0x49f38f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a12a2
jmp case.default.0x4ab0fc
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a035d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a03ee
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a440
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a041c
jmp 0x4a040b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a041c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a041c
cmp edi, 1
je 0x4a040b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4a041c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x4a035d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4ab0fc
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4ab0fc
cmp dword [ebp + 0x18], ebx
jne case.default.0x4ab0fc
cmp dword [ebp + 0x1c], 2
jne case.default.0x4ab0fc
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x4ab0fc
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x4ab0fc
jmp 0x4a0387
cmp dword [esp + 0x28], ebx
je 0x4a0728
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x4a0486
mov dword [esi + 0x5c], ebx
jmp 0x4a05b5
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x4a049e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x4a0492
cmp ecx, dword [ebp + 0x84]
jae 0x4a04ac
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x4a0563
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a04da
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x4a055b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x4a04ed
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4a0555
and eax, 0x3f
test bl, 8
jne 0x4a0508
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4a0555
test bl, 4
jne 0x4a052c
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 0x4a0555
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 0x4a05eb
cmp edx, 0x5f
jne 0x4a057d
mov dword [esi + 0x5c], 1
jmp 0x4a05b5
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x55e200]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a05fc
cmp eax, 3
je 0x4a05fc
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0603
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a05df
cmp edi, dword [ebp + 0x84]
jbe 0x4a05df
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
mov dword [esi + 0x54], 0
jmp 0x4a0843
cmp edi, 0x100
jae 0x4a05b0
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4a05b0
mov eax, 1
jmp 0x4a05b2
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a06ba
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a0631
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a06b2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a0644
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4a06ac
and eax, 0x3f
test dl, 8
jne 0x4a065f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a06ac
test dl, 4
jne 0x4a0683
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 0x4a06ac
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 0x4a070d
cmp edi, 0x5f
jne 0x4a06d3
mov dword [esi + 0x54], 1
jmp 0x4a0843
shr eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a071e
cmp eax, 3
je 0x4a071e
xor eax, eax
jmp 0x4a0840
cmp ebx, 0x100
jae 0x4a0706
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a0706
mov eax, 1
jmp 0x4a0840
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4a0738
mov dword [esi + 0x5c], ebx
jmp 0x4a07c2
cmp eax, dword [ebp + 0x84]
ja 0x4a0747
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x4a07b2
cmp ecx, 0x5f
jne 0x4a0761
mov dword [esi + 0x5c], 1
jmp 0x4a07c2
mov eax, ecx
test eax, eax
jns 0x4a076a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a0784
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a07ab
cmp eax, 3
je 0x4a07ab
xor eax, eax
jmp 0x4a07bf
mov eax, 1
jmp 0x4a07bf
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 0x4a07f1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a07ec
cmp eax, dword [ebp + 0x84]
jbe 0x4a07ec
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4a0387
mov dword [esi + 0x54], ebx
jmp 0x4a0843
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x4a0833
cmp ecx, 0x5f
jne 0x4a0807
mov dword [esi + 0x54], 1
jmp 0x4a0843
mov eax, ecx
test eax, eax
jns 0x4a0810
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a06e3
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x4a06e3
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 0x4a085e
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x4a0866
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x49f363
jmp case.default.0x4ab0fc
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4a08ad
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4a08a2
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0050a440
add esp, 0x14
test eax, eax
je 0x4a08a2
mov eax, 1
jmp 0x4a08a4
xor eax, eax
test eax, eax
je 0x4a08d8
jmp case.default.0x4ab0fc
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4a08d8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a08d8
cmp edx, 1
je case.default.0x4ab0fc
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4ab0fc
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x49f38f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x49f38f.13
cmp dword [ebp + 0x18], ebx
jne case.0x49f38f.13
cmp dword [ebp + 0x1c], 2
jne case.0x49f38f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x49f38f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4a0387
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4a0946
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x4ab0fc
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4ab0fc
jmp 0x4a0387
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x4a1296.10
cmp ecx, dword [ebp + 0x78]
jae case.0x4a1296.10
lea ecx, [ecx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x4a1296.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a0960
inc dword [esi + 0xc]
jmp 0x49f363
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a09a4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4ab0fc
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4ab0fc
jmp 0x4a0457
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49f363
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a09d1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a0abb
cmp edx, 0xc0
jb 0x4a0abb
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a0a0f
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0ab6
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a0a30
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a0ab6
test dl, 8
jne 0x4a0a53
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 0x4a0ab6
test dl, 4
jne 0x4a0a82
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 0x4a0ab6
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.0x4a1296.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a0af9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edx, dword [ebp + 0x84]
jmp 0x4a092b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a0bf6
cmp ecx, 0xc0
jb 0x4a0bf6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0b35
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0bf1
test cl, 0x10
jne 0x4a0b56
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 0x4a0bf1
test cl, 8
jne 0x4a0b80
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 0x4a0bf1
test cl, 4
jne 0x4a0bb6
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 0x4a0bf1
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.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0c34
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a0d3c
cmp edx, 0xc0
jb 0x4a0d3c
test dl, 0x20
jne 0x4a0c70
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0d37
test dl, 0x10
jne 0x4a0c97
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 0x4a0d37
test dl, 8
jne 0x4a0cc7
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 0x4a0d37
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a0d03
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 0x4a0d37
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.0x4a1296.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a0d7a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edx, dword [ebp + 0x84]
jmp 0x4a092b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a0e77
cmp ecx, 0xc0
jb 0x4a0e77
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0db6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0e72
test cl, 0x10
jne 0x4a0dd7
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 0x4a0e72
test cl, 8
jne 0x4a0e01
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 0x4a0e72
test cl, 4
jne 0x4a0e37
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 0x4a0e72
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.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0eb5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a0fbd
cmp edx, 0xc0
jb 0x4a0fbd
test dl, 0x20
jne 0x4a0ef1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0fb8
test dl, 0x10
jne 0x4a0f18
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 0x4a0fb8
test dl, 8
jne 0x4a0f48
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 0x4a0fb8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a0f84
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 0x4a0fb8
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.0x4a1296.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a0ffb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edx, dword [ebp + 0x84]
jmp 0x4a092b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a10f8
cmp ecx, 0xc0
jb 0x4a10f8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a1037
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a10f3
test cl, 0x10
jne 0x4a1058
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 0x4a10f3
test cl, 8
jne 0x4a1082
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 0x4a10f3
test cl, 4
jne 0x4a10b8
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 0x4a10f3
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.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1136
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a1276
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x4a1276
test dl, 0x20
jne 0x4a1186
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 0x4a127a
test dl, 0x10
jne 0x4a11b6
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 0x4a127a
test dl, 8
jne 0x4a11f2
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 0x4a127a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a1237
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 0x4a127a
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 0x4a127a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x4a12d9
cmp ecx, 0x85
je case.0x4a1296.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab0fc
jmp dword [edx*4 + 0x4acedc]
cmp edi, dword [ebp + 0x78]
jb 0x4a12c4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a1296.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a1296.10
cmp ecx, 1
jmp 0x4a037a
cmp byte [eax], 0xa
jne case.0x4a1296.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49f363
sub edx, 0x2028
je case.0x4a1296.11
sub edx, 1
jne case.default.0x4ab0fc
cmp dword [ebp + 0x68], 0
je case.0x4a1296.10
jmp case.default.0x4ab0fc
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a131a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a1435
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4a1435
test dl, 0x20
jne 0x4a1361
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1428
test dl, 0x10
jne 0x4a1388
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 0x4a1428
test dl, 8
jne 0x4a13b8
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 0x4a1428
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a13f4
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 0x4a1428
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 0x4a149b
cmp edx, 0x2000
je case.default.0x4ab0fc
cmp edx, 0xa0
ja 0x4a147b
cmp ebx, 0xa0
je case.default.0x4ab0fc
cmp edx, 9
je case.default.0x4ab0fc
cmp edx, 0x20
je case.default.0x4ab0fc
inc dword [esi + 0xc]
jmp 0x49f363
cmp edi, 0x1680
je case.default.0x4ab0fc
cmp edx, 0x180e
je case.default.0x4ab0fc
inc dword [esi + 0xc]
jmp 0x49f363
cmp eax, 0x3000
ja case.0x4a1296.10
cmp ecx, 0x3000
je case.default.0x4ab0fc
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a1296.10
movzx eax, byte [edx + 0x4acef4]
jmp dword [eax*4 + 0x4aceec]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a14f0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edx, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a1600
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x4a1600
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a1537
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a15f3
test cl, 0x10
jne 0x4a1558
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 0x4a15f3
test cl, 8
jne 0x4a1582
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 0x4a15f3
test cl, 4
jne 0x4a15b8
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 0x4a15f3
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 0x4a1660
cmp ecx, 0x2000
je case.0x4a1296.10
cmp ecx, 0xa0
ja 0x4a1643
cmp ebx, 0xa0
je case.0x4a1296.10
cmp ecx, 9
je case.0x4a1296.10
cmp ecx, 0x20
je case.0x4a1296.10
jmp case.default.0x4ab0fc
cmp edx, 0x1680
je case.0x4a1296.10
cmp ecx, 0x180e
je case.0x4a1296.10
jmp case.default.0x4ab0fc
cmp eax, 0x3000
ja case.default.0x4ab0fc
cmp edi, 0x3000
je case.0x4a1296.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4ab0fc
movzx eax, byte [ecx + 0x4acf5c]
jmp dword [eax*4 + 0x4acf54]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a16b5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a17cd
cmp edx, 0xc0
jb 0x4a17cd
test dl, 0x20
jne 0x4a16f5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x4a17c6
test dl, 0x10
jne 0x4a171c
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 0x4a17c6
test dl, 8
jne 0x4a174f
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 0x4a17c6
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x4a178b
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 0x4a17c6
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 0x4a17f3
cmp eax, 0x85
je case.0x4a9dcf.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a1296.10
jmp dword [edx*4 + 0x4acfbc]
sub edx, 0x2028
je case.0x4a9dcf.14
sub edx, 1
jne case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a182e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a1920
cmp edx, 0xc0
jb 0x4a1920
test dl, 0x20
jne 0x4a186c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1919
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a1893
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a1919
test dl, 8
jne 0x4a18b6
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 0x4a1919
test dl, 4
jne 0x4a18e5
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 0x4a1919
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 0x4a1946
cmp eax, 0x85
je case.0x4a1296.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a9dcf.14
jmp dword [edx*4 + 0x4acfcc]
sub edx, 0x2028
je case.0x4a1296.10
sub edx, 1
je case.0x4a1296.10
jmp case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1981
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a1a94
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a1a94
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a19da
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1a81
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a19fb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a1a81
test dl, 8
jne 0x4a1a1e
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 0x4a1a81
test dl, 4
jne 0x4a1a4d
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 0x4a1a81
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 + 0x55e200]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x560400]
cmp ecx, 0xa
ja case.0x4ab07a.15
jmp dword [ecx*4 + 0x4acfdc]
cmp dword [esi + 0x9c], 0xf
je case.default.0x4ab0fc
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x49f363
mov al, byte [ebx*8 + 0x55cb81]
cmp al, 9
je 0x4a1af4
cmp al, 5
je 0x4a1af4
cmp al, 8
je 0x4a1af4
xor ecx, ecx
jmp 0x4a1af9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x4a1ad2
jmp case.default.0x4ab0fc
movzx ecx, byte [ebx*8 + 0x55cb81]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x55c550]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x4a1ad2
jmp case.default.0x4ab0fc
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x55cb81]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x4a1ad2
jmp case.default.0x4ab0fc
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x55cb80]
jmp 0x4a1b47
movzx eax, byte [ebx*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a1af4
cmp eax, 3
je 0x4a1af4
xor ecx, ecx
jmp 0x4a1af9
cmp edx, 0x20
ja 0x4a1bb3
je case.0x4a1abe.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4a1c2f.8203
jmp dword [edx*4 + 0x4ad008]
cmp edx, 0x2000
ja 0x4a1c0f
je case.0x4a1abe.0
cmp edx, 0x1680
ja 0x4a1c07
je case.0x4a1abe.0
sub edx, 0x85
je case.0x4a1abe.0
sub edx, 0x1b
je case.0x4a1abe.0
movzx eax, byte [ebx*8 + 0x55cb81]
xor ecx, ecx
cmp dword [eax*4 + 0x55c550], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x4a1b53
cmp edx, 0x180e
jmp 0x4a1bde
cmp edx, 0x3000
ja case.0x4a1c2f.8203
je case.0x4a1abe.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a1c2f.8203
movzx eax, byte [edx + 0x4ad024]
jmp dword [eax*4 + 0x4ad01c]
movzx eax, byte [ebx*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a1af4
cmp eax, 3
je 0x4a1af4
cmp edx, 0x5f
je 0x4a1af4
xor ecx, ecx
jmp 0x4a1af9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x55ca40]
cmp ecx, dword [eax]
jb 0x4a1c8d
mov ecx, dword [eax]
lea esp, [esp]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a1c9f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a1c80
cmp dword [esi + 0x9c], 0x10
jne 0x4a1ad2
jmp case.default.0x4ab0fc
cmp dword [esi + 0x9c], 0x10
je 0x4a1ad2
jmp case.default.0x4ab0fc
cmp dword [esp + 0x24], 0x24
je 0x4a1af4
cmp dword [esp + 0x1c], 0x40
je 0x4a1af4
cmp edx, 0x60
je 0x4a1af4
cmp edx, 0xa0
jb 0x4a1ce4
cmp edx, 0xd7ff
jbe 0x4a1af4
cmp edx, 0xe000
jae 0x4a1af4
xor ecx, ecx
jmp 0x4a1af9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a1d18
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edx, dword [ebp + 0x84]
jmp 0x4a092b
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 0x4a1e05
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x4a1e05
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a1d5b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x4a1dfa
test al, 0x10
jne 0x4a1d73
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x4a1df4
test al, 8
jne 0x4a1d94
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 0x4a1df4
test al, 4
jne 0x4a1dc1
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 0x4a1df4
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 + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x55e200]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb82]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x14], edx
jae 0x4a1f72
mov dword [esp + 0x14], edx
lea esp, [esp]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a1f19
cmp edx, 0xc0
jb 0x4a1f19
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a1e81
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a1f15
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a1e99
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a1f0f
and eax, 0x3f
test dl, 8
jne 0x4a1eb9
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a1f0f
test dl, 4
jne 0x4a1ee2
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 0x4a1f0f
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 + 0x55e200]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx ecx, byte [eax*8 + 0x55cb82]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55c5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4a1f72
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x4a1e40
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a1296.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x4a1296.10
jmp 0x4a12b0
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 0x4a2087
mov edx, edi
mov dword [esp + 0x14], edi
mov edi, 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 0x4a2019
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x4a202a
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x14], edi
mov edx, edi
test ebx, ebx
jg 0x4a1ff0
jmp 0x4a2087
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x4a2081
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 0x4a2077
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x4a2077
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x4a2081
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.0x4a20a2
movzx eax, byte [ecx + 0x4ad08c]
jmp dword [eax*4 + 0x4ad084]
lea eax, [edx + 1]
mov edx, ecx
mov dword [esi + 0xc], eax
and edx, 1
movsx eax, byte [ecx + 0x555278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x555284]
mov dword [esp + 0x14], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a2127
mov dword [esi + 0x8c], closesocket
jmp 0x4a2127
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x14], 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 0x4a2123
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x49f363
jns 0x4a2144
cmp dword [esi + 0x90], 0
je 0x49f363
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a2189
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.0049ef50
add esp, 0x14
test eax, eax
js 0x4a21a7
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x4a2156
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x14], 0
je 0x4a21d2
mov dword [esi + 0x84], eax
jmp 0x4a97dc
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a21b6
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x78]
jb case.default.0x4ab0fc
jmp 0x4a0925
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x4a9828
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0049ef50
add esp, 0x14
test eax, eax
js 0x4a2215
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4a21de
cmp eax, 0xfffffffe
jne 0x4a9828
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a9828
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4a9828
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a9828
jmp 0x4a0387
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0049ef50
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x4a22ae
cmp ecx, 0xfffffffe
jne 0x4a2283
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4ab0fc
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4ab0fc
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4ab0fc
jmp 0x4a0457
add dword [esi + 8], ecx
jmp 0x49f363
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.0x4a22de
movzx eax, byte [ecx + 0x4ad09c]
jmp dword [eax*4 + 0x4ad094]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a22fb
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a2303
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x555278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x555284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a2398
mov dword [esi + 0x8c], closesocket
jmp 0x4a2398
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 0x4a237e
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a2398
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x14], ebx
test ecx, ecx
je 0x4a2510
cmp dword [esi + 0x90], ebx
jl 0x4a255b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4a24d0
test bl, 0x20
jne 0x4a2407
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 0x4a24d0
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4a2435
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 0x4a24d0
test bl, 8
jne 0x4a245f
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 0x4a24d0
test bl, 4
jne 0x4a2495
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 0x4a24d0
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 0x4a24e0
cmp dword [esi + 0x9c], 0x6e
jmp 0x4a24f3
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.0x4ab0fc
mov ebx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a23c0
jmp 0x4a2557
cmp dword [esi + 0x90], ebx
jl 0x4a255b
jmp 0x4a2520
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
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.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2520
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a2587
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x4aa86b
jmp 0x4a98d5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4a276c
cmp eax, dword [esi + 0x8c]
jge 0x4a275c
jmp 0x4a25b0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a273a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4a26e5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a2605
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 0x4a26ea
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4a2634
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 0x4a26ea
test bl, 8
jne 0x4a2668
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 0x4a26ea
test bl, 4
jne 0x4a26a5
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 0x4a26ea
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 0x4a26ea
mov eax, 1
cmp edx, 0xff
jbe 0x4a26fd
cmp dword [esi + 0x9c], 0x6e
je 0x4a275c
jmp 0x4a271e
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 0x4a275c
mov eax, dword [esp + 0x1c]
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 0x4a25b0
jmp 0x4a275c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a275c
cmp edi, dword [ebp + 0x84]
jbe 0x4a275c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4aa8d1
cmp eax, dword [esi + 0x8c]
jge 0x4a27d1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a27af
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 0x4a27d1
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a2774
jmp 0x4a27d1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a27d1
cmp ebx, dword [ebp + 0x84]
jbe 0x4a27d1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4a9918
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.0x4a2817
movzx eax, byte [ecx + 0x4ad0b0]
jmp dword [eax*4 + 0x4ad0a8]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a2834
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a283c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x555278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x555284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a28cd
mov dword [esi + 0x8c], closesocket
jmp 0x4a28cd
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 0x4a28b3
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a28cd
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 0x4a2a02
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x4a29d9
cmp edx, 0xc0
jb 0x4a29d9
test dl, 0x20
jne 0x4a2929
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a29d6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a2950
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a29d6
test dl, 8
jne 0x4a2973
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 0x4a29d6
test dl, 4
jne 0x4a29a2
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 0x4a29d6
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.0050aab0
add esp, 0xc
test eax, eax
je case.default.0x4ab0fc
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4a28e2
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a2a20
mov dword [esi + 0x84], eax
jmp 0x4aa651
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a2b71
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2b4f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x4a2b21
cmp edx, 0xc0
jb 0x4a2b21
test dl, 0x20
jne 0x4a2a81
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4a2b19
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a2aa3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a2b19
and eax, 0x3f
test dl, 8
jne 0x4a2ac3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a2b19
test dl, 4
jne 0x4a2aec
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 0x4a2b19
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.0050aab0
add esp, 0xc
test eax, eax
je 0x4a2b71
mov eax, dword [esp + 0x14]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a2a40
jmp 0x4a2b71
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2b71
cmp edi, dword [ebp + 0x84]
jbe 0x4a2b71
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4aa6bc
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a2d3d
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 0x4a2cc8
test bl, 0x20
jne 0x4a2bdb
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 0x4a2cc8
test bl, 0x10
jne 0x4a2c10
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 0x4a2cc8
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 0x4a2c51
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 0x4a2cc8
test bl, 4
jne 0x4a2c8a
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 0x4a2cc8
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 0x4a2cfd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edx, edi
jb case.default.0x4ab0fc
cmp edx, dword [ebp + 0x84]
jmp 0x4a092b
test ecx, ecx
jle 0x4a2d2f
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.0x4ab0fc
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4a2d01
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x49f363
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4a2d79
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ac9e5
jmp case.0x4a9dcf.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 0x4a3097
jmp case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a2db5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp edi, dword [ebp + 0x84]
jmp 0x4a092b
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a3078
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 0x4a2efc
test bl, 0x20
jne 0x4a2e0f
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 0x4a2efc
test bl, 0x10
jne 0x4a2e44
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 0x4a2efc
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 0x4a2e85
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 0x4a2efc
test bl, 4
jne 0x4a2ebe
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 0x4a2efc
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 0x4a2f2a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x4ab0fc
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x49f363
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4a301d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a2f59
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3018
test cl, 0x10
jne 0x4a2f7a
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 0x4a3018
test cl, 8
jne 0x4a2fa7
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 0x4a3018
test cl, 4
jne 0x4a2fdd
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 0x4a3018
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 0x49f363
mov eax, edx
test eax, eax
jns 0x4a303d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3058
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x560400]
mov eax, dword [eax*8 + 0x55cb84]
add eax, edx
cmp edi, eax
je 0x49f363
jmp case.default.0x4ab0fc
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.0x4a9dcf.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x49f363
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 0x4a31b5
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 0x4a30fa
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4a3102
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4a31b5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a31b5
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a31b5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a31b5
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 + 0x555278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x555284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a31b5
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a3609
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 0x4a32fe
test bl, 0x20
jne 0x4a3211
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 0x4a32fe
test bl, 0x10
jne 0x4a3246
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 0x4a32fe
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 0x4a3287
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 0x4a32fe
test bl, 4
jne 0x4a32c0
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 0x4a32fe
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 0x4a361a
cmp dword [esi + 0x9c], 0x2e
jb 0x4a3370
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x4a332c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3347
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x560400]
mov ecx, dword [eax*8 + 0x55cb84]
add ecx, edx
cmp ecx, edx
je 0x4a3370
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0050a770
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4a3377
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x14], 1
cmp eax, 1
jl 0x4a3484
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 0x4a33fe
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a33c1
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a33c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a33b0
cmp edi, 0xfffffffc
je 0x4a33f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a33fb
cmp edi, 0xfffffffd
je 0x4a33f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a33fb
cmp edi, 0xfffffffe
je 0x4a33f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a33fb
cmp edi, 0xffffffff
je 0x4a33f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a33fb
mov eax, dword [esi + 0x88]
jmp 0x4a3466
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a34a2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a34a2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a3431
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3436
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3420
cmp edi, 0xfffffffc
je 0x4a3463
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a34a2
cmp edi, 0xfffffffd
je 0x4a3463
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a34a2
cmp edi, 0xfffffffe
je 0x4a3463
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a34a2
cmp edi, 0xffffffff
je 0x4a3463
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a34a2
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x14]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], edx
cmp edx, eax
jle 0x4a3390
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a34c4
mov dword [esi + 0x84], eax
jmp 0x4aaa05
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4ab0fc
cmp ebx, dword [ebp + 0x84]
jmp 0x4a092b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a35f9
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 0x4a354e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a3511
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3516
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3500
cmp edi, 0xfffffffc
je 0x4a3543
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a354b
cmp edi, 0xfffffffd
je 0x4a3543
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a354b
cmp edi, 0xfffffffe
je 0x4a3543
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a354b
cmp edi, 0xffffffff
je 0x4a3543
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a354b
mov eax, dword [esi + 0x88]
jmp 0x4a35b6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a35d2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a35d2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a3581
jmp 0x4a3570
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3586
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3570
cmp edi, 0xfffffffc
je 0x4a35b3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a35d2
cmp edi, 0xfffffffd
je 0x4a35b3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a35d2
cmp edi, 0xfffffffe
je 0x4a35b3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a35d2
cmp edi, 0xffffffff
je 0x4a35b3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a35d2
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x14]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a34e0
jmp 0x4a35f9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a35f9
cmp ebx, dword [ebp + 0x78]
jb 0x4a35f9
cmp ebx, dword [ebp + 0x84]
jbe 0x4a35f9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4aaaad
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4a361e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4a3718
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 0x4a3684
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a988e
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a3673
cmp dword [esi + 0x94], ecx
jne case.0x4a9dcf.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x4a3650
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a36a2
mov dword [esi + 0x84], eax
jmp 0x4a99be
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4a3708
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a36e6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4a36d5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4a3708
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a36b8
jmp 0x4a3708
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a3708
cmp eax, dword [ebp + 0x84]
jbe 0x4a3708
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4ac9e5
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4a9a01
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a374f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a376d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x4ab0fc
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x4a3725
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a3786
mov dword [esi + 0x84], eax
jmp 0x4a9a86
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp ebx, dword [ebp + 0x84]
jmp 0x4a092b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a37e6
lea ebx, [ebx]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a37c4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4a37e6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a37a0
jmp 0x4a37e6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a37e6
cmp ecx, dword [ebp + 0x84]
jbe 0x4a37e6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4a9ac9
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4a3abf
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4a3904
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4a3845
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4a3901
test bl, 0x10
jne 0x4a3866
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 0x4a3901
test bl, 8
jne 0x4a3890
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 0x4a3901
test bl, 4
jne 0x4a38c6
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 0x4a3901
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 + 0x14], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a3a45
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x4a3950
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 0x4a3a49
test dl, 0x10
jne 0x4a397e
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 0x4a3a49
test dl, 8
jne 0x4a39b8
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 0x4a3a49
test dl, 4
jne 0x4a39fb
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 0x4a3a49
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 0x4a3a49
mov ecx, dword [esp + 0x14]
cmp dword [esi + 0x9c], 0x1f
jne 0x4a3a5f
cmp ebx, eax
jne 0x49f363
jmp case.default.0x4ab0fc
cmp ebx, 0x7f
jbe 0x4a3a9d
mov eax, ebx
test eax, eax
jns 0x4a3a6d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3a88
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x560400]
mov eax, dword [eax*8 + 0x55cb84]
add eax, ebx
jmp 0x4a3aaa
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x4ab0fc
cmp eax, edi
jne 0x49f363
jmp case.default.0x4ab0fc
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4a9dcf.14
cmp dword [esi + 0x9c], 0x20
jne 0x4a3097
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4a9dcf.14
add dword [esi + 0xc], 2
jmp 0x49f363
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 0x4a3c41
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 0x4a3b58
cmp al, 0x4f
je 0x4a3b58
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a3c41
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a3c41
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3c41
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3c41
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3c41
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 0x4a3c41
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 + 0x555278]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x555284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a3c41
mov dword [esi + 0x8c], closesocket
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 0x4a3d72
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x4a3d72
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3c93
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4a3d6e
test cl, 0x10
jne 0x4a3cbb
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 0x4a3d6e
test cl, 8
jne 0x4a3cef
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 0x4a3d6e
test cl, 4
jne 0x4a3d2c
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 0x4a3d6e
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 0x4a4151
test eax, eax
je 0x4a3dd2
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x4a3dd2
mov eax, edx
test eax, eax
jns 0x4a3d97
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3db2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x560400]
mov eax, dword [eax*8 + 0x55cb84]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x4a3df5
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 0x4a3f28
cmp dword [esi + 0x90], 1
jl 0x4a3f64
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x4a3f01
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3e40
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3efc
test cl, 0x10
jne 0x4a3e61
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 0x4a3efc
test cl, 8
jne 0x4a3e8b
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 0x4a3efc
test cl, 4
jne 0x4a3ec1
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 0x4a3efc
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.0x4ab0fc
cmp dword [esi + 0x94], eax
je case.default.0x4ab0fc
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a3e02
jmp 0x4a3f64
cmp dword [esi + 0x90], edi
jl 0x4a3f64
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x4ab0fc
cmp dword [esi + 0x94], ecx
je case.default.0x4ab0fc
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a3f30
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f363
test ebx, ebx
je 0x4a3f90
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x4aac30
jmp 0x4a9b73
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a40e7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a40d7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a40b5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4090
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3ff4
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a408c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a400f
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a4086
and eax, 0x3f
test dl, 8
jne 0x4a402f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a4086
test dl, 4
jne 0x4a4058
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 0x4a4086
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 0x4a40d7
cmp dword [esi + 0x94], eax
je 0x4a40d7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a3fb4
jmp 0x4a40d7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a40d7
cmp edi, dword [ebp + 0x84]
jbe 0x4a40d7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4aac8c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a4141
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a411f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a4141
cmp dword [esi + 0x94], ecx
je 0x4a4141
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a40f5
jmp 0x4a4141
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a4141
cmp eax, dword [ebp + 0x84]
jbe 0x4a4141
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4ac9e5
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4a9bb6
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x4a42a9
cmp dword [esi + 0x90], edi
jl 0x4a42df
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4a428a
mov cl, byte [eax]
test bl, 0x20
jne 0x4a41ab
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4a4282
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4a41cf
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 0x4a4282
test bl, 8
jne 0x4a420a
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 0x4a428a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4a4248
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 0x4a427e
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 + 0x14]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x4ab0fc
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [esi + 0x90]
jle 0x4a4172
jmp 0x4a42db
cmp dword [esi + 0x90], edi
jl 0x4a42df
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a376d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x4ab0fc
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a42b1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a430b
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x4aae2b
jmp 0x4a9c3b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a445e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x4a444e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a442c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4a440b
test dl, 0x20
jne 0x4a4366
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4a4403
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a4388
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a43ff
and eax, 0x3f
test dl, 8
jne 0x4a43a8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a43ff
test dl, 4
jne 0x4a43d1
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 0x4a43ff
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 + 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x4a444e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a4330
jmp 0x4a444e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a444e
cmp edi, dword [ebp + 0x84]
jbe 0x4a444e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4aae8c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a44b6
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a4494
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4a44b6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a4470
jmp 0x4a44b6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a44b6
cmp ecx, dword [ebp + 0x84]
jbe 0x4a44b6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ac9e5
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4a9c7e
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 0x4a45f7
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 0x4a45f7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a45f7
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a45f7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a45f7
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 0x4a45f7
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 + 0x555278]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x555284]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4a45f7
mov dword [esi + 0x8c], closesocket
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 0x4a4619
cmp ecx, 0xf
je 0x4a4619
mov dword [esi + 0x60], 0xffffffff
jmp 0x4a463d
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 0x4a484a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a5544
cmp eax, 0xa
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ad0bc]
cmp dword [esi + 0x68], 0
jne case.default.0x4ab0fc
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x4a484e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9ce6
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4a46ce
cmp edx, 0xc0
jb 0x4a46ce
test dl, 0x20
jne 0x4a46ac
lea eax, [ecx + 2]
jmp 0x4a46cb
test dl, 0x10
jne 0x4a46b6
lea eax, [ecx + 3]
jmp 0x4a46cb
test dl, 8
jne 0x4a46c0
lea eax, [ecx + 4]
jmp 0x4a46cb
lea eax, [ecx + 5]
test dl, 4
je 0x4a46cb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a4681
jmp 0x4a484e
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 0x4a47fa
cmp eax, 0xc0
jb 0x4a47fa
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a4739
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a47f5
test al, 0x10
jne 0x4a4759
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 0x4a47f5
test al, 8
jne 0x4a4785
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 0x4a47f5
test al, 4
jne 0x4a47ba
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 0x4a47f5
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, 9
je 0x4a482f
cmp eax, 5
je 0x4a482f
cmp eax, 8
je 0x4a482f
xor eax, eax
jmp 0x4a4834
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a46f0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f363
cmp dword [esp + 0x20], 0
je 0x4a68bb
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x4a689e
cmp ecx, 0xa
ja case.0x4ab07a.15
jmp dword [ecx*4 + 0x4ad0e8]
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 0x4a49af
cmp eax, 0xc0
jb 0x4a49af
test al, 0x20
jne 0x4a48d9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a49aa
test al, 0x10
jne 0x4a48ff
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 0x4a49aa
test al, 8
jne 0x4a4931
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 0x4a49aa
test al, 4
movzx eax, byte [edx]
jne 0x4a496c
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 0x4a49aa
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4890
jmp 0x4a484a
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
jmp 0x4a4a10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 0x4a4b2f
cmp eax, 0xc0
jb 0x4a4b2f
test al, 0x20
jne 0x4a4a59
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4b2a
test al, 0x10
jne 0x4a4a7f
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 0x4a4b2a
test al, 8
jne 0x4a4ab1
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 0x4a4b2a
test al, 4
movzx eax, byte [edx]
jne 0x4a4aec
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 0x4a4b2a
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4a10
jmp 0x4a484a
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 0x4a4ca0
cmp eax, 0xc0
jb 0x4a4ca0
test al, 0x20
jne 0x4a4bca
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4c9b
test al, 0x10
jne 0x4a4bf0
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 0x4a4c9b
test al, 8
jne 0x4a4c22
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 0x4a4c9b
test al, 4
movzx eax, byte [edx]
jne 0x4a4c5d
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 0x4a4c9b
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb80]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4b81
jmp 0x4a484a
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 0x4a4e11
cmp eax, 0xc0
jb 0x4a4e11
test al, 0x20
jne 0x4a4d3b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4e0c
test al, 0x10
jne 0x4a4d61
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 0x4a4e0c
test al, 8
jne 0x4a4d93
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 0x4a4e0c
test al, 4
movzx eax, byte [edx]
jne 0x4a4dce
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 0x4a4e0c
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a4e48
cmp eax, 3
je 0x4a4e48
xor eax, eax
jmp 0x4a4e4d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4cf2
jmp 0x4a484a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4a484a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
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 0x4a4faa
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x4a4faa
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a4edd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4f99
test cl, 0x10
jne 0x4a4efe
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 0x4a4f99
test cl, 8
jne 0x4a4f28
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 0x4a4f99
test cl, 4
jne 0x4a4f5e
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 0x4a4f99
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 0x4a4fcb
cmp eax, 0x20
je case.0x4a50a0.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4a50a0.8203
jmp dword [eax*4 + 0x4ad114]
cmp edx, 0x2000
ja 0x4a5078
cmp edi, 0x2000
je case.0x4a50a0.8193
cmp ecx, 0x1680
ja 0x4a5070
je case.0x4a50a0.8193
mov eax, ecx
sub eax, 0x85
je case.0x4a50a0.8193
sub eax, 0x1b
je case.0x4a50a0.8193
mov eax, ecx
test eax, eax
jns 0x4a5014
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a502e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp dword [eax*4 + 0x55c550], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4ab0fc
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4a4e80
jmp 0x4a484a
cmp ecx, 0x180e
jmp 0x4a5005
cmp ebx, 0x3000
ja case.0x4a50a0.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4a50a0.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4a50a0.8203
movzx eax, byte [eax + 0x4ad130]
jmp dword [eax*4 + 0x4ad128]
cmp dword [esi + 0x68], 0
jne case.default.0x4ab0fc
jmp 0x4a5056
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a484a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 0x4a51cf
cmp eax, 0xc0
jb 0x4a51cf
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a510f
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a51c8
test al, 0x10
jne 0x4a512f
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 0x4a51c8
test al, 8
jne 0x4a5158
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 0x4a51c8
test al, 4
jne 0x4a518d
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 0x4a51c8
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a520b
cmp eax, 3
je 0x4a520b
cmp ebx, 0x5f
je 0x4a520b
xor eax, eax
jmp 0x4a5210
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab0fc
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a50c4
jmp 0x4a484a
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x4a5339
cmp edx, 0xc0
jb 0x4a5339
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a528d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a5334
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a52ae
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a5334
test dl, 8
jne 0x4a52d1
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 0x4a5334
test dl, 4
jne 0x4a5300
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 0x4a5334
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 + 0x55ca40]
lea eax, [eax*4 + 0x55ca40]
jb 0x4a535d
mov ecx, dword [eax]
mov edi, edi
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a5379
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a5350
cmp dword [esi + 0x68], 0
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5240
jmp 0x4a484a
cmp dword [esi + 0x68], 0
jne case.default.0x4ab0fc
jmp 0x4a5367
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a484a
jmp 0x4a53a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
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 + 0x14], ecx
mov ebx, ecx
je 0x4a54ed
mov dword [esp + 0x14], ecx
cmp ecx, 0xc0
jb 0x4a54ed
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4a5400
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 0x4a54f1
test cl, 0x10
jne 0x4a542c
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 0x4a54f1
test cl, 8
jne 0x4a5464
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 0x4a54f1
test cl, 4
jne 0x4a54a5
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 0x4a54f1
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 0x4a54f1
mov edi, dword [esp + 0x14]
cmp edx, 0x24
je 0x4a551c
cmp eax, 0x40
je 0x4a551c
cmp ebx, 0x60
je 0x4a551c
cmp edi, 0xa0
jb 0x4a5510
cmp ecx, 0xd7ff
jbe 0x4a551c
cmp ecx, 0xe000
jae 0x4a551c
xor eax, eax
jmp 0x4a5521
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab0fc
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x4a53a0
jmp 0x4a484a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a583b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a484a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0917
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 + 0x14], edi
je 0x4a566c
mov dword [esp + 0x14], edi
cmp eax, 0xc0
jb 0x4a566c
test al, 0x20
jne 0x4a55ac
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a565b
test al, 0x10
jne 0x4a55cc
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 0x4a565b
test al, 8
jne 0x4a55f5
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 0x4a565b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x4a5628
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 0x4a565b
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 + 0x14], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x55e200]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb82]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x14], eax
jae 0x4a57fb
mov edi, edx
mov dword [esp + 0x14], eax
jmp 0x4a56b0
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a5789
cmp edx, 0xc0
jb 0x4a5789
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a56f1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a5785
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a5709
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a577f
and eax, 0x3f
test dl, 8
jne 0x4a5729
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a577f
test dl, 4
jne 0x4a5752
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 0x4a577f
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 + 0x10], edi
movzx eax, byte [edx + 0x55e200]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx ecx, byte [eax*8 + 0x55cb82]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55c5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4a57f3
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 + 0x14], eax
cmp edx, eax
jb 0x4a56b0
jmp 0x4a57fb
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5821
cmp edx, eax
jb 0x4a5821
cmp ecx, dword [ebp + 0x84]
jbe 0x4a5821
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aaa70
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a5561
jmp 0x4a484a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4a6400
cmp eax, 0xf
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ad190]
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a0917
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a58a9
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a440
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a589d
mov eax, 1
jmp 0x4a589f
xor eax, eax
test eax, eax
jne case.default.0x4ab0fc
jmp 0x4a58d0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a58ce
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a58ce
cmp edi, 1
je case.default.0x4ab0fc
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4ab0fc
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5906
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a5906
test ecx, ecx
jne 0x4a5906
cmp dword [ebp + 0x1c], 2
jne 0x4a5906
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a5906
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aaa70
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a5922
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5922
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a5911
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5867
jmp 0x4a484a
mov edi, 1
cmp ecx, edi
jl 0x4a484e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a988e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a5978
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5978
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a5960
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a5944
jmp 0x4a484e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x4a9dcf.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4a484e
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a484e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
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 0x4a5ab7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a59f2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x4a5aae
test cl, 0x10
jne 0x4a5a13
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 0x4a5aae
test cl, 8
jne 0x4a5a3d
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 0x4a5aae
test cl, 4
jne 0x4a5a73
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 0x4a5aae
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 0x4a5aeb
cmp eax, 0x85
je case.0x4a5ad2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4ab0fc
jmp dword [ecx*4 + 0x4ad1d0]
cmp ebx, dword [ebp + 0x78]
jae case.0x4a5ad2.10
cmp byte [edx], 0xa
jne case.0x4a5ad2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a5ad2.10
sub ecx, 0x2028
je case.0x4a5ad2.11
sub ecx, 1
jne case.default.0x4ab0fc
cmp dword [ebp + 0x68], 0
jne case.default.0x4ab0fc
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a59b2
jmp 0x4a484a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a484e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
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 0x4a5c40
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5b77
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5c33
test cl, 0x10
jne 0x4a5b98
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 0x4a5c33
test cl, 8
jne 0x4a5bc2
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 0x4a5c33
test cl, 4
jne 0x4a5bf8
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 0x4a5c33
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 0x4a5cac
cmp edx, 0x2000
je case.default.0x4ab0fc
cmp ecx, 0xa0
ja 0x4a5c92
je case.default.0x4ab0fc
cmp ecx, 9
je case.default.0x4ab0fc
cmp ecx, 0x20
je case.default.0x4ab0fc
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5b31
jmp 0x4a484a
cmp ebx, 0x1680
je case.default.0x4ab0fc
cmp ecx, 0x180e
je case.default.0x4ab0fc
jmp case.0x4a5cd1.8203
cmp eax, 0x3000
ja case.0x4a5cd1.8203
cmp edi, 0x3000
je case.default.0x4ab0fc
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4a5cd1.8203
movzx eax, byte [ecx + 0x4ad1e8]
jmp dword [eax*4 + 0x4ad1e0]
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a484e
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
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 0x4a5dff
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5d36
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5df2
test cl, 0x10
jne 0x4a5d57
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 0x4a5df2
test cl, 8
jne 0x4a5d81
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 0x4a5df2
test cl, 4
jne 0x4a5db7
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 0x4a5df2
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 0x4a5e5b
cmp edx, 0x2000
je case.0x4a5e84.8193
cmp ecx, 0xa0
ja 0x4a5e45
je case.0x4a5e84.8193
cmp ecx, 9
je case.0x4a5e84.8193
cmp ecx, 0x20
jne case.default.0x4ab0fc
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5cf0
jmp 0x4a484a
cmp ebx, 0x1680
je case.0x4a5e84.8193
cmp ecx, 0x180e
jne case.default.0x4ab0fc
jmp case.0x4a5e84.8193
cmp eax, 0x3000
ja case.default.0x4ab0fc
cmp edi, 0x3000
je case.0x4a5e84.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4ab0fc
movzx eax, byte [ecx + 0x4ad250]
jmp dword [eax*4 + 0x4ad248]
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
jmp 0x4a5ea0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4a5fa3
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5ee0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5f9c
test cl, 0x10
jne 0x4a5f01
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 0x4a5f9c
test cl, 8
jne 0x4a5f2b
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 0x4a5f9c
test cl, 4
jne 0x4a5f61
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 0x4a5f9c
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 0x4a5fc5
cmp edi, 0x85
je case.default.0x4ab0fc
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a5fbe
jmp dword [ecx*4 + 0x4ad2b0]
sub ecx, 0x2028
je case.default.0x4ab0fc
sub ecx, 1
je case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5ea0
jmp 0x4a484a
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a60f0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6042
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a60e9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a6063
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a60e9
test dl, 8
jne 0x4a6086
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 0x4a60e9
test dl, 4
jne 0x4a60b5
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 0x4a60e9
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 0x4a6112
cmp ecx, 0x85
je case.0x4a610b.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab0fc
jmp dword [edx*4 + 0x4ad2c0]
sub edx, 0x2028
je case.0x4a610b.10
sub edx, 1
jne case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6000
jmp 0x4a484a
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0985
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4a622e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6182
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a6229
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a61a3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a6229
test dl, 8
jne 0x4a61c6
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 0x4a6229
test dl, 4
jne 0x4a61f5
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 0x4a6229
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 0x4a6242
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x4ab0fc
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6142
jmp 0x4a484a
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9ce6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a9dcf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6262
jmp 0x4a484e
mov edi, 1
cmp ecx, edi
jl 0x4a484e
mov edx, dword [ebp + 0x78]
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4a9ce6
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a62d3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4a9dcf.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a62f8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a62f8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a62e0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a62b0
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9ce6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a9dcf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6314
jmp 0x4a484e
mov edi, 1
cmp ecx, edi
jl 0x4a484e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4a9ce6
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a6383
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4a9dcf.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a63a8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a63a8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a6390
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a6360
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9ce6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a9dcf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a63c4
jmp 0x4a484e
cmp eax, 0xf
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ad2d0]
mov ebx, 1
cmp ecx, ebx
jl 0x4a484a
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a0ae0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a6460
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0050a440
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a6454
mov eax, 1
jmp 0x4a6456
xor eax, eax
test eax, eax
jne case.default.0x4ab0fc
jmp 0x4a6487
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a6487
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a6487
cmp edi, 1
je case.default.0x4ab0fc
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4ab0fc
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a64be
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a64be
cmp dword [ebp + 0x18], 0
jne 0x4a64be
cmp dword [ebp + 0x1c], 2
jne 0x4a64be
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a64be
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aaa70
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6420
jmp 0x4a484a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4a5996
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
mov edx, 1
cmp ecx, edx
jl 0x4a484e
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9ce6
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4a9dcf.14
movzx eax, byte [eax + 0x4ad320]
jmp dword [eax*4 + 0x4ad310]
cmp ecx, dword [ebp + 0x78]
jae case.0x4a6538.10
cmp byte [ecx], 0xa
jne case.0x4a6538.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4a6538.10
cmp dword [ebp + 0x68], 0
jne case.0x4a9dcf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6510
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edx, 1
jmp 0x4a6580
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a988e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4a9dcf.14
cmp ecx, 0x20
je case.0x4a9dcf.14
cmp ecx, 0xa0
je case.0x4a9dcf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6580
jmp 0x4a484e
mov edx, 1
cmp ecx, edx
jl 0x4a484e
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a988e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4a65f9
cmp ecx, 0x20
je 0x4a65f9
cmp ecx, 0xa0
jne case.0x4a9dcf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a65d0
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edx, 1
mov edi, edx
jmp 0x4a6620
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a988e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a6646.11
movzx eax, byte [eax + 0x4ad3a4]
mov edx, edi
jmp dword [eax*4 + 0x4ad39c]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x4a6620
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edx, 1
jmp 0x4a6670
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a988e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a9dcf.14
movzx eax, byte [eax + 0x4ad428]
jmp dword [eax*4 + 0x4ad420]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6670
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
jmp 0x4a66c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a64e3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a9dcf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a66c0
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a64e3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a9dcf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6700
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a64e3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a9dcf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6740
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a64e3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a9dcf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6780
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a64e3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a9dcf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a67c0
jmp 0x4a484e
cmp ecx, 1
jl 0x4a484e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a64e3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9dcf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6800
jmp 0x4a484e
mov dword [esi + 0x84], eax
jmp 0x4ab4bd
mov dword [esi + 0x84], eax
jmp 0x4ab678
mov dword [esi + 0x84], eax
jmp 0x4ab83a
mov dword [esi + 0x84], eax
jmp 0x4ab9f4
mov dword [esi + 0x84], eax
jmp 0x4abbae
mov dword [esi + 0x84], eax
jmp 0x4ac349
mov dword [esi + 0x84], eax
jmp 0x4ac739
mov dword [esi + 0x84], eax
jmp 0x4ac960
mov dword [esi + 0x84], eax
jmp 0x4acb2a
mov dword [esi + 0x84], eax
jmp 0x4ac516
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x4abeda
test ebx, ebx
jne 0x4ab169
jmp 0x4a9ed5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a7823
cmp eax, 0xa
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ad4a4]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4a6952
lea ebx, [ebx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6962
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x4a693e
cmp ecx, 0xc0
jb 0x4a693e
test cl, 0x20
jne 0x4a6918
mov eax, 2
jmp 0x4a693e
test cl, 0x10
jne 0x4a6924
mov eax, 3
jmp 0x4a693e
test cl, 8
jne 0x4a6930
mov eax, 4
jmp 0x4a693e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4a6952
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a68f0
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4abf3c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6952
cmp edx, dword [ebp + 0x84]
jbe 0x4a6952
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a6952
jmp 0x4ac9e5
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
jmp 0x4a69a0
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a6af7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6a94
cmp eax, 0xc0
jb 0x4a6a94
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a69e9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6a90
test al, 0x10
jne 0x4a6a03
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6a8a
test al, 8
jne 0x4a6a26
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 0x4a6a8a
test al, 4
jne 0x4a6a55
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 0x4a6a8a
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, 9
je 0x4a6ac9
cmp eax, 5
je 0x4a6ac9
cmp eax, 8
je 0x4a6ac9
xor eax, eax
jmp 0x4a6ace
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6952
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a69a0
jmp 0x4a6952
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6952
cmp edx, dword [ebp + 0x84]
jbe 0x4a6952
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x4a6952
jmp 0x4a0387
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
jmp 0x4a6b40
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6c8e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6c34
cmp eax, 0xc0
jb 0x4a6c34
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6b89
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6c30
test al, 0x10
jne 0x4a6ba3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6c2a
test al, 8
jne 0x4a6bc6
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 0x4a6c2a
test al, 4
jne 0x4a6bf5
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 0x4a6c2a
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a6952
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a6b40
jmp 0x4a6952
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6952
cmp edx, dword [ebp + 0x84]
jbe 0x4a6952
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a6952
jmp 0x4a0387
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6c8e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6dc3
cmp eax, 0xc0
jb 0x4a6dc3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6d18
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6dbf
test al, 0x10
jne 0x4a6d32
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6db9
test al, 8
jne 0x4a6d55
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 0x4a6db9
test al, 4
jne 0x4a6d84
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 0x4a6db9
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a6952
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a6cd3
jmp 0x4a6952
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6c8e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6f24
cmp eax, 0xc0
jb 0x4a6f24
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6e79
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6f20
test al, 0x10
jne 0x4a6e93
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6f1a
test al, 8
jne 0x4a6eb6
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 0x4a6f1a
test al, 4
jne 0x4a6ee5
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 0x4a6f1a
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb80]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a6952
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a6e30
jmp 0x4a6952
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a6af7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a7084
cmp eax, 0xc0
jb 0x4a7084
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6fd9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a7080
test al, 0x10
jne 0x4a6ff3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a707a
test al, 8
jne 0x4a7016
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 0x4a707a
test al, 4
jne 0x4a7045
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 0x4a707a
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a70bb
cmp eax, 3
je 0x4a70bb
xor eax, eax
jmp 0x4a70c0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6952
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a6f90
jmp 0x4a6952
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7329
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x4a7219
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a7219
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7165
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a7209
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7183
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a7203
and eax, 0x3f
test dl, 8
jne 0x4a71a6
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 0x4a7203
test dl, 4
jne 0x4a71d2
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 0x4a7203
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 + 0x14], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x14], 0x20
ja 0x4a7238
cmp eax, 0x20
je case.0x4a7316.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4a7316.8203
jmp dword [eax*4 + 0x4ad4d0]
cmp edx, 0x2000
ja 0x4a72ee
cmp ecx, 0x2000
je case.0x4a7316.8193
cmp edx, 0x1680
ja 0x4a72e6
je case.0x4a7316.8193
mov eax, edx
sub eax, 0x85
je case.0x4a7316.8193
sub eax, 0x1b
je case.0x4a7316.8193
mov eax, edx
test eax, eax
jns 0x4a7281
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and edx, 0x8000007f
jns 0x4a729b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp dword [eax*4 + 0x55c550], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x4a6952
mov eax, dword [esp + 0x18]
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 0x4a7100
jmp 0x4a6952
cmp edx, 0x180e
jmp 0x4a7272
cmp ebx, 0x3000
ja case.0x4a7316.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x4a7316.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4a7316.8203
movzx eax, byte [eax + 0x4ad4ec]
jmp dword [eax*4 + 0x4ad4e4]
cmp dword [esi + 0x68], 0
jne 0x4a6952
jmp 0x4a72c3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6952
cmp edi, dword [ebp + 0x84]
jmp 0x4a6ca2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
jmp 0x4a7360
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x4a6c8e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4a746d
cmp eax, 0xc0
jb 0x4a746d
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a73b1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x4a7467
test al, 0x10
jne 0x4a73ce
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a7461
test al, 8
jne 0x4a73f7
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 0x4a7461
test al, 4
jne 0x4a7429
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 0x4a7461
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a74a9
cmp eax, 3
je 0x4a74a9
cmp ebx, 0x5f
je 0x4a74a9
xor eax, eax
jmp 0x4a74ae
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6952
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a7360
jmp 0x4a6952
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7633
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4a75d8
cmp edx, 0xc0
jb 0x4a75d8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a753d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a75d4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7558
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a75ce
and eax, 0x3f
test dl, 8
jne 0x4a7578
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a75ce
test dl, 4
jne 0x4a75a1
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 0x4a75ce
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 + 0x55ca40]
lea eax, [eax*4 + 0x55ca40]
jb 0x4a75fd
mov ecx, dword [eax]
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a7627
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a75f0
cmp dword [esi + 0x68], 0
je 0x4a6952
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a74f0
jmp 0x4a6952
cmp dword [esi + 0x68], 0
jne 0x4a6952
jmp 0x4a7607
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6952
cmp edi, dword [ebp + 0x84]
jmp 0x4a6b0b
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6952
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a77fd
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
je 0x4a779f
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x4a779f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a76cb
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x4a779f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4a76fb
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 + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x4a779f
test dl, 8
jne 0x4a7730
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 + 0x14], edx
mov ecx, edx
mov ebx, edx
jmp 0x4a779f
test dl, 4
jne 0x4a775c
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 0x4a778d
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 + 0x14], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x4a77cc
cmp ecx, 0x40
je 0x4a77cc
cmp ebx, 0x60
je 0x4a77cc
cmp dword [esp + 0x14], 0xa0
jb 0x4a77c0
cmp edx, 0xd7ff
jbe 0x4a77cc
cmp edx, 0xe000
jae 0x4a77cc
xor eax, eax
jmp 0x4a77d1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6952
mov eax, dword [esp + 0x18]
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 0x4a7662
jmp 0x4a6952
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6952
cmp edi, dword [ebp + 0x84]
jbe 0x4a6952
mov dword [ebp + 0x64], 1
jmp 0x4a6b14
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a7b9c
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a7b4d
jmp 0x4a7850
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7b2b
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 0x4a795d
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x4a795d
test al, 0x20
jne 0x4a789b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a794c
test al, 0x10
jne 0x4a78b9
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 0x4a794c
test al, 8
jne 0x4a78e3
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 0x4a794c
test al, 4
movzx eax, byte [edi]
jne 0x4a7916
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 0x4a794c
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 + 0x55e200]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb82]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x4a7aee
mov edi, edx
mov dword [esp + 0x18], eax
jmp 0x4a79a0
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a7a7c
cmp edx, 0xc0
jb 0x4a7a7c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a79e1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a7a78
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a79fc
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a7a72
and eax, 0x3f
test dl, 8
jne 0x4a7a1c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a7a72
test dl, 4
jne 0x4a7a45
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 0x4a7a72
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 + 0x14]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x55e200]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx ecx, byte [eax*8 + 0x55cb82]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55c5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4a7ae6
lea edx, [ebx + edi]
mov dword [esp + 0x14], 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 0x4a79a0
jmp 0x4a7aee
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a7b14
cmp edx, eax
jb 0x4a7b14
cmp ecx, dword [ebp + 0x84]
jbe 0x4a7b14
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aaa70
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a7850
jmp 0x4a7b4d
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a7b4d
cmp ecx, dword [ebp + 0x84]
jbe 0x4a7b4d
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0387
cmp dword [esp + 0x24], 0
jne 0x49f363
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7b8d
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4a9f74
add eax, 0xfffffffa
test ebx, ebx
je 0x4a89bf
cmp eax, 0xf
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ad54c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a89af
lea esp, [esp]
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a7ca3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a7c12
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a440
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a7c06
mov eax, 1
jmp 0x4a7c08
xor eax, eax
test eax, eax
jne 0x4a89af
jmp 0x4a7c39
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a7c37
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a7c37
cmp edi, 1
je 0x4a89af
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4a89af
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a7c6f
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a7c6f
test ecx, ecx
jne 0x4a7c6f
cmp dword [ebp + 0x1c], 2
jne 0x4a7c6f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a7c6f
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aaa70
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7c91
lea ebx, [ebx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a7c91
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a7c80
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a7bd0
jmp 0x4a89af
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a89af
cmp ecx, dword [ebp + 0x84]
jbe 0x4a89af
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a89af
jmp 0x4a0387
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4a7d28
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4a89af
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a7d2e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a7d1a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a7d1a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a7d02
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4a7cf0
jmp 0x4a89af
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a89af
cmp eax, dword [ebp + 0x84]
jbe 0x4a89af
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a89af
jmp 0x4ac9e5
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 0x4a7da9
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a89af
cmp edx, dword [ebp + 0x84]
jbe 0x4a89af
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a89af
jmp 0x4ac9e5
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4a89af
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a89af
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a7ece
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7e1e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a7ec2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7e3c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a7ebc
and eax, 0x3f
test dl, 8
jne 0x4a7e5f
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 0x4a7ebc
test dl, 4
jne 0x4a7e8b
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 0x4a7ebc
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 + 0x14], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x4a7eea
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4a89af
cmp byte [eax], 0xa
jne 0x4a7f2a
inc eax
jmp 0x4a7f27
cmp eax, 0xa
je 0x4a7f21
cmp dword [ebp + 0x68], 0
jne 0x4a89af
cmp ebx, 0xb
je 0x4a7f21
cmp dword [esp + 0x14], 0xc
je 0x4a7f21
cmp edx, 0x85
je 0x4a7f21
cmp edx, 0x2028
je 0x4a7f21
cmp edx, 0x2029
jne 0x4a89af
mov eax, dword [esp + 0x18]
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 0x4a7dd0
jmp 0x4a89af
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a89af
cmp edi, dword [ebp + 0x84]
jmp 0x4a7cb7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a89af
jmp 0x4a7f80
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a807a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7fca
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a806e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7fe8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a8068
and eax, 0x3f
test dl, 8
jne 0x4a800b
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 0x4a8068
test dl, 4
jne 0x4a8037
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 0x4a8068
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 + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x14], 0x2000
ja 0x4a80ea
cmp ebx, 0x2000
je case.0x4a810b.8193
cmp edx, 0xa0
ja 0x4a80da
je case.0x4a810b.8193
cmp edx, 9
je case.0x4a810b.8193
cmp edx, 0x20
je case.0x4a810b.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x4a89af
mov eax, dword [esp + 0x18]
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 0x4a7f80
jmp 0x4a89af
cmp edx, 0x1680
je case.0x4a810b.8193
cmp edx, 0x180e
jmp 0x4a80a2
cmp eax, 0x3000
ja case.0x4a810b.8203
cmp ecx, 0x3000
je case.0x4a810b.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a810b.8203
movzx eax, byte [edx + 0x4ad594]
jmp dword [eax*4 + 0x4ad58c]
mov ecx, 1
jmp 0x4a80a6
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a89af
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a8271
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a820c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8172
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4a8206
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a818a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a8200
and eax, 0x3f
test dl, 8
jne 0x4a81aa
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8200
test dl, 4
jne 0x4a81d3
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 0x4a8200
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 0x4a822a
cmp ecx, 0x85
je case.0x4a8223.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a8223
jmp dword [edx*4 + 0x4ad5f4]
sub edx, 0x2028
je case.0x4a8223.10
sub edx, 1
je case.0x4a8223.10
xor ecx, ecx
jmp 0x4a8240
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x4a89af
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a8130
jmp 0x4a89af
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a89af
cmp edi, dword [ebp + 0x84]
jbe 0x4a89af
mov dword [ebp + 0x64], ebx
jmp 0x4a7cc4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a89af
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a83a3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a82f4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a839d
test dl, 0x10
jne 0x4a830f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8397
test dl, 8
jne 0x4a8333
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 0x4a8397
test dl, 4
jne 0x4a8363
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 0x4a8397
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 0x4a83ba
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4a89af
mov eax, ebx
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 0x4a82b0
jmp 0x4a89af
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a89af
jmp 0x4a83f0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a84c9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8430
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a84c5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a8448
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a84bf
and eax, 0x3f
test dl, 8
jne 0x4a8468
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a84bf
test dl, 4
jne 0x4a8491
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 0x4a84bf
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 0x4a89af
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4a89af
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a83f0
jmp 0x4a89af
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a89af
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8603
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8554
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a85fd
test dl, 0x10
jne 0x4a856f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a85f7
test dl, 8
jne 0x4a8593
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 0x4a85f7
test dl, 4
jne 0x4a85c3
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 0x4a85f7
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 0x4a861a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4a89af
mov eax, ebx
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 0x4a8510
jmp 0x4a89af
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a89af
jmp 0x4a8650
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a872c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8690
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8728
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a86ab
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a8722
and eax, 0x3f
test dl, 8
jne 0x4a86cb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8722
test dl, 4
jne 0x4a86f4
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 0x4a8722
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 0x4a89af
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4a89af
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a8650
jmp 0x4a89af
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a89af
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8865
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a87b6
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a885f
test dl, 0x10
jne 0x4a87d1
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8859
test dl, 8
jne 0x4a87f5
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 0x4a8859
test dl, 4
jne 0x4a8825
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 0x4a8859
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 0x4a887c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4a89af
mov eax, ebx
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 0x4a8772
jmp 0x4a89af
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a89af
lea ecx, [ecx]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7f44
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a898c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a88f0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8988
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a890b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a8982
and eax, 0x3f
test dl, 8
jne 0x4a892b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8982
test dl, 4
jne 0x4a8954
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 0x4a8982
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 0x4a89af
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a89af
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a88b0
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4ab3e5
cmp eax, 0xf
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ad604]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a8a94
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a8a21
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0050a440
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a8a15
mov eax, 1
jmp 0x4a8a17
xor eax, eax
test eax, eax
jne case.0x4a8c93.10
jmp 0x4a8a48
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a8a48
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a8a48
cmp edi, 1
je case.0x4a8c93.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a8c93.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a8a7f
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a8a7f
cmp dword [ebp + 0x18], 0
jne 0x4a8a7f
cmp dword [ebp + 0x1c], 2
jne 0x4a8a7f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a8a7f
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aaa70
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a89e1
jmp case.0x4a8c93.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8c93.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a8c93.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a8c93.10
jmp 0x4a0387
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 0x4a8b0f
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8c93.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a8c93.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a8c93.10
jmp 0x4ac9e5
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x4a8c93.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8c93.10
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8b87
mov al, byte [ecx]
cmp al, 0xd
jne 0x4a8b55
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x4a8c93.10
cmp byte [eax], 0xa
jne 0x4a8b79
inc eax
jmp 0x4a8b76
cmp al, 0xa
je 0x4a8b73
cmp dword [ebp + 0x68], 0
jne case.0x4a8c93.10
cmp al, 0xb
je 0x4a8b73
cmp al, 0xc
je 0x4a8b73
cmp al, 0x85
jne case.0x4a8c93.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x4a8b30
jmp case.0x4a8c93.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8c93.10
cmp ecx, dword [ebp + 0x84]
jmp 0x4a8af4
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a8be9
mov cl, byte [eax]
cmp cl, 9
je case.0x4a8c93.10
cmp cl, 0x20
je case.0x4a8c93.10
cmp cl, 0xa0
je case.0x4a8c93.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8bb2
jmp case.0x4a8c93.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a8c93.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a8c93.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4a8c93.10
jmp 0x4ac9e5
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8c93.10
lea ebx, [ebx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a8be9
mov cl, byte [eax]
cmp cl, 9
je 0x4a8c4d
cmp cl, 0x20
je 0x4a8c4d
cmp cl, 0xa0
jne case.0x4a8c93.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8c30
jmp case.0x4a8c93.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov edi, ecx
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8ae0
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a8c93.11
movzx eax, byte [eax + 0x4ad64c]
mov ecx, edi
jmp dword [eax*4 + 0x4ad644]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a8c73
jmp case.0x4a8c93.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8b87
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a8c93.10
movzx eax, byte [eax + 0x4ad6d0]
jmp dword [eax*4 + 0x4ad6c8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8cc2
jmp case.0x4a8c93.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8ae0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a8c93.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8d11
jmp case.0x4a8c93.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8ae0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a8c93.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8d53
jmp case.0x4a8c93.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8c93.10
jmp 0x4a8da0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8ae0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a8c93.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8da0
jmp case.0x4a8c93.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8ae0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a8c93.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8de2
jmp case.0x4a8c93.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8c93.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8ae0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a8c93.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8e24
jmp case.0x4a8c93.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8c93.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e85
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a8c93.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8e60
jmp case.0x4a8c93.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8c93.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a8c93.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ac9e5
cmp dword [esp + 0x24], 0
jne 0x49f363
jmp 0x4a9f35
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4accaf
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4a8edc
jmp dword [eax*4 + 0x4ad74c]
cmp edi, 0xfffffc1b
je 0x4a8fbb
cmp edi, 0xfffffc20
jne 0x4a8f2a
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.0x4a93c8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a8f26
cmp byte [ecx], 0x77
jne case.default.0x4a93c8
xor edi, edi
jmp 0x4a8f32
test edi, edi
jne case.default.0x4a93c8
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 0x4a8fbb
cmp dword [esi + 0x9c], 0x88
jb 0x4a8f7a
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a8fa3
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
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 0x4a8ecc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4a90d3
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 0x4a912b
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a9049
cmp byte [ecx], 0x77
jne 0x4a912b
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.0x4a9dcf.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4a913c
cmp eax, 0x81
je 0x4a913c
cmp dword [ebp + 0x6c], 0
jne 0x4a9146
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 0x4a9146
movzx eax, byte [edx]
movzx eax, byte [eax + 0x55c438]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x49f2f0
test edi, edi
je 0x4a9049
cmp edi, 0xfffffc1b
jne 0x4a912b
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x81
je 0x4a911d
cmp byte [edx], 0x77
mov ebx, edx
jne 0x4a910c
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl ecx, 8
or edx, ecx
add edx, ebx
mov ebx, edx
cmp byte [edx], 0x77
je 0x4a90f2
mov dword [esp + 0x10], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
mov edx, ebx
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a9001
jmp 0x4a8ec8
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 0x4a9184
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
cmp edi, 1
jne 0x4a9212
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4a91b3
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4a91c6
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 0x4a91f7
lea ecx, [ecx]
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 0x4a91e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x55c438]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x49f80e
test edi, edi
je 0x49f80e
cmp edi, 0xfffffc20
je 0x49f80e
jmp case.default.0x4a93c8
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x4a9246
cmp byte [eax - 3], 0x77
jne 0x49f363
cmp dword [esi + 0x9c], 0x8c
jne 0x49f2f0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9289
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4a9f74
cmp edi, 1
je 0x4a9343
cmp edi, 0xfffffc19
je 0x4a9343
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4a92e9
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.0x4a93c8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a92f1
cmp byte [ecx], 0x77
jmp 0x4a92eb
test edi, edi
jne case.default.0x4a93c8
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 0x4a9349
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9334
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4a9484
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x4a9dcf.14
cmp dword [esi + 0x58], 0
jne 0x4a9421
nop
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 0x4a9360
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x49f363
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4a93ab
je case.0x4a93c8.995
cmp edi, 0xfffffc19
jmp 0x4a94bb
test edi, edi
jg 0x4a94b6
je 0x4a9437
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4a93c8
jmp dword [eax*4 + 0x4ad858]
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.0x4a93c8.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a9437
cmp byte [ecx], 0x77
je 0x4a9437
mov edx, dword [esi + 0xc]
lea esp, [esp]
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 0x4a9400
cmp dword [esi + 0x58], 0
je 0x4a96bb
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc02
mov edi, 1
jmp 0x4a8ec8
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 0x4a9417
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a947a
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x49f2e0
mov eax, edi
sub eax, 1
je case.0x4a9dcf.14
jmp case.default.0x4a93c8
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004adc20
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 0x4acb5d
cmp edi, 0xfffffc19
je 0x4acb5d
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4a952f
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x4a9dcf.14
push ecx
call dword [0xd912fc]
add esp, 4
jmp case.0x4a9dcf.14
test edi, edi
je 0x4a9553
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x4a93c8
push ecx
call dword [0xd912fc]
add esp, 4
jmp case.default.0x4a93c8
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 0x4a95f4
cmp dword [esi + 0x58], 0
je 0x4a9587
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a95b0
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 + 0x55c438]
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 0x49f2e0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x4a950f
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x4a9650
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9638
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
cmp al, 0x88
jb 0x4acb88
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9681
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
test edi, edi
jne case.default.0x4a93c8
mov edx, dword [esi + 0x2c]
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 0x4a96a4
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x49f363
test edi, edi
je case.0x4a1296.10
jmp case.default.0x4a93c8
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc12
mov edi, 0xfffffc1b
jmp 0x4a8ecc
cmp edi, 0xfffffc1b
jne 0x4a970d
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4a970f
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4aa521
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a974a
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0049ef50
add esp, 0x14
test eax, eax
jns 0x4a97d1
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a97af
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edi, dword [ebp + 0x78]
jb case.0x4a9dcf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2d5e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9805
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
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.0x4ab0fc
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a985d
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a98ad
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9dcf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
jmp 0x4a033f
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.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a98fe
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4ab0fc
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a994d
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a999d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9dcf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
jmp 0x4a033f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a99b4
cmp dword [esi + 0x94], ecx
jne case.0x4a9dcf.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a99e7
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4a9f74
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9a36
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2d4a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9aaf
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4a9f74
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9afe
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a9b4e
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9dcf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
jmp 0x4a033f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4a9dcf.14
cmp dword [esi + 0x94], ecx
je case.0x4a9dcf.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9b9c
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9beb
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2d4a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9c64
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9cb3
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4a9cff
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2d5e
cmp dword [esi + 0x7c], 0xc
jne 0x4a9d4e
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a9d29
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a440
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a9d4e
jmp case.0x4a9dcf.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a9d4e
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a9d4e
cmp edi, 1
je case.0x4a9dcf.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a9dcf.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.0x4ab07a.15
jmp dword [eax*4 + 0x4ad868]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x4a9d69.13
cmp edx, dword [ebp + 0x78]
jb case.0x4a9d69.13
cmp dword [ebp + 0x18], 0
jne case.0x4a9d69.13
cmp dword [ebp + 0x1c], 2
jne case.0x4a9d69.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4a9d69.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x4a9d69.13
jmp 0x4ac9e5
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a9dcf.14
movzx eax, byte [ecx + 0x4ad8b8]
jmp dword [eax*4 + 0x4ad8a8]
cmp edx, dword [ebp + 0x78]
jae case.0x4a9d69.13
cmp byte [edx], 0xa
jne case.0x4a9d69.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a9d69.13
cmp dword [ebp + 0x68], 0
je case.0x4a9d69.13
jmp case.0x4a9dcf.14
cmp ecx, 9
je case.0x4a9dcf.14
cmp ecx, 0x20
je case.0x4a9dcf.14
cmp ecx, 0xa0
jne case.0x4a9d69.13
jmp case.0x4a9dcf.14
cmp ecx, 9
je case.0x4a9d69.13
cmp ecx, 0x20
je case.0x4a9d69.13
cmp ecx, 0xa0
je case.0x4a9d69.13
jmp case.0x4a9dcf.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a9d69.13
movzx eax, byte [ecx + 0x4ad93c]
jmp dword [eax*4 + 0x4ad934]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a9dcf.14
movzx eax, byte [ecx + 0x4ad9c0]
jmp dword [eax*4 + 0x4ad9b8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a9d69.13
jmp case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a9d69.13
jmp case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a9d69.13
jmp case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a9d69.13
jmp case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9d69.13
jmp case.0x4a9dcf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9efe
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x4a9f35
cmp eax, dword [esi + 0x30]
jbe 0x4a9f35
cmp byte [eax], 0xa
jne 0x4a9f35
dec eax
cmp byte [eax], 0xd
jne 0x4a9f35
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9f6a
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x49f2e0
cmp edi, 0xfffffc1a
jne 0x4aa001
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 0x4a9ff9
mov edx, dword [esi + 0xc]
jmp 0x4a9fe0
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 0x4a9fe0
jmp 0x4aa056
mov dword [esi + 8], eax
jmp 0x4aa07b
cmp edi, 0xfffffc20
jne 0x4aa034
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.0x4a93c8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa03c
cmp byte [ecx], 0x77
jmp 0x4aa036
test edi, edi
jne case.default.0x4a93c8
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 0x4aa06f
cmp dword [esi + 0x5c], 0
jne 0x4a96bb
cmp dword [esi + 0x54], 0
jne 0x4a96bb
jmp case.0x4a9dcf.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4aa091
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4aa0ba
push 0x134
call dword [0xd91300]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac983
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 0x4a95c3
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x4aa1c7
jmp 0x4a8ff9
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a8ff9
test eax, eax
je 0x4acc22
mov edi, 0xfffffc1c
jmp 0x4a8ecc
test edi, edi
je 0x4aa17d
jmp case.default.0x4a93c8
cmp edi, 1
je 0x4aa11b
cmp edi, 0xfffffc19
jne 0x4aa135
cmp dword [ebp + 0xac], 0
jne 0x4aa135
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x4a93c8
cmp edi, 0xfffffc1f
jne case.default.0x4a93c8
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4aa170
test dl, dl
je 0x4aa16c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4aa170
add eax, 2
add ecx, 2
test dl, dl
jne 0x4aa150
xor eax, eax
jmp 0x4aa175
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4a93c8
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc32
mov edi, 0xfffffc1e
jmp 0x4a8ecc
cmp edi, 1
je 0x4aa1a6
cmp edi, 0xfffffc19
jne 0x4aa1bb
cmp dword [ebp + 0xac], 0
jne 0x4aa1bb
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a8ff9
test eax, eax
je 0x4acc42
mov edi, 0xfffffc1d
jmp 0x4a8ecc
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc52
mov edi, 0xfffffc1f
jmp 0x4a8ecc
cmp edi, 1
je 0x4aa20d
cmp edi, 0xfffffc19
jne case.0x4a8edc.54
cmp dword [ebp + 0xac], 0
jne case.0x4a8edc.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc62
mov edi, 0xfffffc20
jmp 0x4a8ecc
cmp edi, 0xfffffc1a
jne 0x4aa2b4
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 0x4aa2ac
mov edx, dword [esi + 0xc]
jmp 0x4aa290
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 0x4aa290
jmp 0x4aa319
mov dword [esi + 8], eax
jmp 0x49ff12
cmp edi, 0xfffffc20
jne 0x4aa2e7
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.0x4a93c8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa2ef
cmp byte [ecx], 0x77
jmp 0x4aa2e9
test edi, edi
jne case.default.0x4a93c8
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 0x49ff12
cmp dword [esi + 0x5c], 0
jne 0x4aa359
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 0x49f9ca
cmp dword [esi + 0x5c], 0
jne 0x49f9ca
jmp case.0x4a9dcf.14
cmp edi, 1
jne 0x4aa41f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4aa392
cmp al, 0x77
jne case.0x4a9dcf.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 0x4aa392
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 0x4a1ad2
cmp ecx, dword [esi + 0x38]
je 0x4a1ad2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x4aa4c8
test ecx, ecx
jne 0x4aa404
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
cmp edi, 0xfffffc20
jne 0x4aa452
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.0x4a93c8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa45a
cmp byte [ecx], 0x77
jmp 0x4aa454
test edi, edi
jne case.default.0x4a93c8
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 0x4aa381
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa4ad
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
test ecx, ecx
jne 0x4aa4ee
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
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 0x4a9f7d
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x49f2f0
test edi, edi
jne case.default.0x4a93c8
add dword [esi + 0xc], 3
jmp 0x49f2f0
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2d4a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x4aa636
cmp edx, 0xc0
jb 0x4aa636
test dl, 0x20
jne 0x4aa586
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4aa633
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aa5ad
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4aa633
test dl, 8
jne 0x4aa5d0
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 0x4aa633
test dl, 4
jne 0x4aa5ff
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 0x4aa633
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.0050aab0
add esp, 0xc
test eax, eax
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa67a
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x4a9dcf.14
test ebx, ebx
je 0x4aa6bc
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4aa6bc
nop
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4aa6b0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa6e5
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4aa72f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2d5e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4aa827
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4aa761
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4aa820
test bl, 0x10
jne 0x4aa782
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 0x4aa820
test bl, 8
jne 0x4aa7af
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 0x4aa820
test bl, 4
jne 0x4aa7e5
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 0x4aa820
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 0x4aa84e
cmp dword [esi + 0x9c], 0x6e
jne 0x4aa865
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc92
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x4a8ecc
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 0x4aa835
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa894
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x4ab0fc
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4aa8d1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4aa8c5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa8fa
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.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 0x4aa98f
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4aa952
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4aa957
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4aa941
cmp edi, 0xfffffffc
je 0x4aa984
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4aa98c
cmp edi, 0xfffffffd
je 0x4aa984
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4aa98c
cmp edi, 0xfffffffe
je 0x4aa984
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4aa98c
cmp edi, 0xffffffff
je 0x4aa984
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4aa98c
mov eax, dword [esi + 0x88]
jmp 0x4aa9fa
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4aaa3d
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4aaa3d
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4aa9c1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4aa9c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4aa9b0
cmp edi, 0xfffffffc
je 0x4aa9f7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4aaa3d
cmp edi, 0xfffffffd
je 0x4aa9f7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4aaa3d
cmp edi, 0xfffffffe
je 0x4aa9f7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4aaa3d
cmp edi, 0xffffffff
je 0x4aa9f7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4aaa3d
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 0x4aaa2e
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4a9f74
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab0fc
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4ab0fc
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x4ab0fc
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4ab0fc
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc82
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8ecc
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aaaad
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aaaa1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aaae2
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2d4a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4aac12
test dl, 0x20
jne 0x4aab4c
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 0x4aac12
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aab78
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 0x4aac12
test dl, 8
jne 0x4aaba3
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 0x4aac12
test dl, 4
jne 0x4aabd7
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 0x4aac12
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.0x4a9dcf.14
cmp dword [esi + 0x94], eax
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aac59
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aac8c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aac80
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aacc1
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4aad11
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9dcf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
jmp 0x4a033f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x10], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4aae19
mov cl, byte [eax]
test bl, 0x20
jne 0x4aad3e
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4aae11
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4aad62
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 0x4aae11
test bl, 8
jne 0x4aad9d
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
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 0x4aae19
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4aaddb
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
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 0x4aae11
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
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.0x4ab0fc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aae54
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aae8c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aae80
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aaec1
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4aaf0d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2d5e
cmp dword [esi + 0x7c], 0xc
jne 0x4aaf5c
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4aaf37
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a440
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4aaf5c
jmp case.0x4a9dcf.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4aaf5c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4aaf5c
cmp edi, 1
je case.0x4a9dcf.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a9dcf.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 + 0x10], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4ab06b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4aafa9
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x4ab050
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4aafca
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x4ab050
test dl, 8
jne 0x4aafed
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 0x4ab050
test dl, 4
jne 0x4ab01c
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 0x4ab050
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 + 0x10], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4ab07a.15
jmp dword [eax*4 + 0x4ada3c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4ab07a.13
mov eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x78]
jb case.0x4ab07a.13
cmp dword [ebp + 0x18], 0
jne case.0x4ab07a.13
cmp dword [ebp + 0x1c], 2
jne case.0x4ab07a.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4ab07a.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4ab07a.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc82
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8ecc
cmp edx, 0x85
ja 0x4ab115
je case.0x4ab0fc.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab0fc
jmp dword [edx*4 + 0x4ada7c]
cmp edi, dword [ebp + 0x78]
jae case.0x4ab07a.13
cmp byte [edi], 0xa
jne case.0x4ab07a.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x4ab07a.13
sub edx, 0x2028
je case.0x4ab0fc.11
sub edx, 1
jne case.default.0x4ab0fc
cmp dword [ebp + 0x68], 0
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp edx, 0x2000
ja 0x4ab1b5
je case.default.0x4ab0fc
cmp edx, 0xa0
ja 0x4ab1a1
je case.default.0x4ab0fc
cmp edx, 9
je case.default.0x4ab0fc
cmp edx, 0x20
je case.default.0x4ab0fc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab192
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4a9f74
cmp edx, 0x1680
je case.default.0x4ab0fc
cmp edx, 0x180e
jmp 0x4ab15d
cmp edx, 0x3000
ja case.0x4ab07a.13
je case.default.0x4ab0fc
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4ab07a.13
movzx eax, byte [edx + 0x4ada94]
jmp dword [eax*4 + 0x4ada8c]
cmp edx, 0x2000
ja 0x4ab22c
je case.0x4ab07a.13
cmp edx, 0xa0
ja 0x4ab20f
je case.0x4ab07a.13
cmp edx, 9
je case.0x4ab07a.13
cmp edx, 0x20
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp edx, 0x1680
je case.0x4ab07a.13
cmp edx, 0x180e
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp edx, 0x3000
ja case.default.0x4ab0fc
je case.0x4ab07a.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x4ab0fc
movzx eax, byte [edx + 0x4adafc]
jmp dword [eax*4 + 0x4adaf4]
cmp edx, 0x85
ja 0x4ab27c
je case.default.0x4ab0fc
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4ab07a.13
jmp dword [edx*4 + 0x4adb5c]
sub edx, 0x2028
je case.default.0x4ab0fc
sub edx, 1
jne case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp edx, 0x85
ja 0x4ab2b7
je case.0x4ab07a.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab0fc
jmp dword [edx*4 + 0x4adb6c]
sub edx, 0x2028
je case.0x4ab07a.13
sub edx, 1
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp ecx, 0x100
jae case.0x4ab07a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp ebx, 0x100
jae case.default.0x4ab0fc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp dword [esp + 0x18], 0x100
jae case.0x4ab07a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp dword [esp + 0x14], 0x100
jae case.default.0x4ab0fc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp dword [esp + 0x1c], 0x100
jae case.0x4ab07a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4ab07a.13
jmp case.default.0x4ab0fc
cmp dword [esp + 0x20], 0x100
jae case.default.0x4ab0fc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4ab07a.13
jmp case.default.0x4ab0fc
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x4a8edc
mov edi, 0xfffffff2
jmp 0x4a8ec8
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ab3cc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ab3c0
cmp dword [esi + 0x7c], 0x11
jne 0x4ab3e5
cmp ecx, dword [esi + 0x30]
jbe 0x4ab3e5
cmp byte [ecx], 0xa
jne 0x4ab3e5
dec ecx
cmp byte [ecx], 0xd
jne 0x4ab3e5
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab41a
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4ab46a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9dcf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
jmp 0x4a033f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x4ab4ad
cmp ecx, 0xc0
jb 0x4ab4ad
test cl, 0x20
jne 0x4ab489
lea eax, [edx + 1]
jmp 0x4ab4aa
test cl, 0x10
jne 0x4ab493
add eax, 3
jmp 0x4ab4aa
test cl, 8
jne 0x4ab49d
add eax, 4
jmp 0x4ab4aa
test cl, 4
jne 0x4ab4a7
add eax, 5
jmp 0x4ab4aa
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab4e6
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab530
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab62f
cmp eax, 0xc0
jb 0x4ab62f
test al, 0x20
jne 0x4ab568
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab62a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x4ab58e
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 0x4ab62a
test al, 8
jne 0x4ab5ba
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 0x4ab62a
test al, 4
jne 0x4ab5ef
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 0x4ab62a
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, 9
je 0x4ab664
cmp eax, 5
je 0x4ab664
cmp eax, 8
je 0x4ab664
xor eax, eax
jmp 0x4ab669
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab6a1
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab6eb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab7fa
cmp eax, 0xc0
jb 0x4ab7fa
test al, 0x20
jne 0x4ab723
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab7f5
test al, 0x10
jne 0x4ab74b
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 0x4ab7f5
test al, 8
jne 0x4ab77f
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 0x4ab7f5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4ab7ba
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 0x4ab7f5
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab863
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab8ad
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab9bb
cmp eax, 0xc0
jb 0x4ab9bb
test al, 0x20
jne 0x4ab8e5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab9b6
test al, 0x10
jne 0x4ab90b
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 0x4ab9b6
test al, 8
jne 0x4ab93d
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 0x4ab9b6
test al, 4
movzx eax, byte [edx]
jne 0x4ab978
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 0x4ab9b6
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aba1d
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4aba67
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4abb75
cmp eax, 0xc0
jb 0x4abb75
test al, 0x20
jne 0x4aba9f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4abb70
test al, 0x10
jne 0x4abac5
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 0x4abb70
test al, 8
jne 0x4abaf7
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 0x4abb70
test al, 4
movzx eax, byte [edx]
jne 0x4abb32
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 0x4abb70
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 + 0x55e200]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb80]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abbd7
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4abc21
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
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 0x4abd1e
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x4abd1e
test al, 0x20
jne 0x4abc5e
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x4abd0d
test al, 0x10
jne 0x4abc7e
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 0x4abd0d
test al, 8
jne 0x4abca7
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 0x4abd0d
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4abcda
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 0x4abd0d
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 + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x55e200]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb82]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x10], edx
jae 0x4abe95
mov dword [esp + 0x10], edx
jmp 0x4abd60
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4abe3c
cmp edx, 0xc0
jb 0x4abe3c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4abda1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4abe38
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4abdbc
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4abe32
and eax, 0x3f
test dl, 8
jne 0x4abddc
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4abe32
test dl, 4
jne 0x4abe05
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 0x4abe32
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 + 0x55e200]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx ecx, byte [eax*8 + 0x55cb82]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x55c5c8], eax
mov ebp, dword [esp + 0xb0]
je 0x4abe95
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x4abd60
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4abed4
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x4abed4
cmp eax, dword [ebp + 0x84]
jbe 0x4abed4
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4abed4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc82
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8ecc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abf03
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x4abf3c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4abf3c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4abf30
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abf71
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x4abf9b
movzx edx, byte [edi]
jmp 0x4ac061
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4abfaf
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x4abfa3
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4ac063
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4abfde
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4ac05f
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4abff1
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4ac059
and eax, 0x3f
test dl, 8
jne 0x4ac00c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4ac059
test dl, 4
jne 0x4ac030
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 0x4ac059
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 + 0x55e200]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x560400]
movzx ebx, byte [eax*8 + 0x55cb82]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x49f2f0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x4ac0a4
movzx edx, byte [edi]
jmp 0x4ac16f
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4ac0c0
mov edi, edi
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x4ac0b0
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x4ac171
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac0ec
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4ac16d
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4ac0ff
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4ac167
and eax, 0x3f
test dl, 8
jne 0x4ac11a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4ac167
test dl, 4
jne 0x4ac13e
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 0x4ac167
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 + 0x55e200]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x560400]
movzx edx, byte [eax*8 + 0x55cb82]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x55c5c8], eax
je 0x4a7b58
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x4ac085
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ac1ee
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ac2fe
cmp eax, 0xc0
jb 0x4ac2fe
test al, 0x20
jne 0x4ac226
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ac2f9
test al, 0x10
jne 0x4ac24c
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 0x4ac2f9
test al, 8
jne 0x4ac27e
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 0x4ac2f9
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4ac2bb
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 0x4ac2f9
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4ac335
cmp eax, 3
je 0x4ac335
xor eax, eax
jmp 0x4ac33a
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac372
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2d4a
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 + 0x10], edx
je 0x4ac4d3
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x4ac4d3
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac3fb
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 0x4ac4d7
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4ac427
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 0x4ac4d7
test dl, 8
jne 0x4ac458
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 0x4ac4d7
test dl, 4
jne 0x4ac492
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 0x4ac4d7
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 0x4ac4d7
mov edi, dword [esp + 0x10]
cmp ecx, 0x24
je 0x4ac502
cmp eax, 0x40
je 0x4ac502
cmp ebx, 0x60
je 0x4ac502
cmp edi, 0xa0
jb 0x4ac4f6
cmp edx, 0xd7ff
jbe 0x4ac502
cmp edx, 0xe000
jae 0x4ac502
xor eax, eax
jmp 0x4ac507
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab0fc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac53f
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4a9f74
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2d4a
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 + 0x10], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x4ac681
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x4ac681
test dl, 0x20
jne 0x4ac5c3
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4ac670
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4ac5ea
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4ac670
test dl, 8
jne 0x4ac60d
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 0x4ac670
test dl, 4
jne 0x4ac63c
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 0x4ac670
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 + 0x10], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x10], 0x20
mov edi, edx
ja 0x4ac6a2
cmp eax, 0x20
je case.0x4ac7a8.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4ac7a8.8203
jmp dword [eax*4 + 0x4adb7c]
cmp edx, 0x2000
ja 0x4ac77c
cmp ecx, 0x2000
je case.0x4ac7a8.8193
cmp edi, 0x1680
ja 0x4ac771
cmp edx, 0x1680
je case.0x4ac7a8.8193
mov eax, edx
sub eax, 0x85
je case.0x4ac7a8.8193
sub eax, 0x1b
je case.0x4ac7a8.8193
mov eax, edx
test eax, eax
jns 0x4ac6f1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and edx, 0x8000007f
jns 0x4ac70b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp dword [eax*4 + 0x55c550], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x4ab0fc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac762
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac983
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4a9f74
cmp edx, 0x180e
jmp 0x4ac6e2
cmp ebx, 0x3000
ja case.0x4ac7a8.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4ac7a8.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4ac7a8.8203
movzx eax, byte [eax + 0x4adb98]
jmp dword [eax*4 + 0x4adb90]
cmp dword [esi + 0x68], 0
je 0x4ac733
jmp case.default.0x4ab0fc
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ac7f9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2d5e
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 0x4ac910
cmp eax, 0xc0
jb 0x4ac910
test al, 0x20
jne 0x4ac836
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ac909
test al, 0x10
jne 0x4ac85c
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 0x4ac909
test al, 8
jne 0x4ac88e
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 0x4ac909
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4ac8cb
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 0x4ac909
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 + 0x55e200]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4ac94c
cmp eax, 3
je 0x4ac94c
cmp ebx, 0x5f
je 0x4ac94c
xor eax, eax
jmp 0x4ac951
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab0fc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4acb9a
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4acb90
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc9f
mov edi, 0xfffffffa
jmp 0x4a8ec8
test edi, edi
jne case.default.0x4a93c8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9dcf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4ac9fb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9dcf.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4a9dcf.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a9dcf.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc82
mov edi, 0xfffffff4
jmp 0x4a8ecc
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x4acae3
cmp edx, 0xc0
jb 0x4acae3
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4aca37
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4acade
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4aca58
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4acade
test dl, 8
jne 0x4aca7b
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 0x4acade
test dl, 4
jne 0x4acaaa
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 0x4acade
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 + 0x55ca40]
lea eax, [eax*4 + 0x55ca40]
jb 0x4acb05
mov ecx, dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4acb1e
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4acaf8
cmp dword [esi + 0x68], 0
jne 0x4acb24
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc92
xor edi, edi
jmp 0x4a8ecc
cmp dword [esi + 0x68], 0
jne case.0x4a9dcf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4acbb3
push 0x134
call dword [0xd91300]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4acba9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acc9f
lea edi, [ecx - 6]
jmp 0x4a8ecc
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4acb74
push ecx
call dword [0xd912fc]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x49f363
mov dword [esi + 0xc], ecx
jmp 0x49f2f0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4a9f74
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4a9f74
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