Function at 0x49f610
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 0x49f69b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acf42
mov edi, 0xfffffff8
jmp 0x4a924c
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x49f6b9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acf52
mov edi, 0xffffffeb
jmp 0x4a924c
cmp dword [ebp + 0x98], 2
jne 0x49f6e3
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.0x49f70f.98
movzx eax, byte [eax + 0x4ad18c]
jmp dword [eax*4 + 0x4ad040]
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 0x49f74d
push 0x134
call dword [0xd913a0]
mov edi, eax
add esp, 4
test edi, edi
je 0x4acd03
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 0x49f660
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f7bc
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f7f9
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
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 0x49f848
push 0x134
call dword [0xd913a0]
mov edi, eax
add esp, 4
test edi, edi
je 0x4acd03
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x49f757
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f87c
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x49f8bd
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 0x49f6e3
mov edi, dword [esi + 4]
test edi, edi
jne 0x49f8e2
push 0x134
call dword [0xd913a0]
mov edi, eax
add esp, 4
test edi, edi
je 0x4acd03
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x49f757
mov edx, dword [esi + 4]
test edx, edx
jne 0x49f916
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
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 0x49f965
push 0x134
call dword [0xd913a0]
mov edi, eax
add esp, 4
test edi, edi
je 0x4acd03
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x49f757
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 0x4aa804
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.0x49f70f.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 0x4a92e4
mov dword [esi + 0x54], ebx
jmp 0x4a01ff
mov dword [esi + 0x54], ebx
jmp 0x4a0223
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 0x49fb33
mov edi, dword [0xd93ef8]
test edi, edi
je 0x49fb1f
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 0x49fae4
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.0x4ab47c
jns 0x49fb1f
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a9381
jmp 0x4a9248
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.0x49fb56.146
movzx eax, byte [eax + 0x4ad248]
jmp dword [eax*4 + 0x4ad230]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x49fb56.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x49fc3d
cmp ecx, dword [edx + 4]
je 0x49fc3d
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x4a95ab
movzx ecx, byte [ecx + 0x55c438]
jmp 0x4a95ae
cmp dword [ebp + 0xa4], 0
je case.0x49fb56.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 0x49fb8e
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 0x49fb8e
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x49fbe0
jmp 0x49fb8e
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 0x49fb89
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49fb89
mov eax, 1
jmp 0x49fb8b
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.0x49fb56.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 0x49fc9a
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x49fc9a
mov eax, 1
jmp 0x49fc9c
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x49fb8e
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x49fc70
jmp 0x49fb8e
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49fce6
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4a9810
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 0x49fd53
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x49f6e3
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 0x49fd4a
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x49fda3
mov eax, ecx
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x49fd94
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x49f6e3
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x49fdee
cmp cl, 0x9f
je 0x49fdee
cmp dword [ebp + 0xa4], ebx
jne 0x49fdee
cmp dword [ebp + 0x5c], ebx
jne case.default.0x4ab47c
cmp dword [ebp + 0x60], ebx
je 0x49fdee
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x4ab47c
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 0x4a9381
jmp 0x4a9248
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49fe49
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a968b
mov dword [esi + 0x58], ebx
jmp 0x4a968b
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49fe75
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4a97d1
mov dword [esi + 0x58], ebx
jmp 0x4a97d1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x49fec2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x49fee0
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x4aa14f.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49febc
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49feb0
test edx, edx
jg 0x49fe97
jmp 0x49fee0
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.0x4aa14f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x49fd4a
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x49f6e3
mov edi, dword [0xd93ef8]
test edi, edi
je 0x49ffe8
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 0x49ffa7
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.0x4ab47c
jns 0x49ffe8
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4a9381
jmp 0x4a9248
add dword [esi + 0xc], 6
jmp 0x49f6e3
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 0x4a0012
xor edx, edx
jmp 0x4a001f
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 0x4a0045
lea esp, [esp]
cmp edx, dword [ecx + 4]
jne 0x4a003d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x4a0082
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x4a0030
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 0x4a0098
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x4a00b0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acf62
mov edi, 0xffffffe6
jmp 0x4a9248
shl eax, 2
push eax
call dword [0xd91398]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4acd03
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.004adfa0
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x4a98f7
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 0x4a00e0
jmp 0x49f6e3
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a0128
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
jmp 0x4a0150
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 0x4a0150
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a018e
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
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 0x4a01b0
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x49f6e3
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 0x4a01ff
cmp eax, 0x8b
jne 0x4a0223
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 0x4a0240
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 0x4aa3fb
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 0x4a02bd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a02e6
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
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 0x4a0322
cmp al, 0x81
je 0x4a0322
mov dword [esi + 0x38], ebx
jmp 0x4a0333
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 0x4a0340
cmp al, 0x80
jbe 0x4a0344
cmp al, 0x82
jne 0x4a0361
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 0x4a97a1
cmp al, 0x85
je 0x4a0375
cmp al, 0x8a
je 0x4a0375
cmp al, 0x86
je 0x4a0375
cmp al, 0x8b
jne 0x4a044b
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 0x4a03ba
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x4a03ba
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x4a97a1
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 0x4a03e9
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x4a044b
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x4a040f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x4a040f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4a0400
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 0x4a044b
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x4a0483
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 0x4acf72
mov edi, 0xfffffc1a
jmp 0x4a9248
cmp cl, 0x78
je 0x4a0513
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x4a0513
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x4a04d9
test ecx, ecx
jne 0x4a04be
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
test ecx, ecx
jne 0x4a04fb
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4a1e52
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a0544
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
cmp dword [ebp + 0x44], ebx
je case.0x49f70f.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4ab47c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x4a1616.10
jmp case.default.0x4ab47c
cmp dword [ebp + 0x44], ebx
je 0x4a0592
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x4ab47c
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x4a1616.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x4ab47c
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4a05dd
cmp ecx, edi
jbe 0x4a05d2
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0050a950
add esp, 0x14
test eax, eax
je 0x4a05d2
mov eax, 1
jmp 0x4a05d4
xor eax, eax
test eax, eax
jne case.0x4a1616.10
jmp case.default.0x4ab47c
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x4ab47c
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x4ab47c
cmp edx, 1
je case.0x4a1616.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a1616.10
jmp case.default.0x4ab47c
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x4a1616.10
jmp case.default.0x4ab47c
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x49f6e3
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a06d4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a0662
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0050a7c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x4a1616.10
jmp 0x4a0683
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a067f
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a067f
cmp edi, 1
je case.0x4a1616.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a1616.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aa14f.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x4aa14f.14
cmp dword [ebp + 0x18], 0
jne case.0x4aa14f.14
cmp dword [ebp + 0x1c], 2
jne case.0x4aa14f.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x4aa14f.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4acd65
jmp case.0x4aa14f.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x4ab47c
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a1616.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x4a1616.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x4a1616.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad002
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a924c
cmp dword [ebp + 0x48], ebx
jne case.default.0x4ab47c
cmp dword [ebp + 0x58], ebx
je case.0x49f70f.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a1622
jmp case.default.0x4ab47c
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a06dd
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a076e
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a7c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a079c
jmp 0x4a078b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a079c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a079c
cmp edi, 1
je 0x4a078b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4a079c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x4a06dd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4ab47c
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4ab47c
cmp dword [ebp + 0x18], ebx
jne case.default.0x4ab47c
cmp dword [ebp + 0x1c], 2
jne case.default.0x4ab47c
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x4ab47c
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x4ab47c
jmp 0x4a0707
cmp dword [esp + 0x28], ebx
je 0x4a0aa8
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x4a0806
mov dword [esi + 0x5c], ebx
jmp 0x4a0935
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x4a081e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x4a0812
cmp ecx, dword [ebp + 0x84]
jae 0x4a082c
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x4a08e3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a085a
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x4a08db
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x4a086d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x4a08d5
and eax, 0x3f
test bl, 8
jne 0x4a0888
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x4a08d5
test bl, 4
jne 0x4a08ac
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 0x4a08d5
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 0x4a096b
cmp edx, 0x5f
jne 0x4a08fd
mov dword [esi + 0x5c], 1
jmp 0x4a0935
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 0x4a097c
cmp eax, 3
je 0x4a097c
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0983
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a095f
cmp edi, dword [ebp + 0x84]
jbe 0x4a095f
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
mov dword [esi + 0x54], 0
jmp 0x4a0bc3
cmp edi, 0x100
jae 0x4a0930
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4a0930
mov eax, 1
jmp 0x4a0932
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a0a3a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a09b1
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a0a32
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a09c4
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4a0a2c
and eax, 0x3f
test dl, 8
jne 0x4a09df
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a0a2c
test dl, 4
jne 0x4a0a03
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 0x4a0a2c
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 0x4a0a8d
cmp edi, 0x5f
jne 0x4a0a53
mov dword [esi + 0x54], 1
jmp 0x4a0bc3
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 0x4a0a9e
cmp eax, 3
je 0x4a0a9e
xor eax, eax
jmp 0x4a0bc0
cmp ebx, 0x100
jae 0x4a0a86
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a0a86
mov eax, 1
jmp 0x4a0bc0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4a0ab8
mov dword [esi + 0x5c], ebx
jmp 0x4a0b42
cmp eax, dword [ebp + 0x84]
ja 0x4a0ac7
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x4a0b32
cmp ecx, 0x5f
jne 0x4a0ae1
mov dword [esi + 0x5c], 1
jmp 0x4a0b42
mov eax, ecx
test eax, eax
jns 0x4a0aea
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a0b04
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 0x4a0b2b
cmp eax, 3
je 0x4a0b2b
xor eax, eax
jmp 0x4a0b3f
mov eax, 1
jmp 0x4a0b3f
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 0x4a0b71
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a0b6c
cmp eax, dword [ebp + 0x84]
jbe 0x4a0b6c
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4a0707
mov dword [esi + 0x54], ebx
jmp 0x4a0bc3
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x4a0bb3
cmp ecx, 0x5f
jne 0x4a0b87
mov dword [esi + 0x54], 1
jmp 0x4a0bc3
mov eax, ecx
test eax, eax
jns 0x4a0b90
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a0a63
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x4a0a63
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 0x4a0bde
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x4a0be6
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x49f6e3
jmp case.default.0x4ab47c
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x4a0c2d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4a0c22
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0050a7c0
add esp, 0x14
test eax, eax
je 0x4a0c22
mov eax, 1
jmp 0x4a0c24
xor eax, eax
test eax, eax
je 0x4a0c58
jmp case.default.0x4ab47c
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4a0c58
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a0c58
cmp edx, 1
je case.default.0x4ab47c
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4ab47c
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x49f70f.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x49f70f.13
cmp dword [ebp + 0x18], ebx
jne case.0x49f70f.13
cmp dword [ebp + 0x1c], 2
jne case.0x49f70f.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x49f70f.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4a0707
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4a0cc6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x4ab47c
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4ab47c
jmp 0x4a0707
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x4a1616.10
cmp ecx, dword [ebp + 0x78]
jae case.0x4a1616.10
lea ecx, [ecx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x4a1616.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a0ce0
inc dword [esi + 0xc]
jmp 0x49f6e3
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a0d24
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4ab47c
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4ab47c
jmp 0x4a07d7
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49f6e3
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0d51
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a0e3b
cmp edx, 0xc0
jb 0x4a0e3b
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a0d8f
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a0e36
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a0db0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a0e36
test dl, 8
jne 0x4a0dd3
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 0x4a0e36
test dl, 4
jne 0x4a0e02
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 0x4a0e36
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.0x4a1616.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4a1616.10
jmp case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a0e79
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cab
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a0f76
cmp ecx, 0xc0
jb 0x4a0f76
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a0eb5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a0f71
test cl, 0x10
jne 0x4a0ed6
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 0x4a0f71
test cl, 8
jne 0x4a0f00
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 0x4a0f71
test cl, 4
jne 0x4a0f36
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 0x4a0f71
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.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a1616.10
jmp case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a0fb4
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a10bc
cmp edx, 0xc0
jb 0x4a10bc
test dl, 0x20
jne 0x4a0ff0
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a10b7
test dl, 0x10
jne 0x4a1017
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 0x4a10b7
test dl, 8
jne 0x4a1047
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 0x4a10b7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a1083
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 0x4a10b7
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.0x4a1616.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4a1616.10
jmp case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a10fa
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cab
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a11f7
cmp ecx, 0xc0
jb 0x4a11f7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a1136
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a11f2
test cl, 0x10
jne 0x4a1157
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 0x4a11f2
test cl, 8
jne 0x4a1181
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 0x4a11f2
test cl, 4
jne 0x4a11b7
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 0x4a11f2
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.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a1616.10
jmp case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1235
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x4a133d
cmp edx, 0xc0
jb 0x4a133d
test dl, 0x20
jne 0x4a1271
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1338
test dl, 0x10
jne 0x4a1298
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 0x4a1338
test dl, 8
jne 0x4a12c8
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 0x4a1338
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a1304
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 0x4a1338
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.0x4a1616.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4a1616.10
jmp case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a137b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cab
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x4a1478
cmp ecx, 0xc0
jb 0x4a1478
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a13b7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a1473
test cl, 0x10
jne 0x4a13d8
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 0x4a1473
test cl, 8
jne 0x4a1402
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 0x4a1473
test cl, 4
jne 0x4a1438
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 0x4a1473
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.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a1616.10
jmp case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a14b6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a15f6
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x4a15f6
test dl, 0x20
jne 0x4a1506
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 0x4a15fa
test dl, 0x10
jne 0x4a1536
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 0x4a15fa
test dl, 8
jne 0x4a1572
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 0x4a15fa
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a15b7
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 0x4a15fa
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 0x4a15fa
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x4a1659
cmp ecx, 0x85
je case.0x4a1616.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab47c
jmp dword [edx*4 + 0x4ad25c]
cmp edi, dword [ebp + 0x78]
jb 0x4a1644
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a1616.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a1616.10
cmp ecx, 1
jmp 0x4a06fa
cmp byte [eax], 0xa
jne case.0x4a1616.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x49f6e3
sub edx, 0x2028
je case.0x4a1616.11
sub edx, 1
jne case.default.0x4ab47c
cmp dword [ebp + 0x68], 0
je case.0x4a1616.10
jmp case.default.0x4ab47c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a169a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a17b5
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4a17b5
test dl, 0x20
jne 0x4a16e1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a17a8
test dl, 0x10
jne 0x4a1708
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 0x4a17a8
test dl, 8
jne 0x4a1738
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 0x4a17a8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x4a1774
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 0x4a17a8
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 0x4a181b
cmp edx, 0x2000
je case.default.0x4ab47c
cmp edx, 0xa0
ja 0x4a17fb
cmp ebx, 0xa0
je case.default.0x4ab47c
cmp edx, 9
je case.default.0x4ab47c
cmp edx, 0x20
je case.default.0x4ab47c
inc dword [esi + 0xc]
jmp 0x49f6e3
cmp edi, 0x1680
je case.default.0x4ab47c
cmp edx, 0x180e
je case.default.0x4ab47c
inc dword [esi + 0xc]
jmp 0x49f6e3
cmp eax, 0x3000
ja case.0x4a1616.10
cmp ecx, 0x3000
je case.default.0x4ab47c
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a1616.10
movzx eax, byte [edx + 0x4ad274]
jmp dword [eax*4 + 0x4ad26c]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a1870
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a1980
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x4a1980
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a18b7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a1973
test cl, 0x10
jne 0x4a18d8
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 0x4a1973
test cl, 8
jne 0x4a1902
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 0x4a1973
test cl, 4
jne 0x4a1938
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 0x4a1973
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 0x4a19e0
cmp ecx, 0x2000
je case.0x4a1616.10
cmp ecx, 0xa0
ja 0x4a19c3
cmp ebx, 0xa0
je case.0x4a1616.10
cmp ecx, 9
je case.0x4a1616.10
cmp ecx, 0x20
je case.0x4a1616.10
jmp case.default.0x4ab47c
cmp edx, 0x1680
je case.0x4a1616.10
cmp ecx, 0x180e
je case.0x4a1616.10
jmp case.default.0x4ab47c
cmp eax, 0x3000
ja case.default.0x4ab47c
cmp edi, 0x3000
je case.0x4a1616.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4ab47c
movzx eax, byte [ecx + 0x4ad2dc]
jmp dword [eax*4 + 0x4ad2d4]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1a35
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a1b4d
cmp edx, 0xc0
jb 0x4a1b4d
test dl, 0x20
jne 0x4a1a75
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1b46
test dl, 0x10
jne 0x4a1a9c
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 0x4a1b46
test dl, 8
jne 0x4a1acf
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 0x4a1b46
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x4a1b0b
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 0x4a1b46
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 0x4a1b73
cmp eax, 0x85
je case.0x4aa14f.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4a1616.10
jmp dword [edx*4 + 0x4ad33c]
sub edx, 0x2028
je case.0x4aa14f.14
sub edx, 1
jne case.0x4a1616.10
jmp case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1bae
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a1ca0
cmp edx, 0xc0
jb 0x4a1ca0
test dl, 0x20
jne 0x4a1bec
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1c99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a1c13
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a1c99
test dl, 8
jne 0x4a1c36
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 0x4a1c99
test dl, 4
jne 0x4a1c65
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 0x4a1c99
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 0x4a1cc6
cmp eax, 0x85
je case.0x4a1616.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4aa14f.14
jmp dword [edx*4 + 0x4ad34c]
sub edx, 0x2028
je case.0x4a1616.10
sub edx, 1
je case.0x4a1616.10
jmp case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a1d01
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a1e14
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a1e14
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a1d5a
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a1e01
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a1d7b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a1e01
test dl, 8
jne 0x4a1d9e
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 0x4a1e01
test dl, 4
jne 0x4a1dcd
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 0x4a1e01
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.0x4ab3fa.15
jmp dword [ecx*4 + 0x4ad35c]
cmp dword [esi + 0x9c], 0xf
je case.default.0x4ab47c
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x49f6e3
mov al, byte [ebx*8 + 0x55cb81]
cmp al, 9
je 0x4a1e74
cmp al, 5
je 0x4a1e74
cmp al, 8
je 0x4a1e74
xor ecx, ecx
jmp 0x4a1e79
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x4a1e52
jmp case.default.0x4ab47c
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 0x4a1e52
jmp case.default.0x4ab47c
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 0x4a1e52
jmp case.default.0x4ab47c
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x55cb80]
jmp 0x4a1ec7
movzx eax, byte [ebx*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a1e74
cmp eax, 3
je 0x4a1e74
xor ecx, ecx
jmp 0x4a1e79
cmp edx, 0x20
ja 0x4a1f33
je case.0x4a1e3e.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x4a1faf.8203
jmp dword [edx*4 + 0x4ad388]
cmp edx, 0x2000
ja 0x4a1f8f
je case.0x4a1e3e.0
cmp edx, 0x1680
ja 0x4a1f87
je case.0x4a1e3e.0
sub edx, 0x85
je case.0x4a1e3e.0
sub edx, 0x1b
je case.0x4a1e3e.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 0x4a1ed3
cmp edx, 0x180e
jmp 0x4a1f5e
cmp edx, 0x3000
ja case.0x4a1faf.8203
je case.0x4a1e3e.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a1faf.8203
movzx eax, byte [edx + 0x4ad3a4]
jmp dword [eax*4 + 0x4ad39c]
movzx eax, byte [ebx*8 + 0x55cb81]
mov eax, dword [eax*4 + 0x55c550]
cmp eax, 1
je 0x4a1e74
cmp eax, 3
je 0x4a1e74
cmp edx, 0x5f
je 0x4a1e74
xor ecx, ecx
jmp 0x4a1e79
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x55ca40]
cmp ecx, dword [eax]
jb 0x4a200d
mov ecx, dword [eax]
lea esp, [esp]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a201f
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a2000
cmp dword [esi + 0x9c], 0x10
jne 0x4a1e52
jmp case.default.0x4ab47c
cmp dword [esi + 0x9c], 0x10
je 0x4a1e52
jmp case.default.0x4ab47c
cmp dword [esp + 0x24], 0x24
je 0x4a1e74
cmp dword [esp + 0x1c], 0x40
je 0x4a1e74
cmp edx, 0x60
je 0x4a1e74
cmp edx, 0xa0
jb 0x4a2064
cmp edx, 0xd7ff
jbe 0x4a1e74
cmp edx, 0xe000
jae 0x4a1e74
xor ecx, ecx
jmp 0x4a1e79
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4a2098
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a2185
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x4a2185
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a20db
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x4a217a
test al, 0x10
jne 0x4a20f3
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x4a2174
test al, 8
jne 0x4a2114
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 0x4a2174
test al, 4
jne 0x4a2141
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 0x4a2174
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 0x4a22f2
mov dword [esp + 0x14], edx
lea esp, [esp]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a2299
cmp edx, 0xc0
jb 0x4a2299
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a2201
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a2295
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a2219
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a228f
and eax, 0x3f
test dl, 8
jne 0x4a2239
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a228f
test dl, 4
jne 0x4a2262
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 0x4a228f
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 0x4a22f2
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 0x4a21c0
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a1616.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x4a1616.10
jmp 0x4a1630
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 0x4a2407
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 0x4a2399
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x4a23aa
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x14], edi
mov edx, edi
test ebx, ebx
jg 0x4a2370
jmp 0x4a2407
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x4a2401
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 0x4a23f7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x4a23f7
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x4a2401
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.0x4a2422
movzx eax, byte [ecx + 0x4ad40c]
jmp dword [eax*4 + 0x4ad404]
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 0x4a24a7
mov dword [esi + 0x8c], closesocket
jmp 0x4a24a7
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 0x4a24a3
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x49f6e3
jns 0x4a24c4
cmp dword [esi + 0x90], 0
je 0x49f6e3
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a2509
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.0049f2d0
add esp, 0x14
test eax, eax
js 0x4a2527
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x4a24d6
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x14], 0
je 0x4a2552
mov dword [esi + 0x84], eax
jmp 0x4a9b5c
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a2536
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x78]
jb case.default.0x4ab47c
jmp 0x4a0ca5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x4a9ba8
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0049f2d0
add esp, 0x14
test eax, eax
js 0x4a2595
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x4a255e
cmp eax, 0xfffffffe
jne 0x4a9ba8
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a9ba8
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4a9ba8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a9ba8
jmp 0x4a0707
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0049f2d0
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x4a262e
cmp ecx, 0xfffffffe
jne 0x4a2603
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x4ab47c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x4ab47c
cmp eax, dword [ebp + 0x84]
jbe case.default.0x4ab47c
jmp 0x4a07d7
add dword [esi + 8], ecx
jmp 0x49f6e3
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.0x4a265e
movzx eax, byte [ecx + 0x4ad41c]
jmp dword [eax*4 + 0x4ad414]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a267b
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a2683
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 0x4a2718
mov dword [esi + 0x8c], closesocket
jmp 0x4a2718
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 0x4a26fe
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a2718
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 0x4a2890
cmp dword [esi + 0x90], ebx
jl 0x4a28db
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4a2850
test bl, 0x20
jne 0x4a2787
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 0x4a2850
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4a27b5
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 0x4a2850
test bl, 8
jne 0x4a27df
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 0x4a2850
test bl, 4
jne 0x4a2815
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 0x4a2850
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 0x4a2860
cmp dword [esi + 0x9c], 0x6e
jmp 0x4a2873
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.0x4ab47c
mov ebx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a2740
jmp 0x4a28d7
cmp dword [esi + 0x90], ebx
jl 0x4a28db
jmp 0x4a28a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
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.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a28a0
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a2907
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x4aabeb
jmp 0x4a9c55
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x4a2aec
cmp eax, dword [esi + 0x8c]
jge 0x4a2adc
jmp 0x4a2930
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2aba
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x4a2a65
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x4a2985
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 0x4a2a6a
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x4a29b4
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 0x4a2a6a
test bl, 8
jne 0x4a29e8
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 0x4a2a6a
test bl, 4
jne 0x4a2a25
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 0x4a2a6a
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 0x4a2a6a
mov eax, 1
cmp edx, 0xff
jbe 0x4a2a7d
cmp dword [esi + 0x9c], 0x6e
je 0x4a2adc
jmp 0x4a2a9e
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 0x4a2adc
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 0x4a2930
jmp 0x4a2adc
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2adc
cmp edi, dword [ebp + 0x84]
jbe 0x4a2adc
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4aac51
cmp eax, dword [esi + 0x8c]
jge 0x4a2b51
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a2b2f
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 0x4a2b51
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 0x4a2af4
jmp 0x4a2b51
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2b51
cmp ebx, dword [ebp + 0x84]
jbe 0x4a2b51
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4a9c98
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.0x4a2b97
movzx eax, byte [ecx + 0x4ad430]
jmp dword [eax*4 + 0x4ad428]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4a2bb4
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x4a2bbc
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 0x4a2c4d
mov dword [esi + 0x8c], closesocket
jmp 0x4a2c4d
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 0x4a2c33
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x4a2c4d
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 0x4a2d82
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x4a2d59
cmp edx, 0xc0
jb 0x4a2d59
test dl, 0x20
jne 0x4a2ca9
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a2d56
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a2cd0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a2d56
test dl, 8
jne 0x4a2cf3
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 0x4a2d56
test dl, 4
jne 0x4a2d22
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 0x4a2d56
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.0050ae30
add esp, 0xc
test eax, eax
je case.default.0x4ab47c
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x4a2c62
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a2da0
mov dword [esi + 0x84], eax
jmp 0x4aa9d1
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 0x4a2ef1
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a2ecf
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x4a2ea1
cmp edx, 0xc0
jb 0x4a2ea1
test dl, 0x20
jne 0x4a2e01
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4a2e99
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a2e23
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a2e99
and eax, 0x3f
test dl, 8
jne 0x4a2e43
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a2e99
test dl, 4
jne 0x4a2e6c
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 0x4a2e99
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.0050ae30
add esp, 0xc
test eax, eax
je 0x4a2ef1
mov eax, dword [esp + 0x14]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a2dc0
jmp 0x4a2ef1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a2ef1
cmp edi, dword [ebp + 0x84]
jbe 0x4a2ef1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4aaa3c
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a30bd
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 0x4a3048
test bl, 0x20
jne 0x4a2f5b
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 0x4a3048
test bl, 0x10
jne 0x4a2f90
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 0x4a3048
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 0x4a2fd1
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 0x4a3048
test bl, 4
jne 0x4a300a
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 0x4a3048
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 0x4a307d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edx, edi
jb case.default.0x4ab47c
cmp edx, dword [ebp + 0x84]
jmp 0x4a0cab
test ecx, ecx
jle 0x4a30af
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.0x4ab47c
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x4a3081
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x49f6e3
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x4a30f9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4aa14f.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4acd65
jmp case.0x4aa14f.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 0x4a3417
jmp case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4a3135
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp edi, dword [ebp + 0x84]
jmp 0x4a0cab
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a33f8
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 0x4a327c
test bl, 0x20
jne 0x4a318f
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 0x4a327c
test bl, 0x10
jne 0x4a31c4
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 0x4a327c
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 0x4a3205
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 0x4a327c
test bl, 4
jne 0x4a323e
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 0x4a327c
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 0x4a32aa
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x4ab47c
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x49f6e3
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x4a339d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a32d9
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a3398
test cl, 0x10
jne 0x4a32fa
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 0x4a3398
test cl, 8
jne 0x4a3327
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 0x4a3398
test cl, 4
jne 0x4a335d
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 0x4a3398
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 0x49f6e3
mov eax, edx
test eax, eax
jns 0x4a33bd
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a33d8
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 0x49f6e3
jmp case.default.0x4ab47c
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.0x4aa14f.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x49f6e3
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 0x4a3535
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 0x4a347a
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x4a3482
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x4a3535
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3535
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3535
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3535
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 0x4a3535
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4a3989
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 0x4a367e
test bl, 0x20
jne 0x4a3591
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 0x4a367e
test bl, 0x10
jne 0x4a35c6
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 0x4a367e
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 0x4a3607
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 0x4a367e
test bl, 4
jne 0x4a3640
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 0x4a367e
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 0x4a399a
cmp dword [esi + 0x9c], 0x2e
jb 0x4a36f0
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x4a36ac
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a36c7
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 0x4a36f0
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0050aaf0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4a36f7
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x14], 1
cmp eax, 1
jl 0x4a3804
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 0x4a377e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a3741
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3746
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3730
cmp edi, 0xfffffffc
je 0x4a3773
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a377b
cmp edi, 0xfffffffd
je 0x4a3773
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a377b
cmp edi, 0xfffffffe
je 0x4a3773
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a377b
cmp edi, 0xffffffff
je 0x4a3773
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a377b
mov eax, dword [esi + 0x88]
jmp 0x4a37e6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a3822
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a3822
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a37b1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a37b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a37a0
cmp edi, 0xfffffffc
je 0x4a37e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a3822
cmp edi, 0xfffffffd
je 0x4a37e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a3822
cmp edi, 0xfffffffe
je 0x4a37e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a3822
cmp edi, 0xffffffff
je 0x4a37e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a3822
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 0x4a3710
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a3844
mov dword [esi + 0x84], eax
jmp 0x4aad85
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4ab47c
cmp ebx, dword [ebp + 0x84]
jmp 0x4a0cab
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 0x4a3979
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 0x4a38ce
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4a3891
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3896
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a3880
cmp edi, 0xfffffffc
je 0x4a38c3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a38cb
cmp edi, 0xfffffffd
je 0x4a38c3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a38cb
cmp edi, 0xfffffffe
je 0x4a38c3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a38cb
cmp edi, 0xffffffff
je 0x4a38c3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a38cb
mov eax, dword [esi + 0x88]
jmp 0x4a3936
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4a3952
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a3952
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4a3901
jmp 0x4a38f0
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a3906
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a38f0
cmp edi, 0xfffffffc
je 0x4a3933
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a3952
cmp edi, 0xfffffffd
je 0x4a3933
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a3952
cmp edi, 0xfffffffe
je 0x4a3933
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a3952
cmp edi, 0xffffffff
je 0x4a3933
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a3952
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 0x4a3860
jmp 0x4a3979
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a3979
cmp ebx, dword [ebp + 0x78]
jb 0x4a3979
cmp ebx, dword [ebp + 0x84]
jbe 0x4a3979
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4aae2d
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x4a399e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x4a3a98
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 0x4a3a04
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a9c0e
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a39f3
cmp dword [esi + 0x94], ecx
jne case.0x4aa14f.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x4a39d0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a3a22
mov dword [esi + 0x84], eax
jmp 0x4a9d3e
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x4a3a88
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a3a66
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x4a3a55
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x4a3a88
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a3a38
jmp 0x4a3a88
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a3a88
cmp eax, dword [ebp + 0x84]
jbe 0x4a3a88
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4acd65
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4a9d81
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x4a3acf
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a3aed
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x4ab47c
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x4a3aa5
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a3b06
mov dword [esi + 0x84], eax
jmp 0x4a9e06
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp ebx, dword [ebp + 0x84]
jmp 0x4a0cab
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a3b66
lea ebx, [ebx]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a3b44
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x4a3b66
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a3b20
jmp 0x4a3b66
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a3b66
cmp ecx, dword [ebp + 0x84]
jbe 0x4a3b66
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4a9e49
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4a3e3f
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x4a3c84
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4a3bc5
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4a3c81
test bl, 0x10
jne 0x4a3be6
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 0x4a3c81
test bl, 8
jne 0x4a3c10
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 0x4a3c81
test bl, 4
jne 0x4a3c46
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 0x4a3c81
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 0x4a3dc5
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x4a3cd0
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 0x4a3dc9
test dl, 0x10
jne 0x4a3cfe
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 0x4a3dc9
test dl, 8
jne 0x4a3d38
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 0x4a3dc9
test dl, 4
jne 0x4a3d7b
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 0x4a3dc9
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 0x4a3dc9
mov ecx, dword [esp + 0x14]
cmp dword [esi + 0x9c], 0x1f
jne 0x4a3ddf
cmp ebx, eax
jne 0x49f6e3
jmp case.default.0x4ab47c
cmp ebx, 0x7f
jbe 0x4a3e1d
mov eax, ebx
test eax, eax
jns 0x4a3ded
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a3e08
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 0x4a3e2a
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x4ab47c
cmp eax, edi
jne 0x49f6e3
jmp case.default.0x4ab47c
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x4aa14f.14
cmp dword [esi + 0x9c], 0x20
jne 0x4a3417
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4aa14f.14
add dword [esi + 0xc], 2
jmp 0x49f6e3
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 0x4a3fc1
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 0x4a3ed8
cmp al, 0x4f
je 0x4a3ed8
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a3fc1
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x4a3fc1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3fc1
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3fc1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a3fc1
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 0x4a3fc1
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 0x4a3fc1
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 0x4a40f2
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x4a40f2
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a4013
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4a40ee
test cl, 0x10
jne 0x4a403b
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 0x4a40ee
test cl, 8
jne 0x4a406f
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 0x4a40ee
test cl, 4
jne 0x4a40ac
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 0x4a40ee
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 0x4a44d1
test eax, eax
je 0x4a4152
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x4a4152
mov eax, edx
test eax, eax
jns 0x4a4117
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x55e200]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4a4132
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 0x4a4175
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 0x4a42a8
cmp dword [esi + 0x90], 1
jl 0x4a42e4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x4a4281
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a41c0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a427c
test cl, 0x10
jne 0x4a41e1
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 0x4a427c
test cl, 8
jne 0x4a420b
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 0x4a427c
test cl, 4
jne 0x4a4241
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 0x4a427c
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.0x4ab47c
cmp dword [esi + 0x94], eax
je case.default.0x4ab47c
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a4182
jmp 0x4a42e4
cmp dword [esi + 0x90], edi
jl 0x4a42e4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x4ab47c
cmp dword [esi + 0x94], ecx
je case.default.0x4ab47c
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a42b0
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f6e3
test ebx, ebx
je 0x4a4310
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x4aafb0
jmp 0x4a9ef3
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a4467
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a4457
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a4435
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4410
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a4374
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a440c
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a438f
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a4406
and eax, 0x3f
test dl, 8
jne 0x4a43af
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a4406
test dl, 4
jne 0x4a43d8
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 0x4a4406
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 0x4a4457
cmp dword [esi + 0x94], eax
je 0x4a4457
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a4334
jmp 0x4a4457
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a4457
cmp edi, dword [ebp + 0x84]
jbe 0x4a4457
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4ab00c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a44c1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a449f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a44c1
cmp dword [esi + 0x94], ecx
je 0x4a44c1
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a4475
jmp 0x4a44c1
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a44c1
cmp eax, dword [ebp + 0x84]
jbe 0x4a44c1
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x4acd65
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4a9f36
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x4a4629
cmp dword [esi + 0x90], edi
jl 0x4a465f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4a460a
mov cl, byte [eax]
test bl, 0x20
jne 0x4a452b
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4a4602
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4a454f
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 0x4a4602
test bl, 8
jne 0x4a458a
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 0x4a460a
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4a45c8
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 0x4a45fe
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.0x4ab47c
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [esi + 0x90]
jle 0x4a44f2
jmp 0x4a465b
cmp dword [esi + 0x90], edi
jl 0x4a465f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x4a3aed
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x4ab47c
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a4631
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a468b
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x4ab1ab
jmp 0x4a9fbb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x4a47de
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x4a47ce
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a47ac
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x4a478b
test dl, 0x20
jne 0x4a46e6
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x4a4783
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a4708
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a477f
and eax, 0x3f
test dl, 8
jne 0x4a4728
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a477f
test dl, 4
jne 0x4a4751
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 0x4a477f
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 0x4a47ce
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a46b0
jmp 0x4a47ce
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a47ce
cmp edi, dword [ebp + 0x84]
jbe 0x4a47ce
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4ab20c
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x4a4836
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a4814
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x4a4836
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a47f0
jmp 0x4a4836
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a4836
cmp ecx, dword [ebp + 0x84]
jbe 0x4a4836
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4acd65
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4a9ffe
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 0x4a4977
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 0x4a4977
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a4977
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a4977
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x4a4977
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 0x4a4977
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 0x4a4977
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 0x4a4999
cmp ecx, 0xf
je 0x4a4999
mov dword [esi + 0x60], 0xffffffff
jmp 0x4a49bd
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 0x4a4bca
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a58c4
cmp eax, 0xa
ja case.0x4ab3fa.15
jmp dword [eax*4 + 0x4ad43c]
cmp dword [esi + 0x68], 0
jne case.default.0x4ab47c
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x4a4bce
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4aa066
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x4a4a4e
cmp edx, 0xc0
jb 0x4a4a4e
test dl, 0x20
jne 0x4a4a2c
lea eax, [ecx + 2]
jmp 0x4a4a4b
test dl, 0x10
jne 0x4a4a36
lea eax, [ecx + 3]
jmp 0x4a4a4b
test dl, 8
jne 0x4a4a40
lea eax, [ecx + 4]
jmp 0x4a4a4b
lea eax, [ecx + 5]
test dl, 4
je 0x4a4a4b
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a4a01
jmp 0x4a4bce
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a4b7a
cmp eax, 0xc0
jb 0x4a4b7a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a4ab9
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4b75
test al, 0x10
jne 0x4a4ad9
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 0x4a4b75
test al, 8
jne 0x4a4b05
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 0x4a4b75
test al, 4
jne 0x4a4b3a
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 0x4a4b75
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 0x4a4baf
cmp eax, 5
je 0x4a4baf
cmp eax, 8
je 0x4a4baf
xor eax, eax
jmp 0x4a4bb4
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4a70
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x49f6e3
cmp dword [esp + 0x20], 0
je 0x4a6c3b
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x4a6c1e
cmp ecx, 0xa
ja case.0x4ab3fa.15
jmp dword [ecx*4 + 0x4ad468]
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a4d2f
cmp eax, 0xc0
jb 0x4a4d2f
test al, 0x20
jne 0x4a4c59
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4d2a
test al, 0x10
jne 0x4a4c7f
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 0x4a4d2a
test al, 8
jne 0x4a4cb1
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 0x4a4d2a
test al, 4
movzx eax, byte [edx]
jne 0x4a4cec
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 0x4a4d2a
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.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4c10
jmp 0x4a4bca
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
jmp 0x4a4d90
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a4eaf
cmp eax, 0xc0
jb 0x4a4eaf
test al, 0x20
jne 0x4a4dd9
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a4eaa
test al, 0x10
jne 0x4a4dff
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 0x4a4eaa
test al, 8
jne 0x4a4e31
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 0x4a4eaa
test al, 4
movzx eax, byte [edx]
jne 0x4a4e6c
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 0x4a4eaa
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.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4d90
jmp 0x4a4bca
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a5020
cmp eax, 0xc0
jb 0x4a5020
test al, 0x20
jne 0x4a4f4a
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a501b
test al, 0x10
jne 0x4a4f70
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 0x4a501b
test al, 8
jne 0x4a4fa2
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 0x4a501b
test al, 4
movzx eax, byte [edx]
jne 0x4a4fdd
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 0x4a501b
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.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a4f01
jmp 0x4a4bca
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a5191
cmp eax, 0xc0
jb 0x4a5191
test al, 0x20
jne 0x4a50bb
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a518c
test al, 0x10
jne 0x4a50e1
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 0x4a518c
test al, 8
jne 0x4a5113
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 0x4a518c
test al, 4
movzx eax, byte [edx]
jne 0x4a514e
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 0x4a518c
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 0x4a51c8
cmp eax, 3
je 0x4a51c8
xor eax, eax
jmp 0x4a51cd
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5072
jmp 0x4a4bca
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x4a4bca
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
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 0x4a532a
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x4a532a
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a525d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5319
test cl, 0x10
jne 0x4a527e
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 0x4a5319
test cl, 8
jne 0x4a52a8
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 0x4a5319
test cl, 4
jne 0x4a52de
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 0x4a5319
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 0x4a534b
cmp eax, 0x20
je case.0x4a5420.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4a5420.8203
jmp dword [eax*4 + 0x4ad494]
cmp edx, 0x2000
ja 0x4a53f8
cmp edi, 0x2000
je case.0x4a5420.8193
cmp ecx, 0x1680
ja 0x4a53f0
je case.0x4a5420.8193
mov eax, ecx
sub eax, 0x85
je case.0x4a5420.8193
sub eax, 0x1b
je case.0x4a5420.8193
mov eax, ecx
test eax, eax
jns 0x4a5394
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and ecx, 0x8000007f
jns 0x4a53ae
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.0x4ab47c
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5200
jmp 0x4a4bca
cmp ecx, 0x180e
jmp 0x4a5385
cmp ebx, 0x3000
ja case.0x4a5420.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4a5420.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4a5420.8203
movzx eax, byte [eax + 0x4ad4b0]
jmp dword [eax*4 + 0x4ad4a8]
cmp dword [esi + 0x68], 0
jne case.default.0x4ab47c
jmp 0x4a53d6
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a4bca
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a554f
cmp eax, 0xc0
jb 0x4a554f
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x4a548f
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5548
test al, 0x10
jne 0x4a54af
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 0x4a5548
test al, 8
jne 0x4a54d8
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 0x4a5548
test al, 4
jne 0x4a550d
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 0x4a5548
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 0x4a558b
cmp eax, 3
je 0x4a558b
cmp ebx, 0x5f
je 0x4a558b
xor eax, eax
jmp 0x4a5590
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab47c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a5444
jmp 0x4a4bca
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x4a56b9
cmp edx, 0xc0
jb 0x4a56b9
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a560d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a56b4
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a562e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a56b4
test dl, 8
jne 0x4a5651
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 0x4a56b4
test dl, 4
jne 0x4a5680
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 0x4a56b4
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 0x4a56dd
mov ecx, dword [eax]
mov edi, edi
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a56f9
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a56d0
cmp dword [esi + 0x68], 0
je case.default.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a55c0
jmp 0x4a4bca
cmp dword [esi + 0x68], 0
jne case.default.0x4ab47c
jmp 0x4a56e7
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a4bca
jmp 0x4a5720
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
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 0x4a586d
mov dword [esp + 0x14], ecx
cmp ecx, 0xc0
jb 0x4a586d
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x4a5780
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 0x4a5871
test cl, 0x10
jne 0x4a57ac
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 0x4a5871
test cl, 8
jne 0x4a57e4
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 0x4a5871
test cl, 4
jne 0x4a5825
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 0x4a5871
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 0x4a5871
mov edi, dword [esp + 0x14]
cmp edx, 0x24
je 0x4a589c
cmp eax, 0x40
je 0x4a589c
cmp ebx, 0x60
je 0x4a589c
cmp edi, 0xa0
jb 0x4a5890
cmp ecx, 0xd7ff
jbe 0x4a589c
cmp ecx, 0xe000
jae 0x4a589c
xor eax, eax
jmp 0x4a58a1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab47c
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5720
jmp 0x4a4bca
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a5bbb
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x4a4bca
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a0c97
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 0x4a59ec
mov dword [esp + 0x14], edi
cmp eax, 0xc0
jb 0x4a59ec
test al, 0x20
jne 0x4a592c
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a59db
test al, 0x10
jne 0x4a594c
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 0x4a59db
test al, 8
jne 0x4a5975
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 0x4a59db
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x4a59a8
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 0x4a59db
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 0x4a5b7b
mov edi, edx
mov dword [esp + 0x14], eax
jmp 0x4a5a30
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a5b09
cmp edx, 0xc0
jb 0x4a5b09
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a5a71
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a5b05
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a5a89
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a5aff
and eax, 0x3f
test dl, 8
jne 0x4a5aa9
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a5aff
test dl, 4
jne 0x4a5ad2
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 0x4a5aff
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 0x4a5b73
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 0x4a5a30
jmp 0x4a5b7b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5ba1
cmp edx, eax
jb 0x4a5ba1
cmp ecx, dword [ebp + 0x84]
jbe 0x4a5ba1
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aadf0
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x4a58e1
jmp 0x4a4bca
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x4a6780
cmp eax, 0xf
ja case.0x4ab3fa.15
jmp dword [eax*4 + 0x4ad510]
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a0c97
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a5c29
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a7c0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a5c1d
mov eax, 1
jmp 0x4a5c1f
xor eax, eax
test eax, eax
jne case.default.0x4ab47c
jmp 0x4a5c50
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a5c4e
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a5c4e
cmp edi, 1
je case.default.0x4ab47c
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4ab47c
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a5c86
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a5c86
test ecx, ecx
jne 0x4a5c86
cmp dword [ebp + 0x1c], 2
jne 0x4a5c86
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a5c86
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aadf0
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a5ca2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5ca2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a5c91
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a5be7
jmp 0x4a4bca
mov edi, 1
cmp ecx, edi
jl 0x4a4bce
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a9c0e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a5cf8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a5cf8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a5ce0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a5cc4
jmp 0x4a4bce
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x4aa14f.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x4a4bce
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a4bce
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
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 0x4a5e37
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5d72
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x4a5e2e
test cl, 0x10
jne 0x4a5d93
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 0x4a5e2e
test cl, 8
jne 0x4a5dbd
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 0x4a5e2e
test cl, 4
jne 0x4a5df3
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 0x4a5e2e
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 0x4a5e6b
cmp eax, 0x85
je case.0x4a5e52.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4ab47c
jmp dword [ecx*4 + 0x4ad550]
cmp ebx, dword [ebp + 0x78]
jae case.0x4a5e52.10
cmp byte [edx], 0xa
jne case.0x4a5e52.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4a5e52.10
sub ecx, 0x2028
je case.0x4a5e52.11
sub ecx, 1
jne case.default.0x4ab47c
cmp dword [ebp + 0x68], 0
jne case.default.0x4ab47c
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5d32
jmp 0x4a4bca
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a4bce
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
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 0x4a5fc0
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a5ef7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a5fb3
test cl, 0x10
jne 0x4a5f18
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 0x4a5fb3
test cl, 8
jne 0x4a5f42
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 0x4a5fb3
test cl, 4
jne 0x4a5f78
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 0x4a5fb3
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 0x4a602c
cmp edx, 0x2000
je case.default.0x4ab47c
cmp ecx, 0xa0
ja 0x4a6012
je case.default.0x4ab47c
cmp ecx, 9
je case.default.0x4ab47c
cmp ecx, 0x20
je case.default.0x4ab47c
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a5eb1
jmp 0x4a4bca
cmp ebx, 0x1680
je case.default.0x4ab47c
cmp ecx, 0x180e
je case.default.0x4ab47c
jmp case.0x4a6051.8203
cmp eax, 0x3000
ja case.0x4a6051.8203
cmp edi, 0x3000
je case.default.0x4ab47c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4a6051.8203
movzx eax, byte [ecx + 0x4ad568]
jmp dword [eax*4 + 0x4ad560]
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x4a4bce
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
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 0x4a617f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a60b6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a6172
test cl, 0x10
jne 0x4a60d7
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 0x4a6172
test cl, 8
jne 0x4a6101
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 0x4a6172
test cl, 4
jne 0x4a6137
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 0x4a6172
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 0x4a61db
cmp edx, 0x2000
je case.0x4a6204.8193
cmp ecx, 0xa0
ja 0x4a61c5
je case.0x4a6204.8193
cmp ecx, 9
je case.0x4a6204.8193
cmp ecx, 0x20
jne case.default.0x4ab47c
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x4a6070
jmp 0x4a4bca
cmp ebx, 0x1680
je case.0x4a6204.8193
cmp ecx, 0x180e
jne case.default.0x4ab47c
jmp case.0x4a6204.8193
cmp eax, 0x3000
ja case.default.0x4ab47c
cmp edi, 0x3000
je case.0x4a6204.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4ab47c
movzx eax, byte [ecx + 0x4ad5d0]
jmp dword [eax*4 + 0x4ad5c8]
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
jmp 0x4a6220
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x4a6323
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x4a6260
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4a631c
test cl, 0x10
jne 0x4a6281
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 0x4a631c
test cl, 8
jne 0x4a62ab
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 0x4a631c
test cl, 4
jne 0x4a62e1
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 0x4a631c
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 0x4a6345
cmp edi, 0x85
je case.default.0x4ab47c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a633e
jmp dword [ecx*4 + 0x4ad630]
sub ecx, 0x2028
je case.default.0x4ab47c
sub ecx, 1
je case.default.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6220
jmp 0x4a4bca
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a6470
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a63c2
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a6469
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a63e3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a6469
test dl, 8
jne 0x4a6406
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 0x4a6469
test dl, 4
jne 0x4a6435
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 0x4a6469
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 0x4a6492
cmp ecx, 0x85
je case.0x4a648b.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab47c
jmp dword [edx*4 + 0x4ad640]
sub edx, 0x2028
je case.0x4a648b.10
sub edx, 1
jne case.default.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a6380
jmp 0x4a4bca
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a0d05
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4a65ae
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6502
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4a65a9
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a6523
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4a65a9
test dl, 8
jne 0x4a6546
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 0x4a65a9
test dl, 4
jne 0x4a6575
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 0x4a65a9
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 0x4a65c2
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x4ab47c
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a64c2
jmp 0x4a4bca
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4aa066
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4aa14f.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a65e2
jmp 0x4a4bce
mov edi, 1
cmp ecx, edi
jl 0x4a4bce
mov edx, dword [ebp + 0x78]
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4aa066
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a6653
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4aa14f.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a6678
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a6678
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a6660
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a6630
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4aa066
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4aa14f.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6694
jmp 0x4a4bce
mov edi, 1
cmp ecx, edi
jl 0x4a4bce
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x4aa066
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x4a6703
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4aa14f.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a6728
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a6728
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a6710
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4a66e0
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4aa066
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4aa14f.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6744
jmp 0x4a4bce
cmp eax, 0xf
ja case.0x4ab3fa.15
jmp dword [eax*4 + 0x4ad650]
mov ebx, 1
cmp ecx, ebx
jl 0x4a4bca
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a0e60
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a67e0
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0050a7c0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a67d4
mov eax, 1
jmp 0x4a67d6
xor eax, eax
test eax, eax
jne case.default.0x4ab47c
jmp 0x4a6807
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a6807
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a6807
cmp edi, 1
je case.default.0x4ab47c
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x4ab47c
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a683e
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a683e
cmp dword [ebp + 0x18], 0
jne 0x4a683e
cmp dword [ebp + 0x1c], 2
jne 0x4a683e
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a683e
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aadf0
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4a67a0
jmp 0x4a4bca
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x4a5d16
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
mov edx, 1
cmp ecx, edx
jl 0x4a4bce
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4aa066
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4aa14f.14
movzx eax, byte [eax + 0x4ad6a0]
jmp dword [eax*4 + 0x4ad690]
cmp ecx, dword [ebp + 0x78]
jae case.0x4a68b8.10
cmp byte [ecx], 0xa
jne case.0x4a68b8.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4a68b8.10
cmp dword [ebp + 0x68], 0
jne case.0x4aa14f.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6890
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edx, 1
jmp 0x4a6900
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a9c0e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4aa14f.14
cmp ecx, 0x20
je case.0x4aa14f.14
cmp ecx, 0xa0
je case.0x4aa14f.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6900
jmp 0x4a4bce
mov edx, 1
cmp ecx, edx
jl 0x4a4bce
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a9c0e
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x4a6979
cmp ecx, 0x20
je 0x4a6979
cmp ecx, 0xa0
jne case.0x4aa14f.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a6950
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edx, 1
mov edi, edx
jmp 0x4a69a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a9c0e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a69c6.11
movzx eax, byte [eax + 0x4ad724]
mov edx, edi
jmp dword [eax*4 + 0x4ad71c]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x4a69a0
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edx, 1
jmp 0x4a69f0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a9c0e
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4aa14f.14
movzx eax, byte [eax + 0x4ad7a8]
jmp dword [eax*4 + 0x4ad7a0]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4a69f0
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
jmp 0x4a6a40
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6863
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4aa14f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6a40
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6863
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4aa14f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6a80
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6863
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4aa14f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6ac0
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6863
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4aa14f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6b00
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6863
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4aa14f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6b40
jmp 0x4a4bce
cmp ecx, 1
jl 0x4a4bce
mov edi, 1
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6863
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4aa14f.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4a6b80
jmp 0x4a4bce
mov dword [esi + 0x84], eax
jmp 0x4ab83d
mov dword [esi + 0x84], eax
jmp 0x4ab9f8
mov dword [esi + 0x84], eax
jmp 0x4abbba
mov dword [esi + 0x84], eax
jmp 0x4abd74
mov dword [esi + 0x84], eax
jmp 0x4abf2e
mov dword [esi + 0x84], eax
jmp 0x4ac6c9
mov dword [esi + 0x84], eax
jmp 0x4acab9
mov dword [esi + 0x84], eax
jmp 0x4acce0
mov dword [esi + 0x84], eax
jmp 0x4aceaa
mov dword [esi + 0x84], eax
jmp 0x4ac896
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x4ac25a
test ebx, ebx
jne 0x4ab4e9
jmp 0x4aa255
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4a7ba3
cmp eax, 0xa
ja case.0x4ab3fa.15
jmp dword [eax*4 + 0x4ad824]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x4a6cd2
lea ebx, [ebx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a6ce2
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x4a6cbe
cmp ecx, 0xc0
jb 0x4a6cbe
test cl, 0x20
jne 0x4a6c98
mov eax, 2
jmp 0x4a6cbe
test cl, 0x10
jne 0x4a6ca4
mov eax, 3
jmp 0x4a6cbe
test cl, 8
jne 0x4a6cb0
mov eax, 4
jmp 0x4a6cbe
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x4a6cd2
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a6c70
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4ac2bc
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6cd2
cmp edx, dword [ebp + 0x84]
jbe 0x4a6cd2
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a6cd2
jmp 0x4acd65
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
jmp 0x4a6d20
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a6e77
cmp dword [esp + 0x28], 0
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]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x560400]
movzx eax, byte [eax*8 + 0x55cb81]
cmp eax, 9
je 0x4a6e49
cmp eax, 5
je 0x4a6e49
cmp eax, 8
je 0x4a6e49
xor eax, eax
jmp 0x4a6e4e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6cd2
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 0x4a6cd2
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6cd2
cmp edx, dword [ebp + 0x84]
jbe 0x4a6cd2
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x4a6cd2
jmp 0x4a0707
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
jmp 0x4a6ec0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a700e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a6fb4
cmp eax, 0xc0
jb 0x4a6fb4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a6f09
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a6fb0
test al, 0x10
jne 0x4a6f23
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a6faa
test al, 8
jne 0x4a6f46
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 0x4a6faa
test al, 4
jne 0x4a6f75
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 0x4a6faa
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 0x4a6cd2
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 0x4a6ec0
jmp 0x4a6cd2
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6cd2
cmp edx, dword [ebp + 0x84]
jbe 0x4a6cd2
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a6cd2
jmp 0x4a0707
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a700e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a7143
cmp eax, 0xc0
jb 0x4a7143
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a7098
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a713f
test al, 0x10
jne 0x4a70b2
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a7139
test al, 8
jne 0x4a70d5
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 0x4a7139
test al, 4
jne 0x4a7104
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 0x4a7139
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 0x4a6cd2
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 0x4a7053
jmp 0x4a6cd2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a700e
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a72a4
cmp eax, 0xc0
jb 0x4a72a4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a71f9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a72a0
test al, 0x10
jne 0x4a7213
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a729a
test al, 8
jne 0x4a7236
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 0x4a729a
test al, 4
jne 0x4a7265
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 0x4a729a
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 0x4a6cd2
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 0x4a71b0
jmp 0x4a6cd2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
lea ecx, [ecx]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x4a6e77
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x4a7404
cmp eax, 0xc0
jb 0x4a7404
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a7359
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x4a7400
test al, 0x10
jne 0x4a7373
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a73fa
test al, 8
jne 0x4a7396
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 0x4a73fa
test al, 4
jne 0x4a73c5
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 0x4a73fa
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 0x4a743b
cmp eax, 3
je 0x4a743b
xor eax, eax
jmp 0x4a7440
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6cd2
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 0x4a7310
jmp 0x4a6cd2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a76a9
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 0x4a7599
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x4a7599
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a74e5
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a7589
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7503
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a7583
and eax, 0x3f
test dl, 8
jne 0x4a7526
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 0x4a7583
test dl, 4
jne 0x4a7552
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 0x4a7583
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 0x4a75b8
cmp eax, 0x20
je case.0x4a7696.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4a7696.8203
jmp dword [eax*4 + 0x4ad850]
cmp edx, 0x2000
ja 0x4a766e
cmp ecx, 0x2000
je case.0x4a7696.8193
cmp edx, 0x1680
ja 0x4a7666
je case.0x4a7696.8193
mov eax, edx
sub eax, 0x85
je case.0x4a7696.8193
sub eax, 0x1b
je case.0x4a7696.8193
mov eax, edx
test eax, eax
jns 0x4a7601
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and edx, 0x8000007f
jns 0x4a761b
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 0x4a6cd2
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 0x4a7480
jmp 0x4a6cd2
cmp edx, 0x180e
jmp 0x4a75f2
cmp ebx, 0x3000
ja case.0x4a7696.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x4a7696.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4a7696.8203
movzx eax, byte [eax + 0x4ad86c]
jmp dword [eax*4 + 0x4ad864]
cmp dword [esi + 0x68], 0
jne 0x4a6cd2
jmp 0x4a7643
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6cd2
cmp edi, dword [ebp + 0x84]
jmp 0x4a7022
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
jmp 0x4a76e0
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x4a700e
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x4a77ed
cmp eax, 0xc0
jb 0x4a77ed
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a7731
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x4a77e7
test al, 0x10
jne 0x4a774e
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x4a77e1
test al, 8
jne 0x4a7777
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 0x4a77e1
test al, 4
jne 0x4a77a9
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 0x4a77e1
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 0x4a7829
cmp eax, 3
je 0x4a7829
cmp ebx, 0x5f
je 0x4a7829
xor eax, eax
jmp 0x4a782e
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6cd2
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 0x4a76e0
jmp 0x4a6cd2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a79b3
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x4a7958
cmp edx, 0xc0
jb 0x4a7958
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a78bd
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a7954
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a78d8
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a794e
and eax, 0x3f
test dl, 8
jne 0x4a78f8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a794e
test dl, 4
jne 0x4a7921
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 0x4a794e
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 0x4a797d
mov ecx, dword [eax]
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a79a7
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a7970
cmp dword [esi + 0x68], 0
je 0x4a6cd2
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 0x4a7870
jmp 0x4a6cd2
cmp dword [esi + 0x68], 0
jne 0x4a6cd2
jmp 0x4a7987
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6cd2
cmp edi, dword [ebp + 0x84]
jmp 0x4a6e8b
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a6cd2
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a7b7d
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x14], edx
mov ecx, edx
mov ebx, edx
je 0x4a7b1f
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x4a7b1f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7a4b
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 0x4a7b1f
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x4a7a7b
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 0x4a7b1f
test dl, 8
jne 0x4a7ab0
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 0x4a7b1f
test dl, 4
jne 0x4a7adc
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 0x4a7b0d
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 0x4a7b4c
cmp ecx, 0x40
je 0x4a7b4c
cmp ebx, 0x60
je 0x4a7b4c
cmp dword [esp + 0x14], 0xa0
jb 0x4a7b40
cmp edx, 0xd7ff
jbe 0x4a7b4c
cmp edx, 0xe000
jae 0x4a7b4c
xor eax, eax
jmp 0x4a7b51
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4a6cd2
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 0x4a79e2
jmp 0x4a6cd2
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a6cd2
cmp edi, dword [ebp + 0x84]
jbe 0x4a6cd2
mov dword [ebp + 0x64], 1
jmp 0x4a6e94
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4a7f1c
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a7ecd
jmp 0x4a7bd0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a7eab
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 0x4a7cdd
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x4a7cdd
test al, 0x20
jne 0x4a7c1b
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x4a7ccc
test al, 0x10
jne 0x4a7c39
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 0x4a7ccc
test al, 8
jne 0x4a7c63
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 0x4a7ccc
test al, 4
movzx eax, byte [edi]
jne 0x4a7c96
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 0x4a7ccc
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 0x4a7e6e
mov edi, edx
mov dword [esp + 0x18], eax
jmp 0x4a7d20
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4a7dfc
cmp edx, 0xc0
jb 0x4a7dfc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7d61
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a7df8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a7d7c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a7df2
and eax, 0x3f
test dl, 8
jne 0x4a7d9c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a7df2
test dl, 4
jne 0x4a7dc5
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 0x4a7df2
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 0x4a7e66
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 0x4a7d20
jmp 0x4a7e6e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a7e94
cmp edx, eax
jb 0x4a7e94
cmp ecx, dword [ebp + 0x84]
jbe 0x4a7e94
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aadf0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x4a7bd0
jmp 0x4a7ecd
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a7ecd
cmp ecx, dword [ebp + 0x84]
jbe 0x4a7ecd
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4a0707
cmp dword [esp + 0x24], 0
jne 0x49f6e3
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a7f0d
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4aa2f4
add eax, 0xfffffffa
test ebx, ebx
je 0x4a8d3f
cmp eax, 0xf
ja case.0x4ab3fa.15
jmp dword [eax*4 + 0x4ad8cc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a8d2f
lea esp, [esp]
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x4a8023
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a7f92
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a7c0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x4a7f86
mov eax, 1
jmp 0x4a7f88
xor eax, eax
test eax, eax
jne 0x4a8d2f
jmp 0x4a7fb9
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4a7fb7
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4a7fb7
cmp edi, 1
je 0x4a8d2f
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4a8d2f
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a7fef
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x4a7fef
test ecx, ecx
jne 0x4a7fef
cmp dword [ebp + 0x1c], 2
jne 0x4a7fef
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a7fef
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aadf0
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8011
lea ebx, [ebx]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a8011
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4a8000
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a7f50
jmp 0x4a8d2f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a8d2f
cmp ecx, dword [ebp + 0x84]
jbe 0x4a8d2f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a8d2f
jmp 0x4a0707
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x4a80a8
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4a8d2f
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4a80ae
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x4a809a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4a809a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4a8082
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x4a8070
jmp 0x4a8d2f
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4a8d2f
cmp eax, dword [ebp + 0x84]
jbe 0x4a8d2f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4a8d2f
jmp 0x4acd65
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 0x4a8129
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a8d2f
cmp edx, dword [ebp + 0x84]
jbe 0x4a8d2f
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x4a8d2f
jmp 0x4acd65
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4a8d2f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a8d2f
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x4a824e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a819e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a8242
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a81bc
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a823c
and eax, 0x3f
test dl, 8
jne 0x4a81df
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 0x4a823c
test dl, 4
jne 0x4a820b
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 0x4a823c
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 0x4a826a
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4a8d2f
cmp byte [eax], 0xa
jne 0x4a82aa
inc eax
jmp 0x4a82a7
cmp eax, 0xa
je 0x4a82a1
cmp dword [ebp + 0x68], 0
jne 0x4a8d2f
cmp ebx, 0xb
je 0x4a82a1
cmp dword [esp + 0x14], 0xc
je 0x4a82a1
cmp edx, 0x85
je 0x4a82a1
cmp edx, 0x2028
je 0x4a82a1
cmp edx, 0x2029
jne 0x4a8d2f
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 0x4a8150
jmp 0x4a8d2f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a8d2f
cmp edi, dword [ebp + 0x84]
jmp 0x4a8037
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a8d2f
jmp 0x4a8300
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov dword [esp + 0x14], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a83fa
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a834a
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x4a83ee
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a8368
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x4a83e8
and eax, 0x3f
test dl, 8
jne 0x4a838b
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 0x4a83e8
test dl, 4
jne 0x4a83b7
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 0x4a83e8
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 0x4a846a
cmp ebx, 0x2000
je case.0x4a848b.8193
cmp edx, 0xa0
ja 0x4a845a
je case.0x4a848b.8193
cmp edx, 9
je case.0x4a848b.8193
cmp edx, 0x20
je case.0x4a848b.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x4a8d2f
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 0x4a8300
jmp 0x4a8d2f
cmp edx, 0x1680
je case.0x4a848b.8193
cmp edx, 0x180e
jmp 0x4a8422
cmp eax, 0x3000
ja case.0x4a848b.8203
cmp ecx, 0x3000
je case.0x4a848b.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4a848b.8203
movzx eax, byte [edx + 0x4ad914]
jmp dword [eax*4 + 0x4ad90c]
mov ecx, 1
jmp 0x4a8426
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a8d2f
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4a85f1
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a858c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a84f2
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x4a8586
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a850a
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a8580
and eax, 0x3f
test dl, 8
jne 0x4a852a
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8580
test dl, 4
jne 0x4a8553
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 0x4a8580
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 0x4a85aa
cmp ecx, 0x85
je case.0x4a85a3.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4a85a3
jmp dword [edx*4 + 0x4ad974]
sub edx, 0x2028
je case.0x4a85a3.10
sub edx, 1
je case.0x4a85a3.10
xor ecx, ecx
jmp 0x4a85c0
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x4a8d2f
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 0x4a84b0
jmp 0x4a8d2f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x4a8d2f
cmp edi, dword [ebp + 0x84]
jbe 0x4a8d2f
mov dword [ebp + 0x64], ebx
jmp 0x4a8044
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a8d2f
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8723
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8674
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a871d
test dl, 0x10
jne 0x4a868f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8717
test dl, 8
jne 0x4a86b3
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 0x4a8717
test dl, 4
jne 0x4a86e3
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 0x4a8717
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 0x4a873a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4a8d2f
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 0x4a8630
jmp 0x4a8d2f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a8d2f
jmp 0x4a8770
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a8849
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a87b0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8845
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a87c8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a883f
and eax, 0x3f
test dl, 8
jne 0x4a87e8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a883f
test dl, 4
jne 0x4a8811
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 0x4a883f
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 0x4a8d2f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4a8d2f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a8770
jmp 0x4a8d2f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a8d2f
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8983
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a88d4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a897d
test dl, 0x10
jne 0x4a88ef
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8977
test dl, 8
jne 0x4a8913
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 0x4a8977
test dl, 4
jne 0x4a8943
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 0x4a8977
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 0x4a899a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4a8d2f
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 0x4a8890
jmp 0x4a8d2f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a8d2f
jmp 0x4a89d0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a8aac
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8a10
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8aa8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a8a2b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a8aa2
and eax, 0x3f
test dl, 8
jne 0x4a8a4b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8aa2
test dl, 4
jne 0x4a8a74
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 0x4a8aa2
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 0x4a8d2f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4a8d2f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a89d0
jmp 0x4a8d2f
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x4a8d2f
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x4a8be5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8b36
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a8bdf
test dl, 0x10
jne 0x4a8b51
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x4a8bd9
test dl, 8
jne 0x4a8b75
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 0x4a8bd9
test dl, 4
jne 0x4a8ba5
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 0x4a8bd9
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 0x4a8bfc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4a8d2f
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 0x4a8af2
jmp 0x4a8d2f
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4a8d2f
lea ecx, [ecx]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a82c4
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a8d0c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a8c70
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a8d08
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4a8c8b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a8d02
and eax, 0x3f
test dl, 8
jne 0x4a8cab
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a8d02
test dl, 4
jne 0x4a8cd4
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 0x4a8d02
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 0x4a8d2f
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4a8d2f
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4a8c30
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4ab765
cmp eax, 0xf
ja case.0x4ab3fa.15
jmp dword [eax*4 + 0x4ad984]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x4a9013.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x4a8e14
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4a8da1
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0050a7c0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x4a8d95
mov eax, 1
jmp 0x4a8d97
xor eax, eax
test eax, eax
jne case.0x4a9013.10
jmp 0x4a8dc8
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x4a8dc8
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a8dc8
cmp edi, 1
je case.0x4a9013.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4a9013.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x4a8dff
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x4a8dff
cmp dword [ebp + 0x18], 0
jne 0x4a8dff
cmp dword [ebp + 0x1c], 2
jne 0x4a8dff
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x4a8dff
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x4aadf0
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x4a8d61
jmp case.0x4a9013.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9013.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a9013.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a9013.10
jmp 0x4a0707
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 0x4a8e8f
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9013.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a9013.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4a9013.10
jmp 0x4acd65
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x4a9013.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a9013.10
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8f07
mov al, byte [ecx]
cmp al, 0xd
jne 0x4a8ed5
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x4a9013.10
cmp byte [eax], 0xa
jne 0x4a8ef9
inc eax
jmp 0x4a8ef6
cmp al, 0xa
je 0x4a8ef3
cmp dword [ebp + 0x68], 0
jne case.0x4a9013.10
cmp al, 0xb
je 0x4a8ef3
cmp al, 0xc
je 0x4a8ef3
cmp al, 0x85
jne case.0x4a9013.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x4a8eb0
jmp case.0x4a9013.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9013.10
cmp ecx, dword [ebp + 0x84]
jmp 0x4a8e74
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a9013.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a8f69
mov cl, byte [eax]
cmp cl, 9
je case.0x4a9013.10
cmp cl, 0x20
je case.0x4a9013.10
cmp cl, 0xa0
je case.0x4a9013.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8f32
jmp case.0x4a9013.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4a9013.10
cmp eax, dword [ebp + 0x84]
jbe case.0x4a9013.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4a9013.10
jmp 0x4acd65
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a9013.10
lea ebx, [ebx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4a8f69
mov cl, byte [eax]
cmp cl, 9
je 0x4a8fcd
cmp cl, 0x20
je 0x4a8fcd
cmp cl, 0xa0
jne case.0x4a9013.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a8fb0
jmp case.0x4a9013.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x4a9013.10
mov edi, ecx
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e60
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a9013.11
movzx eax, byte [eax + 0x4ad9cc]
mov ecx, edi
jmp dword [eax*4 + 0x4ad9c4]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x4a8ff3
jmp case.0x4a9013.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x4a9013.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4a8f07
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a9013.10
movzx eax, byte [eax + 0x4ada50]
jmp dword [eax*4 + 0x4ada48]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4a9042
jmp case.0x4a9013.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a9013.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e60
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4a9013.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a9091
jmp case.0x4a9013.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a9013.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e60
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4a9013.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a90d3
jmp case.0x4a9013.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a9013.10
jmp 0x4a9120
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e60
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4a9013.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a9120
jmp case.0x4a9013.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a9013.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e60
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4a9013.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a9162
jmp case.0x4a9013.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a9013.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a8e60
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a9013.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a91a4
jmp case.0x4a9013.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x4a9013.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4a9205
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a9013.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4a91e0
jmp case.0x4a9013.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4a9013.10
cmp edx, dword [ebp + 0x84]
jbe case.0x4a9013.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4acd65
cmp dword [esp + 0x24], 0
jne 0x49f6e3
jmp 0x4aa2b5
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad02f
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4a925c
jmp dword [eax*4 + 0x4adacc]
cmp edi, 0xfffffc1b
je 0x4a933b
cmp edi, 0xfffffc20
jne 0x4a92aa
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.0x4a9748
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a92a6
cmp byte [ecx], 0x77
jne case.default.0x4a9748
xor edi, edi
jmp 0x4a92b2
test edi, edi
jne case.default.0x4a9748
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 0x4a933b
cmp dword [esi + 0x9c], 0x88
jb 0x4a92fa
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a9323
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
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 0x4a924c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x4a9453
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 0x4a94ab
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a93c9
cmp byte [ecx], 0x77
jne 0x4a94ab
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.0x4aa14f.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4a94bc
cmp eax, 0x81
je 0x4a94bc
cmp dword [ebp + 0x6c], 0
jne 0x4a94c6
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 0x4a94c6
movzx eax, byte [edx]
movzx eax, byte [eax + 0x55c438]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x49f670
test edi, edi
je 0x4a93c9
cmp edi, 0xfffffc1b
jne 0x4a94ab
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x81
je 0x4a949d
cmp byte [edx], 0x77
mov ebx, edx
jne 0x4a948c
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 0x4a9472
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 0x4a9381
jmp 0x4a9248
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 0x4a9504
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
cmp edi, 1
jne 0x4a9592
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x4a9533
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x4a9546
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 0x4a9577
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 0x4a9560
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 0x49fb8e
test edi, edi
je 0x49fb8e
cmp edi, 0xfffffc20
je 0x49fb8e
jmp case.default.0x4a9748
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x4a95c6
cmp byte [eax - 3], 0x77
jne 0x49f6e3
cmp dword [esi + 0x9c], 0x8c
jne 0x49f670
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9609
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4aa2f4
cmp edi, 1
je 0x4a96c3
cmp edi, 0xfffffc19
je 0x4a96c3
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4a9669
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.0x4a9748
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a9671
cmp byte [ecx], 0x77
jmp 0x4a966b
test edi, edi
jne case.default.0x4a9748
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 0x4a96c9
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a96b4
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x4a9804
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x4aa14f.14
cmp dword [esi + 0x58], 0
jne 0x4a97a1
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 0x4a96e0
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x49f6e3
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x4a972b
je case.0x4a9748.995
cmp edi, 0xfffffc19
jmp 0x4a983b
test edi, edi
jg 0x4a9836
je 0x4a97b7
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x4a9748
jmp dword [eax*4 + 0x4adbd8]
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.0x4a9748.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4a97b7
cmp byte [ecx], 0x77
je 0x4a97b7
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 0x4a9780
cmp dword [esi + 0x58], 0
je 0x4a9a3b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acf82
mov edi, 1
jmp 0x4a9248
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 0x4a9797
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a97fa
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x49f660
mov eax, edi
sub eax, 1
je case.0x4aa14f.14
jmp case.default.0x4a9748
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004adfa0
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 0x4acedd
cmp edi, 0xfffffc19
je 0x4acedd
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x4a98af
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x4aa14f.14
push ecx
call dword [0xd9139c]
add esp, 4
jmp case.0x4aa14f.14
test edi, edi
je 0x4a98d3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x4a9748
push ecx
call dword [0xd9139c]
add esp, 4
jmp case.default.0x4a9748
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 0x4a9974
cmp dword [esi + 0x58], 0
je 0x4a9907
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4a9930
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x49f660
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x4a988f
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x4a99d0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a99b8
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
cmp al, 0x88
jb 0x4acf08
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9a01
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
test edi, edi
jne case.default.0x4a9748
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 0x4a9a24
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x49f6e3
test edi, edi
je case.0x4a1616.10
jmp case.default.0x4a9748
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acf92
mov edi, 0xfffffc1b
jmp 0x4a924c
cmp edi, 0xfffffc1b
jne 0x4a9a8d
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x4a9a8f
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x4aa8a1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9aca
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0049f2d0
add esp, 0x14
test eax, eax
jns 0x4a9b51
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x4a9b2f
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edi, dword [ebp + 0x78]
jb case.0x4aa14f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a30de
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9b85
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
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.0x4ab47c
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9bdd
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a9c2d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aa14f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4aa14f.14
jmp 0x4a06bf
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.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9c7e
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x4ab47c
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9ccd
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a9d1d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aa14f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4aa14f.14
jmp 0x4a06bf
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4a9d34
cmp dword [esi + 0x94], ecx
jne case.0x4aa14f.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9d67
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4aa2f4
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9db6
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a30ca
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9e2f
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4aa2f4
dec dword [esi + 8]
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9e7e
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4a9ece
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aa14f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4aa14f.14
jmp 0x4a06bf
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4aa14f.14
cmp dword [esi + 0x94], ecx
je case.0x4aa14f.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9f1c
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9f6b
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a30ca
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a9fe4
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa033
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4aa07f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a30de
cmp dword [esi + 0x7c], 0xc
jne 0x4aa0ce
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4aa0a9
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a7c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4aa0ce
jmp case.0x4aa14f.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4aa0ce
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4aa0ce
cmp edi, 1
je case.0x4aa14f.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4aa14f.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.0x4ab3fa.15
jmp dword [eax*4 + 0x4adbe8]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x4aa0e9.13
cmp edx, dword [ebp + 0x78]
jb case.0x4aa0e9.13
cmp dword [ebp + 0x18], 0
jne case.0x4aa0e9.13
cmp dword [ebp + 0x1c], 2
jne case.0x4aa0e9.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4aa0e9.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x4aa0e9.13
jmp 0x4acd65
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4aa14f.14
movzx eax, byte [ecx + 0x4adc38]
jmp dword [eax*4 + 0x4adc28]
cmp edx, dword [ebp + 0x78]
jae case.0x4aa0e9.13
cmp byte [edx], 0xa
jne case.0x4aa0e9.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4aa0e9.13
cmp dword [ebp + 0x68], 0
je case.0x4aa0e9.13
jmp case.0x4aa14f.14
cmp ecx, 9
je case.0x4aa14f.14
cmp ecx, 0x20
je case.0x4aa14f.14
cmp ecx, 0xa0
jne case.0x4aa0e9.13
jmp case.0x4aa14f.14
cmp ecx, 9
je case.0x4aa0e9.13
cmp ecx, 0x20
je case.0x4aa0e9.13
cmp ecx, 0xa0
je case.0x4aa0e9.13
jmp case.0x4aa14f.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4aa0e9.13
movzx eax, byte [ecx + 0x4adcbc]
jmp dword [eax*4 + 0x4adcb4]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4aa14f.14
movzx eax, byte [ecx + 0x4add40]
jmp dword [eax*4 + 0x4add38]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4aa0e9.13
jmp case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4aa0e9.13
jmp case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4aa0e9.13
jmp case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4aa0e9.13
jmp case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4aa0e9.13
jmp case.0x4aa14f.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa27e
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x4aa2b5
cmp eax, dword [esi + 0x30]
jbe 0x4aa2b5
cmp byte [eax], 0xa
jne 0x4aa2b5
dec eax
cmp byte [eax], 0xd
jne 0x4aa2b5
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa2ea
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x49f660
cmp edi, 0xfffffc1a
jne 0x4aa381
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 0x4aa379
mov edx, dword [esi + 0xc]
jmp 0x4aa360
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 0x4aa360
jmp 0x4aa3d6
mov dword [esi + 8], eax
jmp 0x4aa3fb
cmp edi, 0xfffffc20
jne 0x4aa3b4
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.0x4a9748
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa3bc
cmp byte [ecx], 0x77
jmp 0x4aa3b6
test edi, edi
jne case.default.0x4a9748
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 0x4aa3ef
cmp dword [esi + 0x5c], 0
jne 0x4a9a3b
cmp dword [esi + 0x54], 0
jne 0x4a9a3b
jmp case.0x4aa14f.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x4aa411
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4aa43a
push 0x134
call dword [0xd913a0]
mov edx, eax
add esp, 4
test edx, edx
je 0x4acd03
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 0x4a9943
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x4aa547
jmp 0x4a9379
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a9379
test eax, eax
je 0x4acfa2
mov edi, 0xfffffc1c
jmp 0x4a924c
test edi, edi
je 0x4aa4fd
jmp case.default.0x4a9748
cmp edi, 1
je 0x4aa49b
cmp edi, 0xfffffc19
jne 0x4aa4b5
cmp dword [ebp + 0xac], 0
jne 0x4aa4b5
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x4a9748
cmp edi, 0xfffffc1f
jne case.default.0x4a9748
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 0x4aa4f0
test dl, dl
je 0x4aa4ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4aa4f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4aa4d0
xor eax, eax
jmp 0x4aa4f5
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x4a9748
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acfb2
mov edi, 0xfffffc1e
jmp 0x4a924c
cmp edi, 1
je 0x4aa526
cmp edi, 0xfffffc19
jne 0x4aa53b
cmp dword [ebp + 0xac], 0
jne 0x4aa53b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x4a9379
test eax, eax
je 0x4acfc2
mov edi, 0xfffffc1d
jmp 0x4a924c
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acfd2
mov edi, 0xfffffc1f
jmp 0x4a924c
cmp edi, 1
je 0x4aa58d
cmp edi, 0xfffffc19
jne case.0x4a925c.54
cmp dword [ebp + 0xac], 0
jne case.0x4a925c.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4acfe2
mov edi, 0xfffffc20
jmp 0x4a924c
cmp edi, 0xfffffc1a
jne 0x4aa634
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 0x4aa62c
mov edx, dword [esi + 0xc]
jmp 0x4aa610
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 0x4aa610
jmp 0x4aa699
mov dword [esi + 8], eax
jmp 0x4a0292
cmp edi, 0xfffffc20
jne 0x4aa667
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.0x4a9748
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa66f
cmp byte [ecx], 0x77
jmp 0x4aa669
test edi, edi
jne case.default.0x4a9748
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 0x4a0292
cmp dword [esi + 0x5c], 0
jne 0x4aa6d9
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 0x49fd4a
cmp dword [esi + 0x5c], 0
jne 0x49fd4a
jmp case.0x4aa14f.14
cmp edi, 1
jne 0x4aa79f
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x4aa712
cmp al, 0x77
jne case.0x4aa14f.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 0x4aa712
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 0x4a1e52
cmp ecx, dword [esi + 0x38]
je 0x4a1e52
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x4aa848
test ecx, ecx
jne 0x4aa784
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
cmp edi, 0xfffffc20
jne 0x4aa7d2
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.0x4a9748
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4aa7da
cmp byte [ecx], 0x77
jmp 0x4aa7d4
test edi, edi
jne case.default.0x4a9748
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 0x4aa701
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa82d
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
test ecx, ecx
jne 0x4aa86e
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
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 0x4aa2fd
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x49f670
test edi, edi
jne case.default.0x4a9748
add dword [esi + 0xc], 3
jmp 0x49f670
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a30ca
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x4aa9b6
cmp edx, 0xc0
jb 0x4aa9b6
test dl, 0x20
jne 0x4aa906
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4aa9b3
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aa92d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4aa9b3
test dl, 8
jne 0x4aa950
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 0x4aa9b3
test dl, 4
jne 0x4aa97f
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 0x4aa9b3
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.0050ae30
add esp, 0xc
test eax, eax
je case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aa9fa
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x4aa14f.14
test ebx, ebx
je 0x4aaa3c
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4aaa3c
nop
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4aaa30
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aaa65
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x4aaaaf
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a30de
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x4aaba7
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x4aaae1
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x4aaba0
test bl, 0x10
jne 0x4aab02
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 0x4aaba0
test bl, 8
jne 0x4aab2f
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 0x4aaba0
test bl, 4
jne 0x4aab65
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 0x4aaba0
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 0x4aabce
cmp dword [esi + 0x9c], 0x6e
jne 0x4aabe5
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad012
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x4a924c
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 0x4aabb5
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aac14
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x4ab47c
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4aac51
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4aac45
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aac7a
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.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 0x4aad0f
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4aacd2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4aacd7
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4aacc1
cmp edi, 0xfffffffc
je 0x4aad04
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4aad0c
cmp edi, 0xfffffffd
je 0x4aad04
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4aad0c
cmp edi, 0xfffffffe
je 0x4aad04
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4aad0c
cmp edi, 0xffffffff
je 0x4aad04
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4aad0c
mov eax, dword [esi + 0x88]
jmp 0x4aad7a
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x4aadbd
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4aadbd
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4aad41
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4aad46
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4aad30
cmp edi, 0xfffffffc
je 0x4aad77
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4aadbd
cmp edi, 0xfffffffd
je 0x4aad77
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4aadbd
cmp edi, 0xfffffffe
je 0x4aad77
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4aadbd
cmp edi, 0xffffffff
je 0x4aad77
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4aadbd
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 0x4aadae
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4aa2f4
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4ab47c
cmp ebx, dword [ebp + 0x78]
jb case.default.0x4ab47c
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x4ab47c
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4ab47c
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad002
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a924c
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4aae2d
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4aae21
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aae62
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a30ca
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x4aaf92
test dl, 0x20
jne 0x4aaecc
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 0x4aaf92
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4aaef8
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 0x4aaf92
test dl, 8
jne 0x4aaf23
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 0x4aaf92
test dl, 4
jne 0x4aaf57
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 0x4aaf92
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.0x4aa14f.14
cmp dword [esi + 0x94], eax
je case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aafd9
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ab00c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ab000
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab041
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4ab091
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aa14f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4aa14f.14
jmp 0x4a06bf
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x10], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x4ab199
mov cl, byte [eax]
test bl, 0x20
jne 0x4ab0be
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x4ab191
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x4ab0e2
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 0x4ab191
test bl, 8
jne 0x4ab11d
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 0x4ab199
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x4ab15b
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 0x4ab191
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.0x4ab47c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab1d4
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ab20c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ab200
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab241
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x4ab28d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp ecx, dword [ebp + 0x84]
jmp 0x4a30de
cmp dword [esi + 0x7c], 0xc
jne 0x4ab2dc
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4ab2b7
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0050a7c0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4ab2dc
jmp case.0x4aa14f.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4ab2dc
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4ab2dc
cmp edi, 1
je case.0x4aa14f.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4aa14f.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 0x4ab3eb
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4ab329
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x4ab3d0
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4ab34a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x4ab3d0
test dl, 8
jne 0x4ab36d
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 0x4ab3d0
test dl, 4
jne 0x4ab39c
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 0x4ab3d0
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.0x4ab3fa.15
jmp dword [eax*4 + 0x4addbc]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4ab3fa.13
mov eax, dword [esp + 0x10]
cmp eax, dword [ebp + 0x78]
jb case.0x4ab3fa.13
cmp dword [ebp + 0x18], 0
jne case.0x4ab3fa.13
cmp dword [ebp + 0x1c], 2
jne case.0x4ab3fa.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x4ab3fa.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x4ab3fa.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad002
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a924c
cmp edx, 0x85
ja 0x4ab495
je case.0x4ab47c.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab47c
jmp dword [edx*4 + 0x4addfc]
cmp edi, dword [ebp + 0x78]
jae case.0x4ab3fa.13
cmp byte [edi], 0xa
jne case.0x4ab3fa.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x4ab3fa.13
sub edx, 0x2028
je case.0x4ab47c.11
sub edx, 1
jne case.default.0x4ab47c
cmp dword [ebp + 0x68], 0
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp edx, 0x2000
ja 0x4ab535
je case.default.0x4ab47c
cmp edx, 0xa0
ja 0x4ab521
je case.default.0x4ab47c
cmp edx, 9
je case.default.0x4ab47c
cmp edx, 0x20
je case.default.0x4ab47c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab512
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4aa2f4
cmp edx, 0x1680
je case.default.0x4ab47c
cmp edx, 0x180e
jmp 0x4ab4dd
cmp edx, 0x3000
ja case.0x4ab3fa.13
je case.default.0x4ab47c
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x4ab3fa.13
movzx eax, byte [edx + 0x4ade14]
jmp dword [eax*4 + 0x4ade0c]
cmp edx, 0x2000
ja 0x4ab5ac
je case.0x4ab3fa.13
cmp edx, 0xa0
ja 0x4ab58f
je case.0x4ab3fa.13
cmp edx, 9
je case.0x4ab3fa.13
cmp edx, 0x20
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp edx, 0x1680
je case.0x4ab3fa.13
cmp edx, 0x180e
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp edx, 0x3000
ja case.default.0x4ab47c
je case.0x4ab3fa.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x4ab47c
movzx eax, byte [edx + 0x4ade7c]
jmp dword [eax*4 + 0x4ade74]
cmp edx, 0x85
ja 0x4ab5fc
je case.default.0x4ab47c
add edx, 0xfffffff6
cmp edx, 3
ja case.0x4ab3fa.13
jmp dword [edx*4 + 0x4adedc]
sub edx, 0x2028
je case.default.0x4ab47c
sub edx, 1
jne case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp edx, 0x85
ja 0x4ab637
je case.0x4ab3fa.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x4ab47c
jmp dword [edx*4 + 0x4adeec]
sub edx, 0x2028
je case.0x4ab3fa.13
sub edx, 1
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp ecx, 0x100
jae case.0x4ab3fa.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp ebx, 0x100
jae case.default.0x4ab47c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp dword [esp + 0x18], 0x100
jae case.0x4ab3fa.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp dword [esp + 0x14], 0x100
jae case.default.0x4ab47c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp dword [esp + 0x1c], 0x100
jae case.0x4ab3fa.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4ab3fa.13
jmp case.default.0x4ab47c
cmp dword [esp + 0x20], 0x100
jae case.default.0x4ab47c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4ab3fa.13
jmp case.default.0x4ab47c
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x4a925c
mov edi, 0xfffffff2
jmp 0x4a9248
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ab74c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ab740
cmp dword [esi + 0x7c], 0x11
jne 0x4ab765
cmp ecx, dword [esi + 0x30]
jbe 0x4ab765
cmp byte [ecx], 0xa
jne 0x4ab765
dec ecx
cmp byte [ecx], 0xd
jne 0x4ab765
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab79a
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4ab7ea
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x4aa14f.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4aa14f.14
jmp 0x4a06bf
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x4ab82d
cmp ecx, 0xc0
jb 0x4ab82d
test cl, 0x20
jne 0x4ab809
lea eax, [edx + 1]
jmp 0x4ab82a
test cl, 0x10
jne 0x4ab813
add eax, 3
jmp 0x4ab82a
test cl, 8
jne 0x4ab81d
add eax, 4
jmp 0x4ab82a
test cl, 4
jne 0x4ab827
add eax, 5
jmp 0x4ab82a
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ab866
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ab8b0
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ab9af
cmp eax, 0xc0
jb 0x4ab9af
test al, 0x20
jne 0x4ab8e8
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ab9aa
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x4ab90e
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 0x4ab9aa
test al, 8
jne 0x4ab93a
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 0x4ab9aa
test al, 4
jne 0x4ab96f
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 0x4ab9aa
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 0x4ab9e4
cmp eax, 5
je 0x4ab9e4
cmp eax, 8
je 0x4ab9e4
xor eax, eax
jmp 0x4ab9e9
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4aba21
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4aba6b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4abb7a
cmp eax, 0xc0
jb 0x4abb7a
test al, 0x20
jne 0x4abaa3
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4abb75
test al, 0x10
jne 0x4abacb
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 0x4abb75
test al, 8
jne 0x4abaff
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 0x4abb75
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4abb3a
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 0x4abb75
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.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abbe3
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4abc2d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4abd3b
cmp eax, 0xc0
jb 0x4abd3b
test al, 0x20
jne 0x4abc65
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4abd36
test al, 0x10
jne 0x4abc8b
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 0x4abd36
test al, 8
jne 0x4abcbd
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 0x4abd36
test al, 4
movzx eax, byte [edx]
jne 0x4abcf8
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 0x4abd36
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.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abd9d
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4abde7
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4abef5
cmp eax, 0xc0
jb 0x4abef5
test al, 0x20
jne 0x4abe1f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4abef0
test al, 0x10
jne 0x4abe45
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 0x4abef0
test al, 8
jne 0x4abe77
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 0x4abef0
test al, 4
movzx eax, byte [edx]
jne 0x4abeb2
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 0x4abef0
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.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4abf57
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4abfa1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
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 0x4ac09e
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x4ac09e
test al, 0x20
jne 0x4abfde
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x4ac08d
test al, 0x10
jne 0x4abffe
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 0x4ac08d
test al, 8
jne 0x4ac027
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 0x4ac08d
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x4ac05a
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 0x4ac08d
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 0x4ac215
mov dword [esp + 0x10], edx
jmp 0x4ac0e0
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x4ac1bc
cmp edx, 0xc0
jb 0x4ac1bc
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac121
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4ac1b8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4ac13c
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4ac1b2
and eax, 0x3f
test dl, 8
jne 0x4ac15c
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4ac1b2
test dl, 4
jne 0x4ac185
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 0x4ac1b2
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 0x4ac215
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 0x4ac0e0
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x4ac254
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x4ac254
cmp eax, dword [ebp + 0x84]
jbe 0x4ac254
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x4ac254
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad002
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x4a924c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac283
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x4ac2bc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4ac2bc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4ac2b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49f670
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac2f1
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x4ac31b
movzx edx, byte [edi]
jmp 0x4ac3e1
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4ac32f
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x4ac323
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x4ac3e3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac35e
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4ac3df
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4ac371
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4ac3d9
and eax, 0x3f
test dl, 8
jne 0x4ac38c
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4ac3d9
test dl, 4
jne 0x4ac3b0
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 0x4ac3d9
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 0x49f670
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x4ac424
movzx edx, byte [edi]
jmp 0x4ac4ef
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x4ac440
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 0x4ac430
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x4ac4f1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac46c
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x4ac4ed
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x4ac47f
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4ac4e7
and eax, 0x3f
test dl, 8
jne 0x4ac49a
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4ac4e7
test dl, 4
jne 0x4ac4be
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 0x4ac4e7
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 0x4a7ed8
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x4ac405
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4ac56e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x4ac67e
cmp eax, 0xc0
jb 0x4ac67e
test al, 0x20
jne 0x4ac5a6
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x4ac679
test al, 0x10
jne 0x4ac5cc
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 0x4ac679
test al, 8
jne 0x4ac5fe
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 0x4ac679
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4ac63b
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 0x4ac679
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 0x4ac6b5
cmp eax, 3
je 0x4ac6b5
xor eax, eax
jmp 0x4ac6ba
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac6f2
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a30ca
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 0x4ac853
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x4ac853
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4ac77b
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 0x4ac857
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4ac7a7
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 0x4ac857
test dl, 8
jne 0x4ac7d8
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 0x4ac857
test dl, 4
jne 0x4ac812
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 0x4ac857
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 0x4ac857
mov edi, dword [esp + 0x10]
cmp ecx, 0x24
je 0x4ac882
cmp eax, 0x40
je 0x4ac882
cmp ebx, 0x60
je 0x4ac882
cmp edi, 0xa0
jb 0x4ac876
cmp edx, 0xd7ff
jbe 0x4ac882
cmp edx, 0xe000
jae 0x4ac882
xor eax, eax
jmp 0x4ac887
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab47c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4ac8bf
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4aa2f4
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4a30ca
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 0x4aca01
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x4aca01
test dl, 0x20
jne 0x4ac943
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4ac9f0
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4ac96a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4ac9f0
test dl, 8
jne 0x4ac98d
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 0x4ac9f0
test dl, 4
jne 0x4ac9bc
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 0x4ac9f0
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 0x4aca22
cmp eax, 0x20
je case.0x4acb28.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x4acb28.8203
jmp dword [eax*4 + 0x4adefc]
cmp edx, 0x2000
ja 0x4acafc
cmp ecx, 0x2000
je case.0x4acb28.8193
cmp edi, 0x1680
ja 0x4acaf1
cmp edx, 0x1680
je case.0x4acb28.8193
mov eax, edx
sub eax, 0x85
je case.0x4acb28.8193
sub eax, 0x1b
je case.0x4acb28.8193
mov eax, edx
test eax, eax
jns 0x4aca71
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x55e200]
shl eax, 7
and edx, 0x8000007f
jns 0x4aca8b
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.0x4ab47c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4acae2
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4acd03
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4aa2f4
cmp edx, 0x180e
jmp 0x4aca62
cmp ebx, 0x3000
ja case.0x4acb28.8203
cmp dword [esp + 0x18], 0x3000
je case.0x4acb28.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x4acb28.8203
movzx eax, byte [eax + 0x4adf18]
jmp dword [eax*4 + 0x4adf10]
cmp dword [esi + 0x68], 0
je 0x4acab3
jmp case.default.0x4ab47c
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4acb79
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edx, dword [ebp + 0x84]
jmp 0x4a30de
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 0x4acc90
cmp eax, 0xc0
jb 0x4acc90
test al, 0x20
jne 0x4acbb6
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x4acc89
test al, 0x10
jne 0x4acbdc
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 0x4acc89
test al, 8
jne 0x4acc0e
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 0x4acc89
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x4acc4b
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 0x4acc89
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 0x4acccc
cmp eax, 3
je 0x4acccc
cmp ebx, 0x5f
je 0x4acccc
xor eax, eax
jmp 0x4accd1
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x4ab47c
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4acf1a
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4acf10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad01f
mov edi, 0xfffffffa
jmp 0x4a9248
test edi, edi
jne case.default.0x4a9748
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x4aa14f.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4acd7b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x4aa14f.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4aa14f.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x4aa14f.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad002
mov edi, 0xfffffff4
jmp 0x4a924c
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x4ace63
cmp edx, 0xc0
jb 0x4ace63
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x4acdb7
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4ace5e
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4acdd8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x4ace5e
test dl, 8
jne 0x4acdfb
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 0x4ace5e
test dl, 4
jne 0x4ace2a
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 0x4ace5e
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 0x4ace85
mov ecx, dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4ace9e
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4ace78
cmp dword [esi + 0x68], 0
jne 0x4acea4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad012
xor edi, edi
jmp 0x4a924c
cmp dword [esi + 0x68], 0
jne case.0x4aa14f.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4acf33
push 0x134
call dword [0xd913a0]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4acf29
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x4ad01f
lea edi, [ecx - 6]
jmp 0x4a924c
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4acef4
push ecx
call dword [0xd9139c]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x49f6e3
mov dword [esi + 0xc], ecx
jmp 0x49f670
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4aa2f4
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4aa2f4
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