Function at 0x49f180
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 0x49f20b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acab2
mov edi, 0xfffffff8
jmp 0x4a8dbc
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x49f229
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acac2
mov edi, 0xffffffeb
jmp 0x4a8dbc
cmp dword [ebp + 0x98], 2
jne 0x49f253
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.0x49f27f.98
movzx eax, byte [eax + 0x4accfc]
jmp dword [eax*4 + 0x4acbb0]
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 0x49f2bd
push 0x134
call dword [0xc61500]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac873
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 0x49f1d0
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f32c
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f369
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
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 0x49f3b8
push 0x134
call dword [0xc61500]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac873
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x49f2c7
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f3ec
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x49f42d
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 0x49f253
mov edi, dword [esi + 4]
test edi, edi
jne 0x49f452
push 0x134
call dword [0xc61500]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac873
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x49f2c7
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f486
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
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 0x49f4d5
push 0x134
call dword [0xc61500]
mov edi, eax
add esp, 4
test edi, edi
je 0x4ac873
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x49f2c7
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 0x4aa374
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.0x49f27f.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 0x4a8e54
mov dword [esi + 0x54], ebx
jmp 0x49fd6f
mov dword [esi + 0x54], ebx
jmp 0x49fd93
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 0x49f6a3
mov edi, dword [0xc64058]
test edi, edi
je 0x49f68f
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 0x49f654
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.0x4aafec
jns 0x49f68f
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a8ef1
jmp 0x4a8db8
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.0x49f6c6.146
movzx eax, byte [eax + 0x4acdb8]
jmp dword [eax*4 + 0x4acda0]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x49f6c6.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x49f7ad
cmp ecx, dword [edx + 4]
je 0x49f7ad
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x4a911b
movzx ecx, byte [ecx + 0x55c438]
jmp 0x4a911e
cmp dword [ebp + 0xa4], 0
je case.0x49f6c6.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 0x49f6fe
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 0x49f6fe
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x49f750
jmp 0x49f6fe
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 0x49f6f9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49f6f9
mov eax, 1
jmp 0x49f6fb
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.0x49f6c6.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 0x49f80a
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49f80a
mov eax, 1
jmp 0x49f80c
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x49f6fe
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x49f7e0
jmp 0x49f6fe
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49f856
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9380
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 0x49f8c3
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x49f253
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 0x49f8ba
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x49f913
mov eax, ecx
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x49f904
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x49f253
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x49f95e
cmp cl, 0x9f
je 0x49f95e
cmp dword [ebp + 0xa4], ebx
jne 0x49f95e
cmp dword [ebp + 0x5c], ebx
jne case.default.0x4aafec
cmp dword [ebp + 0x60], ebx
je 0x49f95e
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x4aafec
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 0x4a8ef1
jmp 0x4a8db8
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49f9b9
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a91fb
mov dword [esi + 0x58], ebx
jmp 0x4a91fb
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49f9e5
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a9341
mov dword [esi + 0x58], ebx
jmp 0x4a9341
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x49fa32
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x49fa50
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x4a9cbf.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49fa2c
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49fa20
test edx, edx
jg 0x49fa07
jmp 0x49fa50
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.0x4a9cbf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x49f8ba
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x49f253
mov edi, dword [0xc64058]
test edi, edi
je 0x49fb58
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 0x49fb17
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.0x4aafec
jns 0x49fb58
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a8ef1
jmp 0x4a8db8
add dword [esi + 0xc], 6
jmp 0x49f253
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 0x49fb82
xor edx, edx
jmp 0x49fb8f
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 0x49fbb5
lea esp, [esp]
cmp edx, dword [ecx + 4]
jne 0x49fbad
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x49fbf2
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x49fba0
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 0x49fc08
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x49fc20
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acad2
mov edi, 0xffffffe6
jmp 0x4a8db8
shl eax, 2
push eax
call dword [0xc614f8]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4ac873
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.004adb10
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4a9467
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 0x49fc50
jmp 0x49f253
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49fc98
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
jmp 0x49fcc0
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 0x49fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49fcfe
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
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 0x49fd20
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x49f253
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 0x49fd6f
cmp eax, 0x8b
jne 0x49fd93
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 0x49fdb0
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 0x4a9f6b
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 0x49fe2d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49fe56
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
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 0x49fe92
cmp al, 0x81
je 0x49fe92
mov dword [esi + 0x38], ebx
jmp 0x49fea3
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 0x49feb0
cmp al, 0x80
jbe 0x49feb4
cmp al, 0x82
jne 0x49fed1
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 0x4a9311
cmp al, 0x85
je 0x49fee5
cmp al, 0x8a
je 0x49fee5
cmp al, 0x86
je 0x49fee5
cmp al, 0x8b
jne 0x49ffbb
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 0x49ff2a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x49ff2a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x4a9311
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 0x49ff59
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x49ffbb
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x49ff7f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x49ff7f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x49ff70
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 0x49ffbb
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x49fff3
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 0x4acae2
mov edi, 0xfffffc1a
jmp 0x4a8db8
cmp cl, 0x78
je 0x4a0083
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x4a0083
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x4a0049
test ecx, ecx
jne 0x4a002e
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
test ecx, ecx
jne 0x4a006b
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4a19c2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a00b4
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
cmp dword [ebp + 0x44], ebx
je case.0x49f27f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4aafec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x4a1186.10
jmp case.default.0x4aafec
cmp dword [ebp + 0x44], ebx
je 0x4a0102
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4aafec
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x4a1186.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x4aafec
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4a014d
cmp ecx, edi
jbe 0x4a0142
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0050a4c0
add esp, 0x14
test eax, eax
je 0x4a0142
mov eax, 1
jmp 0x4a0144
xor eax, eax
test eax, eax
jne case.0x4a1186.10
jmp case.default.0x4aafec
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x4aafec
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x4aafec
cmp edx, 1
je case.0x4a1186.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a1186.10
jmp case.default.0x4aafec
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x4a1186.10
jmp case.default.0x4aafec
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x49f253
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a0244
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a01d2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0050a330
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x4a1186.10
jmp 0x4a01f3
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a01ef
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a01ef
cmp edi, 1
je case.0x4a1186.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a1186.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9cbf.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x4a9cbf.14
cmp dword [ebp + 0x18], 0
jne case.0x4a9cbf.14
cmp dword [ebp + 0x1c], 2
jne case.0x4a9cbf.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4a9cbf.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4ac8d5
jmp case.0x4a9cbf.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x4aafec
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a1186.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x4a1186.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x4a1186.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8dbc
cmp dword [ebp + 0x48], ebx
jne case.default.0x4aafec
cmp dword [ebp + 0x58], ebx
je case.0x49f27f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a1192
jmp case.default.0x4aafec
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a024d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a02de
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a330
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a030c
jmp 0x4a02fb
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a030c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a030c
cmp edi, 1
je 0x4a02fb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4a030c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x4a024d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4aafec
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4aafec
cmp dword [ebp + 0x18], ebx
jne case.default.0x4aafec
cmp dword [ebp + 0x1c], 2
jne case.default.0x4aafec
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x4aafec
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x4aafec
jmp 0x4a0277
cmp dword [esp + 0x28], ebx
je 0x4a0618
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x4a0376
mov dword [esi + 0x5c], ebx
jmp 0x4a04a5
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x4a038e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x4a0382
cmp ecx, dword [ebp + 0x84]
jae 0x4a039c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x4a0453
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a03ca
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x4a044b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x4a03dd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4a0445
and eax, 0x3f
test bl, 8
jne 0x4a03f8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4a0445
test bl, 4
jne 0x4a041c
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 0x4a0445
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 0x4a04db
cmp edx, 0x5f
jne 0x4a046d
mov dword [esi + 0x5c], 1
jmp 0x4a04a5
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 0x4a04ec
cmp eax, 3
je 0x4a04ec
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a04f3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a04cf
cmp edi, dword [ebp + 0x84]
jbe 0x4a04cf
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
mov dword [esi + 0x54], 0
jmp 0x4a0733
cmp edi, 0x100
jae 0x4a04a0
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4a04a0
mov eax, 1
jmp 0x4a04a2
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a05aa
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a0521
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a05a2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a0534
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4a059c
and eax, 0x3f
test dl, 8
jne 0x4a054f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a059c
test dl, 4
jne 0x4a0573
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 0x4a059c
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 0x4a05fd
cmp edi, 0x5f
jne 0x4a05c3
mov dword [esi + 0x54], 1
jmp 0x4a0733
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 0x4a060e
cmp eax, 3
je 0x4a060e
xor eax, eax
jmp 0x4a0730
cmp ebx, 0x100
jae 0x4a05f6
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a05f6
mov eax, 1
jmp 0x4a0730
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4a0628
mov dword [esi + 0x5c], ebx
jmp 0x4a06b2
cmp eax, dword [ebp + 0x84]
ja 0x4a0637
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x4a06a2
cmp ecx, 0x5f
jne 0x4a0651
mov dword [esi + 0x5c], 1
jmp 0x4a06b2
mov eax, ecx
test eax, eax
jns 0x4a065a
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a0674
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 0x4a069b
cmp eax, 3
je 0x4a069b
xor eax, eax
jmp 0x4a06af
mov eax, 1
jmp 0x4a06af
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 0x4a06e1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a06dc
cmp eax, dword [ebp + 0x84]
jbe 0x4a06dc
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4a0277
mov dword [esi + 0x54], ebx
jmp 0x4a0733
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x4a0723
cmp ecx, 0x5f
jne 0x4a06f7
mov dword [esi + 0x54], 1
jmp 0x4a0733
mov eax, ecx
test eax, eax
jns 0x4a0700
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a05d3
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x4a05d3
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 0x4a074e
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x4a0756
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x49f253
jmp case.default.0x4aafec
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4a079d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4a0792
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0050a330
add esp, 0x14
test eax, eax
je 0x4a0792
mov eax, 1
jmp 0x4a0794
xor eax, eax
test eax, eax
je 0x4a07c8
jmp case.default.0x4aafec
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4a07c8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a07c8
cmp edx, 1
je case.default.0x4aafec
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4aafec
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x49f27f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x49f27f.13
cmp dword [ebp + 0x18], ebx
jne case.0x49f27f.13
cmp dword [ebp + 0x1c], 2
jne case.0x49f27f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x49f27f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4a0277
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4a0836
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x4aafec
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4aafec
jmp 0x4a0277
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x4a1186.10
cmp ecx, dword [ebp + 0x78]
jae case.0x4a1186.10
lea ecx, [ecx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x4a1186.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a0850
inc dword [esi + 0xc]
jmp 0x49f253
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a0894
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4aafec
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4aafec
jmp 0x4a0347
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49f253
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a08c1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a09ab
cmp edx, 0xc0
jb 0x4a09ab
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a08ff
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a09a6
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a0920
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a09a6
test dl, 8
jne 0x4a0943
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 0x4a09a6
test dl, 4
jne 0x4a0972
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 0x4a09a6
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.0x4a1186.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a09e9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edx, dword [ebp + 0x84]
jmp 0x4a081b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a0ae6
cmp ecx, 0xc0
jb 0x4a0ae6
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0a25
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0ae1
test cl, 0x10
jne 0x4a0a46
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 0x4a0ae1
test cl, 8
jne 0x4a0a70
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 0x4a0ae1
test cl, 4
jne 0x4a0aa6
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 0x4a0ae1
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.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0b24
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a0c2c
cmp edx, 0xc0
jb 0x4a0c2c
test dl, 0x20
jne 0x4a0b60
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0c27
test dl, 0x10
jne 0x4a0b87
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 0x4a0c27
test dl, 8
jne 0x4a0bb7
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 0x4a0c27
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a0bf3
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 0x4a0c27
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.0x4a1186.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a0c6a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edx, dword [ebp + 0x84]
jmp 0x4a081b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a0d67
cmp ecx, 0xc0
jb 0x4a0d67
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0ca6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0d62
test cl, 0x10
jne 0x4a0cc7
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 0x4a0d62
test cl, 8
jne 0x4a0cf1
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 0x4a0d62
test cl, 4
jne 0x4a0d27
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 0x4a0d62
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.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0da5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a0ead
cmp edx, 0xc0
jb 0x4a0ead
test dl, 0x20
jne 0x4a0de1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0ea8
test dl, 0x10
jne 0x4a0e08
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 0x4a0ea8
test dl, 8
jne 0x4a0e38
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 0x4a0ea8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a0e74
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 0x4a0ea8
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.0x4a1186.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a0eeb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edx, dword [ebp + 0x84]
jmp 0x4a081b
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a0fe8
cmp ecx, 0xc0
jb 0x4a0fe8
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0f27
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0fe3
test cl, 0x10
jne 0x4a0f48
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 0x4a0fe3
test cl, 8
jne 0x4a0f72
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 0x4a0fe3
test cl, 4
jne 0x4a0fa8
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 0x4a0fe3
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.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1026
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a1166
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x4a1166
test dl, 0x20
jne 0x4a1076
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 0x4a116a
test dl, 0x10
jne 0x4a10a6
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 0x4a116a
test dl, 8
jne 0x4a10e2
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 0x4a116a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a1127
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 0x4a116a
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 0x4a116a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x4a11c9
cmp ecx, 0x85
je case.0x4a1186.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4aafec
jmp dword [edx*4 + 0x4acdcc]
cmp edi, dword [ebp + 0x78]
jb 0x4a11b4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a1186.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a1186.10
cmp ecx, 1
jmp 0x4a026a
cmp byte [eax], 0xa
jne case.0x4a1186.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49f253
sub edx, 0x2028
je case.0x4a1186.11
sub edx, 1
jne case.default.0x4aafec
cmp dword [ebp + 0x68], 0
je case.0x4a1186.10
jmp case.default.0x4aafec
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a120a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a1325
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4a1325
test dl, 0x20
jne 0x4a1251
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1318
test dl, 0x10
jne 0x4a1278
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 0x4a1318
test dl, 8
jne 0x4a12a8
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 0x4a1318
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a12e4
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 0x4a1318
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 0x4a138b
cmp edx, 0x2000
je case.default.0x4aafec
cmp edx, 0xa0
ja 0x4a136b
cmp ebx, 0xa0
je case.default.0x4aafec
cmp edx, 9
je case.default.0x4aafec
cmp edx, 0x20
je case.default.0x4aafec
inc dword [esi + 0xc]
jmp 0x49f253
cmp edi, 0x1680
je case.default.0x4aafec
cmp edx, 0x180e
je case.default.0x4aafec
inc dword [esi + 0xc]
jmp 0x49f253
cmp eax, 0x3000
ja case.0x4a1186.10
cmp ecx, 0x3000
je case.default.0x4aafec
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a1186.10
movzx eax, byte [edx + 0x4acde4]
jmp dword [eax*4 + 0x4acddc]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a13e0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edx, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a14f0
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x4a14f0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a1427
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a14e3
test cl, 0x10
jne 0x4a1448
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 0x4a14e3
test cl, 8
jne 0x4a1472
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 0x4a14e3
test cl, 4
jne 0x4a14a8
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 0x4a14e3
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 0x4a1550
cmp ecx, 0x2000
je case.0x4a1186.10
cmp ecx, 0xa0
ja 0x4a1533
cmp ebx, 0xa0
je case.0x4a1186.10
cmp ecx, 9
je case.0x4a1186.10
cmp ecx, 0x20
je case.0x4a1186.10
jmp case.default.0x4aafec
cmp edx, 0x1680
je case.0x4a1186.10
cmp ecx, 0x180e
je case.0x4a1186.10
jmp case.default.0x4aafec
cmp eax, 0x3000
ja case.default.0x4aafec
cmp edi, 0x3000
je case.0x4a1186.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4aafec
movzx eax, byte [ecx + 0x4ace4c]
jmp dword [eax*4 + 0x4ace44]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a15a5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a16bd
cmp edx, 0xc0
jb 0x4a16bd
test dl, 0x20
jne 0x4a15e5
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x4a16b6
test dl, 0x10
jne 0x4a160c
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 0x4a16b6
test dl, 8
jne 0x4a163f
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 0x4a16b6
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x4a167b
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 0x4a16b6
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 0x4a16e3
cmp eax, 0x85
je case.0x4a9cbf.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a1186.10
jmp dword [edx*4 + 0x4aceac]
sub edx, 0x2028
je case.0x4a9cbf.14
sub edx, 1
jne case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a171e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a1810
cmp edx, 0xc0
jb 0x4a1810
test dl, 0x20
jne 0x4a175c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1809
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a1783
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a1809
test dl, 8
jne 0x4a17a6
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 0x4a1809
test dl, 4
jne 0x4a17d5
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 0x4a1809
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 0x4a1836
cmp eax, 0x85
je case.0x4a1186.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a9cbf.14
jmp dword [edx*4 + 0x4acebc]
sub edx, 0x2028
je case.0x4a1186.10
sub edx, 1
je case.0x4a1186.10
jmp case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1871
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a1984
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a1984
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a18ca
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1971
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a18eb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a1971
test dl, 8
jne 0x4a190e
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 0x4a1971
test dl, 4
jne 0x4a193d
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 0x4a1971
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.0x4aaf6a.15
jmp dword [ecx*4 + 0x4acecc]
cmp dword [esi + 0x9c], 0xf
je case.default.0x4aafec
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x49f253
mov al, byte [ebx*8 + 0x55cb81]
cmp al, 9
je 0x4a19e4
cmp al, 5
je 0x4a19e4
cmp al, 8
je 0x4a19e4
xor ecx, ecx
jmp 0x4a19e9
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x4a19c2
jmp case.default.0x4aafec
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 0x4a19c2
jmp case.default.0x4aafec
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 0x4a19c2
jmp case.default.0x4aafec
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x55cb80]
jmp 0x4a1a37
movzx eax, byte [ebx*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a19e4
cmp eax, 3
je 0x4a19e4
xor ecx, ecx
jmp 0x4a19e9
cmp edx, 0x20
ja 0x4a1aa3
je case.0x4a19ae.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4a1b1f.8203
jmp dword [edx*4 + 0x4acef8]
cmp edx, 0x2000
ja 0x4a1aff
je case.0x4a19ae.0
cmp edx, 0x1680
ja 0x4a1af7
je case.0x4a19ae.0
sub edx, 0x85
je case.0x4a19ae.0
sub edx, 0x1b
je case.0x4a19ae.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 0x4a1a43
cmp edx, 0x180e
jmp 0x4a1ace
cmp edx, 0x3000
ja case.0x4a1b1f.8203
je case.0x4a19ae.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a1b1f.8203
movzx eax, byte [edx + 0x4acf14]
jmp dword [eax*4 + 0x4acf0c]
movzx eax, byte [ebx*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a19e4
cmp eax, 3
je 0x4a19e4
cmp edx, 0x5f
je 0x4a19e4
xor ecx, ecx
jmp 0x4a19e9
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x55ca40]
cmp ecx, dword [eax]
jb 0x4a1b7d
mov ecx, dword [eax]
lea esp, [esp]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a1b8f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a1b70
cmp dword [esi + 0x9c], 0x10
jne 0x4a19c2
jmp case.default.0x4aafec
cmp dword [esi + 0x9c], 0x10
je 0x4a19c2
jmp case.default.0x4aafec
cmp dword [esp + 0x24], 0x24
je 0x4a19e4
cmp dword [esp + 0x1c], 0x40
je 0x4a19e4
cmp edx, 0x60
je 0x4a19e4
cmp edx, 0xa0
jb 0x4a1bd4
cmp edx, 0xd7ff
jbe 0x4a19e4
cmp edx, 0xe000
jae 0x4a19e4
xor ecx, ecx
jmp 0x4a19e9
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a1c08
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edx, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a1cf5
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x4a1cf5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a1c4b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x4a1cea
test al, 0x10
jne 0x4a1c63
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x4a1ce4
test al, 8
jne 0x4a1c84
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 0x4a1ce4
test al, 4
jne 0x4a1cb1
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 0x4a1ce4
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 0x4a1e62
mov dword [esp + 0x14], edx
lea esp, [esp]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a1e09
cmp edx, 0xc0
jb 0x4a1e09
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a1d71
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a1e05
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a1d89
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a1dff
and eax, 0x3f
test dl, 8
jne 0x4a1da9
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a1dff
test dl, 4
jne 0x4a1dd2
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 0x4a1dff
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 0x4a1e62
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 0x4a1d30
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a1186.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x4a1186.10
jmp 0x4a11a0
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 0x4a1f77
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 0x4a1f09
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x4a1f1a
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x14], edi
mov edx, edi
test ebx, ebx
jg 0x4a1ee0
jmp 0x4a1f77
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x4a1f71
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 0x4a1f67
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x4a1f67
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x4a1f71
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.0x4a1f92
movzx eax, byte [ecx + 0x4acf7c]
jmp dword [eax*4 + 0x4acf74]
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 0x4a2017
mov dword [esi + 0x8c], closesocket
jmp 0x4a2017
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 0x4a2013
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x49f253
jns 0x4a2034
cmp dword [esi + 0x90], 0
je 0x49f253
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a2079
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.0049ee40
add esp, 0x14
test eax, eax
js 0x4a2097
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x4a2046
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x14], 0
je 0x4a20c2
mov dword [esi + 0x84], eax
jmp 0x4a96cc
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a20a6
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x78]
jb case.default.0x4aafec
jmp 0x4a0815
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x4a9718
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0049ee40
add esp, 0x14
test eax, eax
js 0x4a2105
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4a20ce
cmp eax, 0xfffffffe
jne 0x4a9718
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a9718
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4a9718
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a9718
jmp 0x4a0277
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0049ee40
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x4a219e
cmp ecx, 0xfffffffe
jne 0x4a2173
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4aafec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4aafec
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4aafec
jmp 0x4a0347
add dword [esi + 8], ecx
jmp 0x49f253
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.0x4a21ce
movzx eax, byte [ecx + 0x4acf8c]
jmp dword [eax*4 + 0x4acf84]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a21eb
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a21f3
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 0x4a2288
mov dword [esi + 0x8c], closesocket
jmp 0x4a2288
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 0x4a226e
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a2288
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 0x4a2400
cmp dword [esi + 0x90], ebx
jl 0x4a244b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4a23c0
test bl, 0x20
jne 0x4a22f7
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 0x4a23c0
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4a2325
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 0x4a23c0
test bl, 8
jne 0x4a234f
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 0x4a23c0
test bl, 4
jne 0x4a2385
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 0x4a23c0
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 0x4a23d0
cmp dword [esi + 0x9c], 0x6e
jmp 0x4a23e3
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.0x4aafec
mov ebx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a22b0
jmp 0x4a2447
cmp dword [esi + 0x90], ebx
jl 0x4a244b
jmp 0x4a2410
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
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.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2410
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a2477
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x4aa75b
jmp 0x4a97c5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4a265c
cmp eax, dword [esi + 0x8c]
jge 0x4a264c
jmp 0x4a24a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a262a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4a25d5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a24f5
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 0x4a25da
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4a2524
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 0x4a25da
test bl, 8
jne 0x4a2558
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 0x4a25da
test bl, 4
jne 0x4a2595
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 0x4a25da
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 0x4a25da
mov eax, 1
cmp edx, 0xff
jbe 0x4a25ed
cmp dword [esi + 0x9c], 0x6e
je 0x4a264c
jmp 0x4a260e
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 0x4a264c
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 0x4a24a0
jmp 0x4a264c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a264c
cmp edi, dword [ebp + 0x84]
jbe 0x4a264c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4aa7c1
cmp eax, dword [esi + 0x8c]
jge 0x4a26c1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a269f
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 0x4a26c1
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 0x4a2664
jmp 0x4a26c1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a26c1
cmp ebx, dword [ebp + 0x84]
jbe 0x4a26c1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4a9808
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.0x4a2707
movzx eax, byte [ecx + 0x4acfa0]
jmp dword [eax*4 + 0x4acf98]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a2724
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a272c
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 0x4a27bd
mov dword [esi + 0x8c], closesocket
jmp 0x4a27bd
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 0x4a27a3
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a27bd
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 0x4a28f2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x4a28c9
cmp edx, 0xc0
jb 0x4a28c9
test dl, 0x20
jne 0x4a2819
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a28c6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a2840
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a28c6
test dl, 8
jne 0x4a2863
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 0x4a28c6
test dl, 4
jne 0x4a2892
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 0x4a28c6
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.0050a9a0
add esp, 0xc
test eax, eax
je case.default.0x4aafec
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4a27d2
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a2910
mov dword [esi + 0x84], eax
jmp 0x4aa541
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 0x4a2a61
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2a3f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x4a2a11
cmp edx, 0xc0
jb 0x4a2a11
test dl, 0x20
jne 0x4a2971
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4a2a09
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a2993
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a2a09
and eax, 0x3f
test dl, 8
jne 0x4a29b3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a2a09
test dl, 4
jne 0x4a29dc
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 0x4a2a09
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.0050a9a0
add esp, 0xc
test eax, eax
je 0x4a2a61
mov eax, dword [esp + 0x14]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a2930
jmp 0x4a2a61
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2a61
cmp edi, dword [ebp + 0x84]
jbe 0x4a2a61
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4aa5ac
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a2c2d
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 0x4a2bb8
test bl, 0x20
jne 0x4a2acb
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 0x4a2bb8
test bl, 0x10
jne 0x4a2b00
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 0x4a2bb8
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 0x4a2b41
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 0x4a2bb8
test bl, 4
jne 0x4a2b7a
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 0x4a2bb8
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 0x4a2bed
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edx, edi
jb case.default.0x4aafec
cmp edx, dword [ebp + 0x84]
jmp 0x4a081b
test ecx, ecx
jle 0x4a2c1f
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.0x4aafec
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4a2bf1
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x49f253
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4a2c69
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ac8d5
jmp case.0x4a9cbf.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 0x4a2f87
jmp case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a2ca5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp edi, dword [ebp + 0x84]
jmp 0x4a081b
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a2f68
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 0x4a2dec
test bl, 0x20
jne 0x4a2cff
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 0x4a2dec
test bl, 0x10
jne 0x4a2d34
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 0x4a2dec
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 0x4a2d75
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 0x4a2dec
test bl, 4
jne 0x4a2dae
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 0x4a2dec
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 0x4a2e1a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x4aafec
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x49f253
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4a2f0d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a2e49
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a2f08
test cl, 0x10
jne 0x4a2e6a
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 0x4a2f08
test cl, 8
jne 0x4a2e97
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 0x4a2f08
test cl, 4
jne 0x4a2ecd
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 0x4a2f08
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 0x49f253
mov eax, edx
test eax, eax
jns 0x4a2f2d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a2f48
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 0x49f253
jmp case.default.0x4aafec
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.0x4a9cbf.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x49f253
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 0x4a30a5
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 0x4a2fea
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4a2ff2
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4a30a5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a30a5
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a30a5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a30a5
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 0x4a30a5
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a34f9
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 0x4a31ee
test bl, 0x20
jne 0x4a3101
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 0x4a31ee
test bl, 0x10
jne 0x4a3136
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 0x4a31ee
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 0x4a3177
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 0x4a31ee
test bl, 4
jne 0x4a31b0
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 0x4a31ee
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 0x4a350a
cmp dword [esi + 0x9c], 0x2e
jb 0x4a3260
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x4a321c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3237
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 0x4a3260
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0050a660
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4a3267
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x14], 1
cmp eax, 1
jl 0x4a3374
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 0x4a32ee
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a32b1
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a32b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a32a0
cmp edi, 0xfffffffc
je 0x4a32e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a32eb
cmp edi, 0xfffffffd
je 0x4a32e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a32eb
cmp edi, 0xfffffffe
je 0x4a32e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a32eb
cmp edi, 0xffffffff
je 0x4a32e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a32eb
mov eax, dword [esi + 0x88]
jmp 0x4a3356
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a3392
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a3392
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a3321
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3326
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3310
cmp edi, 0xfffffffc
je 0x4a3353
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a3392
cmp edi, 0xfffffffd
je 0x4a3353
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a3392
cmp edi, 0xfffffffe
je 0x4a3353
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a3392
cmp edi, 0xffffffff
je 0x4a3353
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a3392
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 0x4a3280
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a33b4
mov dword [esi + 0x84], eax
jmp 0x4aa8f5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4aafec
cmp ebx, dword [ebp + 0x84]
jmp 0x4a081b
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 0x4a34e9
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 0x4a343e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a3401
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3406
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a33f0
cmp edi, 0xfffffffc
je 0x4a3433
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a343b
cmp edi, 0xfffffffd
je 0x4a3433
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a343b
cmp edi, 0xfffffffe
je 0x4a3433
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a343b
cmp edi, 0xffffffff
je 0x4a3433
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a343b
mov eax, dword [esi + 0x88]
jmp 0x4a34a6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a34c2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a34c2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a3471
jmp 0x4a3460
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3476
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3460
cmp edi, 0xfffffffc
je 0x4a34a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a34c2
cmp edi, 0xfffffffd
je 0x4a34a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a34c2
cmp edi, 0xfffffffe
je 0x4a34a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a34c2
cmp edi, 0xffffffff
je 0x4a34a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a34c2
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 0x4a33d0
jmp 0x4a34e9
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a34e9
cmp ebx, dword [ebp + 0x78]
jb 0x4a34e9
cmp ebx, dword [ebp + 0x84]
jbe 0x4a34e9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4aa99d
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4a350e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4a3608
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 0x4a3574
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a977e
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a3563
cmp dword [esi + 0x94], ecx
jne case.0x4a9cbf.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x4a3540
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a3592
mov dword [esi + 0x84], eax
jmp 0x4a98ae
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4a35f8
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a35d6
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4a35c5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4a35f8
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a35a8
jmp 0x4a35f8
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a35f8
cmp eax, dword [ebp + 0x84]
jbe 0x4a35f8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4ac8d5
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4a98f1
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a363f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a365d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x4aafec
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x4a3615
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a3676
mov dword [esi + 0x84], eax
jmp 0x4a9976
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp ebx, dword [ebp + 0x84]
jmp 0x4a081b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a36d6
lea ebx, [ebx]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a36b4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4a36d6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a3690
jmp 0x4a36d6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a36d6
cmp ecx, dword [ebp + 0x84]
jbe 0x4a36d6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4a99b9
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4a39af
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4a37f4
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4a3735
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4a37f1
test bl, 0x10
jne 0x4a3756
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 0x4a37f1
test bl, 8
jne 0x4a3780
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 0x4a37f1
test bl, 4
jne 0x4a37b6
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 0x4a37f1
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 0x4a3935
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x4a3840
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 0x4a3939
test dl, 0x10
jne 0x4a386e
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 0x4a3939
test dl, 8
jne 0x4a38a8
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 0x4a3939
test dl, 4
jne 0x4a38eb
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 0x4a3939
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 0x4a3939
mov ecx, dword [esp + 0x14]
cmp dword [esi + 0x9c], 0x1f
jne 0x4a394f
cmp ebx, eax
jne 0x49f253
jmp case.default.0x4aafec
cmp ebx, 0x7f
jbe 0x4a398d
mov eax, ebx
test eax, eax
jns 0x4a395d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3978
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 0x4a399a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x4aafec
cmp eax, edi
jne 0x49f253
jmp case.default.0x4aafec
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4a9cbf.14
cmp dword [esi + 0x9c], 0x20
jne 0x4a2f87
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4a9cbf.14
add dword [esi + 0xc], 2
jmp 0x49f253
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 0x4a3b31
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 0x4a3a48
cmp al, 0x4f
je 0x4a3a48
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a3b31
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a3b31
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3b31
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3b31
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3b31
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 0x4a3b31
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 0x4a3b31
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 0x4a3c62
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x4a3c62
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3b83
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4a3c5e
test cl, 0x10
jne 0x4a3bab
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 0x4a3c5e
test cl, 8
jne 0x4a3bdf
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 0x4a3c5e
test cl, 4
jne 0x4a3c1c
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 0x4a3c5e
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 0x4a4041
test eax, eax
je 0x4a3cc2
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x4a3cc2
mov eax, edx
test eax, eax
jns 0x4a3c87
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3ca2
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 0x4a3ce5
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 0x4a3e18
cmp dword [esi + 0x90], 1
jl 0x4a3e54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x4a3df1
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a3d30
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3dec
test cl, 0x10
jne 0x4a3d51
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 0x4a3dec
test cl, 8
jne 0x4a3d7b
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 0x4a3dec
test cl, 4
jne 0x4a3db1
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 0x4a3dec
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.0x4aafec
cmp dword [esi + 0x94], eax
je case.default.0x4aafec
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a3cf2
jmp 0x4a3e54
cmp dword [esi + 0x90], edi
jl 0x4a3e54
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x4aafec
cmp dword [esi + 0x94], ecx
je case.default.0x4aafec
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a3e20
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f253
test ebx, ebx
je 0x4a3e80
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x4aab20
jmp 0x4a9a63
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a3fd7
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a3fc7
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a3fa5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a3f80
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3ee4
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a3f7c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a3eff
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a3f76
and eax, 0x3f
test dl, 8
jne 0x4a3f1f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a3f76
test dl, 4
jne 0x4a3f48
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 0x4a3f76
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 0x4a3fc7
cmp dword [esi + 0x94], eax
je 0x4a3fc7
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a3ea4
jmp 0x4a3fc7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a3fc7
cmp edi, dword [ebp + 0x84]
jbe 0x4a3fc7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4aab7c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a4031
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a400f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a4031
cmp dword [esi + 0x94], ecx
je 0x4a4031
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a3fe5
jmp 0x4a4031
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a4031
cmp eax, dword [ebp + 0x84]
jbe 0x4a4031
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4ac8d5
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4a9aa6
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x4a4199
cmp dword [esi + 0x90], edi
jl 0x4a41cf
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4a417a
mov cl, byte [eax]
test bl, 0x20
jne 0x4a409b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4a4172
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4a40bf
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 0x4a4172
test bl, 8
jne 0x4a40fa
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 0x4a417a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4a4138
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 0x4a416e
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.0x4aafec
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [esi + 0x90]
jle 0x4a4062
jmp 0x4a41cb
cmp dword [esi + 0x90], edi
jl 0x4a41cf
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a365d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x4aafec
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a41a1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a41fb
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x4aad1b
jmp 0x4a9b2b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a434e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x4a433e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a431c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4a42fb
test dl, 0x20
jne 0x4a4256
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4a42f3
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a4278
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a42ef
and eax, 0x3f
test dl, 8
jne 0x4a4298
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a42ef
test dl, 4
jne 0x4a42c1
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 0x4a42ef
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 0x4a433e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a4220
jmp 0x4a433e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a433e
cmp edi, dword [ebp + 0x84]
jbe 0x4a433e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4aad7c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a43a6
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a4384
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4a43a6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a4360
jmp 0x4a43a6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a43a6
cmp ecx, dword [ebp + 0x84]
jbe 0x4a43a6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ac8d5
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4a9b6e
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 0x4a44e7
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 0x4a44e7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a44e7
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a44e7
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a44e7
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 0x4a44e7
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 0x4a44e7
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 0x4a4509
cmp ecx, 0xf
je 0x4a4509
mov dword [esi + 0x60], 0xffffffff
jmp 0x4a452d
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 0x4a473a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a5434
cmp eax, 0xa
ja case.0x4aaf6a.15
jmp dword [eax*4 + 0x4acfac]
cmp dword [esi + 0x68], 0
jne case.default.0x4aafec
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x4a473e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9bd6
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4a45be
cmp edx, 0xc0
jb 0x4a45be
test dl, 0x20
jne 0x4a459c
lea eax, [ecx + 2]
jmp 0x4a45bb
test dl, 0x10
jne 0x4a45a6
lea eax, [ecx + 3]
jmp 0x4a45bb
test dl, 8
jne 0x4a45b0
lea eax, [ecx + 4]
jmp 0x4a45bb
lea eax, [ecx + 5]
test dl, 4
je 0x4a45bb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a4571
jmp 0x4a473e
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a46ea
cmp eax, 0xc0
jb 0x4a46ea
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a4629
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a46e5
test al, 0x10
jne 0x4a4649
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 0x4a46e5
test al, 8
jne 0x4a4675
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 0x4a46e5
test al, 4
jne 0x4a46aa
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 0x4a46e5
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 0x4a471f
cmp eax, 5
je 0x4a471f
cmp eax, 8
je 0x4a471f
xor eax, eax
jmp 0x4a4724
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a45e0
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f253
cmp dword [esp + 0x20], 0
je 0x4a67ab
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x4a678e
cmp ecx, 0xa
ja case.0x4aaf6a.15
jmp dword [ecx*4 + 0x4acfd8]
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a489f
cmp eax, 0xc0
jb 0x4a489f
test al, 0x20
jne 0x4a47c9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a489a
test al, 0x10
jne 0x4a47ef
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 0x4a489a
test al, 8
jne 0x4a4821
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 0x4a489a
test al, 4
movzx eax, byte [edx]
jne 0x4a485c
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 0x4a489a
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.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4780
jmp 0x4a473a
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
jmp 0x4a4900
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a4a1f
cmp eax, 0xc0
jb 0x4a4a1f
test al, 0x20
jne 0x4a4949
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4a1a
test al, 0x10
jne 0x4a496f
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 0x4a4a1a
test al, 8
jne 0x4a49a1
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 0x4a4a1a
test al, 4
movzx eax, byte [edx]
jne 0x4a49dc
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 0x4a4a1a
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.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4900
jmp 0x4a473a
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a4b90
cmp eax, 0xc0
jb 0x4a4b90
test al, 0x20
jne 0x4a4aba
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4b8b
test al, 0x10
jne 0x4a4ae0
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 0x4a4b8b
test al, 8
jne 0x4a4b12
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 0x4a4b8b
test al, 4
movzx eax, byte [edx]
jne 0x4a4b4d
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 0x4a4b8b
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.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4a71
jmp 0x4a473a
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a4d01
cmp eax, 0xc0
jb 0x4a4d01
test al, 0x20
jne 0x4a4c2b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4cfc
test al, 0x10
jne 0x4a4c51
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 0x4a4cfc
test al, 8
jne 0x4a4c83
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 0x4a4cfc
test al, 4
movzx eax, byte [edx]
jne 0x4a4cbe
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 0x4a4cfc
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 0x4a4d38
cmp eax, 3
je 0x4a4d38
xor eax, eax
jmp 0x4a4d3d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4be2
jmp 0x4a473a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4a473a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
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 0x4a4e9a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x4a4e9a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a4dcd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4e89
test cl, 0x10
jne 0x4a4dee
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 0x4a4e89
test cl, 8
jne 0x4a4e18
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 0x4a4e89
test cl, 4
jne 0x4a4e4e
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 0x4a4e89
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 0x4a4ebb
cmp eax, 0x20
je case.0x4a4f90.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4a4f90.8203
jmp dword [eax*4 + 0x4ad004]
cmp edx, 0x2000
ja 0x4a4f68
cmp edi, 0x2000
je case.0x4a4f90.8193
cmp ecx, 0x1680
ja 0x4a4f60
je case.0x4a4f90.8193
mov eax, ecx
sub eax, 0x85
je case.0x4a4f90.8193
sub eax, 0x1b
je case.0x4a4f90.8193
mov eax, ecx
test eax, eax
jns 0x4a4f04
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a4f1e
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.0x4aafec
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4a4d70
jmp 0x4a473a
cmp ecx, 0x180e
jmp 0x4a4ef5
cmp ebx, 0x3000
ja case.0x4a4f90.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4a4f90.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4a4f90.8203
movzx eax, byte [eax + 0x4ad020]
jmp dword [eax*4 + 0x4ad018]
cmp dword [esi + 0x68], 0
jne case.default.0x4aafec
jmp 0x4a4f46
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a473a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a50bf
cmp eax, 0xc0
jb 0x4a50bf
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a4fff
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a50b8
test al, 0x10
jne 0x4a501f
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 0x4a50b8
test al, 8
jne 0x4a5048
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 0x4a50b8
test al, 4
jne 0x4a507d
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 0x4a50b8
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 0x4a50fb
cmp eax, 3
je 0x4a50fb
cmp ebx, 0x5f
je 0x4a50fb
xor eax, eax
jmp 0x4a5100
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4aafec
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a4fb4
jmp 0x4a473a
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x4a5229
cmp edx, 0xc0
jb 0x4a5229
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a517d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a5224
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a519e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a5224
test dl, 8
jne 0x4a51c1
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 0x4a5224
test dl, 4
jne 0x4a51f0
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 0x4a5224
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 0x4a524d
mov ecx, dword [eax]
mov edi, edi
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a5269
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a5240
cmp dword [esi + 0x68], 0
je case.default.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5130
jmp 0x4a473a
cmp dword [esi + 0x68], 0
jne case.default.0x4aafec
jmp 0x4a5257
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a473a
jmp 0x4a5290
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
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 0x4a53dd
mov dword [esp + 0x14], ecx
cmp ecx, 0xc0
jb 0x4a53dd
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4a52f0
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 0x4a53e1
test cl, 0x10
jne 0x4a531c
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 0x4a53e1
test cl, 8
jne 0x4a5354
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 0x4a53e1
test cl, 4
jne 0x4a5395
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 0x4a53e1
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 0x4a53e1
mov edi, dword [esp + 0x14]
cmp edx, 0x24
je 0x4a540c
cmp eax, 0x40
je 0x4a540c
cmp ebx, 0x60
je 0x4a540c
cmp edi, 0xa0
jb 0x4a5400
cmp ecx, 0xd7ff
jbe 0x4a540c
cmp ecx, 0xe000
jae 0x4a540c
xor eax, eax
jmp 0x4a5411
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4aafec
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5290
jmp 0x4a473a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a572b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a473a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0807
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 0x4a555c
mov dword [esp + 0x14], edi
cmp eax, 0xc0
jb 0x4a555c
test al, 0x20
jne 0x4a549c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a554b
test al, 0x10
jne 0x4a54bc
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 0x4a554b
test al, 8
jne 0x4a54e5
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 0x4a554b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x4a5518
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 0x4a554b
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 0x4a56eb
mov edi, edx
mov dword [esp + 0x14], eax
jmp 0x4a55a0
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a5679
cmp edx, 0xc0
jb 0x4a5679
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a55e1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a5675
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a55f9
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a566f
and eax, 0x3f
test dl, 8
jne 0x4a5619
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a566f
test dl, 4
jne 0x4a5642
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 0x4a566f
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 0x4a56e3
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 0x4a55a0
jmp 0x4a56eb
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5711
cmp edx, eax
jb 0x4a5711
cmp ecx, dword [ebp + 0x84]
jbe 0x4a5711
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aa960
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a5451
jmp 0x4a473a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4a62f0
cmp eax, 0xf
ja case.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad080]
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a0807
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a5799
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a330
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a578d
mov eax, 1
jmp 0x4a578f
xor eax, eax
test eax, eax
jne case.default.0x4aafec
jmp 0x4a57c0
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a57be
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a57be
cmp edi, 1
je case.default.0x4aafec
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4aafec
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a57f6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a57f6
test ecx, ecx
jne 0x4a57f6
cmp dword [ebp + 0x1c], 2
jne 0x4a57f6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a57f6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aa960
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a5812
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5812
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a5801
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5757
jmp 0x4a473a
mov edi, 1
cmp ecx, edi
jl 0x4a473e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a977e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a5868
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5868
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a5850
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a5834
jmp 0x4a473e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x4a9cbf.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4a473e
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a473e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
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 0x4a59a7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a58e2
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x4a599e
test cl, 0x10
jne 0x4a5903
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 0x4a599e
test cl, 8
jne 0x4a592d
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 0x4a599e
test cl, 4
jne 0x4a5963
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 0x4a599e
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 0x4a59db
cmp eax, 0x85
je case.0x4a59c2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4aafec
jmp dword [ecx*4 + 0x4ad0c0]
cmp ebx, dword [ebp + 0x78]
jae case.0x4a59c2.10
cmp byte [edx], 0xa
jne case.0x4a59c2.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a59c2.10
sub ecx, 0x2028
je case.0x4a59c2.11
sub ecx, 1
jne case.default.0x4aafec
cmp dword [ebp + 0x68], 0
jne case.default.0x4aafec
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a58a2
jmp 0x4a473a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a473e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
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 0x4a5b30
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5a67
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5b23
test cl, 0x10
jne 0x4a5a88
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 0x4a5b23
test cl, 8
jne 0x4a5ab2
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 0x4a5b23
test cl, 4
jne 0x4a5ae8
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 0x4a5b23
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 0x4a5b9c
cmp edx, 0x2000
je case.default.0x4aafec
cmp ecx, 0xa0
ja 0x4a5b82
je case.default.0x4aafec
cmp ecx, 9
je case.default.0x4aafec
cmp ecx, 0x20
je case.default.0x4aafec
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5a21
jmp 0x4a473a
cmp ebx, 0x1680
je case.default.0x4aafec
cmp ecx, 0x180e
je case.default.0x4aafec
jmp case.0x4a5bc1.8203
cmp eax, 0x3000
ja case.0x4a5bc1.8203
cmp edi, 0x3000
je case.default.0x4aafec
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4a5bc1.8203
movzx eax, byte [ecx + 0x4ad0d8]
jmp dword [eax*4 + 0x4ad0d0]
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a473e
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
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 0x4a5cef
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5c26
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5ce2
test cl, 0x10
jne 0x4a5c47
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 0x4a5ce2
test cl, 8
jne 0x4a5c71
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 0x4a5ce2
test cl, 4
jne 0x4a5ca7
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 0x4a5ce2
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 0x4a5d4b
cmp edx, 0x2000
je case.0x4a5d74.8193
cmp ecx, 0xa0
ja 0x4a5d35
je case.0x4a5d74.8193
cmp ecx, 9
je case.0x4a5d74.8193
cmp ecx, 0x20
jne case.default.0x4aafec
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5be0
jmp 0x4a473a
cmp ebx, 0x1680
je case.0x4a5d74.8193
cmp ecx, 0x180e
jne case.default.0x4aafec
jmp case.0x4a5d74.8193
cmp eax, 0x3000
ja case.default.0x4aafec
cmp edi, 0x3000
je case.0x4a5d74.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4aafec
movzx eax, byte [ecx + 0x4ad140]
jmp dword [eax*4 + 0x4ad138]
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
jmp 0x4a5d90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4a5e93
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5dd0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5e8c
test cl, 0x10
jne 0x4a5df1
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 0x4a5e8c
test cl, 8
jne 0x4a5e1b
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 0x4a5e8c
test cl, 4
jne 0x4a5e51
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 0x4a5e8c
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 0x4a5eb5
cmp edi, 0x85
je case.default.0x4aafec
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a5eae
jmp dword [ecx*4 + 0x4ad1a0]
sub ecx, 0x2028
je case.default.0x4aafec
sub ecx, 1
je case.default.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5d90
jmp 0x4a473a
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a5fe0
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a5f32
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a5fd9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a5f53
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a5fd9
test dl, 8
jne 0x4a5f76
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 0x4a5fd9
test dl, 4
jne 0x4a5fa5
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 0x4a5fd9
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 0x4a6002
cmp ecx, 0x85
je case.0x4a5ffb.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4aafec
jmp dword [edx*4 + 0x4ad1b0]
sub edx, 0x2028
je case.0x4a5ffb.10
sub edx, 1
jne case.default.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5ef0
jmp 0x4a473a
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0875
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4a611e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6072
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a6119
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a6093
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a6119
test dl, 8
jne 0x4a60b6
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 0x4a6119
test dl, 4
jne 0x4a60e5
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 0x4a6119
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 0x4a6132
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x4aafec
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6032
jmp 0x4a473a
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9bd6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a9cbf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6152
jmp 0x4a473e
mov edi, 1
cmp ecx, edi
jl 0x4a473e
mov edx, dword [ebp + 0x78]
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4a9bd6
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a61c3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4a9cbf.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a61e8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a61e8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a61d0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a61a0
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9bd6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a9cbf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6204
jmp 0x4a473e
mov edi, 1
cmp ecx, edi
jl 0x4a473e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4a9bd6
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a6273
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4a9cbf.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a6298
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a6298
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a6280
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a6250
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9bd6
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a9cbf.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a62b4
jmp 0x4a473e
cmp eax, 0xf
ja case.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad1c0]
mov ebx, 1
cmp ecx, ebx
jl 0x4a473a
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a09d0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a6350
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0050a330
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a6344
mov eax, 1
jmp 0x4a6346
xor eax, eax
test eax, eax
jne case.default.0x4aafec
jmp 0x4a6377
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a6377
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a6377
cmp edi, 1
je case.default.0x4aafec
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4aafec
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a63ae
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a63ae
cmp dword [ebp + 0x18], 0
jne 0x4a63ae
cmp dword [ebp + 0x1c], 2
jne 0x4a63ae
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a63ae
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aa960
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6310
jmp 0x4a473a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4a5886
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
mov edx, 1
cmp ecx, edx
jl 0x4a473e
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a9bd6
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4a9cbf.14
movzx eax, byte [eax + 0x4ad210]
jmp dword [eax*4 + 0x4ad200]
cmp ecx, dword [ebp + 0x78]
jae case.0x4a6428.10
cmp byte [ecx], 0xa
jne case.0x4a6428.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4a6428.10
cmp dword [ebp + 0x68], 0
jne case.0x4a9cbf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6400
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edx, 1
jmp 0x4a6470
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a977e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4a9cbf.14
cmp ecx, 0x20
je case.0x4a9cbf.14
cmp ecx, 0xa0
je case.0x4a9cbf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6470
jmp 0x4a473e
mov edx, 1
cmp ecx, edx
jl 0x4a473e
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a977e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4a64e9
cmp ecx, 0x20
je 0x4a64e9
cmp ecx, 0xa0
jne case.0x4a9cbf.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a64c0
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edx, 1
mov edi, edx
jmp 0x4a6510
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a977e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a6536.11
movzx eax, byte [eax + 0x4ad294]
mov edx, edi
jmp dword [eax*4 + 0x4ad28c]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x4a6510
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edx, 1
jmp 0x4a6560
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a977e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a9cbf.14
movzx eax, byte [eax + 0x4ad318]
jmp dword [eax*4 + 0x4ad310]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6560
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
jmp 0x4a65b0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a63d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a9cbf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a65b0
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a63d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a9cbf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a65f0
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a63d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a9cbf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6630
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a63d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a9cbf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6670
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a63d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a9cbf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a66b0
jmp 0x4a473e
cmp ecx, 1
jl 0x4a473e
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a63d3
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9cbf.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a66f0
jmp 0x4a473e
mov dword [esi + 0x84], eax
jmp 0x4ab3ad
mov dword [esi + 0x84], eax
jmp 0x4ab568
mov dword [esi + 0x84], eax
jmp 0x4ab72a
mov dword [esi + 0x84], eax
jmp 0x4ab8e4
mov dword [esi + 0x84], eax
jmp 0x4aba9e
mov dword [esi + 0x84], eax
jmp 0x4ac239
mov dword [esi + 0x84], eax
jmp 0x4ac629
mov dword [esi + 0x84], eax
jmp 0x4ac850
mov dword [esi + 0x84], eax
jmp 0x4aca1a
mov dword [esi + 0x84], eax
jmp 0x4ac406
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x4abdca
test ebx, ebx
jne 0x4ab059
jmp 0x4a9dc5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a7713
cmp eax, 0xa
ja case.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad394]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4a6842
lea ebx, [ebx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6852
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x4a682e
cmp ecx, 0xc0
jb 0x4a682e
test cl, 0x20
jne 0x4a6808
mov eax, 2
jmp 0x4a682e
test cl, 0x10
jne 0x4a6814
mov eax, 3
jmp 0x4a682e
test cl, 8
jne 0x4a6820
mov eax, 4
jmp 0x4a682e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4a6842
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a67e0
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4abe2c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6842
cmp edx, dword [ebp + 0x84]
jbe 0x4a6842
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a6842
jmp 0x4ac8d5
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
jmp 0x4a6890
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a69e7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6984
cmp eax, 0xc0
jb 0x4a6984
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a68d9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6980
test al, 0x10
jne 0x4a68f3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a697a
test al, 8
jne 0x4a6916
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 0x4a697a
test al, 4
jne 0x4a6945
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 0x4a697a
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 0x4a69b9
cmp eax, 5
je 0x4a69b9
cmp eax, 8
je 0x4a69b9
xor eax, eax
jmp 0x4a69be
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6842
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 0x4a6890
jmp 0x4a6842
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6842
cmp edx, dword [ebp + 0x84]
jbe 0x4a6842
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x4a6842
jmp 0x4a0277
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
jmp 0x4a6a30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6b7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6b24
cmp eax, 0xc0
jb 0x4a6b24
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6a79
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6b20
test al, 0x10
jne 0x4a6a93
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6b1a
test al, 8
jne 0x4a6ab6
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 0x4a6b1a
test al, 4
jne 0x4a6ae5
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 0x4a6b1a
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 0x4a6842
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 0x4a6a30
jmp 0x4a6842
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6842
cmp edx, dword [ebp + 0x84]
jbe 0x4a6842
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a6842
jmp 0x4a0277
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6b7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6cb3
cmp eax, 0xc0
jb 0x4a6cb3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6c08
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6caf
test al, 0x10
jne 0x4a6c22
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6ca9
test al, 8
jne 0x4a6c45
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 0x4a6ca9
test al, 4
jne 0x4a6c74
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 0x4a6ca9
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 0x4a6842
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 0x4a6bc3
jmp 0x4a6842
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6b7e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6e14
cmp eax, 0xc0
jb 0x4a6e14
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6d69
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6e10
test al, 0x10
jne 0x4a6d83
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6e0a
test al, 8
jne 0x4a6da6
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 0x4a6e0a
test al, 4
jne 0x4a6dd5
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 0x4a6e0a
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 0x4a6842
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 0x4a6d20
jmp 0x4a6842
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a69e7
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6f74
cmp eax, 0xc0
jb 0x4a6f74
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6ec9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6f70
test al, 0x10
jne 0x4a6ee3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6f6a
test al, 8
jne 0x4a6f06
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 0x4a6f6a
test al, 4
jne 0x4a6f35
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 0x4a6f6a
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 0x4a6fab
cmp eax, 3
je 0x4a6fab
xor eax, eax
jmp 0x4a6fb0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6842
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 0x4a6e80
jmp 0x4a6842
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7219
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 0x4a7109
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a7109
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7055
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a70f9
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7073
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a70f3
and eax, 0x3f
test dl, 8
jne 0x4a7096
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 0x4a70f3
test dl, 4
jne 0x4a70c2
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 0x4a70f3
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 0x4a7128
cmp eax, 0x20
je case.0x4a7206.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4a7206.8203
jmp dword [eax*4 + 0x4ad3c0]
cmp edx, 0x2000
ja 0x4a71de
cmp ecx, 0x2000
je case.0x4a7206.8193
cmp edx, 0x1680
ja 0x4a71d6
je case.0x4a7206.8193
mov eax, edx
sub eax, 0x85
je case.0x4a7206.8193
sub eax, 0x1b
je case.0x4a7206.8193
mov eax, edx
test eax, eax
jns 0x4a7171
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and edx, 0x8000007f
jns 0x4a718b
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 0x4a6842
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 0x4a6ff0
jmp 0x4a6842
cmp edx, 0x180e
jmp 0x4a7162
cmp ebx, 0x3000
ja case.0x4a7206.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x4a7206.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4a7206.8203
movzx eax, byte [eax + 0x4ad3dc]
jmp dword [eax*4 + 0x4ad3d4]
cmp dword [esi + 0x68], 0
jne 0x4a6842
jmp 0x4a71b3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6842
cmp edi, dword [ebp + 0x84]
jmp 0x4a6b92
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
jmp 0x4a7250
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x4a6b7e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4a735d
cmp eax, 0xc0
jb 0x4a735d
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a72a1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x4a7357
test al, 0x10
jne 0x4a72be
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a7351
test al, 8
jne 0x4a72e7
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 0x4a7351
test al, 4
jne 0x4a7319
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 0x4a7351
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 0x4a7399
cmp eax, 3
je 0x4a7399
cmp ebx, 0x5f
je 0x4a7399
xor eax, eax
jmp 0x4a739e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6842
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 0x4a7250
jmp 0x4a6842
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7523
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4a74c8
cmp edx, 0xc0
jb 0x4a74c8
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a742d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a74c4
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7448
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a74be
and eax, 0x3f
test dl, 8
jne 0x4a7468
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a74be
test dl, 4
jne 0x4a7491
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 0x4a74be
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 0x4a74ed
mov ecx, dword [eax]
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a7517
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a74e0
cmp dword [esi + 0x68], 0
je 0x4a6842
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 0x4a73e0
jmp 0x4a6842
cmp dword [esi + 0x68], 0
jne 0x4a6842
jmp 0x4a74f7
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6842
cmp edi, dword [ebp + 0x84]
jmp 0x4a69fb
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6842
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a76ed
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
je 0x4a768f
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x4a768f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a75bb
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 0x4a768f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4a75eb
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 0x4a768f
test dl, 8
jne 0x4a7620
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 0x4a768f
test dl, 4
jne 0x4a764c
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 0x4a767d
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 0x4a76bc
cmp ecx, 0x40
je 0x4a76bc
cmp ebx, 0x60
je 0x4a76bc
cmp dword [esp + 0x14], 0xa0
jb 0x4a76b0
cmp edx, 0xd7ff
jbe 0x4a76bc
cmp edx, 0xe000
jae 0x4a76bc
xor eax, eax
jmp 0x4a76c1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6842
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 0x4a7552
jmp 0x4a6842
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6842
cmp edi, dword [ebp + 0x84]
jbe 0x4a6842
mov dword [ebp + 0x64], 1
jmp 0x4a6a04
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a7a8c
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a7a3d
jmp 0x4a7740
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7a1b
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 0x4a784d
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x4a784d
test al, 0x20
jne 0x4a778b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a783c
test al, 0x10
jne 0x4a77a9
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 0x4a783c
test al, 8
jne 0x4a77d3
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 0x4a783c
test al, 4
movzx eax, byte [edi]
jne 0x4a7806
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 0x4a783c
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 0x4a79de
mov edi, edx
mov dword [esp + 0x18], eax
jmp 0x4a7890
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a796c
cmp edx, 0xc0
jb 0x4a796c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a78d1
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a7968
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a78ec
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a7962
and eax, 0x3f
test dl, 8
jne 0x4a790c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a7962
test dl, 4
jne 0x4a7935
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 0x4a7962
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 0x4a79d6
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 0x4a7890
jmp 0x4a79de
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a7a04
cmp edx, eax
jb 0x4a7a04
cmp ecx, dword [ebp + 0x84]
jbe 0x4a7a04
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aa960
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a7740
jmp 0x4a7a3d
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a7a3d
cmp ecx, dword [ebp + 0x84]
jbe 0x4a7a3d
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0277
cmp dword [esp + 0x24], 0
jne 0x49f253
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7a7d
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4a9e64
add eax, 0xfffffffa
test ebx, ebx
je 0x4a88af
cmp eax, 0xf
ja case.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad43c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a889f
lea esp, [esp]
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a7b93
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a7b02
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a330
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a7af6
mov eax, 1
jmp 0x4a7af8
xor eax, eax
test eax, eax
jne 0x4a889f
jmp 0x4a7b29
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a7b27
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a7b27
cmp edi, 1
je 0x4a889f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4a889f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a7b5f
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a7b5f
test ecx, ecx
jne 0x4a7b5f
cmp dword [ebp + 0x1c], 2
jne 0x4a7b5f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a7b5f
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aa960
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7b81
lea ebx, [ebx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a7b81
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a7b70
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a7ac0
jmp 0x4a889f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a889f
cmp ecx, dword [ebp + 0x84]
jbe 0x4a889f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a889f
jmp 0x4a0277
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4a7c18
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4a889f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a7c1e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a7c0a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a7c0a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a7bf2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4a7be0
jmp 0x4a889f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a889f
cmp eax, dword [ebp + 0x84]
jbe 0x4a889f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a889f
jmp 0x4ac8d5
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 0x4a7c99
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a889f
cmp edx, dword [ebp + 0x84]
jbe 0x4a889f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a889f
jmp 0x4ac8d5
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4a889f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a889f
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a7dbe
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7d0e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a7db2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7d2c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a7dac
and eax, 0x3f
test dl, 8
jne 0x4a7d4f
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 0x4a7dac
test dl, 4
jne 0x4a7d7b
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 0x4a7dac
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 0x4a7dda
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4a889f
cmp byte [eax], 0xa
jne 0x4a7e1a
inc eax
jmp 0x4a7e17
cmp eax, 0xa
je 0x4a7e11
cmp dword [ebp + 0x68], 0
jne 0x4a889f
cmp ebx, 0xb
je 0x4a7e11
cmp dword [esp + 0x14], 0xc
je 0x4a7e11
cmp edx, 0x85
je 0x4a7e11
cmp edx, 0x2028
je 0x4a7e11
cmp edx, 0x2029
jne 0x4a889f
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 0x4a7cc0
jmp 0x4a889f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a889f
cmp edi, dword [ebp + 0x84]
jmp 0x4a7ba7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a889f
jmp 0x4a7e70
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a7f6a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7eba
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a7f5e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7ed8
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a7f58
and eax, 0x3f
test dl, 8
jne 0x4a7efb
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 0x4a7f58
test dl, 4
jne 0x4a7f27
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 0x4a7f58
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 0x4a7fda
cmp ebx, 0x2000
je case.0x4a7ffb.8193
cmp edx, 0xa0
ja 0x4a7fca
je case.0x4a7ffb.8193
cmp edx, 9
je case.0x4a7ffb.8193
cmp edx, 0x20
je case.0x4a7ffb.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x4a889f
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 0x4a7e70
jmp 0x4a889f
cmp edx, 0x1680
je case.0x4a7ffb.8193
cmp edx, 0x180e
jmp 0x4a7f92
cmp eax, 0x3000
ja case.0x4a7ffb.8203
cmp ecx, 0x3000
je case.0x4a7ffb.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a7ffb.8203
movzx eax, byte [edx + 0x4ad484]
jmp dword [eax*4 + 0x4ad47c]
mov ecx, 1
jmp 0x4a7f96
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a889f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a8161
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a80fc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8062
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4a80f6
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a807a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a80f0
and eax, 0x3f
test dl, 8
jne 0x4a809a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a80f0
test dl, 4
jne 0x4a80c3
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 0x4a80f0
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 0x4a811a
cmp ecx, 0x85
je case.0x4a8113.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a8113
jmp dword [edx*4 + 0x4ad4e4]
sub edx, 0x2028
je case.0x4a8113.10
sub edx, 1
je case.0x4a8113.10
xor ecx, ecx
jmp 0x4a8130
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x4a889f
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 0x4a8020
jmp 0x4a889f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a889f
cmp edi, dword [ebp + 0x84]
jbe 0x4a889f
mov dword [ebp + 0x64], ebx
jmp 0x4a7bb4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a889f
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8293
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a81e4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a828d
test dl, 0x10
jne 0x4a81ff
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8287
test dl, 8
jne 0x4a8223
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 0x4a8287
test dl, 4
jne 0x4a8253
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 0x4a8287
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 0x4a82aa
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4a889f
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 0x4a81a0
jmp 0x4a889f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a889f
jmp 0x4a82e0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a83b9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8320
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a83b5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a8338
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a83af
and eax, 0x3f
test dl, 8
jne 0x4a8358
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a83af
test dl, 4
jne 0x4a8381
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 0x4a83af
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 0x4a889f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4a889f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a82e0
jmp 0x4a889f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a889f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a84f3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8444
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a84ed
test dl, 0x10
jne 0x4a845f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a84e7
test dl, 8
jne 0x4a8483
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 0x4a84e7
test dl, 4
jne 0x4a84b3
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 0x4a84e7
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 0x4a850a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4a889f
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 0x4a8400
jmp 0x4a889f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a889f
jmp 0x4a8540
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a861c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8580
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8618
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a859b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a8612
and eax, 0x3f
test dl, 8
jne 0x4a85bb
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8612
test dl, 4
jne 0x4a85e4
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 0x4a8612
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 0x4a889f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4a889f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a8540
jmp 0x4a889f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a889f
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8755
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a86a6
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a874f
test dl, 0x10
jne 0x4a86c1
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8749
test dl, 8
jne 0x4a86e5
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 0x4a8749
test dl, 4
jne 0x4a8715
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 0x4a8749
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 0x4a876c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4a889f
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 0x4a8662
jmp 0x4a889f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a889f
lea ecx, [ecx]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a7e34
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a887c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a87e0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8878
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a87fb
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a8872
and eax, 0x3f
test dl, 8
jne 0x4a881b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8872
test dl, 4
jne 0x4a8844
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 0x4a8872
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 0x4a889f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a889f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a87a0
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4ab2d5
cmp eax, 0xf
ja case.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad4f4]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a8984
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a8911
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0050a330
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a8905
mov eax, 1
jmp 0x4a8907
xor eax, eax
test eax, eax
jne case.0x4a8b83.10
jmp 0x4a8938
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a8938
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a8938
cmp edi, 1
je case.0x4a8b83.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a8b83.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a896f
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a896f
cmp dword [ebp + 0x18], 0
jne 0x4a896f
cmp dword [ebp + 0x1c], 2
jne 0x4a896f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a896f
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aa960
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a88d1
jmp case.0x4a8b83.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8b83.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a8b83.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a8b83.10
jmp 0x4a0277
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 0x4a89ff
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8b83.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a8b83.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a8b83.10
jmp 0x4ac8d5
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x4a8b83.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8b83.10
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8a77
mov al, byte [ecx]
cmp al, 0xd
jne 0x4a8a45
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x4a8b83.10
cmp byte [eax], 0xa
jne 0x4a8a69
inc eax
jmp 0x4a8a66
cmp al, 0xa
je 0x4a8a63
cmp dword [ebp + 0x68], 0
jne case.0x4a8b83.10
cmp al, 0xb
je 0x4a8a63
cmp al, 0xc
je 0x4a8a63
cmp al, 0x85
jne case.0x4a8b83.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x4a8a20
jmp case.0x4a8b83.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8b83.10
cmp ecx, dword [ebp + 0x84]
jmp 0x4a89e4
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a8ad9
mov cl, byte [eax]
cmp cl, 9
je case.0x4a8b83.10
cmp cl, 0x20
je case.0x4a8b83.10
cmp cl, 0xa0
je case.0x4a8b83.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8aa2
jmp case.0x4a8b83.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a8b83.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a8b83.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4a8b83.10
jmp 0x4ac8d5
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8b83.10
lea ebx, [ebx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a8ad9
mov cl, byte [eax]
cmp cl, 9
je 0x4a8b3d
cmp cl, 0x20
je 0x4a8b3d
cmp cl, 0xa0
jne case.0x4a8b83.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8b20
jmp case.0x4a8b83.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov edi, ecx
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a89d0
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a8b83.11
movzx eax, byte [eax + 0x4ad53c]
mov ecx, edi
jmp dword [eax*4 + 0x4ad534]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a8b63
jmp case.0x4a8b83.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8a77
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a8b83.10
movzx eax, byte [eax + 0x4ad5c0]
jmp dword [eax*4 + 0x4ad5b8]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8bb2
jmp case.0x4a8b83.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a89d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a8b83.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8c01
jmp case.0x4a8b83.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a89d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a8b83.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8c43
jmp case.0x4a8b83.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8b83.10
jmp 0x4a8c90
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a89d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a8b83.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8c90
jmp case.0x4a8b83.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a89d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a8b83.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8cd2
jmp case.0x4a8b83.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8b83.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a89d0
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a8b83.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8d14
jmp case.0x4a8b83.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a8b83.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8d75
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a8b83.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a8d50
jmp case.0x4a8b83.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a8b83.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a8b83.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ac8d5
cmp dword [esp + 0x24], 0
jne 0x49f253
jmp 0x4a9e25
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb9f
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4a8dcc
jmp dword [eax*4 + 0x4ad63c]
cmp edi, 0xfffffc1b
je 0x4a8eab
cmp edi, 0xfffffc20
jne 0x4a8e1a
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.0x4a92b8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a8e16
cmp byte [ecx], 0x77
jne case.default.0x4a92b8
xor edi, edi
jmp 0x4a8e22
test edi, edi
jne case.default.0x4a92b8
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 0x4a8eab
cmp dword [esi + 0x9c], 0x88
jb 0x4a8e6a
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a8e93
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
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 0x4a8dbc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4a8fc3
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 0x4a901b
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a8f39
cmp byte [ecx], 0x77
jne 0x4a901b
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.0x4a9cbf.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4a902c
cmp eax, 0x81
je 0x4a902c
cmp dword [ebp + 0x6c], 0
jne 0x4a9036
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 0x4a9036
movzx eax, byte [edx]
movzx eax, byte [eax + 0x55c438]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x49f1e0
test edi, edi
je 0x4a8f39
cmp edi, 0xfffffc1b
jne 0x4a901b
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x81
je 0x4a900d
cmp byte [edx], 0x77
mov ebx, edx
jne 0x4a8ffc
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 0x4a8fe2
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 0x4a8ef1
jmp 0x4a8db8
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 0x4a9074
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
cmp edi, 1
jne 0x4a9102
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4a90a3
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4a90b6
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 0x4a90e7
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 0x4a90d0
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 0x49f6fe
test edi, edi
je 0x49f6fe
cmp edi, 0xfffffc20
je 0x49f6fe
jmp case.default.0x4a92b8
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x4a9136
cmp byte [eax - 3], 0x77
jne 0x49f253
cmp dword [esi + 0x9c], 0x8c
jne 0x49f1e0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9179
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4a9e64
cmp edi, 1
je 0x4a9233
cmp edi, 0xfffffc19
je 0x4a9233
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4a91d9
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.0x4a92b8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a91e1
cmp byte [ecx], 0x77
jmp 0x4a91db
test edi, edi
jne case.default.0x4a92b8
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 0x4a9239
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9224
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4a9374
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x4a9cbf.14
cmp dword [esi + 0x58], 0
jne 0x4a9311
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 0x4a9250
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x49f253
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4a929b
je case.0x4a92b8.995
cmp edi, 0xfffffc19
jmp 0x4a93ab
test edi, edi
jg 0x4a93a6
je 0x4a9327
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4a92b8
jmp dword [eax*4 + 0x4ad748]
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.0x4a92b8.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a9327
cmp byte [ecx], 0x77
je 0x4a9327
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 0x4a92f0
cmp dword [esi + 0x58], 0
je 0x4a95ab
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acaf2
mov edi, 1
jmp 0x4a8db8
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 0x4a9307
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a936a
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x49f1d0
mov eax, edi
sub eax, 1
je case.0x4a9cbf.14
jmp case.default.0x4a92b8
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004adb10
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 0x4aca4d
cmp edi, 0xfffffc19
je 0x4aca4d
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4a941f
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x4a9cbf.14
push ecx
call dword [0xc614fc]
add esp, 4
jmp case.0x4a9cbf.14
test edi, edi
je 0x4a9443
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x4a92b8
push ecx
call dword [0xc614fc]
add esp, 4
jmp case.default.0x4a92b8
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 0x4a94e4
cmp dword [esi + 0x58], 0
je 0x4a9477
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a94a0
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x49f1d0
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x4a93ff
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x4a9540
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9528
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
cmp al, 0x88
jb 0x4aca78
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9571
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
test edi, edi
jne case.default.0x4a92b8
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 0x4a9594
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x49f253
test edi, edi
je case.0x4a1186.10
jmp case.default.0x4a92b8
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb02
mov edi, 0xfffffc1b
jmp 0x4a8dbc
cmp edi, 0xfffffc1b
jne 0x4a95fd
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4a95ff
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4aa411
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a963a
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0049ee40
add esp, 0x14
test eax, eax
jns 0x4a96c1
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a969f
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edi, dword [ebp + 0x78]
jb case.0x4a9cbf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2c4e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a96f5
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
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.0x4aafec
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a974d
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a979d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9cbf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
jmp 0x4a022f
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.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a97ee
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4aafec
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a983d
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a988d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9cbf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
jmp 0x4a022f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a98a4
cmp dword [esi + 0x94], ecx
jne case.0x4a9cbf.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a98d7
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4a9e64
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9926
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2c3a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a999f
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4a9e64
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a99ee
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a9a3e
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9cbf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
jmp 0x4a022f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4a9cbf.14
cmp dword [esi + 0x94], ecx
je case.0x4a9cbf.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9a8c
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9adb
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2c3a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9b54
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9ba3
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4a9bef
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2c4e
cmp dword [esi + 0x7c], 0xc
jne 0x4a9c3e
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a9c19
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a330
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a9c3e
jmp case.0x4a9cbf.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a9c3e
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a9c3e
cmp edi, 1
je case.0x4a9cbf.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a9cbf.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.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad758]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x4a9c59.13
cmp edx, dword [ebp + 0x78]
jb case.0x4a9c59.13
cmp dword [ebp + 0x18], 0
jne case.0x4a9c59.13
cmp dword [ebp + 0x1c], 2
jne case.0x4a9c59.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4a9c59.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x4a9c59.13
jmp 0x4ac8d5
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a9cbf.14
movzx eax, byte [ecx + 0x4ad7a8]
jmp dword [eax*4 + 0x4ad798]
cmp edx, dword [ebp + 0x78]
jae case.0x4a9c59.13
cmp byte [edx], 0xa
jne case.0x4a9c59.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a9c59.13
cmp dword [ebp + 0x68], 0
je case.0x4a9c59.13
jmp case.0x4a9cbf.14
cmp ecx, 9
je case.0x4a9cbf.14
cmp ecx, 0x20
je case.0x4a9cbf.14
cmp ecx, 0xa0
jne case.0x4a9c59.13
jmp case.0x4a9cbf.14
cmp ecx, 9
je case.0x4a9c59.13
cmp ecx, 0x20
je case.0x4a9c59.13
cmp ecx, 0xa0
je case.0x4a9c59.13
jmp case.0x4a9cbf.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a9c59.13
movzx eax, byte [ecx + 0x4ad82c]
jmp dword [eax*4 + 0x4ad824]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a9cbf.14
movzx eax, byte [ecx + 0x4ad8b0]
jmp dword [eax*4 + 0x4ad8a8]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a9c59.13
jmp case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a9c59.13
jmp case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a9c59.13
jmp case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a9c59.13
jmp case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9c59.13
jmp case.0x4a9cbf.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9dee
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x4a9e25
cmp eax, dword [esi + 0x30]
jbe 0x4a9e25
cmp byte [eax], 0xa
jne 0x4a9e25
dec eax
cmp byte [eax], 0xd
jne 0x4a9e25
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9e5a
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x49f1d0
cmp edi, 0xfffffc1a
jne 0x4a9ef1
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 0x4a9ee9
mov edx, dword [esi + 0xc]
jmp 0x4a9ed0
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 0x4a9ed0
jmp 0x4a9f46
mov dword [esi + 8], eax
jmp 0x4a9f6b
cmp edi, 0xfffffc20
jne 0x4a9f24
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.0x4a92b8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a9f2c
cmp byte [ecx], 0x77
jmp 0x4a9f26
test edi, edi
jne case.default.0x4a92b8
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 0x4a9f5f
cmp dword [esi + 0x5c], 0
jne 0x4a95ab
cmp dword [esi + 0x54], 0
jne 0x4a95ab
jmp case.0x4a9cbf.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4a9f81
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a9faa
push 0x134
call dword [0xc61500]
mov edx, eax
add esp, 4
test edx, edx
je 0x4ac873
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 0x4a94b3
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x4aa0b7
jmp 0x4a8ee9
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a8ee9
test eax, eax
je 0x4acb12
mov edi, 0xfffffc1c
jmp 0x4a8dbc
test edi, edi
je 0x4aa06d
jmp case.default.0x4a92b8
cmp edi, 1
je 0x4aa00b
cmp edi, 0xfffffc19
jne 0x4aa025
cmp dword [ebp + 0xac], 0
jne 0x4aa025
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x4a92b8
cmp edi, 0xfffffc1f
jne case.default.0x4a92b8
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 0x4aa060
test dl, dl
je 0x4aa05c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4aa060
add eax, 2
add ecx, 2
test dl, dl
jne 0x4aa040
xor eax, eax
jmp 0x4aa065
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4a92b8
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb22
mov edi, 0xfffffc1e
jmp 0x4a8dbc
cmp edi, 1
je 0x4aa096
cmp edi, 0xfffffc19
jne 0x4aa0ab
cmp dword [ebp + 0xac], 0
jne 0x4aa0ab
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a8ee9
test eax, eax
je 0x4acb32
mov edi, 0xfffffc1d
jmp 0x4a8dbc
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb42
mov edi, 0xfffffc1f
jmp 0x4a8dbc
cmp edi, 1
je 0x4aa0fd
cmp edi, 0xfffffc19
jne case.0x4a8dcc.54
cmp dword [ebp + 0xac], 0
jne case.0x4a8dcc.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb52
mov edi, 0xfffffc20
jmp 0x4a8dbc
cmp edi, 0xfffffc1a
jne 0x4aa1a4
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 0x4aa19c
mov edx, dword [esi + 0xc]
jmp 0x4aa180
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 0x4aa180
jmp 0x4aa209
mov dword [esi + 8], eax
jmp 0x49fe02
cmp edi, 0xfffffc20
jne 0x4aa1d7
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.0x4a92b8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa1df
cmp byte [ecx], 0x77
jmp 0x4aa1d9
test edi, edi
jne case.default.0x4a92b8
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 0x49fe02
cmp dword [esi + 0x5c], 0
jne 0x4aa249
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 0x49f8ba
cmp dword [esi + 0x5c], 0
jne 0x49f8ba
jmp case.0x4a9cbf.14
cmp edi, 1
jne 0x4aa30f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4aa282
cmp al, 0x77
jne case.0x4a9cbf.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 0x4aa282
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 0x4a19c2
cmp ecx, dword [esi + 0x38]
je 0x4a19c2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x4aa3b8
test ecx, ecx
jne 0x4aa2f4
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
cmp edi, 0xfffffc20
jne 0x4aa342
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.0x4a92b8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa34a
cmp byte [ecx], 0x77
jmp 0x4aa344
test edi, edi
jne case.default.0x4a92b8
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 0x4aa271
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa39d
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
test ecx, ecx
jne 0x4aa3de
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
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 0x4a9e6d
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x49f1e0
test edi, edi
jne case.default.0x4a92b8
add dword [esi + 0xc], 3
jmp 0x49f1e0
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2c3a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x4aa526
cmp edx, 0xc0
jb 0x4aa526
test dl, 0x20
jne 0x4aa476
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4aa523
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aa49d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4aa523
test dl, 8
jne 0x4aa4c0
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 0x4aa523
test dl, 4
jne 0x4aa4ef
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 0x4aa523
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.0050a9a0
add esp, 0xc
test eax, eax
je case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa56a
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x4a9cbf.14
test ebx, ebx
je 0x4aa5ac
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4aa5ac
nop
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4aa5a0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa5d5
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4aa61f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2c4e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4aa717
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4aa651
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4aa710
test bl, 0x10
jne 0x4aa672
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 0x4aa710
test bl, 8
jne 0x4aa69f
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 0x4aa710
test bl, 4
jne 0x4aa6d5
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 0x4aa710
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 0x4aa73e
cmp dword [esi + 0x9c], 0x6e
jne 0x4aa755
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb82
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x4a8dbc
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 0x4aa725
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa784
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x4aafec
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4aa7c1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4aa7b5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa7ea
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.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 0x4aa87f
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4aa842
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4aa847
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4aa831
cmp edi, 0xfffffffc
je 0x4aa874
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4aa87c
cmp edi, 0xfffffffd
je 0x4aa874
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4aa87c
cmp edi, 0xfffffffe
je 0x4aa874
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4aa87c
cmp edi, 0xffffffff
je 0x4aa874
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4aa87c
mov eax, dword [esi + 0x88]
jmp 0x4aa8ea
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4aa92d
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4aa92d
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4aa8b1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4aa8b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4aa8a0
cmp edi, 0xfffffffc
je 0x4aa8e7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4aa92d
cmp edi, 0xfffffffd
je 0x4aa8e7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4aa92d
cmp edi, 0xfffffffe
je 0x4aa8e7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4aa92d
cmp edi, 0xffffffff
je 0x4aa8e7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4aa92d
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 0x4aa91e
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4a9e64
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4aafec
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4aafec
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x4aafec
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4aafec
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8dbc
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aa99d
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aa991
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa9d2
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2c3a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4aab02
test dl, 0x20
jne 0x4aaa3c
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 0x4aab02
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aaa68
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 0x4aab02
test dl, 8
jne 0x4aaa93
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 0x4aab02
test dl, 4
jne 0x4aaac7
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 0x4aab02
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.0x4a9cbf.14
cmp dword [esi + 0x94], eax
je case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aab49
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aab7c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aab70
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aabb1
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4aac01
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9cbf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
jmp 0x4a022f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x10], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4aad09
mov cl, byte [eax]
test bl, 0x20
jne 0x4aac2e
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4aad01
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4aac52
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 0x4aad01
test bl, 8
jne 0x4aac8d
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 0x4aad09
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4aaccb
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 0x4aad01
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.0x4aafec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aad44
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aad7c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aad70
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aadb1
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4aadfd
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a2c4e
cmp dword [esi + 0x7c], 0xc
jne 0x4aae4c
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4aae27
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a330
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4aae4c
jmp case.0x4a9cbf.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4aae4c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4aae4c
cmp edi, 1
je case.0x4a9cbf.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a9cbf.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 0x4aaf5b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4aae99
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x4aaf40
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4aaeba
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x4aaf40
test dl, 8
jne 0x4aaedd
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 0x4aaf40
test dl, 4
jne 0x4aaf0c
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 0x4aaf40
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.0x4aaf6a.15
jmp dword [eax*4 + 0x4ad92c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aaf6a.13
mov eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x78]
jb case.0x4aaf6a.13
cmp dword [ebp + 0x18], 0
jne case.0x4aaf6a.13
cmp dword [ebp + 0x1c], 2
jne case.0x4aaf6a.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4aaf6a.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4aaf6a.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8dbc
cmp edx, 0x85
ja 0x4ab005
je case.0x4aafec.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4aafec
jmp dword [edx*4 + 0x4ad96c]
cmp edi, dword [ebp + 0x78]
jae case.0x4aaf6a.13
cmp byte [edi], 0xa
jne case.0x4aaf6a.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x4aaf6a.13
sub edx, 0x2028
je case.0x4aafec.11
sub edx, 1
jne case.default.0x4aafec
cmp dword [ebp + 0x68], 0
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp edx, 0x2000
ja 0x4ab0a5
je case.default.0x4aafec
cmp edx, 0xa0
ja 0x4ab091
je case.default.0x4aafec
cmp edx, 9
je case.default.0x4aafec
cmp edx, 0x20
je case.default.0x4aafec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab082
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4a9e64
cmp edx, 0x1680
je case.default.0x4aafec
cmp edx, 0x180e
jmp 0x4ab04d
cmp edx, 0x3000
ja case.0x4aaf6a.13
je case.default.0x4aafec
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4aaf6a.13
movzx eax, byte [edx + 0x4ad984]
jmp dword [eax*4 + 0x4ad97c]
cmp edx, 0x2000
ja 0x4ab11c
je case.0x4aaf6a.13
cmp edx, 0xa0
ja 0x4ab0ff
je case.0x4aaf6a.13
cmp edx, 9
je case.0x4aaf6a.13
cmp edx, 0x20
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp edx, 0x1680
je case.0x4aaf6a.13
cmp edx, 0x180e
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp edx, 0x3000
ja case.default.0x4aafec
je case.0x4aaf6a.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x4aafec
movzx eax, byte [edx + 0x4ad9ec]
jmp dword [eax*4 + 0x4ad9e4]
cmp edx, 0x85
ja 0x4ab16c
je case.default.0x4aafec
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4aaf6a.13
jmp dword [edx*4 + 0x4ada4c]
sub edx, 0x2028
je case.default.0x4aafec
sub edx, 1
jne case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp edx, 0x85
ja 0x4ab1a7
je case.0x4aaf6a.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4aafec
jmp dword [edx*4 + 0x4ada5c]
sub edx, 0x2028
je case.0x4aaf6a.13
sub edx, 1
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp ecx, 0x100
jae case.0x4aaf6a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp ebx, 0x100
jae case.default.0x4aafec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp dword [esp + 0x18], 0x100
jae case.0x4aaf6a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp dword [esp + 0x14], 0x100
jae case.default.0x4aafec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp dword [esp + 0x1c], 0x100
jae case.0x4aaf6a.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4aaf6a.13
jmp case.default.0x4aafec
cmp dword [esp + 0x20], 0x100
jae case.default.0x4aafec
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4aaf6a.13
jmp case.default.0x4aafec
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x4a8dcc
mov edi, 0xfffffff2
jmp 0x4a8db8
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ab2bc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ab2b0
cmp dword [esi + 0x7c], 0x11
jne 0x4ab2d5
cmp ecx, dword [esi + 0x30]
jbe 0x4ab2d5
cmp byte [ecx], 0xa
jne 0x4ab2d5
dec ecx
cmp byte [ecx], 0xd
jne 0x4ab2d5
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab30a
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4ab35a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9cbf.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
jmp 0x4a022f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x4ab39d
cmp ecx, 0xc0
jb 0x4ab39d
test cl, 0x20
jne 0x4ab379
lea eax, [edx + 1]
jmp 0x4ab39a
test cl, 0x10
jne 0x4ab383
add eax, 3
jmp 0x4ab39a
test cl, 8
jne 0x4ab38d
add eax, 4
jmp 0x4ab39a
test cl, 4
jne 0x4ab397
add eax, 5
jmp 0x4ab39a
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab3d6
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab420
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab51f
cmp eax, 0xc0
jb 0x4ab51f
test al, 0x20
jne 0x4ab458
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab51a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x4ab47e
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 0x4ab51a
test al, 8
jne 0x4ab4aa
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 0x4ab51a
test al, 4
jne 0x4ab4df
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 0x4ab51a
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 0x4ab554
cmp eax, 5
je 0x4ab554
cmp eax, 8
je 0x4ab554
xor eax, eax
jmp 0x4ab559
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab591
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab5db
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab6ea
cmp eax, 0xc0
jb 0x4ab6ea
test al, 0x20
jne 0x4ab613
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab6e5
test al, 0x10
jne 0x4ab63b
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 0x4ab6e5
test al, 8
jne 0x4ab66f
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 0x4ab6e5
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4ab6aa
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 0x4ab6e5
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.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab753
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab79d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab8ab
cmp eax, 0xc0
jb 0x4ab8ab
test al, 0x20
jne 0x4ab7d5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab8a6
test al, 0x10
jne 0x4ab7fb
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 0x4ab8a6
test al, 8
jne 0x4ab82d
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 0x4ab8a6
test al, 4
movzx eax, byte [edx]
jne 0x4ab868
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 0x4ab8a6
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.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab90d
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab957
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4aba65
cmp eax, 0xc0
jb 0x4aba65
test al, 0x20
jne 0x4ab98f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4aba60
test al, 0x10
jne 0x4ab9b5
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 0x4aba60
test al, 8
jne 0x4ab9e7
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 0x4aba60
test al, 4
movzx eax, byte [edx]
jne 0x4aba22
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 0x4aba60
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.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abac7
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4abb11
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
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 0x4abc0e
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x4abc0e
test al, 0x20
jne 0x4abb4e
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x4abbfd
test al, 0x10
jne 0x4abb6e
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 0x4abbfd
test al, 8
jne 0x4abb97
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 0x4abbfd
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4abbca
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 0x4abbfd
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 0x4abd85
mov dword [esp + 0x10], edx
jmp 0x4abc50
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4abd2c
cmp edx, 0xc0
jb 0x4abd2c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4abc91
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4abd28
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4abcac
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4abd22
and eax, 0x3f
test dl, 8
jne 0x4abccc
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4abd22
test dl, 4
jne 0x4abcf5
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 0x4abd22
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 0x4abd85
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 0x4abc50
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4abdc4
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x4abdc4
cmp eax, dword [ebp + 0x84]
jbe 0x4abdc4
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4abdc4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb72
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a8dbc
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abdf3
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x4abe2c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4abe2c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4abe20
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f1e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abe61
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x4abe8b
movzx edx, byte [edi]
jmp 0x4abf51
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4abe9f
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x4abe93
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4abf53
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4abece
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4abf4f
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4abee1
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4abf49
and eax, 0x3f
test dl, 8
jne 0x4abefc
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4abf49
test dl, 4
jne 0x4abf20
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 0x4abf49
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 0x49f1e0
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x4abf94
movzx edx, byte [edi]
jmp 0x4ac05f
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4abfb0
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 0x4abfa0
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x4ac061
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4abfdc
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4ac05d
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4abfef
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4ac057
and eax, 0x3f
test dl, 8
jne 0x4ac00a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4ac057
test dl, 4
jne 0x4ac02e
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 0x4ac057
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 0x4a7a48
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x4abf75
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ac0de
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ac1ee
cmp eax, 0xc0
jb 0x4ac1ee
test al, 0x20
jne 0x4ac116
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ac1e9
test al, 0x10
jne 0x4ac13c
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 0x4ac1e9
test al, 8
jne 0x4ac16e
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 0x4ac1e9
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4ac1ab
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 0x4ac1e9
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 0x4ac225
cmp eax, 3
je 0x4ac225
xor eax, eax
jmp 0x4ac22a
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac262
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2c3a
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 0x4ac3c3
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x4ac3c3
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac2eb
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 0x4ac3c7
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4ac317
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 0x4ac3c7
test dl, 8
jne 0x4ac348
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 0x4ac3c7
test dl, 4
jne 0x4ac382
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 0x4ac3c7
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 0x4ac3c7
mov edi, dword [esp + 0x10]
cmp ecx, 0x24
je 0x4ac3f2
cmp eax, 0x40
je 0x4ac3f2
cmp ebx, 0x60
je 0x4ac3f2
cmp edi, 0xa0
jb 0x4ac3e6
cmp edx, 0xd7ff
jbe 0x4ac3f2
cmp edx, 0xe000
jae 0x4ac3f2
xor eax, eax
jmp 0x4ac3f7
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4aafec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac42f
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4a9e64
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2c3a
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 0x4ac571
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x4ac571
test dl, 0x20
jne 0x4ac4b3
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4ac560
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4ac4da
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4ac560
test dl, 8
jne 0x4ac4fd
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 0x4ac560
test dl, 4
jne 0x4ac52c
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 0x4ac560
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 0x4ac592
cmp eax, 0x20
je case.0x4ac698.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4ac698.8203
jmp dword [eax*4 + 0x4ada6c]
cmp edx, 0x2000
ja 0x4ac66c
cmp ecx, 0x2000
je case.0x4ac698.8193
cmp edi, 0x1680
ja 0x4ac661
cmp edx, 0x1680
je case.0x4ac698.8193
mov eax, edx
sub eax, 0x85
je case.0x4ac698.8193
sub eax, 0x1b
je case.0x4ac698.8193
mov eax, edx
test eax, eax
jns 0x4ac5e1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and edx, 0x8000007f
jns 0x4ac5fb
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.0x4aafec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac652
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ac873
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4a9e64
cmp edx, 0x180e
jmp 0x4ac5d2
cmp ebx, 0x3000
ja case.0x4ac698.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4ac698.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4ac698.8203
movzx eax, byte [eax + 0x4ada88]
jmp dword [eax*4 + 0x4ada80]
cmp dword [esi + 0x68], 0
je 0x4ac623
jmp case.default.0x4aafec
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ac6e9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a2c4e
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 0x4ac800
cmp eax, 0xc0
jb 0x4ac800
test al, 0x20
jne 0x4ac726
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ac7f9
test al, 0x10
jne 0x4ac74c
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 0x4ac7f9
test al, 8
jne 0x4ac77e
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 0x4ac7f9
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4ac7bb
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 0x4ac7f9
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 0x4ac83c
cmp eax, 3
je 0x4ac83c
cmp ebx, 0x5f
je 0x4ac83c
xor eax, eax
jmp 0x4ac841
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4aafec
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aca8a
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4aca80
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb8f
mov edi, 0xfffffffa
jmp 0x4a8db8
test edi, edi
jne case.default.0x4a92b8
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4a9cbf.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4ac8eb
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9cbf.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4a9cbf.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a9cbf.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb72
mov edi, 0xfffffff4
jmp 0x4a8dbc
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x4ac9d3
cmp edx, 0xc0
jb 0x4ac9d3
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac927
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4ac9ce
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4ac948
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4ac9ce
test dl, 8
jne 0x4ac96b
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 0x4ac9ce
test dl, 4
jne 0x4ac99a
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 0x4ac9ce
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 0x4ac9f5
mov ecx, dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4aca0e
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4ac9e8
cmp dword [esi + 0x68], 0
jne 0x4aca14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb82
xor edi, edi
jmp 0x4a8dbc
cmp dword [esi + 0x68], 0
jne case.0x4a9cbf.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4acaa3
push 0x134
call dword [0xc61500]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4aca99
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acb8f
lea edi, [ecx - 6]
jmp 0x4a8dbc
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4aca64
push ecx
call dword [0xc614fc]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x49f253
mov dword [esi + 0xc], ecx
jmp 0x49f1e0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4a9e64
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4a9e64
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