Function at 0x49aa60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x138
push edi
mov edi, dword [esp + 0x144]
test edi, edi
jne 0x49aab0
lea eax, [esp + 0x158]
cmp dword [esp + 0x158], edi
jne 0x49aa9a
push 1
push edi
push edi
push edi
push edi
push edi
push eax
call fcn.0049aa60
add esp, 0x1c
pop edi
add esp, 0x138
ret
sub eax, dword [esp + 0x140]
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x150]
push ebx
push ebp
mov ebp, dword [eax + 0x4c]
mov eax, dword [eax]
push esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x10], ebp
cmp eax, dword [ecx + 4]
jae 0x49f3e8
mov esi, dword [esp + 0x14c]
nop word [eax + eax]
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x164]
cmp eax, dword [ecx + 8]
jae 0x4a7f06
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x98], 2
jne 0x49ab37
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], esi
mov dword [esp + 0x160], ecx
mov dword [eax + 0x98], 0
mov edx, eax
jmp 0x49ab61
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
mov ebp, dword [esp + 0x10]
jmp 0x49ab70
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x158]
nop dword [eax + eax]
mov cl, byte [edi]
movzx edi, cl
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], edi
cmp edi, 0xa1
ja case.0x49ab9c.98
movzx eax, byte [edi + 0x4a8064]
jmp dword [eax*4 + 0x4a7f18]
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x15c]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [edx + 0x2c]
ja 0x4a4dd1
mov ebx, dword [esp + 0x150]
movzx eax, byte [ebx]
movzx edi, byte [ebx + 1]
add edi, ebx
movzx ecx, byte [eax + 0x4e1d70]
add edi, ecx
mov dword [esp + 0x150], edi
jmp 0x49ab61
mov eax, dword [esp + 0x15c]
mov ebp, esi
mov edi, dword [esp + 0x150]
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0xac]
nop
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
lea eax, [edi + 3]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x49ad27
cmp edi, 0xfffffc20
jne 0x49ac7c
mov eax, dword [esp + 0x150]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x4a7ad9
mov ecx, dword [esp + 0x150]
cmp byte [ecx], 0x77
je 0x49ac84
cmp byte [eax], 0x77
jmp 0x49ac7e
test edi, edi
jne 0x4a7ad9
mov edi, dword [esp + 0x150]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x15c]
add edi, ecx
mov dword [esp + 0x150], edi
mov dword [eax + 0xac], ebx
cmp byte [edi], 0x77
je 0x49ac00
mov edx, dword [esp + 0x154]
mov al, byte [edi]
cmp al, 0x82
je 0x49acd0
cmp al, 0x77
jne case.0x4a7831.14
nop dword [eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x49acd0
cmp byte [edi], 0x78
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x150], edi
mov ebx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [esp + 0x158], ebx
je 0x49ad12
cmp esi, ebp
jne 0x4a48b1
mov ebp, dword [esp + 0x10]
add edi, 3
mov dword [esp + 0x150], edi
mov edx, eax
jmp 0x49ab70
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x154], edx
jmp 0x49acbe
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x20], 0
jmp 0x49baad
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x20], 0
jmp 0x49baca
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
add edx, 3
shl ecx, 8
mov ebp, edx
or ecx, eax
mov dword [esp + 0x150], edx
mov dword [esp + 0x14], ecx
cmp byte [edx], 0x76
jne 0x49aebc
mov edi, dword [0x50ded0]
test edi, edi
je 0x49aea4
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x68], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x154]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x7c], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x80], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x90], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0x94], ecx
sar eax, 1
mov ecx, 0xffffffff
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 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.0x4a7831.14
js 0x4a7ad9
mov ecx, dword [esp + 0x14]
mov edx, ebp
movzx eax, byte [0x4e1de6]
add edx, eax
sub ecx, eax
mov dword [esp + 0x150], edx
mov ebp, edx
mov dword [esp + 0x14], ecx
movzx eax, byte [edx]
xor ebx, ebx
mov dword [esp + 0x20], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x49aeda.146
movzx eax, byte [eax + 0x4a8120]
jmp dword [eax*4 + 0x4a8108]
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x49aeda.145
mov eax, dword [esp + 0x150]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x49af1b
cmp ecx, dword [edx + 4]
jne 0x49b19a
mov ecx, dword [esp + 0x20]
mov ebx, 1
mov ebp, dword [esp + 0x158]
movzx ecx, byte [ecx + 0x4e1d70]
jmp 0x49b1a5
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xa4], ebx
je case.0x49aeda.145
movzx edi, byte [edx + 3]
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl edi, 8
or edi, eax
shl ecx, 8
mov eax, dword [esp + 0x15c]
or edx, ecx
imul edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add edx, eax
test edi, edi
je 0x49b19a
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x28], edx
mov eax, dword [eax + 0xa4]
mov ebp, dword [eax + 4]
movzx eax, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 1]
dec edi
shl eax, 8
or ecx, eax
cmp ecx, ebp
sete bl
je 0x49aff0
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 0x24]
add edx, eax
mov dword [esp + 0x28], edx
test edi, edi
jg 0x49af90
jmp 0x49aff0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x158]
jge 0x49afee
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x49afee
mov ebx, 1
jmp 0x49aff0
xor ebx, ebx
mov ebp, dword [esp + 0x158]
test ebx, ebx
je 0x49b087
mov ecx, dword [esp + 0x20]
movzx ecx, byte [ecx + 0x4e1d70]
jmp 0x49b1a5
mov edi, dword [esp + 0x150]
movzx edx, byte [edx + 3]
mov ebp, dword [esp + 0x158]
shl edx, 8
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
or edx, eax
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x15c]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
test edx, edx
je 0x49b087
mov edi, eax
nop dword [eax]
movzx ecx, byte [eax + 1]
dec edx
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, ebp
jge 0x49b073
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x49b090
mov eax, dword [esp + 0x15c]
xor ebx, ebx
mov eax, dword [eax + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x49b050
mov ecx, dword [esp + 0x14]
jmp 0x49b1a5
mov ecx, dword [esp + 0x20]
mov ebx, 1
movzx ecx, byte [ecx + 0x4e1d70]
jmp 0x49b1a5
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 1
mov eax, dword [esp + 0x164]
inc eax
push eax
push 0
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push edx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 1
jne 0x49b18a
mov eax, dword [esp + 0x15c]
mov ebx, edi
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x28], ebx
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x158], ecx
cmp byte [eax], 0x92
jne 0x49b122
lea eax, [ebp + 1]
mov ebp, eax
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edi, 8
or edi, eax
add edi, ebp
mov edx, edi
cmp byte [edx], 0x77
jne 0x49b163
nop dword [eax + eax]
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, ebx
mov dword [esp + 0x150], ebx
cmp byte [edx], 0x77
je 0x49b140
mov ebx, dword [esp + 0x28]
mov edi, edx
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x158]
movzx eax, byte [ecx + 0x4e1d70]
movzx ecx, byte [ecx + 0x4e1d70]
sub edi, eax
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49b1a5
test edi, edi
je 0x49b19a
cmp edi, 0xfffffc20
jne 0x4a7ad9
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x150]
add edi, ecx
mov dword [esp + 0x150], edi
test ebx, ebx
jne 0x4a4925
cmp byte [edi - 3], 0x77
je 0x4a4925
mov edx, dword [esp + 0x15c]
jmp 0x49ab5d
mov edi, dword [esp + 0x150]
mov ecx, dword [esp + 0x15c]
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
lea ebx, [edx + edx]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
cmp ebx, dword [ecx + 0x14]
jl 0x49b237
mov ebx, dword [esp + 0x158]
mov edx, ecx
mov ebp, dword [esp + 0x10]
or eax, 0x10000
add edi, 3
mov dword [esp + 0x150], edi
mov dword [edx + 0x90], eax
jmp 0x49ab70
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [esp + 0x15c]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esp + 0x158]
cmp ebx, ecx
jl 0x49daea
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x49b289
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x150]
add ebx, 2
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x158], ebx
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x49b2db
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x49b2dd
xor ebp, ebp
mov edi, dword [esp + 0x150]
mov eax, dword [esp + 0x164]
inc eax
push eax
push 0
push dword [esp + 0x164]
lea eax, [edi + 3]
push dword [esp + 0x164]
push dword [esp + 0x164]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x49b395
cmp edi, 0xfffffc19
je 0x49b395
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x49b365
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x4a7ad9
cmp byte [edx], 0x77
je 0x49b36d
cmp byte [eax], 0x77
jmp 0x49b367
test edi, edi
jne 0x4a7ad9
mov edi, dword [esp + 0x150]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x150], edi
cmp byte [edi], 0x77
je 0x49b2e4
jmp 0x49b3ad
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x154], eax
cmp byte [edi], 0x78
je case.0x4a7831.14
test ebp, ebp
jne 0x4a4f96
nop
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x49b3c0
mov eax, dword [esp + 0x15c]
add edi, 3
mov ebp, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x150], edi
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x158], ebx
jmp 0x49ab70
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x49b424
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x49b426
xor ebp, ebp
mov edi, dword [esp + 0x150]
nop dword [eax]
mov eax, dword [esp + 0x164]
inc eax
push eax
push 0
push dword [esp + 0x164]
lea eax, [edi + 3]
push dword [esp + 0x164]
push dword [esp + 0x164]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jg 0x49b4a4
jne 0x49b4de
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or eax, ecx
add eax, edi
cmp dword [edx + 0x7c], eax
jae 0x49b510
cmp byte [edi], 0x77
je 0x49b4bd
cmp byte [eax], 0x77
jne 0x49b510
jmp 0x49b4bd
mov eax, edi
sub eax, 0
jne 0x4a4e34
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x150], edi
cmp byte [edi], 0x77
je 0x49b430
jmp 0x49b524
cmp edi, 0xfffffc19
je case.0x4a7831.14
lea eax, [edi + 0x3e4]
cmp eax, 3
ja 0x4a7ad9
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
nop word [eax + eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x49b510
test ebp, ebp
jne 0x4a4f96
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov edi, dword [esp + 0x150]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
test ebp, ebp
je 0x49b589
or ecx, eax
mov eax, dword [esp + 0x15c]
jbe 0x49b59d
mov edx, dword [eax + 0x74]
nop
dec esi
dec ecx
cmp esi, edx
jb case.0x4a7831.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x49b57c
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x49b572
test ecx, ecx
jg 0x49b560
mov eax, dword [esp + 0x15c]
jmp 0x49b59d
or ecx, eax
mov eax, dword [esp + 0x15c]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [eax + 0x84]
jae 0x49daf8
mov ebp, dword [esp + 0x10]
add edi, 3
mov dword [eax + 0x84], esi
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov edi, dword [0x50ded0]
test edi, edi
je 0x49b6ea
mov edx, dword [esp + 0x150]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x9c], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x74]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x154]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xb0], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xb4], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xc4], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0xc8], ecx
sar eax, 1
mov ecx, 0xffffffff
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xb0]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x9c]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x4a7831.14
js 0x4a7ad9
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
add edi, 6
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov edi, dword [esp + 0x150]
mov eax, dword [esp + 0x15c]
movzx ebx, byte [edi + 1]
mov edx, dword [eax + 0x70]
movzx eax, byte [edi + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
cmp ebx, edx
jne 0x49b72f
xor ecx, ecx
jmp 0x49b73c
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x49b764
nop dword [eax]
cmp ecx, dword [eax + 4]
jne 0x49b75e
cmp esi, dword [eax + 0x14]
je 0x4a4e4a
mov eax, dword [eax]
test eax, eax
jne 0x49b750
mov eax, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x150], edi
mov eax, dword [eax + 0x90]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x54], esi
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x15c]
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x4c], ecx
cmp ecx, 0x1e
jg 0x49b7c2
lea eax, [esp + 0xd0]
mov dword [esp + 0x48], eax
jmp 0x49b7e3
lea eax, [ecx*4]
push eax
call dword [0x5077d8]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x4a4e84
mov ecx, dword [esp + 0x4c]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x160]
push dword [ecx + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp byte [ebx], 0x88
sbb ebp, ebp
inc ebp
test ebp, ebp
je 0x49b815
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ebx]
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, ebx
push eax
push esi
call fcn.0049aa60
mov edi, eax
mov eax, dword [esp + 0x68]
shl eax, 2
push eax
mov eax, dword [esp + 0x17c]
push dword [esp + 0x68]
push dword [eax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x184]
add esp, 0x28
mov eax, dword [esp + 0x50]
mov dword [ecx + 0x90], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xa4], eax
cmp edi, 1
je 0x49b911
cmp edi, 0xfffffc19
je 0x49b911
cmp edi, 0xfffffc1c
jl 0x49b8a9
cmp edi, 0xfffffc20
jle 0x49b8eb
test edi, edi
jne 0x4a4e5a
mov eax, dword [esp + 0x15c]
lea ecx, [esp + 0x40]
mov dword [eax + 0xa4], ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x49b800
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd0]
cmp eax, ecx
je case.0x4a7831.14
push eax
call dword [0x5077dc]
add esp, 4
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd0]
cmp eax, ecx
je 0x49b92a
push eax
call dword [0x5077dc]
add esp, 4
mov eax, dword [esp + 0x15c]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x154], eax
jmp 0x49ab4f
mov edi, dword [esp + 0x150]
nop dword [eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x49b950
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x49b9b1
lea edi, [ebx + 3]
mov dword [esp + 0x150], edi
nop
mov edx, dword [esp + 0x15c]
jmp 0x49ab61
mov eax, dword [esp + 0x150]
inc eax
mov dword [esp + 0x150], eax
mov edx, eax
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x49b9f0
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
lea eax, [edx + 3]
push dword [esp + 0x164]
push ebx
push dword [esp + 0x164]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
jmp 0x49ab70
mov edx, dword [esp + 0x150]
inc edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x49ba55
lea edi, [edx + 3]
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov ecx, dword [esp + 0x150]
inc ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x150], ecx
movzx edi, byte [ecx]
mov dword [esp + 0x18], edi
cmp edi, 0x86
je 0x49baad
cmp edi, 0x8b
jne 0x49baca
movzx ebp, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebp, 8
or ebp, eax
lea eax, [ebp*2]
cmp eax, dword [edx + 0x14]
jl 0x49bc6e
mov eax, dword [esp + 0x15c]
mov ebx, ecx
xor ebp, ebp
sub ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [esp + 0x28], eax
cmp edi, 0x88
jb 0x49bafb
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, ecx
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1a
jne 0x49bb8f
mov eax, dword [esp + 0x15c]
mov ebp, 1
mov ecx, dword [eax + 0x8c]
mov edi, dword [eax + 0x70]
mov dword [esp + 0x158], ecx
add edi, ebx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x150], edi
mov dword [esp + 0x154], ecx
cmp esi, eax
je 0x49bc20
mov edi, dword [esp + 0x18]
mov esi, eax
mov ecx, dword [esp + 0x150]
jmp 0x49bae2
cmp edi, 0xfffffc20
jne 0x49bbd4
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x7c], eax
jae 0x4a7ad9
mov ecx, dword [esp + 0x150]
cmp byte [ecx], 0x77
je 0x49bbe3
cmp byte [eax], 0x77
jne 0x4a7ad9
jmp 0x49bbe3
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x150], edi
cmp byte [edi], 0x77
jne 0x49bc4a
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x150]
mov dword [edx + 0x90], eax
jmp 0x49bae2
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x49bc20
mov edx, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49ab5d
test ebp, ebp
jne 0x49bc58
cmp dword [esp + 0x20], ebp
je case.0x4a7831.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49ab5d
sub ecx, dword [edx + 0x70]
shl eax, 2
mov dword [esp + 0x38], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x2c], edx
mov eax, dword [eax + 0x10]
sub eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x90]
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebp
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x49bcdf
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx eax, byte [ecx]
push dword [esp + 0x164]
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
add eax, ecx
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1a
jne 0x49bd86
mov eax, dword [esp + 0x15c]
mov edi, 1
mov dword [esp + 0x28], edi
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x70]
add edx, dword [esp + 0x38]
mov ebx, dword [eax + 0x90]
mov dword [esp + 0x158], ecx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
cmp esi, eax
je 0x49be10
mov edi, dword [esp + 0x18]
mov esi, eax
mov eax, dword [esp + 0x15c]
jmp 0x49bcb6
cmp edi, 0xfffffc20
jne 0x49bdc4
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x4a7ad9
cmp byte [edx], 0x77
je 0x49bdd3
cmp byte [eax], 0x77
jne 0x4a7ad9
jmp 0x49bdd3
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x90], ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esp + 0x150], edx
cmp byte [edx], 0x77
jne 0x49be2d
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x15c]
jmp 0x49bcb6
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x49be10
mov dword [esp + 0x150], edx
jmp 0x49be72
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x49be72
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax], edx
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax + 4], edx
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x34]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
sub ecx, ebp
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x20], 0
jne 0x49be81
test edi, edi
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov edi, dword [esp + 0x150]
mov ebx, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [esp + 0x14], ebx
mov cl, byte [ebx]
cmp cl, 0x88
jae 0x49beca
cmp cl, 0x81
je 0x49beca
xor ebp, ebp
jmp 0x49bee0
mov ebp, dword [esp + 0x160]
lea eax, [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0x160], ebp
mov ebp, dword [eax]
cmp cl, 0x7d
jb 0x49beee
cmp cl, 0x80
jbe 0x4a4f79
cmp cl, 0x82
je 0x4a4f79
cmp cl, 0x85
je 0x49bf0b
cmp cl, 0x8a
je 0x49bf0b
cmp cl, 0x86
je 0x49bf0b
cmp cl, 0x8b
jne 0x49bf79
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xa4]
lea ebx, [edx + edx]
mov ecx, ebx
test eax, eax
je 0x49bf37
cmp dword [eax + 4], edx
je 0x4a4e94
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x15c]
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [edi + 0x90], eax
cmp ecx, dword [edi + 0x14]
jl 0x49bfec
mov ebx, dword [esp + 0x14]
mov edx, edi
mov edi, dword [esp + 0x150]
or eax, 0x10000
mov dword [edx + 0x90], eax
mov ecx, dword [esp + 0x158]
mov al, byte [edi]
cmp al, 0x7b
je 0x4a4f53
cmp al, 0x78
je 0x49bf96
cmp esi, ebp
jne 0x4a4972
cmp byte [ebx], 0x81
jne 0x49daf1
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
lea eax, [edi + 3]
push edx
push ecx
push dword [esp + 0x164]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov eax, dword [esp + 0x15c]
pop esi
pop ebp
mov dword [eax + 0xb4], ebx
mov eax, 0xfffffc1b
pop ebx
pop edi
add esp, 0x138
ret
mov edi, dword [esp + 0x158]
cmp ecx, edi
jle 0x49c017
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0xc]
lea edi, [eax + edi*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x49c017
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x15c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [esp + 0x15c]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esp + 0x158]
cmp ecx, ebx
jg 0x49c062
lea ecx, [ebx + 2]
mov dword [esp + 0x158], ecx
mov ebx, dword [esp + 0x14]
jmp 0x49bf80
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x44], 0
je 0x49c08a
cmp esi, dword [eax + 0x74]
je case.0x4a7831.14
jmp 0x49c08a
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x74]
jne case.0x4a7831.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x44], 0
je 0x49c0c4
cmp esi, dword [eax + 0x74]
je case.0x4a7831.14
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x49d14b
cmp esi, dword [eax + 0x78]
je case.0x4a7831.14
mov edx, dword [eax + 0x18]
test edx, edx
je 0x49c11a
cmp esi, ecx
jbe case.0x4a7831.14
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.004aaca0
add esp, 0x14
test eax, eax
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov edx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x4a7831.14
mov ebx, dword [esp + 0x15c]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x34]
jne case.0x4a7831.14
cmp edx, 1
mov edx, ebx
je 0x49c09a
mov al, byte [ecx + 1]
cmp al, byte [edx + 0x35]
jne case.0x4a7831.14
mov edi, dword [esp + 0x150]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x15c]
mov eax, dword [eax + 0x94]
add eax, dword [edx + 0x74]
cmp esi, eax
jne case.0x4a7831.14
mov edi, dword [esp + 0x150]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov edi, dword [esp + 0x150]
inc edi
mov dword [esp + 0x154], esi
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x49c273
mov edx, dword [eax + 0x18]
test edx, edx
je 0x49c1f1
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne 0x49c093
mov eax, dword [esp + 0x15c]
jmp 0x49c221
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x49c221
mov ecx, dword [esp + 0x15c]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x49c21f
cmp edx, 1
mov edx, ecx
je 0x49c09a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x49c09a
mov eax, ecx
cmp dword [eax + 0x88], 0
je case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb case.0x4a7831.14
cmp dword [ecx + 0x18], 0
jne case.0x4a7831.14
cmp dword [ecx + 0x1c], 2
jne case.0x4a7831.14
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne case.0x4a7831.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x4a7999
cmp dword [eax + 0x48], 0
jne case.0x4a7831.14
jmp 0x49c3a0
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x48], 0
jne case.0x4a7831.14
cmp dword [eax + 0x58], 0
je 0x49c2fa
jmp 0x49c2a2
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jb case.0x4a7831.14
cmp dword [eax + 0x88], 0
je 0x49c093
cmp esi, dword [eax + 0x84]
jbe 0x49c093
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x4a799f
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x49c399
mov ebx, dword [esp + 0x15c]
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x49c372
push ebp
push edi
push eax
push ecx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne 0x49c38e
cmp dword [ebx + 0x88], 0
je case.0x4a7831.14
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.0x4a7831.14
cmp dword [ebx + 0x18], 0
jne case.0x4a7831.14
cmp dword [ebx + 0x1c], 2
jne case.0x4a7831.14
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x4a7831.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x4a7999
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x49c327
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x49c327
cmp ecx, 1
je 0x49c38e
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x49c327
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x49c327
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x49d14b
cmp esi, dword [eax + 0x84]
jbe 0x49d14b
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x4a799f
mov edi, dword [esp + 0x150]
mov edx, eax
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
test ebp, ebp
je 0x49c650
cmp esi, dword [eax + 0x74]
je 0x49c548
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x49c41c
nop dword [eax]
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x49c410
mov eax, dword [esp + 0x15c]
cmp ecx, dword [eax + 0x84]
jae 0x49c431
mov dword [eax + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x49c4e9
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x49c45d
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x49c4de
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x49c470
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x49c4d8
and eax, 0x3f
test bl, 8
jne 0x49c48b
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x49c4d8
test bl, 4
jne 0x49c4af
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 0x49c4d8
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, dword [esp + 0x15c]
mov ecx, ebx
cmp dword [eax + 0x54], 0
je 0x49c530
cmp ecx, 0x5f
je 0x49c529
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x49c529
cmp eax, 3
jne 0x49c548
mov edi, 1
jmp 0x49c54a
cmp ecx, 0x100
jae 0x49c548
mov eax, dword [eax + 0x40]
test byte [ebx + eax], 0x10
je 0x49c548
mov edi, 1
jmp 0x49c54a
xor edi, edi
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x49c6ed
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x49c612
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x49c586
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x49c607
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x49c599
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x49c601
and eax, 0x3f
test dl, 8
jne 0x49c5b4
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x49c601
test dl, 4
jne 0x49c5d8
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x49c601
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, dword [esp + 0x15c]
mov ecx, edx
cmp dword [eax + 0x54], 0
je 0x49c638
cmp ecx, 0x5f
je 0x49c786
mov eax, ecx
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
and ecx, 0x7f
jmp 0x49c763
cmp ecx, 0x100
jae 0x49c712
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jmp 0x49c794
cmp esi, dword [eax + 0x74]
je 0x49c6df
cmp esi, dword [eax + 0x84]
ja 0x49c673
mov ecx, dword [esp + 0x15c]
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
mov eax, ecx
cmp dword [eax + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x49c6cf
cmp ecx, 0x5f
je 0x49c6c8
mov eax, ecx
test eax, eax
jns 0x49c68b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
and ecx, 0x8000007f
jns 0x49c6a5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x49c6c8
cmp eax, 3
jne 0x49c6df
mov edi, 1
jmp 0x49c6e1
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x49c6df
mov edi, 1
jmp 0x49c6e1
xor edi, edi
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jb 0x49c732
cmp dword [eax + 0x88], 0
je 0x49c712
cmp esi, dword [eax + 0x84]
jbe 0x49c712
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x4a799f
xor ecx, ecx
mov edx, dword [esp + 0x150]
mov al, byte [edx]
inc edx
mov dword [esp + 0x150], edx
cmp al, 5
jne 0x49c7a4
xor eax, eax
cmp ecx, edi
sete al
jmp 0x49c7ab
cmp dword [eax + 0x54], 0
movzx ecx, byte [esi]
je 0x49c78d
cmp ecx, 0x5f
je 0x49c786
mov eax, ecx
test eax, eax
jns 0x49c749
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
and ecx, 0x8000007f
jns 0x49c763
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x49c786
cmp eax, 3
jne 0x49c712
mov ecx, 1
jmp 0x49c714
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x49c712
mov ecx, 1
jmp 0x49c714
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.0x4a7831.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
jmp 0x49ab61
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x49c844
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x49c7fa
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne case.0x4a7831.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x49c87e
mov eax, dword [eax + 0x78]
dec eax
cmp esi, eax
mov eax, dword [esp + 0x15c]
jne 0x49c87e
cmp dword [eax + 0x18], 0
jne 0x49c87e
cmp dword [eax + 0x1c], 2
jne 0x49c87e
mov ecx, dword [esp + 0x15c]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov eax, ecx
jne 0x49c87e
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x4a799f
jmp 0x49c87e
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x49c7f3
mov edx, dword [esp + 0x15c]
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x49c873
cmp ecx, 1
je case.0x4a7831.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x4a7831.14
mov eax, edx
jmp 0x49c7fa
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x4a5106
inc esi
test ebp, ebp
je 0x49c093
cmp esi, edx
jae 0x49c093
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x49c093
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x49c8a0
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
mov edi, dword [esp + 0x150]
inc esi
inc edi
mov edx, eax
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x49c9ed
cmp edx, 0xc0
jb 0x49c9ed
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x49c93c
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x49c9eb
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49c95f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x49c9eb
test dl, 8
jne 0x49c984
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x49c9eb
test dl, 4
jne 0x49c9b5
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x49c9eb
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x49c093
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x49c08d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x49cb01
cmp edx, 0xc0
jb 0x49cb01
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x49ca50
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x49caff
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49ca73
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x49caff
test dl, 8
jne 0x49ca98
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x49caff
test dl, 4
jne 0x49cac9
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x49caff
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0xff
ja case.0x4a7831.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x49cc31
cmp edx, 0xc0
jb 0x49cc31
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x49cb80
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x49cc2f
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49cba3
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x49cc2f
test dl, 8
jne 0x49cbc8
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x49cc2f
test dl, 4
jne 0x49cbf9
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x49cc2f
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x49c093
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x49c08d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x49cd45
cmp edx, 0xc0
jb 0x49cd45
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x49cc94
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x49cd43
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49ccb7
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x49cd43
test dl, 8
jne 0x49ccdc
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x49cd43
test dl, 4
jne 0x49cd0d
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x49cd43
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0xff
ja case.0x4a7831.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x49ce75
cmp edx, 0xc0
jb 0x49ce75
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x49cdc4
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x49ce73
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49cde7
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x49ce73
test dl, 8
jne 0x49ce0c
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x49ce73
test dl, 4
jne 0x49ce3d
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x49ce73
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x49c093
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jmp 0x49c08d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x49cf94
cmp ecx, 0xc0
jb 0x49cf94
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x49ced6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x49cf92
test cl, 0x10
jne 0x49cef7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x49cf92
test cl, 8
jne 0x49cf21
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x49cf92
test cl, 4
jne 0x49cf57
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x49cf92
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.0x4a7831.14
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov eax, esi
test ebp, ebp
je 0x49d0bd
cmp edx, 0xc0
jb 0x49d0bd
test dl, 0x20
jne 0x49d00c
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x49d0bb
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49d033
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x49d0b9
test dl, 8
jne 0x49d056
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x49d0b9
test dl, 4
jne 0x49d085
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x49d0b9
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
mov eax, esi
cmp edx, 0xd
ja 0x49d123
je 0x49d0d8
cmp edx, 0xa
je 0x49c093
jbe case.0x4a7831.14
cmp edx, 0xc
jmp 0x49d134
mov edx, dword [esp + 0x15c]
cmp eax, edi
jb 0x49d103
cmp dword [edx + 0x88], 0
je 0x49c09a
cmp eax, dword [edx + 0x84]
jbe 0x49c09a
mov eax, edx
jmp 0x49c3b9
cmp byte [esi], 0xa
jne 0x49c09a
mov edi, dword [esp + 0x150]
lea esi, [eax + 1]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
cmp edx, 0x85
je 0x49d13a
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4a7831.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x68], 0
jne case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, eax
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x49d251
cmp edx, 0xc0
jb 0x49d251
test dl, 0x20
jne 0x49d1a2
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x49d251
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49d1c9
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x49d24f
test dl, 8
jne 0x49d1ec
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x49d24f
test dl, 4
jne 0x49d21b
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x49d24f
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x180e
ja 0x49d2c1
je case.0x4a7831.14
cmp edx, 0xa0
ja 0x49d29a
je case.0x4a7831.14
cmp edx, 9
je case.0x4a7831.14
cmp edx, 0x20
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
cmp edx, 0x1680
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
cmp edx, 0x205f
ja 0x49d30e
je case.0x4a7831.14
cmp edx, 0x2000
jb 0x49c093
cmp edx, 0x200a
jbe case.0x4a7831.14
cmp edx, 0x202f
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
cmp edx, 0x3000
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x49d425
cmp edx, 0xc0
jb 0x49d425
test dl, 0x20
jne 0x49d376
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x49d425
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49d39d
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x49d423
test dl, 8
jne 0x49d3c0
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x49d423
test dl, 4
jne 0x49d3ef
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x49d423
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x180e
ja 0x49d45d
je 0x49c093
cmp edx, 0xa0
ja 0x49d452
je 0x49c093
cmp edx, 9
je 0x49c093
cmp edx, 0x20
jmp 0x49c08d
cmp edx, 0x1680
jmp 0x49c08d
cmp edx, 0x205f
ja 0x49d48e
je 0x49c093
cmp edx, 0x2000
jb case.0x4a7831.14
cmp edx, 0x200a
jbe 0x49c093
cmp edx, 0x202f
jmp 0x49c08d
cmp edx, 0x3000
jmp 0x49c08d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x49d589
cmp edx, 0xc0
jb 0x49d589
test dl, 0x20
jne 0x49d4da
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x49d589
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49d501
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x49d587
test dl, 8
jne 0x49d524
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x49d587
test dl, 4
jne 0x49d553
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x49d587
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x85
ja 0x49d5c4
je case.0x4a7831.14
cmp edx, 0xa
jb 0x49c093
cmp edx, 0xd
jbe case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
cmp edx, 0x2028
jb 0x49c093
cmp edx, 0x2029
jbe case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x49d6e7
cmp edx, 0xc0
jb 0x49d6e7
test dl, 0x20
jne 0x49d638
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x49d6e7
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49d65f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x49d6e5
test dl, 8
jne 0x49d682
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x49d6e5
test dl, 4
jne 0x49d6b1
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x49d6e5
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x85
ja 0x49d71c
je 0x49c093
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
jmp 0x49ab5d
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov edi, edx
test ebp, ebp
je 0x49d836
cmp edx, 0xc0
jb 0x49d836
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x49d78d
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x49d834
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x49d7ae
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x49d834
test dl, 8
jne 0x49d7d1
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x49d834
test dl, 4
jne 0x49d800
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x49d834
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x4d30e0]
mov ecx, dword [esp + 0x150]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a8134]
cmp dword [esp + 0x18], 0xf
jmp 0x49dadd
mov al, byte [ebx*8 + 0x4cf861]
cmp al, 9
je 0x49dacc
cmp al, 5
je 0x49dacc
cmp al, 8
je 0x49dacc
xor ecx, ecx
jmp 0x49dad1
mov edi, dword [esp + 0x150]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x4cf861]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x4e1e88]
setne dl
xor eax, eax
cmp dword [esp + 0x18], 0x10
sete al
cmp edx, eax
je case.0x4a7831.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov edi, dword [esp + 0x150]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x4cf861]
setne cl
xor eax, eax
cmp dword [esp + 0x18], 0x10
sete al
cmp ecx, eax
je case.0x4a7831.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov edi, dword [esp + 0x150]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x4cf860]
setne cl
xor eax, eax
cmp dword [esp + 0x18], 0x10
sete al
cmp ecx, eax
je case.0x4a7831.14
mov edx, dword [esp + 0x15c]
add edi, 3
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x150], edi
jmp 0x49ab70
movzx eax, byte [ebx*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x49dacc
cmp eax, 3
je 0x49dacc
xor ecx, ecx
jmp 0x49dad1
cmp edx, 0x180e
ja 0x49d9ee
je case.0x49d868.0
cmp edx, 0x85
ja 0x49d9da
je case.0x49d868.0
cmp edx, 9
jb case.0x49da0e.8203
cmp edx, 0xd
jbe case.0x49d868.0
cmp edx, 0x20
jmp 0x49da27
cmp edx, 0xa0
je case.0x49d868.0
cmp edx, 0x1680
jmp 0x49da27
cmp edx, 0x202f
ja 0x49da15
je case.0x49d868.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x49da0e.8203
movzx eax, byte [edx + 0x4a8168]
jmp dword [eax*4 + 0x4a8160]
cmp edx, 0x205f
je case.0x49d868.0
cmp edx, 0x3000
je case.0x49d868.0
movzx eax, byte [ebx*8 + 0x4cf861]
xor ecx, ecx
cmp dword [eax*4 + 0x4e1e88], 6
sete cl
jmp 0x49dad1
movzx eax, byte [ebx*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x49dacc
cmp eax, 3
je 0x49dacc
cmp edi, 0x5f
je 0x49dacc
xor ecx, ecx
jmp 0x49dad1
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x4cf720]
lea eax, [eax*4 + 0x4cf720]
cmp edi, ecx
jb 0x49da8d
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x49da94
mov ecx, dword [eax]
cmp edx, ecx
jae 0x49da80
cmp dword [esp + 0x18], 0x10
jmp 0x49dadd
cmp dword [esp + 0x18], 0x10
jne case.0x4a7831.14
jmp 0x49dae3
cmp edi, 0x24
je 0x49dacc
cmp edi, 0x40
je 0x49dacc
cmp edi, 0x60
je 0x49dacc
cmp edi, 0xa0
jb 0x49dac0
cmp edi, 0xd7ff
jbe 0x49dacc
cmp edi, 0xe000
jae 0x49dacc
xor ecx, ecx
jmp 0x49dad1
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x18], 0xf
sete al
cmp ecx, eax
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x10]
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x28], ebx
mov ecx, esi
test edx, edx
je 0x49dc20
cmp ebx, 0xc0
jb 0x49dc20
mov al, byte [esi]
test bl, 0x20
jne 0x49db52
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x49dc16
lea ecx, [esi + 1]
test bl, 0x10
jne 0x49db75
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x49dc16
lea edx, [esi + 2]
test bl, 8
jne 0x49dba0
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x49dc12
lea edi, [esi + 3]
test bl, 4
jne 0x49dbd6
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x49dc12
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x28]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx ebx, byte [eax*8 + 0x4cf862]
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x49dd73
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x49dd28
cmp edx, 0xc0
jb 0x49dd28
test dl, 0x20
jne 0x49dc88
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x49dd20
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x49dcaa
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x49dd20
and eax, 0x3f
test dl, 8
jne 0x49dcca
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x49dd20
test dl, 4
jne 0x49dcf3
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x49dd20
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4d30e0]
movzx ecx, byte [eax*8 + 0x4cf862]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4e1f00], eax
je 0x49dd6c
mov edx, dword [esp + 0x10]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x49dc56
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x49c093
cmp esi, ebp
jb 0x49c093
jmp 0x49c2b8
mov ebp, dword [esp + 0x150]
xor ebx, ebx
cmp edi, 0x74
mov edi, dword [esp + 0x15c]
sete bl
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
movzx ecx, byte [ebp + 1]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 2]
add ebp, 5
or ecx, eax
mov dword [esp + 0x150], ebp
imul ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x30]
mov edi, dword [edi + 0x50]
mov dword [esp + 0x2c], ebx
add eax, ecx
neg edi
sbb edi, edi
xor ebp, ebp
neg edi
dec edi
mov dword [esp + 0x14], edi
test edx, edx
je 0x49de8d
mov ebx, eax
nop
movzx ecx, byte [eax + 1]
dec edx
movzx eax, byte [eax]
shl eax, 8
or ecx, eax
lea ebp, [ecx + ecx]
mov ecx, dword [esp + 0x15c]
cmp ebp, dword [esp + 0x158]
jge 0x49de19
mov eax, dword [ecx + 0xc]
cmp dword [eax + ebp*4], 0
jge 0x49de2a
mov eax, dword [ecx + 0x24]
add eax, ebx
mov ebx, eax
test edx, edx
jg 0x49ddf0
mov ebx, dword [esp + 0x2c]
jmp 0x49de8d
mov edi, dword [eax + ebp*4 + 4]
sub edi, dword [eax + ebp*4]
mov ebx, dword [esp + 0x2c]
jmp 0x49de89
xor ebx, ebx
cmp edi, 0x72
mov edi, dword [esp + 0x150]
sete bl
mov dword [esp + 0x2c], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
add edi, 3
shl ecx, 8
or ecx, eax
mov dword [esp + 0x150], edi
lea ebp, [ecx + ecx]
cmp ebp, dword [esp + 0x158]
jge 0x49de7f
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
js 0x49de7f
mov edi, dword [eax + ebp*4 + 4]
sub edi, ecx
jmp 0x49de89
mov edi, dword [edx + 0x50]
neg edi
sbb edi, edi
neg edi
dec edi
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x150]
mov dl, byte [eax]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x49deac
movzx eax, byte [eax + 0x4a819c]
jmp dword [eax*4 + 0x4a8194]
movsx eax, byte [ecx + 0x4ea5d2]
lea edx, [ecx - 0x62]
inc dword [esp + 0x150]
and edx, 1
movsx ebx, byte [ecx + 0x4ea5c6]
test eax, eax
mov ecx, closesocket
mov dword [esp + 0x28], edx
cmove eax, ecx
mov dword [esp + 0x20], eax
jmp 0x49df25
xor eax, eax
cmp dl, 0x69
mov edx, dword [esp + 0x150]
sete al
mov dword [esp + 0x28], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 3]
shl ebx, 8
or ebx, eax
shl ecx, 8
movzx eax, byte [edx + 4]
or ecx, eax
mov eax, closesocket
cmove ecx, eax
add edx, 5
mov dword [esp + 0x20], ecx
mov dword [esp + 0x150], edx
mov eax, ebx
test edi, edi
je 0x49ab4f
jns 0x49df39
test ebx, ebx
je 0x49ab4f
mov edi, 1
cmp eax, edi
jl 0x49df78
nop dword [eax]
nop word [eax + eax]
push dword [esp + 0x2c]
push dword [esp + 0x160]
push dword [esp + 0x1c]
push esi
push ebp
call fcn.004a8590
add esp, 0x14
test eax, eax
js 0x4a4fa6
inc edi
add esi, eax
cmp edi, ebx
jle 0x49df50
mov edi, dword [esp + 0x20]
cmp ebx, edi
je 0x49ab4f
cmp dword [esp + 0x28], 0
je 0x4a4ff3
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop
cmp ebx, dword [esp + 0x20]
jge case.0x4a7831.14
push dword [esp + 0x2c]
mov edi, dword [esp + 0x160]
push edi
push dword [esp + 0x1c]
push esi
push ebp
call fcn.004a8590
add esp, 0x14
test eax, eax
js 0x4a4fd0
add esi, eax
inc ebx
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x49dfd0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
push ebx
mov ebx, dword [esp + 0x160]
push ebx
push edi
push esi
push ebp
call fcn.004a8590
add esp, 0x14
test eax, eax
js 0x4a50c2
add esi, eax
mov edx, ebx
jmp 0x49ab56
mov ebp, dword [esp + 0x150]
mov cl, byte [ebp + 0x21]
lea ebx, [ebp + 1]
add ebp, 0x21
movzx edx, cl
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x150], ebp
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x49e095
movzx eax, byte [eax + 0x4a81ac]
jmp dword [eax*4 + 0x4a81a4]
lea eax, [edx - 0x62]
inc ebp
mov dword [esp + 0x150], ebp
cmp eax, 8
jae 0x49e0b7
mov ecx, eax
and ecx, 1
mov dword [esp + 0x2c], ecx
jmp 0x49e0bf
mov dword [esp + 0x34], 1
movsx edx, byte [eax + 0x4ea628]
movsx eax, byte [eax + 0x4ea634]
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x49e13e
mov dword [esp + 0x24], getpeername
jmp 0x49e13e
movzx edx, byte [ebp + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x2c], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebp + 3]
sete al
shl edx, 8
mov dword [esp + 0x34], eax
movzx eax, byte [ebp + 2]
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 4]
or ecx, eax
mov eax, closesocket
cmove ecx, eax
add ebp, 5
mov dword [esp + 0x24], ecx
mov dword [esp + 0x150], ebp
jmp 0x49e13a
mov dword [esp + 0x24], 1
mov edx, 1
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x10]
mov ebp, 1
mov dword [esp + 0x28], ebp
test ecx, ecx
je 0x49e2b6
cmp edx, ebp
jl 0x49e2f6
nop dword [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x20], ebx
cmp ebx, 0xc0
jb 0x49e27a
test bl, 0x20
jne 0x49e1a1
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x49e27a
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x49e1c7
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x49e275
lea edx, [esi + 2]
test bl, 8
jne 0x49e1f3
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x49e26d
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x49e22a
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x49e26d
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x20], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
and eax, 0x3f
or ebx, eax
cmp ebx, 0xff
jbe 0x49e287
cmp edi, 0x6e
jmp 0x49e29d
mov ecx, ebx
mov eax, 1
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x1c]
test byte [ebx + ecx], al
je case.0x4a7831.14
inc ebp
mov dword [esp + 0x28], ebp
cmp ebp, edx
jle 0x49e160
mov ebx, dword [esp + 0x1c]
jmp 0x49e2f2
cmp edx, 1
jl 0x49e2f6
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a50ff
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x4a7831.14
mov edx, dword [esp + 0x14]
inc ebp
cmp ebp, edx
jle 0x49e2c5
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
cmp edx, eax
je 0x49ab4f
cmp dword [esp + 0x2c], 0
jne 0x4a5132
mov ebp, esi
test ecx, ecx
je 0x49e53e
cmp edx, eax
jge 0x49e424
mov ecx, dword [esp + 0x15c]
mov ebx, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x49e505
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x49e40d
test dl, 0x20
jne 0x49e36a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x49e409
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x49e389
and edx, 0xf
mov edi, 3
shl edx, 6
or ecx, edx
jmp 0x49e3ff
and eax, 0x3f
test dl, 8
jne 0x49e3a9
and edx, 7
mov edi, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x49e3ff
test dl, 4
jne 0x49e3d2
and edx, 3
mov edi, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x49e3ff
and edx, edi
mov edi, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov eax, dword [esp + 0x24]
cmp edx, 0xff
jbe 0x49e4cd
cmp dword [esp + 0x18], 0x6e
jne 0x49e4ed
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov eax, esi
dec esi
cmp eax, ebp
jbe case.0x4a7831.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x49e48d
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x49e483
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x49e470
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x1c]
test byte [edx + ecx], al
je 0x49e424
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
add esi, edi
inc edx
mov dword [esp + 0x14], edx
cmp edx, eax
jl 0x49e330
jmp 0x49e424
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49e42b
cmp esi, dword [edx + 0x84]
jbe 0x49e42b
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49e42b
cmp edx, eax
jge 0x49e57f
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x49e5f0
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
test byte [edx + ebx], al
je 0x49e57f
mov eax, dword [esp + 0x14]
inc esi
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x24]
jl 0x49e550
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebp
jb case.0x4a7831.14
nop dword [eax]
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
dec esi
cmp esi, ebp
jae 0x49e5a0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49e586
cmp esi, dword [edx + 0x84]
jbe 0x49e586
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49e586
mov edi, dword [esp + 0x150]
movzx ecx, byte [edi + 1]
lea ebx, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x28], ebx
add edi, ecx
mov dword [esp + 0x150], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x49e661
movzx eax, byte [eax + 0x4a81c0]
jmp dword [eax*4 + 0x4a81b8]
lea eax, [edx - 0x62]
inc edi
mov dword [esp + 0x150], edi
cmp eax, 8
jae 0x49e683
mov ecx, eax
and ecx, 1
mov dword [esp + 0x2c], ecx
jmp 0x49e68b
mov dword [esp + 0x34], 1
movsx ebp, byte [eax + 0x4ea628]
movsx eax, byte [eax + 0x4ea634]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x49e702
mov dword [esp + 0x14], getpeername
jmp 0x49e702
movzx ebp, byte [edi + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x2c], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 3]
sete al
shl ebp, 8
mov dword [esp + 0x34], eax
movzx eax, byte [edi + 2]
or ebp, eax
shl ecx, 8
movzx eax, byte [edi + 4]
or ecx, eax
mov eax, closesocket
cmove ecx, eax
add edi, 5
mov dword [esp + 0x14], ecx
mov dword [esp + 0x150], edi
jmp 0x49e702
mov dword [esp + 0x14], 1
mov ebp, 1
mov edi, 1
cmp ebp, edi
jl 0x49e822
nop
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx edx, byte [esi]
inc esi
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x49e806
cmp edx, 0xc0
jb 0x49e806
test dl, 0x20
jne 0x49e755
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x49e806
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49e77c
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x49e802
test dl, 8
jne 0x49e79f
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x49e802
test dl, 4
jne 0x49e7ce
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x49e802
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [esp + 0x10]
push ecx
push ebx
push edx
call fcn.004ab180
add esp, 0xc
test eax, eax
je case.0x4a7831.14
inc edi
cmp edi, ebp
jle 0x49e710
mov eax, dword [esp + 0x14]
cmp ebp, eax
je 0x49ab4f
cmp dword [esp + 0x2c], 0
jne 0x4a53d4
mov ebx, esi
cmp ebp, eax
jge 0x49e956
nop dword [eax]
nop word [eax + eax]
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x49ea0a
mov ecx, dword [esp + 0x10]
mov edi, 1
movzx edx, byte [esi]
test ecx, ecx
je 0x49e937
cmp edx, 0xc0
jb 0x49e937
test dl, 0x20
jne 0x49e896
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x49e92f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x49e8b5
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x49e92b
and eax, 0x3f
test dl, 8
jne 0x49e8d5
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x49e92b
test dl, 4
jne 0x49e8fe
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x49e92b
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl edx, 6
or edx, eax
push ecx
push dword [esp + 0x2c]
push edx
call fcn.004ab180
add esp, 0xc
test eax, eax
je 0x49e956
inc ebp
add esi, edi
cmp ebp, dword [esp + 0x14]
jl 0x49e850
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov eax, esi
dec esi
cmp eax, ebx
jbe case.0x4a7831.14
cmp dword [esp + 0x10], 0
je 0x49e9ca
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x49e9ca
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x49e9c0
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x49e9a2
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
cmp dword [edx + 0x88], 0
je 0x49e95d
cmp esi, dword [edx + 0x84]
jbe 0x49e95d
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49e95d
test ebp, ebp
je 0x49ead1
mov eax, dword [esp + 0x150]
mov edx, 1
inc eax
mov ecx, edx
mov dword [esp + 0x150], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x49ea93
test al, 0x20
jne 0x49ea6d
lea edx, [ecx + 1]
jmp 0x49ea91
test al, 0x10
jne 0x49ea78
mov edx, 3
jmp 0x49ea91
test al, 8
jne 0x49ea83
mov edx, 4
jmp 0x49ea91
mov edx, 5
test al, 4
je 0x49ea91
mov edx, 6
mov ecx, edx
mov ebx, dword [esp + 0x15c]
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x4a556b
mov edi, dword [esp + 0x150]
mov cl, byte [edi]
dec edx
mov al, byte [esi]
inc edi
inc esi
mov dword [esp + 0x150], edi
cmp cl, al
jne case.0x4a7831.14
test edx, edx
jg 0x49eab0
mov edx, ebx
jmp 0x49ab61
mov eax, dword [edx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x4a557f
mov edi, dword [esp + 0x150]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.0x4a7831.14
add edi, 2
mov dword [esp + 0x150], edi
jmp 0x49ab70
cmp esi, dword [edx + 0x78]
jae 0x4a557f
mov edi, dword [esp + 0x150]
test ebp, ebp
je 0x49edc4
movzx ebx, byte [edi + 1]
inc edi
mov dword [esp + 0x2c], 1
mov edx, ebx
mov dword [esp + 0x150], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edx
cmp ebx, 0xc0
jb 0x49ec16
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x49eb64
mov eax, ebx
mov dword [esp + 0x2c], 2
and eax, 0x1f
shl eax, 6
jmp 0x49ec08
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x49eb82
and ebx, 0xf
mov dword [esp + 0x2c], 3
shl ebx, 6
or ecx, ebx
jmp 0x49ec02
and eax, 0x3f
test bl, 8
jne 0x49eba5
and ebx, 7
mov dword [esp + 0x2c], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x49ec02
test bl, 4
jne 0x49ebd1
and ebx, 3
mov dword [esp + 0x2c], 5
shl ebx, 6
or ecx, ebx
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]
jmp 0x49ec02
and ebx, 1
mov dword [esp + 0x2c], 6
shl ebx, 6
or ecx, ebx
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
movzx eax, byte [edi + 5]
shl ecx, 6
and eax, 0x3f
mov ebx, ecx
or ebx, eax
mov edx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edx
cmp edx, 0x80
jae 0x49ec4c
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov edx, dword [eax + 0x38]
mov al, byte [edx + ebx]
cmp al, byte [ecx + edx]
jne case.0x4a7831.14
mov edx, dword [esp + 0x15c]
inc edi
mov dword [esp + 0x150], edi
inc esi
jmp 0x49ab61
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x28], ebx
cmp ebx, 0xc0
jb 0x49ed6b
test bl, 0x20
jne 0x49ec7d
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x49ed6b
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x49eca8
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x49ed6b
lea edx, [esi + 2]
test bl, 8
jne 0x49ecdc
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x49ed60
lea edi, [esi + 3]
test bl, 4
jne 0x49ed18
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x49ed60
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x28]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x150]
add edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x150], edi
cmp eax, ebx
je 0x49b9d0
mov eax, eax
test eax, eax
jns 0x49ed8b
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
mov eax, dword [eax*8 + 0x4cf864]
add eax, edx
cmp ebx, eax
jne case.0x4a7831.14
mov edx, dword [esp + 0x15c]
jmp 0x49ab61
mov edx, dword [edx + 0x38]
movzx eax, byte [edi + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x4a7831.14
mov edx, dword [esp + 0x15c]
inc esi
add edi, 2
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov ebx, dword [esp + 0x150]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edx, ebp
mov dword [esp + 0x150], ebx
mov dword [esp + 0x14], edx
mov ecx, ebx
jmp 0x49ef1d
mov dword [esp + 0x34], 1
mov ebx, dword [esp + 0x150]
xor edx, edx
mov dword [esp + 0x14], edx
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x1c], ebp
cmp cl, 0x28
je 0x49ee50
mov dword [esp + 0x2c], edx
cmp cl, 0x35
jne 0x49ee58
mov dword [esp + 0x2c], 1
add ebx, 3
mov dword [esp + 0x150], ebx
mov ecx, ebx
jmp 0x49ef21
mov ebx, dword [esp + 0x150]
xor edx, edx
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], edx
mov ecx, ebx
mov dword [esp + 0x150], ebx
jmp 0x49ef18
mov ebx, dword [esp + 0x150]
mov edx, 1
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], edx
mov ecx, ebx
mov dword [esp + 0x150], ebx
jmp 0x49ef18
mov ebx, dword [esp + 0x150]
xor edx, edx
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], edx
mov ecx, ebx
mov dword [esp + 0x150], ebx
lea ebp, [edx + 1]
jmp 0x49ef1d
mov ecx, dword [esp + 0x150]
cmp edi, 0x2e
mov ebx, edi
sbb eax, eax
inc ecx
and eax, 0xfffffff3
mov dword [esp + 0x150], ecx
add eax, 0x2e
sub ebx, eax
mov eax, ebx
and ebx, 1
mov dword [esp + 0x2c], ebx
mov ebx, ecx
movsx ebp, byte [eax + 0x4ea634]
movsx edx, byte [eax + 0x4ea628]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ebp
test ebp, ebp
jne 0x49ef21
mov ebp, closesocket
mov dword [esp + 0x1c], ebp
cmp dword [esp + 0x10], 0
je 0x49f435
mov dword [esp + 0x38], ebx
mov eax, 1
movzx ebx, byte [ebx]
mov ecx, eax
mov dword [esp + 0x24], eax
mov edx, ebx
cmp ebx, 0xc0
jb 0x49f0ac
test bl, 0x20
jne 0x49ef7e
mov eax, dword [esp + 0x150]
and ebx, 0x1f
shl ebx, 6
mov dword [esp + 0x24], 2
movzx edx, byte [eax + 1]
and edx, 0x3f
or edx, ebx
add eax, 2
mov dword [esp + 0x150], eax
jmp 0x49f0bc
test bl, 0x10
jne 0x49efbc
mov ecx, dword [esp + 0x150]
and ebx, 0xf
shl ebx, 6
mov dword [esp + 0x24], 3
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
add ecx, 3
mov dword [esp + 0x150], ecx
jmp 0x49f0bc
test bl, 8
jne 0x49f006
mov ecx, dword [esp + 0x150]
and ebx, 7
shl ebx, 6
mov dword [esp + 0x24], 4
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
mov dword [esp + 0x150], ecx
jmp 0x49f0bc
test bl, 4
jne 0x49f05a
mov ecx, dword [esp + 0x150]
and ebx, 3
mov eax, 5
shl ebx, 6
mov dword [esp + 0x24], eax
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
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
add ecx, 5
mov dword [esp + 0x150], ecx
jmp 0x49f0bc
mov edx, dword [esp + 0x150]
and ebx, eax
shl ebx, 6
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 6
mov dword [esp + 0x24], eax
mov edx, ebx
mov ecx, eax
add dword [esp + 0x150], eax
cmp ecx, 1
jbe 0x49f442
cmp edi, 0x2e
jb 0x49f0fc
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
mov eax, dword [eax*8 + 0x4cf864]
add eax, edx
cmp eax, edx
je 0x49f0fc
lea ecx, [esp + 0x58]
push ecx
push eax
call fcn.004aae20
add esp, 8
jmp 0x49f0fe
xor eax, eax
mov ecx, dword [esp + 0x14]
mov ebx, 1
mov dword [esp + 0x18], eax
cmp ecx, ebx
jl 0x49f21f
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x24]
mov eax, dword [eax + 0x78]
mov ebp, eax
mov dword [esp + 0x20], eax
sub ebp, edi
nop dword [eax]
cmp esi, ebp
ja 0x49f192
mov edx, dword [esp + 0x38]
mov ecx, esi
sub edi, 4
jb 0x49f151
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49f156
add ecx, 4
add edx, 4
sub edi, 4
jae 0x49f140
cmp edi, 0xfffffffc
je 0x49f183
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49f18e
cmp edi, 0xfffffffd
je 0x49f183
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49f18e
cmp edi, 0xfffffffe
je 0x49f183
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49f18e
cmp edi, 0xffffffff
je 0x49f183
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49f18e
mov edi, dword [esp + 0x24]
add esi, edi
jmp 0x49f20e
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
test edi, edi
jle 0x4a55ab
sub eax, edi
cmp esi, eax
ja 0x4a55ab
lea edx, [esp + 0x58]
mov ecx, esi
sub edi, 4
jb 0x49f1c4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49f1c9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x49f1b3
cmp edi, 0xfffffffc
je 0x49f206
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a55ab
cmp edi, 0xfffffffd
je 0x49f206
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a55ab
cmp edi, 0xfffffffe
je 0x49f206
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a55ab
cmp edi, 0xffffffff
je 0x49f206
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4a55ab
add esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
inc ebx
mov eax, dword [esp + 0x20]
cmp ebx, ecx
jle 0x49f130
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x158]
cmp ecx, ebp
je 0x49ab3b
cmp dword [esp + 0x2c], 0
jne 0x4a55b7
mov ebx, esi
mov dword [esp + 0x20], ebx
cmp ecx, ebp
jge 0x49f358
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
mov ebx, ebp
mov eax, dword [esp + 0x24]
sub ebx, eax
nop dword [eax]
cmp esi, ebx
ja 0x49f2c3
mov edx, dword [esp + 0x38]
mov edi, eax
mov ecx, esi
sub edi, 4
jb 0x49f286
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49f28b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x49f271
mov eax, dword [esp + 0x24]
cmp edi, 0xfffffffc
je 0x49f2bc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49f2c3
cmp edi, 0xfffffffd
je 0x49f2b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49f2c3
cmp edi, 0xfffffffe
je 0x49f2b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49f2c3
cmp edi, 0xffffffff
je 0x49f2b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49f2c3
mov eax, dword [esp + 0x24]
add esi, eax
jmp 0x49f341
mov edi, dword [esp + 0x18]
test edi, edi
jle 0x49f3fb
mov eax, ebp
sub eax, edi
cmp esi, eax
ja 0x49f3fb
lea edx, [esp + 0x58]
mov ecx, esi
sub edi, 4
jb 0x49f2f7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49f2fc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x49f2e6
cmp edi, 0xfffffffc
je 0x49f339
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49f3fb
cmp edi, 0xfffffffd
je 0x49f339
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49f3fb
cmp edi, 0xfffffffe
je 0x49f339
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49f3fb
cmp edi, 0xffffffff
je 0x49f339
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49f3fb
add esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x1c]
jl 0x49f260
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebx
jbe 0x49f3c8
nop
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x49f3bd
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x49f3b3
mov edx, dword [esp + 0x15c]
cmp esi, ebx
ja 0x49f370
mov edi, dword [esp + 0x150]
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx]
mov ebp, dword [ecx + 0x4c]
mov dword [esp + 0x10], ebp
cmp eax, dword [ecx + 4]
jb 0x49aaf0
pop esi
pop ebp
inc eax
pop ebx
mov dword [ecx], eax
mov eax, 0xfffffff8
pop edi
add esp, 0x138
ret
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49f42c
cmp esi, dword [edx + 0x78]
jb 0x49f42c
cmp esi, dword [edx + 0x84]
jbe 0x49f42c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov ebx, dword [esp + 0x20]
jmp 0x49f35f
movzx ebx, byte [ebx]
lea eax, [ecx + 1]
mov dword [esp + 0x150], eax
cmp edi, 0x2e
mov ecx, 1
mov edi, dword [esp + 0x14]
jb 0x49f56b
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp edi, 1
jl 0x49f494
mov edx, dword [ecx + 0x78]
mov ecx, 1
nop
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
cmp ebx, eax
je 0x49f487
cmp ebp, eax
jne case.0x4a7831.14
inc ecx
inc esi
cmp ecx, edi
jle 0x49f470
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x1c]
cmp edi, edx
je 0x49ab4f
cmp dword [esp + 0x2c], 0
jne 0x4a576c
mov dword [esp + 0x28], esi
cmp edi, edx
jge 0x49f4cf
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x49f53a
movzx eax, byte [esi]
cmp ebx, eax
je 0x49f4c9
cmp ebp, eax
jne 0x49f4cf
inc edi
inc esi
cmp edi, edx
jl 0x49f4b6
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
mov ebx, dword [esp + 0x28]
cmp esi, ebx
je 0x49f3c8
nop dword [eax]
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
dec esi
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
cmp esi, ebx
jne 0x49f4f0
jmp 0x49f3c8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49f4d6
cmp esi, dword [edx + 0x84]
jbe 0x49f4d6
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49f4d6
cmp edi, 1
jl 0x49f599
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x4a7831.14
inc ecx
cmp ecx, edi
jle 0x49f580
cmp edi, ebp
je 0x49ab4f
cmp dword [esp + 0x2c], 0
jne 0x4a5823
mov edx, dword [esp + 0x1c]
mov ebp, esi
cmp edi, edx
jge 0x49f5d5
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x49f63a
movzx eax, byte [esi]
cmp ebx, eax
jne 0x49f5d5
inc edi
inc esi
cmp edi, edx
jl 0x49f5c0
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebp
je 0x49f3c8
nop
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
dec esi
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
cmp esi, ebp
jne 0x49f5f0
jmp 0x49f3c8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49f5dc
cmp esi, dword [edx + 0x84]
jbe 0x49f5dc
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49f5dc
cmp esi, dword [edx + 0x78]
jae 0x4a557f
mov eax, dword [esp + 0x150]
test ebp, ebp
je 0x49f923
movzx edx, byte [eax + 1]
lea ebx, [eax + 2]
mov dword [esp + 0x14], edx
mov dword [esp + 0x150], ebx
cmp edx, 0xc0
jb 0x49f776
test dl, 0x20
jne 0x49f6be
movzx eax, byte [ebx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc ebx
mov dword [esp + 0x14], edx
jmp 0x49f76f
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49f6e5
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add ebx, 2
jmp 0x49f76b
test dl, 8
jne 0x49f708
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 3
jmp 0x49f76b
test dl, 4
jne 0x49f737
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 4
jmp 0x49f76b
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add ebx, 5
mov dword [esp + 0x14], ecx
mov dword [esp + 0x150], ebx
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x28], ebx
cmp ebx, 0xc0
jb 0x49f88e
mov al, byte [esi]
test bl, 0x20
jne 0x49f7a5
and ebx, 0x1f
movzx eax, al
shl ebx, 6
and eax, 0x3f
inc esi
or ebx, eax
jmp 0x49f88e
lea ecx, [esi + 1]
test bl, 0x10
jne 0x49f7ce
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x49f88e
lea edx, [esi + 2]
test bl, 8
jne 0x49f802
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x49f88e
lea edi, [esi + 3]
test bl, 4
jne 0x49f842
movzx ebx, al
add esi, 4
mov eax, dword [esp + 0x28]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x49f88a
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x28]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
cmp edi, 0x1f
jne 0x49f8b0
cmp dword [esp + 0x14], ebx
je case.0x4a7831.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
jmp 0x49ab61
mov edx, dword [esp + 0x14]
cmp edx, 0x7f
jbe 0x49f8f2
mov eax, edx
test eax, eax
jns 0x49f8c2
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x49f8dd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
mov eax, dword [eax*8 + 0x4cf864]
add eax, edx
jmp 0x49f900
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.0x4a7831.14
cmp eax, ebx
je case.0x4a7831.14
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x150]
jmp 0x49ab61
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.0x4a7831.14
cmp edi, 0x20
jne 0x49f94e
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x4a7831.14
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x15c]
add edi, 2
mov dword [esp + 0x150], edi
jmp 0x49ab70
mov ebx, dword [esp + 0x150]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edi, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], edi
mov ecx, ebx
jmp 0x49faa1
mov ebx, dword [esp + 0x150]
xor edi, edi
mov dword [esp + 0x1c], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x14], ebp
cmp cl, 0x42
je 0x49f9bf
mov dword [esp + 0x2c], edi
cmp cl, 0x4f
jne 0x49f9c7
mov dword [esp + 0x2c], 1
add ebx, 3
mov ecx, ebx
jmp 0x49faa1
mov ebx, dword [esp + 0x150]
xor edi, edi
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], edi
mov ecx, ebx
jmp 0x49fa99
mov ebx, dword [esp + 0x150]
mov edi, 1
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], edi
mov ecx, ebx
jmp 0x49fa99
mov ebx, dword [esp + 0x150]
xor edi, edi
inc ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], edi
mov ecx, ebx
mov dword [esp + 0x14], 1
jmp 0x49faa1
mov ebx, dword [esp + 0x150]
xor edi, edi
mov dword [esp + 0x34], 1
mov dword [esp + 0x1c], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov dword [esp + 0x14], ebp
mov ecx, ebx
jmp 0x49faa1
mov ebx, dword [esp + 0x150]
cmp edi, 0x48
mov edx, edi
sbb eax, eax
inc ebx
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [esp + 0x2c], edx
movsx edi, byte [eax + 0x4ea628]
movsx eax, byte [eax + 0x4ea634]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
test eax, eax
jne 0x49faa1
mov dword [esp + 0x14], getpeername
movzx ebx, byte [ebx]
lea ebp, [ecx + 1]
mov eax, dword [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x150], ebp
test eax, eax
je 0x49fba2
cmp ebx, 0xc0
jb 0x49fba2
movzx ecx, byte [ebp]
and ecx, 0x3f
test bl, 0x20
jne 0x49faea
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
or ebx, eax
inc ebp
jmp 0x49fb91
movzx eax, byte [ebp + 1]
and eax, 0x3f
test bl, 0x10
jne 0x49fb0b
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add ebp, 2
jmp 0x49fb91
test bl, 8
jne 0x49fb2e
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 3
jmp 0x49fb91
test bl, 4
jne 0x49fb5d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 4
jmp 0x49fb91
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 5
mov eax, dword [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x150], ebp
cmp dword [esp + 0x18], 0x48
jb 0x4a005b
test eax, eax
je 0x49fbe6
cmp edx, 0x7f
jbe 0x49fbe6
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [eax*8 + 0x4cf864]
add ebp, edx
jmp 0x49fbf4
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp dword [esp + 0x10], 0
mov edx, 1
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], edx
je 0x49fd4d
cmp edi, edx
jl 0x49fd76
mov eax, dword [esp + 0x24]
nop dword [eax + eax]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x18], ebx
cmp ebx, 0xc0
jb 0x49fd2a
test bl, 0x20
jne 0x49fc56
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x49fd26
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x49fc7c
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x49fd1a
lea edx, [esi + 2]
test bl, 8
jne 0x49fca2
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x49fd16
lea edi, [esi + 3]
test bl, 4
jne 0x49fcd3
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x49fd12
mov ebp, dword [esp + 0x18]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x18], ebp
mov ebx, ebp
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x24]
cmp eax, ebx
je case.0x4a7831.14
mov ebp, dword [esp + 0x28]
cmp ebp, ebx
je case.0x4a7831.14
inc edx
mov dword [esp + 0x20], edx
cmp edx, edi
jle 0x49fc20
jmp 0x49fd76
cmp edi, 1
jl 0x49fd76
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x4a50ff
movzx eax, byte [esi]
cmp ebx, eax
je case.0x4a7831.14
cmp ebp, eax
je case.0x4a7831.14
inc edx
inc esi
cmp edx, edi
jle 0x49fd55
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
cmp edi, eax
je 0x49ab3b
cmp dword [esp + 0x2c], 0
jne 0x4a58fb
cmp dword [esp + 0x10], 0
mov ebx, esi
je 0x49ff93
cmp edi, eax
jge 0x49fedc
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x49ff5a
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x49febf
test dl, 0x20
jne 0x49fdf1
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x49febf
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x49fe1b
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x49febb
test dl, 8
jne 0x49fe47
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x49febb
test dl, 4
jne 0x49fe7f
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x49febb
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [esp + 0x24]
cmp ecx, edx
je 0x49fedc
cmp ebp, edx
je 0x49fedc
add esi, eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x14]
jl 0x49fdb7
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebx
jbe 0x49f3c8
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x49ff4a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x49ff40
mov edx, dword [esp + 0x15c]
cmp esi, ebx
ja 0x49fef6
jmp 0x49f3c8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49fee3
cmp esi, dword [edx + 0x84]
jbe 0x49fee3
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49fee3
cmp edi, eax
jge 0x49ffc0
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4a002a
movzx eax, byte [esi]
cmp edx, eax
je 0x49ffc0
cmp ebp, eax
je 0x49ffc0
inc edi
inc esi
cmp edi, dword [esp + 0x14]
jl 0x49ffa5
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebx
je 0x49f3c8
nop word [eax + eax]
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
dec esi
cmp esi, ebx
jne 0x49ffe0
jmp 0x49f3c8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x49ffc7
cmp esi, dword [edx + 0x84]
jbe 0x49ffc7
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x49ffc7
mov edx, 1
mov dword [esp + 0x20], edx
test eax, eax
je 0x4a01ab
mov ebp, dword [esp + 0x24]
cmp edi, edx
jl 0x4a01e1
mov eax, dword [esp + 0x15c]
nop
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x18], ebx
cmp ebx, 0xc0
jb 0x4a0194
test bl, 0x20
jne 0x4a00ba
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x4a018d
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a00e0
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
add esi, 2
or ebx, edx
shl ebx, 6
jmp 0x4a0184
movzx eax, al
lea edx, [esi + 2]
and eax, 0x3f
test bl, 8
jne 0x4a010c
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x4a0184
lea edi, [esi + 3]
test bl, 4
jne 0x4a013d
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x4a0180
mov ebp, dword [esp + 0x18]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x18], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x15c]
cmp ebp, ebx
je case.0x4a7831.14
inc edx
mov dword [esp + 0x20], edx
cmp edx, edi
jle 0x4a0080
jmp 0x4a01dd
cmp edi, 1
jl 0x4a025a
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x78]
nop
cmp esi, ecx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x4a7831.14
inc edx
cmp edx, edi
jle 0x4a01c0
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x158]
cmp edi, ecx
je 0x49ab3b
cmp dword [esp + 0x2c], 0
jne 0x4a5b65
mov ebx, esi
test eax, eax
je 0x4a03f6
cmp edi, ecx
jge 0x4a0345
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x4a03bd
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x4a032e
test dl, 0x20
jne 0x4a0260
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4a032e
mov ebp, dword [esp + 0x24]
jmp 0x4a01e1
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4a028a
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x4a032a
test dl, 8
jne 0x4a02b6
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x4a032a
test dl, 4
jne 0x4a02ee
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x4a032a
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [esp + 0x14]
cmp ebp, edx
je 0x4a0345
add esi, eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, ecx
jl 0x4a0220
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebx
jbe 0x49f3c8
nop
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x4a03ad
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4a03a3
mov edx, dword [esp + 0x15c]
cmp esi, ebx
ja 0x4a0360
jmp 0x49f3c8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a034c
cmp esi, dword [edx + 0x84]
jbe 0x4a034c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x4a034c
mov edx, dword [esp + 0x15c]
cmp edi, ecx
jge 0x4a043e
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4a0419
movzx eax, byte [esi]
cmp ebp, eax
je 0x4a043e
inc edi
inc esi
cmp edi, dword [esp + 0x14]
jl 0x4a0404
jmp 0x4a043e
cmp dword [edx + 0x88], 0
je 0x4a043e
cmp esi, dword [edx + 0x84]
jbe 0x4a043e
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebx
je 0x49f3c8
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
dec esi
cmp esi, ebx
jne 0x4a0451
jmp 0x49f3c8
mov edi, dword [esp + 0x150]
mov dword [esp + 0x2c], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov ebx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4a05c4
mov edi, dword [esp + 0x150]
xor ebx, ebx
mov dword [esp + 0x18], 0
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [esp + 0x1c], edx
sete bl
add edi, 3
mov dword [esp + 0x2c], ebx
mov ecx, edi
xor ebx, ebx
jmp 0x4a05c4
mov edi, dword [esp + 0x150]
xor ebx, ebx
inc edi
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4a05bc
mov edi, dword [esp + 0x150]
mov ebx, 1
inc edi
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4a05bc
mov edi, dword [esp + 0x150]
xor ebx, ebx
inc edi
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], ebx
mov ecx, edi
mov dword [esp + 0x1c], 1
jmp 0x4a05c4
mov edi, dword [esp + 0x150]
xor ebx, ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [esp + 0x1c], ecx
mov ecx, edi
jmp 0x4a05c4
lea ebx, [edi - 0x55]
mov edi, dword [esp + 0x150]
mov eax, ebx
inc edi
and ebx, 1
mov ecx, edi
mov dword [esp + 0x2c], ebx
movsx ebx, byte [eax + 0x4ea628]
movsx eax, byte [eax + 0x4ea634]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4a05c4
mov dword [esp + 0x1c], getpeername
movzx ebp, byte [edi]
lea edx, [ecx + 1]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x150], edx
cmp ebp, 0x10
je 0x4a05e4
cmp ebp, 0xf
je 0x4a05e4
or eax, 0xffffffff
jmp 0x4a0607
mov cl, byte [edx]
xor eax, eax
cmp ebp, 0xf
sete al
mov dword [esp + 0x30], eax
lea eax, [edx + 1]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x3c], edx
movzx eax, cl
mov dword [esp + 0x28], eax
test ebx, ebx
jle 0x4a0691
test eax, eax
js 0x4a1441
cmp eax, 0xa
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a81cc]
cmp dword [esp + 0x30], 0
jne case.0x4a7831.14
mov ecx, 1
cmp ebx, ecx
jl 0x4a0691
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
test edi, edi
je 0x4a068c
cmp eax, 0xc0
jb 0x4a068c
test al, 0x20
jne 0x4a066e
inc esi
jmp 0x4a068c
test al, 0x10
jne 0x4a0677
add esi, 2
jmp 0x4a068c
test al, 8
jne 0x4a0680
add esi, 3
jmp 0x4a068c
test al, 4
jne 0x4a0689
add esi, 4
jmp 0x4a068c
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x4a0650
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov ecx, 1
mov dword [esp + 0x20], ecx
cmp ebx, ecx
jl 0x4a0691
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a07ab
cmp ebx, 0xc0
jb 0x4a07ab
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a06f4
inc esi
and ebp, 0x1f
jmp 0x4a07a3
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a0714
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a079f
lea edx, [esi + 2]
test bl, 8
jne 0x4a0739
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a079f
lea edi, [esi + 3]
test bl, 4
jne 0x4a0769
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a079f
mov ebp, dword [esp + 0x38]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp eax, 9
je 0x4a07e2
cmp eax, 5
je 0x4a07e2
cmp eax, 8
je 0x4a07e2
xor eax, eax
jmp 0x4a07e7
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, ebx
jle 0x4a06b0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
mov dword [esp + 0x20], edx
cmp ebx, edx
jl 0x4a0691
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a0930
cmp ebx, 0xc0
jb 0x4a0930
mov al, byte [esi]
test bl, 0x20
jne 0x4a0874
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x4a0928
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a0897
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a0928
movzx ebp, al
lea edx, [esi + 2]
and ebp, 0x3f
test bl, 8
jne 0x4a08c0
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a0924
lea edi, [esi + 3]
test bl, 4
jne 0x4a08ee
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a0924
mov eax, dword [esp + 0x38]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x3c]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp dword [eax*4 + 0x4e1e88], ebx
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x20], edx
cmp edx, ebx
jle 0x4a0830
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
mov dword [esp + 0x20], edx
cmp ebx, edx
jl 0x4a0691
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a0a9b
cmp ebx, 0xc0
jb 0x4a0a9b
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a09e4
inc esi
and ebp, 0x1f
jmp 0x4a0a93
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a0a04
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a0a93
lea edx, [esi + 2]
test bl, 8
jne 0x4a0a29
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a0a8f
lea edi, [esi + 3]
test bl, 4
jne 0x4a0a59
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a0a8f
mov ebp, dword [esp + 0x38]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x20], edx
cmp edx, ebx
jle 0x4a09a0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
mov dword [esp + 0x20], edx
cmp ebx, edx
jl 0x4a0691
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a0c1e
cmp ebx, 0xc0
jb 0x4a0c1e
mov al, byte [esi]
test bl, 0x20
jne 0x4a0b5c
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x4a0c1e
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a0b7d
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x4a0c16
lea edx, [esi + 2]
test bl, 8
jne 0x4a0ba8
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a0c12
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x4a0bdc
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a0c12
mov eax, dword [esp + 0x38]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf860]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x20], edx
cmp edx, ebx
jle 0x4a0b10
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov ecx, 1
mov dword [esp + 0x20], ecx
cmp ebx, ecx
jl 0x4a0691
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a0da0
cmp ebx, 0xc0
jb 0x4a0da0
mov al, byte [esi]
test bl, 0x20
jne 0x4a0cd4
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x4a0d98
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a0cf7
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a0d94
lea edx, [esi + 2]
test bl, 8
jne 0x4a0d22
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a0d94
lea edi, [esi + 3]
test bl, 4
jne 0x4a0d58
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a0d94
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x38]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x4a0dd9
cmp eax, 3
je 0x4a0dd9
xor eax, eax
jmp 0x4a0dde
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, ebx
jle 0x4a0c90
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edi, 1
cmp ebx, edi
jl 0x4a0691
mov eax, dword [esp + 0x15c]
mov ebp, dword [esp + 0x18]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x4a50ff
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ecx, edx
je 0x4a0f0f
cmp edx, 0xc0
jb 0x4a0f0f
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a0e66
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x4a0f0d
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a0e87
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a0f0d
test dl, 8
jne 0x4a0eaa
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a0f0d
test dl, 4
jne 0x4a0ed9
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a0f0d
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, edx
cmp edx, 0x180e
ja 0x4a0f4e
je case.0x4a0f6a.8192
cmp edx, 0x85
ja 0x4a0f3e
je case.0x4a0f6a.8192
cmp edx, 9
jb case.0x4a0f6a.8203
cmp edx, 0xd
jbe case.0x4a0f6a.8192
cmp edx, 0x20
jmp 0x4a0f7f
cmp edx, 0xa0
je case.0x4a0f6a.8192
cmp edx, 0x1680
jmp 0x4a0f7f
cmp edx, 0x202f
ja 0x4a0f71
je case.0x4a0f6a.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4a0f6a.8203
movzx eax, byte [edx + 0x4a8200]
jmp dword [eax*4 + 0x4a81f8]
cmp edx, 0x205f
je case.0x4a0f6a.8192
cmp edx, 0x3000
je case.0x4a0f6a.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp dword [eax*4 + 0x4e1e88], 6
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
jmp 0x4a0fc9
cmp dword [esp + 0x30], 0
jne case.0x4a7831.14
inc edi
cmp edi, ebp
jle 0x4a0e24
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
mov dword [esp + 0x20], edx
cmp ebx, edx
jl 0x4a0691
nop word [eax + eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a10fa
cmp ebx, 0xc0
jb 0x4a10fa
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x4a104c
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x4a10fa
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a1067
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x4a10f2
lea edx, [esi + 2]
test bl, 8
jne 0x4a108a
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a10ee
lea edi, [esi + 3]
test bl, 4
jne 0x4a10b8
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a10ee
mov eax, dword [esp + 0x38]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x4a113a
cmp eax, 3
je 0x4a113a
cmp ebp, 0x5f
je 0x4a113a
xor eax, eax
jmp 0x4a113f
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x20], edx
cmp edx, ebx
jle 0x4a1000
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov ebx, 1
cmp dword [esp + 0x18], ebx
jl 0x4a0fd2
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
cmp esi, ebp
jae 0x4a50ff
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov edi, edx
je 0x4a126e
cmp edx, 0xc0
jb 0x4a126e
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a11c5
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x4a126c
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a11e6
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a126c
test dl, 8
jne 0x4a1209
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a126c
test dl, 4
jne 0x4a1238
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a126c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax*4 + 0x4cf720]
lea eax, [eax*4 + 0x4cf720]
cmp edi, ecx
jb 0x4a1291
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a12bb
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a1284
cmp dword [esp + 0x30], 0
je case.0x4a7831.14
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x4a1183
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
cmp dword [esp + 0x30], 0
jne case.0x4a7831.14
jmp 0x4a129c
mov ecx, 1
mov dword [esp + 0x20], ecx
cmp ebx, ecx
jl 0x4a0691
nop dword [eax]
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x38], ebx
je 0x4a13e6
cmp ebx, 0xc0
jb 0x4a13e6
test bl, 0x20
jne 0x4a132a
movzx ebp, byte [esi]
and ebx, 0x1f
and ebp, 0x3f
shl ebx, 6
or ebp, ebx
inc esi
jmp 0x4a13e6
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x4a134f
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a13da
lea edx, [esi + 2]
test bl, 8
jne 0x4a1374
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a13da
lea edi, [esi + 3]
test bl, 4
jne 0x4a13a4
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a13da
mov ebp, dword [esp + 0x38]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x20]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x4a1411
cmp ebp, 0x40
je 0x4a1411
cmp ebp, 0x60
je 0x4a1411
cmp ebp, 0xa0
jb 0x4a1405
cmp ebp, 0xd7ff
jbe 0x4a1411
cmp ebp, 0xe000
jae 0x4a1411
xor eax, eax
jmp 0x4a1416
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov ebx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, ebx
jle 0x4a12e0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
cmp ebp, 0x16
jne 0x4a1703
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x38], 1
cmp ebx, 1
jl 0x4a20bb
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx ebx, byte [esi]
inc esi
mov ecx, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x4a1571
cmp ebx, 0xc0
jb 0x4a1571
mov al, byte [esi]
test bl, 0x20
jne 0x4a14a8
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x4a1571
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a14c9
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x4a1565
lea edx, [esi + 2]
test bl, 8
jne 0x4a14f2
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a155e
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x4a1528
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a155e
mov ebp, dword [esp + 0x20]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x4d30e0]
movzx ebx, byte [eax*8 + 0x4cf862]
cmp edi, ebp
jae 0x4a16bc
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x4a1671
cmp edx, 0xc0
jb 0x4a1671
test dl, 0x20
jne 0x4a15d4
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4a1669
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a15f3
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4a1669
and eax, 0x3f
test dl, 8
jne 0x4a1613
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a1669
test dl, 4
jne 0x4a163c
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a1669
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4d30e0]
movzx ecx, byte [eax*8 + 0x4cf862]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4e1f00], eax
je 0x4a16b5
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jb 0x4a15a2
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a16e5
cmp esi, ebp
jb 0x4a16e5
cmp esi, dword [edx + 0x84]
jbe 0x4a16e5
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x38], eax
cmp eax, ebx
jle 0x4a1462
mov ebp, dword [esp + 0x14]
jmp 0x4a20bb
mov ecx, dword [esp + 0x10]
lea eax, [ebp - 6]
test ecx, ecx
je 0x4a2276
cmp eax, 0xf
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a822c]
mov ebp, dword [esp + 0x18]
mov ebx, 1
cmp ebp, ebx
jl 0x4a26ba
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x4a557f
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x4a1770
push dword [esp + 0x10]
push edi
push eax
push ecx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne case.0x4a7831.14
mov edx, dword [esp + 0x15c]
jmp 0x4a1794
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x4a1794
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x4a1794
cmp ecx, 1
je case.0x4a7831.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x4a7831.14
cmp dword [edx + 0x88], 0
je 0x4a17cb
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x4a17cb
cmp dword [edx + 0x18], 0
jne 0x4a17cb
cmp dword [edi], 2
jne 0x4a17cb
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x4a17cb
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x4a17e6
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a17e6
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x4a17d5
inc ebx
cmp ebx, ebp
jle 0x4a1733
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edi, 1
cmp ebx, edi
jl 0x4a26ae
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x18]
mov ebx, dword [ecx + 0x78]
nop
cmp esi, ebx
jae 0x4a58cf
mov edx, dword [ecx + 0x78]
inc esi
cmp esi, edx
jae 0x4a184e
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a1843
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x4a1832
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x15c]
inc edi
cmp edi, eax
jle 0x4a1820
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x4a7831.14
add esi, ebx
jmp 0x4a20bf
mov edx, dword [esp + 0x15c]
mov edi, 1
cmp ebx, edi
jl 0x4a20bf
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x4a557f
movzx edx, byte [esi]
inc esi
mov eax, esi
cmp edx, 0xc0
jb 0x4a1977
test dl, 0x20
jne 0x4a18c8
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x4a1975
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a18ef
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a1975
test dl, 8
jne 0x4a1912
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a1975
test dl, 4
jne 0x4a1941
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a1975
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, esi
cmp edx, 0xd
ja 0x4a199d
je 0x4a1988
cmp edx, 0xa
je 0x4a19c7
lea eax, [edx - 0xb]
jmp 0x4a19ab
cmp eax, ebx
jae 0x4a19c7
cmp byte [esi], 0xa
mov edx, dword [esp + 0x15c]
jne 0x4a19ce
lea esi, [eax + 1]
jmp 0x4a19ce
cmp edx, 0x85
je 0x4a19b4
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x68], 0
jne case.0x4a7831.14
jmp 0x4a19ce
mov edx, dword [esp + 0x15c]
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a1895
mov ebx, dword [esp + 0x18]
jmp 0x4a20bb
mov edi, 1
cmp ebx, edi
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x4a50ff
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x4a1ade
test dl, 0x20
jne 0x4a1a31
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x4a1ade
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a1a58
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a1ade
test dl, 8
jne 0x4a1a7b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a1ade
test dl, 4
jne 0x4a1aaa
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a1ade
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x180e
ja 0x4a1b10
je case.0x4a7831.14
cmp edx, 0xa0
ja 0x4a1b08
je case.0x4a7831.14
cmp edx, 9
je case.0x4a7831.14
cmp edx, 0x20
jmp 0x4a1b40
cmp edx, 0x1680
jmp 0x4a1b40
cmp edx, 0x205f
ja 0x4a1b3a
je case.0x4a7831.14
cmp edx, 0x2000
jb 0x4a1b46
cmp edx, 0x200a
jbe case.0x4a7831.14
cmp edx, 0x202f
jmp 0x4a1b40
cmp edx, 0x3000
je case.0x4a7831.14
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a1a00
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edi, 1
cmp ebx, edi
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x4a50ff
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x4a1c56
test dl, 0x20
jne 0x4a1ba9
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x4a1c56
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a1bd0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a1c56
test dl, 8
jne 0x4a1bf3
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a1c56
test dl, 4
jne 0x4a1c22
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a1c56
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x180e
ja 0x4a1c7c
je 0x4a1cae
cmp edx, 0xa0
ja 0x4a1c74
je 0x4a1cae
cmp edx, 9
je 0x4a1cae
cmp edx, 0x20
jmp 0x4a1ca8
cmp edx, 0x1680
jmp 0x4a1ca8
cmp edx, 0x205f
ja 0x4a1ca2
je 0x4a1cae
cmp edx, 0x2000
jb case.0x4a7831.14
cmp edx, 0x200a
jbe 0x4a1cae
cmp edx, 0x202f
jmp 0x4a1ca8
cmp edx, 0x3000
jne case.0x4a7831.14
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a1b78
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edi, 1
cmp ebx, edi
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x4a50ff
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x4a1dbe
test dl, 0x20
jne 0x4a1d11
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x4a1dbe
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a1d38
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a1dbe
test dl, 8
jne 0x4a1d5b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a1dbe
test dl, 4
jne 0x4a1d8a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a1dbe
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x85
ja 0x4a1dd6
je case.0x4a7831.14
cmp edx, 0xa
jb 0x4a1dea
cmp edx, 0xd
jmp 0x4a1de4
cmp edx, 0x2028
jb 0x4a1dea
cmp edx, 0x2029
jbe case.0x4a7831.14
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a1ce0
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x4a50ff
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x4a1f0d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x4a1e51
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x4a1f0d
test cl, 0x10
jne 0x4a1e72
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x4a1f0d
test cl, 8
jne 0x4a1e9c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x4a1f0d
test cl, 4
jne 0x4a1ed2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x4a1f0d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x4a1f1f
je 0x4a1f2e
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x4a1f28
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4a7831.14
inc edx
cmp edx, ebx
jle 0x4a1e20
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edi, 1
cmp ebx, edi
jl 0x4a26ae
mov ecx, dword [esp + 0x15c]
mov ebx, dword [ecx + 0x78]
nop word [eax + eax]
cmp esi, ebx
jae 0x4a58cf
movzx edx, byte [esi]
inc esi
mov eax, edx
cmp edx, 0xc0
jb 0x4a2045
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a1f95
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x4a203c
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a1fb6
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a203c
test dl, 8
jne 0x4a1fd9
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a203c
test dl, 4
jne 0x4a2008
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a203c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [esp + 0x15c]
mov eax, edx
cmp eax, 0x80
jae 0x4a2059
mov eax, dword [ecx + 0x40]
test byte [edx + eax], 4
jne case.0x4a7831.14
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a1f60
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x4a7831.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2088
mov edx, eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
cmp ebx, edi
je 0x49ab56
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x28]
jne 0x4a5dc7
mov ebp, esi
mov dword [esp + 0x2c], ebp
test eax, eax
js 0x4a3488
cmp eax, 0xa
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a826c]
mov edx, dword [esp + 0x15c]
mov edi, 1
cmp ebx, edi
jl 0x4a20bf
mov ebx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, ebx
jae 0x4a557f
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x4a2130
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x4a7831.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x4a2151
mov ecx, esi
nop word [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a2151
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x4a2140
mov edx, dword [esp + 0x15c]
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a2110
mov ebx, dword [esp + 0x18]
jmp 0x4a20bb
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x4a7831.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2180
jmp 0x4a20b9
mov edx, dword [esp + 0x15c]
mov edi, 1
cmp ebx, edi
jl 0x4a20bf
mov ebx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x4a557f
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x4a21f0
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a7831.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x4a2211
mov ecx, esi
nop word [eax + eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a2211
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x4a2200
mov edx, dword [esp + 0x15c]
inc edi
cmp edi, dword [esp + 0x18]
jle 0x4a21d0
mov ebx, dword [esp + 0x18]
jmp 0x4a20bb
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x4a7831.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2240
jmp 0x4a20b9
cmp eax, 0xf
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a8298]
mov edx, dword [esp + 0x18]
mov ebx, 1
cmp edx, ebx
jl 0x4a26aa
mov edi, dword [esp + 0x15c]
nop
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x4a7972
mov ecx, dword [edi + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x4a22d1
push 0
push edi
push eax
push ecx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne case.0x4a7831.14
mov edx, dword [esp + 0x18]
jmp 0x4a2307
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x4a2307
mov ebp, dword [esp + 0x15c]
mov al, byte [esi]
cmp al, byte [ebp + 0x34]
mov ebp, dword [esp + 0x14]
jne 0x4a2307
cmp ecx, 1
je case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je 0x4a2356
mov ecx, dword [esp + 0x15c]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x4a2352
mov eax, ecx
cmp dword [eax + 0x18], 0
jne 0x4a2356
cmp dword [edi], 2
jne 0x4a2356
mov al, byte [esi]
mov edi, ecx
cmp al, byte [edi + 0x34]
jne 0x4a2358
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x4a799f
jmp 0x4a2358
mov edi, ecx
jmp 0x4a2358
mov edi, eax
inc ebx
inc esi
cmp ebx, edx
jle 0x4a22a0
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x4a557f
add esi, ebx
jmp 0x4a20bf
mov ecx, 1
cmp ebx, ecx
jl 0x4a0691
mov edi, dword [esp + 0x15c]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x4a7972
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x4a7831.14
movzx eax, byte [eax + 0x4a82e8]
jmp dword [eax*4 + 0x4a82d8]
cmp esi, edx
jae case.0x4a23c5.10
cmp byte [esi], 0xa
jne case.0x4a23c5.10
inc esi
jmp case.0x4a23c5.10
cmp dword [edi + 0x68], 0
jne case.0x4a7831.14
inc ecx
cmp ecx, ebx
jle 0x4a23a4
mov edx, edi
jmp 0x4a20bb
mov ecx, 1
cmp ebx, ecx
jl 0x4a0691
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x4a7831.14
cmp eax, 0x20
je case.0x4a7831.14
cmp eax, 0xa0
je case.0x4a7831.14
inc ecx
cmp ecx, ebx
jle 0x4a2405
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov ecx, 1
cmp ebx, ecx
jl 0x4a0691
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x4a2477
cmp eax, 0x20
je 0x4a2477
cmp eax, 0xa0
jne case.0x4a7831.14
inc ecx
cmp ecx, ebx
jle 0x4a2456
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov ecx, 1
cmp ebx, ecx
jl 0x4a0691
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
nop
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb 0x4a24c5
cmp eax, 0xd
jbe case.0x4a7831.14
cmp eax, 0x85
je case.0x4a7831.14
inc ecx
cmp ecx, ebx
jle 0x4a24a0
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov ecx, 1
cmp ebx, ecx
jl 0x4a0691
mov eax, dword [esp + 0x15c]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4a50ff
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb case.0x4a7831.14
cmp eax, 0xd
jbe 0x4a2515
cmp eax, 0x85
jne case.0x4a7831.14
inc ecx
cmp ecx, ebx
jle 0x4a24f0
mov edx, dword [esp + 0x15c]
jmp 0x4a20bb
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2540
jmp 0x4a20b9
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2581
jmp 0x4a20b9
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a25c2
jmp 0x4a20b9
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2603
jmp 0x4a20b9
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2640
jmp 0x4a20b9
mov edx, 1
cmp ebx, edx
jl 0x4a26ae
mov eax, dword [esp + 0x15c]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x4a5106
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7831.14
mov eax, dword [esp + 0x15c]
inc edx
inc esi
cmp edx, ebx
jle 0x4a2680
jmp 0x4a20b9
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bf
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x15c]
jmp 0x4a20bf
cmp ebx, edi
jge 0x4a328c
mov edx, dword [edx + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4a2744
cmp dword [esp + 0x10], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x4a272d
cmp ecx, 0xc0
jb 0x4a272d
test cl, 0x20
jne 0x4a2707
mov eax, 2
jmp 0x4a272d
test cl, 0x10
jne 0x4a2713
mov eax, 3
jmp 0x4a272d
test cl, 8
jne 0x4a271f
mov eax, 4
jmp 0x4a272d
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esp + 0x30], 0
jne 0x4a3285
inc ebx
add esi, eax
cmp ebx, edi
jl 0x4a26e0
jmp 0x4a3285
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a328c
cmp esi, dword [edx + 0x84]
jbe 0x4a328c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x4a328c
cmp ebx, edi
jge 0x4a328c
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
mov edx, 1
cmp esi, edi
jae 0x4a2744
cmp dword [esp + 0x10], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x4a2878
cmp eax, 0xc0
jb 0x4a2878
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a27cf
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x4a2876
test al, 0x10
jne 0x4a27e9
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4a2870
test al, 8
jne 0x4a280c
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4a2870
test al, 4
jne 0x4a283b
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x4a2870
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp eax, 9
je 0x4a28af
cmp eax, 5
je 0x4a28af
cmp eax, 8
je 0x4a28af
xor eax, eax
jmp 0x4a28b4
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x4a3285
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x1c]
jl 0x4a2790
jmp 0x4a3285
cmp ebx, edi
jge 0x4a328c
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x4a2744
cmp dword [esp + 0x10], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x4a29cc
cmp eax, 0xc0
jb 0x4a29cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a2923
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x4a29ca
test al, 0x10
jne 0x4a293d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4a29c4
test al, 8
jne 0x4a2960
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4a29c4
test al, 4
jne 0x4a298f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x4a29c4
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov ebp, dword [esp + 0x3c]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp dword [eax*4 + 0x4e1e88], ebp
mov ebp, dword [esp + 0x2c]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x4a3285
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x1c]
jl 0x4a28e0
jmp 0x4a3285
cmp ebx, edi
jge 0x4a328c
mov edi, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x4a2744
cmp dword [esp + 0x10], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x4a2b1c
cmp eax, 0xc0
jb 0x4a2b1c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a2a73
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x4a2b1a
test al, 0x10
jne 0x4a2a8d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4a2b14
test al, 8
jne 0x4a2ab0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4a2b14
test al, 4
jne 0x4a2adf
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x4a2b14
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x4a3285
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x1c]
jl 0x4a2a30
jmp 0x4a3285
cmp ebx, edi
jge 0x4a328c
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x4a2744
cmp dword [esp + 0x10], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x4a2c5c
cmp eax, 0xc0
jb 0x4a2c5c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a2bb3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x4a2c5a
test al, 0x10
jne 0x4a2bcd
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4a2c54
test al, 8
jne 0x4a2bf0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4a2c54
test al, 4
jne 0x4a2c1f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x4a2c54
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf860]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x4a3285
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x1c]
jl 0x4a2b70
jmp 0x4a3285
cmp ebx, edi
jge 0x4a328c
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x4a2744
cmp dword [esp + 0x10], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x4a2d9c
cmp eax, 0xc0
jb 0x4a2d9c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a2cf3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x4a2d9a
test al, 0x10
jne 0x4a2d0d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4a2d94
test al, 8
jne 0x4a2d30
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4a2d94
test al, 4
jne 0x4a2d5f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x4a2d94
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x4a2dd5
cmp eax, 3
je 0x4a2dd5
xor eax, eax
jmp 0x4a2dda
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x4a3285
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x1c]
jl 0x4a2cb0
jmp 0x4a3285
cmp ebx, edi
jge 0x4a328c
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x4a2fb6
cmp dword [esp + 0x10], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x4a2ee2
cmp edx, 0xc0
jb 0x4a2ee2
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a2e4a
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a2ede
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a2e62
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4a2ed8
and eax, 0x3f
test dl, 8
jne 0x4a2e82
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a2ed8
test dl, 4
jne 0x4a2eab
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a2ed8
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp edx, 0x180e
ja 0x4a2f21
je case.0x4a2f3d.8192
cmp edx, 0x85
ja 0x4a2f11
je case.0x4a2f3d.8192
cmp edx, 9
jb case.0x4a2f3d.8203
cmp edx, 0xd
jbe case.0x4a2f3d.8192
cmp edx, 0x20
jmp 0x4a2f52
cmp edx, 0xa0
je case.0x4a2f3d.8192
cmp edx, 0x1680
jmp 0x4a2f52
cmp edx, 0x202f
ja 0x4a2f44
je case.0x4a2f3d.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4a2f3d.8203
movzx eax, byte [edx + 0x4a836c]
jmp dword [eax*4 + 0x4a8364]
cmp edx, 0x205f
je case.0x4a2f3d.8192
cmp edx, 0x3000
je case.0x4a2f3d.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp dword [eax*4 + 0x4e1e88], 6
sete cl
cmp ecx, dword [esp + 0x30]
je 0x4a3285
jmp 0x4a2f9c
cmp dword [esp + 0x30], 0
jne 0x4a3285
mov eax, dword [esp + 0x18]
add esi, edi
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x4a2e01
jmp 0x4a3285
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a328c
cmp esi, dword [edx + 0x84]
jbe 0x4a328c
mov dword [edx + 0x64], edi
cmp dword [edx + 0x88], edi
jg 0x4a799f
jmp 0x4a328c
cmp ebx, edi
jge 0x4a328c
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x4a2fb6
movzx eax, byte [esi]
mov edx, eax
test ecx, ecx
je 0x4a30da
cmp eax, 0xc0
jb 0x4a30da
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x4a3031
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x4a30d8
test al, 0x10
jne 0x4a304b
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x4a30d2
test al, 8
jne 0x4a306e
and eax, 7
mov edi, 4
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a30d2
test al, 4
jne 0x4a309d
and eax, 3
mov edi, 5
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a30d2
and eax, 1
mov edi, 6
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x4a311a
cmp eax, 3
je 0x4a311a
cmp edx, 0x5f
je 0x4a311a
xor eax, eax
jmp 0x4a311f
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x4a3285
mov eax, dword [esp + 0x18]
add esi, edi
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x4a2ff5
jmp 0x4a3285
cmp ebx, edi
jge 0x4a328c
mov ebp, dword [edx + 0x78]
mov ebx, 1
cmp esi, ebp
jae 0x4a3312
movzx edx, byte [esi]
mov edi, edx
test ecx, ecx
je 0x4a3230
cmp edx, 0xc0
jb 0x4a3230
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3198
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x4a322c
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a31b0
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4a3226
and eax, 0x3f
test dl, 8
jne 0x4a31d0
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a3226
test dl, 4
jne 0x4a31f9
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a3226
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax*4 + 0x4cf720]
lea eax, [eax*4 + 0x4cf720]
cmp edi, ecx
jb 0x4a3261
nop word [eax + eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a3302
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a3250
cmp dword [esp + 0x30], 0
je 0x4a3281
mov eax, dword [esp + 0x18]
add esi, ebx
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x4a3152
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebp
jbe 0x49f3c8
nop
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
dec esi
cmp dword [esp + 0x10], eax
je 0x4a32f2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a32f2
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4a32e8
mov edx, dword [esp + 0x15c]
cmp esi, ebp
ja 0x4a32a0
jmp 0x49f3c8
cmp dword [esp + 0x30], 0
jne 0x4a3281
jmp 0x4a3268
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a3339
cmp esi, dword [edx + 0x84]
jbe 0x4a3339
mov dword [edx + 0x64], ebx
cmp dword [edx + 0x88], ebx
jg 0x4a799f
mov ebp, dword [esp + 0x2c]
jmp 0x4a328c
cmp ebx, edi
jge 0x4a328c
mov edi, dword [edx + 0x78]
nop dword [eax]
mov edx, 1
cmp esi, edi
jae 0x4a2744
cmp dword [esp + 0x10], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x4a343c
cmp eax, 0xc0
jb 0x4a343c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4a3393
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x4a343a
test al, 0x10
jne 0x4a33ad
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x4a3434
test al, 8
jne 0x4a33d0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x4a3434
test al, 4
jne 0x4a33ff
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x4a3434
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
cmp ecx, 0x24
je 0x4a3467
cmp ecx, 0x40
je 0x4a3467
cmp ecx, 0x60
je 0x4a3467
cmp ecx, 0xa0
jb 0x4a345b
cmp ecx, 0xd7ff
jbe 0x4a3467
cmp ecx, 0xe000
jae 0x4a3467
xor eax, eax
jmp 0x4a346c
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x4a3285
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x1c]
jl 0x4a3350
jmp 0x4a3285
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x4a37bf
cmp ebx, edi
jge 0x4a375e
nop dword [eax]
cmp esi, dword [edx + 0x78]
jae 0x4a3735
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x28], ebx
mov ebp, ebx
test ecx, ecx
je 0x4a35a5
cmp ebx, 0xc0
jb 0x4a35a5
mov al, byte [esi]
test bl, 0x20
jne 0x4a34e2
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x4a35a5
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a3505
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a3599
movzx ebp, al
lea edx, [esi + 2]
and ebp, 0x3f
test bl, 8
jne 0x4a352e
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a3592
lea edi, [esi + 3]
test bl, 4
jne 0x4a355c
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a3592
mov eax, dword [esp + 0x28]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x4d30e0]
movzx ebx, byte [eax*8 + 0x4cf862]
cmp edi, ebp
jae 0x4a36f3
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x4a36a8
cmp edx, 0xc0
jb 0x4a36a8
test dl, 0x20
jne 0x4a3608
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4a36a0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a362a
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4a36a0
and eax, 0x3f
test dl, 8
jne 0x4a364a
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a36a0
test dl, 4
jne 0x4a3673
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a36a0
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4d30e0]
movzx ecx, byte [eax*8 + 0x4cf862]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4e1f00], eax
je 0x4a36ec
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jb 0x4a35d6
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a371c
cmp esi, ebp
jb 0x4a371c
cmp esi, dword [edx + 0x84]
jbe 0x4a371c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x4a34a0
jmp 0x4a375a
cmp dword [edx + 0x88], 0
je 0x4a375a
cmp esi, dword [edx + 0x84]
jbe 0x4a375a
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov ebp, dword [esp + 0x2c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebp
jbe 0x49f3c8
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ecx, dword [esp + 0x10]
dec esi
test ecx, ecx
jne 0x4a4a1f
movzx edx, byte [esi]
jmp 0x4a4adf
add eax, 0xfffffffa
test ecx, ecx
je 0x4a44b6
cmp eax, 0xf
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a8398]
cmp ebx, edi
jge 0x4a391d
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x4a38f8
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x4a3818
push dword [esp + 0x10]
push edi
push eax
push ecx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne 0x4a391d
mov edx, dword [esp + 0x15c]
jmp 0x4a383c
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x4a383c
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x4a383c
cmp ecx, 1
je 0x4a391d
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x4a391d
cmp dword [edx + 0x88], 0
je 0x4a3873
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x4a3873
cmp dword [edx + 0x18], 0
jne 0x4a3873
cmp dword [edi], 2
jne 0x4a3873
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x4a3873
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x4a3891
mov ecx, esi
nop dword [eax]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a3891
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x4a3880
inc ebx
cmp ebx, dword [esp + 0x1c]
jge 0x4a391d
mov edx, dword [esp + 0x15c]
jmp 0x4a37e2
cmp edi, 0x7fffffff
jge 0x4a38f5
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
mov eax, dword [esp + 0x1c]
nop dword [eax + eax]
cmp esi, edi
jae 0x4a38f8
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x4a38e5
mov ecx, esi
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a38e1
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x4a38d0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x15c]
inc ebx
cmp ebx, eax
jl 0x4a38c0
mov ecx, edx
jmp 0x4a3924
mov esi, dword [edx + 0x78]
cmp dword [edx + 0x88], 0
je 0x4a391d
cmp esi, dword [edx + 0x84]
jbe 0x4a391d
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov ecx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab4f
cmp esi, ebp
jbe 0x49f3c8
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x4a398c
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x4a3980
cmp dword [esp + 0x14], 0x11
jne 0x4a39a5
cmp ecx, ebp
jbe 0x4a39a5
cmp byte [esi], 0xa
jne 0x4a39a5
cmp byte [esi - 1], 0xd
jne 0x4a39a5
lea esi, [ecx - 1]
mov ecx, dword [esp + 0x15c]
cmp esi, ebp
ja 0x4a3937
jmp 0x49f3c8
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x4a39dc
cmp dword [edx + 0x88], 0
mov esi, ecx
je 0x4a391d
cmp ecx, dword [edx + 0x84]
jmp 0x4a3907
add esi, edi
jmp 0x4a391d
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x4a3af4
test dl, 0x20
jne 0x4a3a2a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4a3af4
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x4a3a54
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x4a3af4
test dl, 8
jne 0x4a3a80
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x4a3af4
test dl, 4
jne 0x4a3ab8
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x4a3af4
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0xd
jne 0x4a3b0a
inc esi
cmp esi, edi
jae 0x4a391d
cmp byte [esi], 0xa
jne 0x4a3b48
inc esi
jmp 0x4a3b48
cmp edx, 0xa
je 0x4a3b46
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x68], 0
jne 0x4a3924
cmp edx, 0xb
je 0x4a3b46
cmp edx, 0xc
je 0x4a3b46
cmp edx, 0x85
je 0x4a3b46
cmp edx, 0x2028
je 0x4a3b46
cmp edx, 0x2029
jne 0x4a3924
add esi, eax
inc ebx
cmp ebx, dword [esp + 0x1c]
jl 0x4a39f0
jmp 0x4a391d
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a3b84
cmp esi, dword [edx + 0x84]
jbe 0x4a3b84
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
mov ecx, edx
jmp 0x4a3924
cmp ebx, edi
jge 0x4a391d
mov ebx, dword [edx + 0x78]
nop word [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x4a3cf4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4a3c6f
test dl, 0x20
jne 0x4a3bd2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4a3c67
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a3bf1
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4a3c67
and eax, 0x3f
test dl, 8
jne 0x4a3c11
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a3c67
test dl, 4
jne 0x4a3c3a
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a3c67
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x4a3c95
je 0x4a3cc3
cmp edx, 0xa0
ja 0x4a3c8d
je 0x4a3cc3
cmp edx, 9
je 0x4a3cc3
cmp edx, 0x20
jmp 0x4a3cbd
cmp edx, 0x1680
jmp 0x4a3cbd
cmp edx, 0x205f
ja 0x4a3cb7
je 0x4a3cc3
cmp edx, 0x2000
jb 0x4a3cbf
cmp edx, 0x200a
jbe 0x4a3cc3
cmp edx, 0x202f
jmp 0x4a3cbd
cmp edx, 0x3000
je 0x4a3cc3
xor ecx, ecx
jmp 0x4a3cc8
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x14], 0x12
sete al
cmp ecx, eax
je 0x4a391d
mov eax, dword [esp + 0x18]
add esi, edi
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x4a3ba0
jmp 0x4a391d
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a3b84
cmp esi, dword [edx + 0x84]
jbe 0x4a3b84
mov dword [edx + 0x64], edi
cmp dword [edx + 0x88], edi
jg 0x4a799f
mov ecx, edx
jmp 0x4a3924
cmp ebx, edi
jge 0x4a391d
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x4a3b58
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x4a3e04
test dl, 0x20
jne 0x4a3d67
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4a3dfc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a3d86
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4a3dfc
and eax, 0x3f
test dl, 8
jne 0x4a3da6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a3dfc
test dl, 4
jne 0x4a3dcf
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a3dfc
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x4a3e46
je 0x4a3e51
cmp edx, 0xa
jb 0x4a3e18
cmp edx, 0xd
jbe 0x4a3e51
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x14], 0x14
sete al
cmp ecx, eax
je 0x4a391d
mov eax, dword [esp + 0x18]
add esi, edi
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x4a3d35
jmp 0x4a391d
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x4a3e18
mov ecx, 1
jmp 0x4a3e1a
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a3f38
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3e9f
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a3f34
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a3eb7
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a3f2e
and eax, 0x3f
test dl, 8
jne 0x4a3ed7
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a3f2e
test dl, 4
jne 0x4a3f00
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a3f2e
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a3f53
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x4a391d
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x1c]
jl 0x4a3e63
jmp 0x4a391d
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4045
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a3fac
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a4041
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a3fc4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a403b
and eax, 0x3f
test dl, 8
jne 0x4a3fe4
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a403b
test dl, 4
jne 0x4a400d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a403b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a391d
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x4a391d
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x1c]
jl 0x4a3f70
jmp 0x4a391d
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4156
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a40bd
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a4152
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a40d5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a414c
and eax, 0x3f
test dl, 8
jne 0x4a40f5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a414c
test dl, 4
jne 0x4a411e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a414c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a4171
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x4a391d
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x1c]
jl 0x4a4081
jmp 0x4a391d
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4265
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a41cc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a4261
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a41e4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a425b
and eax, 0x3f
test dl, 8
jne 0x4a4204
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a425b
test dl, 4
jne 0x4a422d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a425b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a391d
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x4a391d
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x1c]
jl 0x4a4190
jmp 0x4a391d
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4376
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a42dd
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a4372
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a42f5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a436c
and eax, 0x3f
test dl, 8
jne 0x4a4315
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a436c
test dl, 4
jne 0x4a433e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a436c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a4391
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x4a391d
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x1c]
jl 0x4a42a1
jmp 0x4a391d
cmp ebx, edi
jge 0x4a391d
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x4a3b58
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x4a4485
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x4a43ec
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x4a4481
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x4a4404
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4a447b
and eax, 0x3f
test dl, 8
jne 0x4a4424
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a447b
test dl, 4
jne 0x4a444d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a447b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x4a391d
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x4a391d
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x1c]
jl 0x4a43b0
jmp 0x4a391d
cmp eax, 0xf
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a83d8]
cmp ebx, edi
jge 0x4a4838
nop
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x4a4711
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x4a4504
push 0
push edi
push eax
push ecx
push esi
call fcn.004aab40
mov edx, dword [esp + 0x170]
add esp, 0x14
test eax, eax
jne 0x4a4838
jmp 0x4a4528
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x4a4528
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x4a4528
cmp ecx, 1
je 0x4a4838
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x4a4838
cmp dword [edx + 0x88], 0
je 0x4a455f
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x4a455f
cmp dword [edx + 0x18], 0
jne 0x4a455f
cmp dword [edi], 2
jne 0x4a455f
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x4a455f
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
inc ebx
inc esi
cmp ebx, dword [esp + 0x1c]
jl 0x4a44d0
jmp 0x4a4838
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x4a45b1
cmp dword [edx + 0x88], 0
mov esi, ecx
je 0x4a4838
cmp ecx, dword [edx + 0x84]
jbe 0x4a4838
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x4a4838
add esi, edi
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4a4711
mov al, byte [esi]
cmp al, 0xd
jne 0x4a45e1
inc esi
cmp esi, ecx
jae 0x4a4838
cmp byte [esi], 0xa
jne 0x4a4600
jmp 0x4a45ff
cmp al, 0xa
je 0x4a45ff
cmp dword [edx + 0x68], 0
jne 0x4a4838
cmp al, 0xb
je 0x4a45ff
cmp al, 0xc
je 0x4a45ff
cmp al, 0x85
jne 0x4a4838
inc esi
inc ebx
cmp ebx, edi
jl 0x4a45c3
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4a4711
mov al, byte [esi]
cmp al, 9
je 0x4a4838
cmp al, 0x20
je 0x4a4838
cmp al, 0xa0
je 0x4a4838
inc ebx
inc esi
cmp ebx, edi
jl 0x4a4615
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4a4711
mov al, byte [esi]
cmp al, 9
je 0x4a466a
cmp al, 0x20
je 0x4a466a
cmp al, 0xa0
jne 0x4a4838
inc ebx
inc esi
cmp ebx, edi
jl 0x4a4650
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4a4711
mov al, byte [esi]
cmp al, 0xa
jb 0x4a469e
cmp al, 0xd
jbe 0x4a4838
cmp al, 0x85
je 0x4a4838
inc ebx
inc esi
cmp ebx, edi
jl 0x4a4680
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4a4711
mov al, byte [esi]
cmp al, 0xa
jb 0x4a4838
cmp al, 0xd
jbe 0x4a46ce
cmp al, 0x85
jne 0x4a4838
inc ebx
inc esi
cmp ebx, edi
jl 0x4a46b4
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4a470a
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x4a4831
inc ebx
inc esi
cmp ebx, edi
jl 0x4a46e4
jmp 0x4a4831
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x88], 0
je 0x4a4838
cmp esi, dword [edx + 0x84]
jbe 0x4a4838
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x4a799f
jmp 0x4a4838
cmp ebx, edi
jge 0x4a4838
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x4a470a
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x4a4831
inc ebx
inc esi
cmp ebx, edi
jl 0x4a4750
jmp 0x4a4831
cmp ebx, edi
jge 0x4a4838
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4a470a
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x4a4831
inc ebx
inc esi
cmp ebx, edi
jl 0x4a4781
jmp 0x4a4831
cmp ebx, edi
jge 0x4a4838
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4a470a
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x4a4831
inc ebx
inc esi
cmp ebx, edi
jl 0x4a47b2
jmp 0x4a4831
cmp ebx, edi
jge 0x4a4838
mov edx, dword [edx + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4a470a
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x4a4831
inc ebx
inc esi
cmp ebx, edi
jl 0x4a47e0
jmp 0x4a4831
cmp ebx, edi
jge 0x4a4838
mov edx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4a470a
mov eax, dword [esp + 0x15c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x4a4831
inc ebx
inc esi
cmp ebx, edi
jl 0x4a4810
mov edx, dword [esp + 0x15c]
cmp dword [esp + 0x34], 0
jne 0x49ab56
cmp esi, ebp
je 0x49f3c8
nop dword [eax + eax]
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
dec esi
cmp dword [esp + 0x14], 0x11
jne 0x4a48a1
cmp esi, ebp
jbe 0x4a48a3
cmp byte [esi], 0xa
jne 0x4a48a1
cmp byte [esi - 1], 0xd
jne 0x4a48a1
dec esi
cmp esi, ebp
mov edx, dword [esp + 0x15c]
jne 0x4a4850
jmp 0x49f3c8
mov eax, dword [esp + 0x164]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebx
push edx
jne 0x4a48f8
lea eax, [edi + 3]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ebx, dword [esp + 0x14]
mov edi, ebx
mov dword [esp + 0x150], edi
jmp 0x49f3cf
push dword [esp + 0x28]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov edi, dword [esp + 0x150]
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49f3cf
cmp dword [esp + 0x18], 0x8c
jne 0x49f3cf
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push ebp
push dword [esp + 0x164]
push edi
push esi
call fcn.0049aa60
add esp, 0x1c
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x154]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [esp + 0x164]
push edx
push ecx
push ebp
jne 0x4a49c8
lea eax, [edi + 3]
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov al, byte [ebx]
cmp al, 0x81
je 0x4a4eef
cmp al, 0x88
jae 0x4a4ebb
mov edi, ebx
mov dword [esp + 0x150], edi
jmp 0x49f3cf
push ebx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
jne 0x4a49f1
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0xb4], ebx
jne 0x4a7ad9
jmp 0x4a4a00
test edi, edi
jne 0x4a7ad9
mov ecx, dword [esp + 0x15c]
cmp byte [ebx], 0x81
je 0x4a4f11
mov edi, dword [esp + 0x150]
add edi, 3
mov dword [esp + 0x150], edi
jmp 0x49f3cf
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4a4a31
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x4a4a27
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x4a4adf
test dl, 0x20
jne 0x4a4a51
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x4a4ad7
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a4a6b
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4a4ad3
and eax, 0x3f
test dl, 8
jne 0x4a4a86
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a4ad3
test dl, 4
jne 0x4a4aaa
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a4ad3
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4d30e0]
movzx ebx, byte [eax*8 + 0x4cf862]
cmp esi, ebp
jbe 0x49f3c8
lea edi, [esi - 1]
test ecx, ecx
jne 0x4a4b1a
movzx edx, byte [edi]
jmp 0x4a4bd6
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4a4b2c
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x4a4b22
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4a4bd6
test dl, 0x20
jne 0x4a4b4c
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x4a4bce
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a4b66
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x4a4bce
and eax, 0x3f
test dl, 8
jne 0x4a4b81
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4a4bce
test dl, 4
jne 0x4a4ba5
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 0x4a4bce
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]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov ecx, ebx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4d30e0]
movzx edx, byte [eax*8 + 0x4cf862]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4e1f00], eax
je 0x4a4c19
mov ecx, dword [esp + 0x10]
mov esi, edi
mov ebx, edx
jmp 0x4a4b03
mov edx, dword [esp + 0x15c]
jmp 0x4a3771
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x15c]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x14], edx
lea eax, [edx + edx]
mov dword [esp + 0x28], eax
cmp eax, dword [ecx + 0x14]
jge 0x4a4ca0
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x38], ebx
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x15c]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x3c], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov ebx, dword [edx + 0x90]
mov ebp, dword [edx + 0xac]
mov dword [ecx], eax
jmp 0x4a79b4
mov ecx, dword [esp + 0x15c]
nop dword [eax]
cmp edi, 0x88
jae 0x4a4cdd
cmp edi, 0x81
je 0x4a4cdd
cmp dword [ecx + 0x6c], 0
mov edi, dword [esp + 0x150]
jne 0x4a4cee
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
jne 0x4a4db9
mov ecx, dword [esp + 0x15c]
jmp 0x4a4cee
mov edi, dword [esp + 0x150]
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x164]
mov ebx, dword [ecx + 0xac]
inc eax
mov ebp, dword [ecx + 0x90]
push eax
push dword [esp + 0x164]
movzx eax, byte [edi]
push ecx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, edi
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc20
jne 0x4a4d6f
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x15c]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x4a7ad9
cmp byte [edx], 0x77
je 0x4a4d7e
cmp byte [eax], 0x77
jne 0x4a7ad9
jmp 0x4a4d7e
test edi, edi
jne 0x4a7ae6
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x150], edx
mov dword [ecx + 0xac], ebx
cmp byte [edx], 0x77
jne case.0x4a7831.14
mov edi, dword [esp + 0x18]
mov dword [ecx + 0x90], ebp
jmp 0x4a4ca0
movzx eax, byte [edi]
movzx eax, byte [eax + 0x4e1d70]
add edi, eax
mov dword [esp + 0x150], edi
jmp 0x49f3cf
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push ebx
mov ebx, dword [esp + 0x160]
push dword [esp + 0x164]
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx eax, byte [eax + 0x4e1d70]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ecx, dword [esp + 0x15c]
lea eax, [ebx + 2]
pop esi
pop ebp
pop ebx
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
add esp, 0x138
ret
sub eax, 1
je case.0x4a7831.14
pop esi
pop ebp
pop ebx
mov eax, edi
pop edi
add esp, 0x138
ret
pop esi
pop ebp
pop ebx
mov eax, 0xffffffe6
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd0]
cmp eax, ecx
je 0x4a7ad9
push eax
call dword [0x5077dc]
add esp, 4
mov eax, edi
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
pop esi
pop ebp
pop ebx
mov eax, 0xfffffffa
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x80], esi
pop esi
pop ebp
pop ebx
mov dword [eax + 0x7c], ecx
mov eax, 1
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push ebx
push esi
call fcn.0049aa60
add esp, 0x1c
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push ebx
jmp 0x4a4f35
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
mov eax, dword [esp + 0x158]
push ecx
push dword [esp + 0x164]
add eax, 3
push ebp
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x49bfcf
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x154]
mov dword [edx + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [edx + 0x80], esi
pop esi
pop ebp
pop ebx
mov dword [edx + 0x8c], ecx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x158]
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], eax
mov eax, dword [esp + 0x154]
mov dword [edx + 0x7c], eax
pop esi
pop ebp
pop ebx
mov eax, 1
pop edi
add esp, 0x138
ret
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x15c]
jne 0x4a4fb5
mov esi, dword [eax + 0x78]
cmp dword [eax + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [eax + 0x78]
jb case.0x4a7831.14
jmp 0x4a5113
cmp eax, 0xfffffffe
jne 0x4a4fd8
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [edi + 0x78]
jb case.0x4a7831.14
jmp 0x4a797f
mov dword [esp + 0x28], esi
cmp ebx, edi
jge 0x4a5068
nop dword [eax + eax]
push dword [esp + 0x2c]
push dword [esp + 0x160]
push dword [esp + 0x1c]
push esi
push ebp
call fcn.004a8590
add esp, 0x14
test eax, eax
js 0x4a5026
inc ebx
add esi, eax
cmp ebx, edi
jl 0x4a5000
jmp 0x4a505a
cmp eax, 0xfffffffe
jne 0x4a505a
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x4a505a
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x84]
jbe 0x4a505a
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x4a799f
mov ebx, dword [esp + 0x28]
cmp esi, ebx
jb case.0x4a7831.14
jmp 0x4a5070
mov ebx, dword [esp + 0x28]
nop dword [eax]
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
sub esi, dword [esp + 0x14]
cmp esi, ebx
jae 0x4a5070
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
cmp eax, 0xfffffffe
jne 0x4a50ca
mov esi, dword [ebx + 0x78]
cmp dword [ebx + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [ebx + 0x78]
jb case.0x4a7831.14
cmp esi, dword [ebx + 0x84]
jbe case.0x4a7831.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x4a7999
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [eax + 0x84]
jbe case.0x4a7831.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x4a7999
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
test ecx, ecx
je 0x4a534e
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ebx, dword [esp + 0x14]
nop
cmp ebx, dword [esp + 0x24]
jge case.0x4a7831.14
cmp esi, dword [ebp + 0x78]
jae 0x4a5322
movzx edx, byte [esi]
inc esi
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x4a52ae
test dl, 0x20
jne 0x4a51c4
movzx ecx, byte [esi]
mov eax, edx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov edx, ecx
or edx, eax
inc esi
jmp 0x4a52ae
mov al, byte [esi]
lea ecx, [esi + 1]
test dl, 0x10
jne 0x4a51e7
and edx, 0xf
movzx eax, al
and eax, 0x3f
shl edx, 6
add esi, 2
or edx, eax
movzx eax, byte [ecx]
jmp 0x4a52a6
mov ebp, dword [esp + 0x20]
test dl, 8
jne 0x4a5226
movzx edi, al
lea edx, [esi + 2]
movzx eax, byte [ecx]
and edi, 0x3f
movzx edx, byte [edx]
and ebp, 7
shl ebp, 6
and eax, 0x3f
or edi, ebp
and edx, 0x3f
mov ebp, dword [esp + 0x15c]
add esi, 3
shl edi, 6
or edi, eax
shl edi, 6
or edx, edi
jmp 0x4a52ae
test dl, 4
lea edi, [esi + 3]
lea edx, [esi + 2]
jne 0x4a525d
movzx edx, byte [edx]
and ebp, 3
movzx ebx, al
and edx, 0x3f
movzx eax, byte [ecx]
and ebx, 0x3f
shl ebp, 6
and eax, 0x3f
or ebx, ebp
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
or edx, ebx
jmp 0x4a529b
movzx eax, al
lea ebx, [esi + 4]
and eax, 0x3f
and ebp, 1
shl ebp, 6
add esi, 5
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
mov edx, ebp
mov dword [esp + 0x20], ebp
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
mov ebp, dword [esp + 0x15c]
mov ebx, dword [esp + 0x14]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0xff
jbe 0x4a52bd
cmp dword [esp + 0x18], 0x6e
jmp 0x4a52d3
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x1c]
test byte [edx + ecx], al
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
mov dword [esp + 0x14], ebx
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5180
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
cmp dword [ebp + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [ebp + 0x84]
jbe case.0x4a7831.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x4a7999
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x24]
jge case.0x4a7831.14
cmp esi, dword [ebp + 0x78]
jae 0x4a5322
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x1c]
test byte [edx + ecx], al
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5364
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
cmp ebp, dword [esp + 0x14]
jge case.0x4a7831.14
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x4a7972
movzx edx, byte [esi]
inc esi
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4a5513
cmp edx, 0xc0
jb 0x4a5513
test dl, 0x20
jne 0x4a5462
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x4a5513
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4a5489
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a550f
test dl, 8
jne 0x4a54ac
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a550f
test dl, 4
jne 0x4a54db
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a550f
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [esp + 0x10]
push ecx
push ebx
push edx
call fcn.004ab180
add esp, 0xc
test eax, eax
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebp
inc eax
push eax
push dword [esp + 0x164]
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5413
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
cmp dword [ebx + 0x88], 0
je case.0x4a7831.14
cmp esi, edi
jmp 0x4a50da
cmp dword [edx + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [edx + 0x84]
jbe case.0x4a7831.14
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jmp 0x4a7999
mov eax, dword [esp + 0x15c]
jmp 0x4a4fb5
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x164]
push ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
cmp dword [esp + 0x14], ebp
jge case.0x4a7831.14
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov ebp, dword [esp + 0x24]
sub eax, ebp
cmp esi, eax
ja 0x4a567d
mov edx, dword [esp + 0x38]
mov edi, ebp
mov ecx, esi
sub edi, 4
jb 0x4a5637
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a5640
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a5626
cmp edi, 0xfffffffc
je 0x4a56f6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a567d
cmp edi, 0xfffffffd
je 0x4a56f6
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a567d
cmp edi, 0xfffffffe
je 0x4a56f6
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a567d
cmp edi, 0xffffffff
je 0x4a56f6
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4a56f6
mov ebp, dword [esp + 0x18]
mov ecx, ebx
test ebp, ebp
jle 0x4a574b
mov eax, ebx
sub eax, ebp
cmp esi, eax
ja 0x4a574b
mov edi, ebp
lea edx, [esp + 0x58]
mov ecx, esi
sub edi, 4
jb 0x4a56b5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a56ba
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4a56a4
cmp edi, 0xfffffffc
je 0x4a56ee
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a56e7
cmp edi, 0xfffffffd
je 0x4a56ee
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a56e7
cmp edi, 0xfffffffe
je 0x4a56ee
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a56e7
cmp edi, 0xffffffff
je 0x4a56ee
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4a56ee
sbb eax, eax
or eax, 1
jmp 0x4a56f0
xor eax, eax
mov ecx, ebx
test eax, eax
jne 0x4a574b
mov eax, dword [esp + 0x164]
add esi, ebp
mov ebx, dword [esp + 0x15c]
inc eax
inc dword [esp + 0x14]
push eax
push dword [esp + 0x164]
push ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov ebp, dword [esp + 0x38]
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5600
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x4a7831.14
cmp esi, ecx
jb case.0x4a7831.14
jmp 0x4a5113
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx eax, byte [esi]
cmp ebx, eax
je 0x4a57dd
cmp ebp, eax
jne case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc esi
inc eax
inc ecx
push eax
push dword [esp + 0x164]
mov dword [esp + 0x1c], ecx
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a57b0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jge case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ecx
inc eax
mov dword [esp + 0x14], ecx
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5862
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
cmp dword [ecx + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [ecx + 0x84]
jbe case.0x4a7831.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x4a7999
mov eax, dword [esp + 0x164]
inc eax
cmp dword [esp + 0x10], 0
push eax
push dword [esp + 0x164]
je 0x4a5ac1
mov ebp, dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x14]
jge case.0x4a7831.14
cmp esi, dword [ebp + 0x78]
jae 0x4a5322
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x38], ebx
cmp ebx, 0xc0
jb 0x4a5a64
test bl, 0x20
jne 0x4a5998
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x4a5a60
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x4a59be
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4a5a5b
lea edx, [esi + 2]
test bl, 8
jne 0x4a59e4
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x4a5a5b
lea edi, [esi + 3]
test bl, 4
jne 0x4a5a15
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x4a5a5b
mov ebp, dword [esp + 0x38]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x38], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x15c]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], ebx
je case.0x4a7831.14
cmp dword [esp + 0x28], ebx
je case.0x4a7831.14
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5950
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ebx, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x14]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx eax, byte [esi]
cmp dword [esp + 0x24], eax
je case.0x4a7831.14
cmp ebp, eax
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc esi
inc eax
inc ebx
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5af4
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
test eax, eax
mov eax, dword [esp + 0x164]
je 0x4a5d20
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop dword [eax]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x14]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x28], ebx
cmp ebx, 0xc0
jb 0x4a5ccf
test bl, 0x20
jne 0x4a5bff
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x4a5cc4
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x4a5c25
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x4a5cbf
lea edx, [esi + 2]
test bl, 8
jne 0x4a5c4b
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x4a5cbf
lea edi, [esi + 3]
test bl, 4
jne 0x4a5c7c
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x4a5cbf
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x28], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x24]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x15c]
cmp ebp, ebx
je case.0x4a7831.14
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5bb0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ebx, dword [esp + 0x1c]
nop dword [eax]
cmp ebx, dword [esp + 0x14]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx eax, byte [esi]
inc esi
cmp ebp, eax
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5d60
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
test eax, eax
js 0x4a6f75
cmp eax, 0xa
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a8418]
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop dword [eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
je 0x4a5e71
cmp eax, 0xc0
jb 0x4a5e71
test al, 0x20
jne 0x4a5e53
inc esi
jmp 0x4a5e71
test al, 0x10
jne 0x4a5e5c
add esi, 2
jmp 0x4a5e71
test al, 8
jne 0x4a5e65
add esi, 3
jmp 0x4a5e71
test al, 4
jne 0x4a5e6e
add esi, 4
jmp 0x4a5e71
add esi, 5
cmp dword [esp + 0x30], 0
jne case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push ecx
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5e20
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a5ffc
cmp ebx, 0xc0
jb 0x4a5ffc
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a5f42
inc esi
and ebp, 0x1f
jmp 0x4a5ff4
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a5f62
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a5fed
lea edx, [esi + 2]
test bl, 8
jne 0x4a5f87
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a5fed
lea edi, [esi + 3]
test bl, 4
jne 0x4a5fb7
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a5fed
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp eax, 9
je 0x4a6033
cmp eax, 5
je 0x4a6033
cmp eax, 8
je 0x4a6033
xor eax, eax
jmp 0x4a6038
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ecx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a5ef4
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop dword [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a61d8
cmp ebx, 0xc0
jb 0x4a61d8
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a611e
inc esi
and ebp, 0x1f
jmp 0x4a61d0
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a613e
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a61d0
lea edx, [esi + 2]
test bl, 8
jne 0x4a6163
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a61c9
lea edi, [esi + 3]
test bl, 4
jne 0x4a6193
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a61c9
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x3c]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp dword [eax*4 + 0x4e1e88], ebx
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a60d0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop dword [eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a63a8
cmp ebx, 0xc0
jb 0x4a63a8
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a62ee
inc esi
and ebp, 0x1f
jmp 0x4a63a0
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a630e
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a63a0
lea edx, [esi + 2]
test bl, 8
jne 0x4a6333
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a6399
lea edi, [esi + 3]
test bl, 4
jne 0x4a6363
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a6399
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a62a0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a656d
cmp ebx, 0xc0
jb 0x4a656d
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a64b3
inc esi
and ebp, 0x1f
jmp 0x4a6565
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a64d3
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a6565
lea edx, [esi + 2]
test bl, 8
jne 0x4a64f8
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a655e
lea edi, [esi + 3]
test bl, 4
jne 0x4a6528
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a655e
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf860]
cmp eax, dword [esp + 0x3c]
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6465
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a6738
cmp ebx, 0xc0
jb 0x4a6738
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x4a667e
inc esi
and ebp, 0x1f
jmp 0x4a6730
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a669e
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x4a6729
lea edx, [esi + 2]
test bl, 8
jne 0x4a66c3
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a6729
lea edi, [esi + 3]
test bl, 4
jne 0x4a66f3
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a6729
mov ebp, dword [esp + 0x28]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x4a6771
cmp eax, 3
je 0x4a6771
xor eax, eax
jmp 0x4a6776
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ecx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6630
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edi, dword [esp + 0x15c]
cmp esi, dword [edi + 0x78]
jae 0x4a7972
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ecx, edx
je 0x4a690d
cmp edx, 0xc0
jb 0x4a690d
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6864
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x4a690b
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a6885
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a690b
test dl, 8
jne 0x4a68a8
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a690b
test dl, 4
jne 0x4a68d7
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a690b
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, edx
cmp edx, 0x180e
ja 0x4a694c
je case.0x4a6968.8192
cmp edx, 0x85
ja 0x4a693c
je case.0x4a6968.8192
cmp edx, 9
jb case.0x4a6968.8203
cmp edx, 0xd
jbe case.0x4a6968.8192
cmp edx, 0x20
jmp 0x4a697d
cmp edx, 0xa0
je case.0x4a6968.8192
cmp edx, 0x1680
jmp 0x4a697d
cmp edx, 0x202f
ja 0x4a696f
je case.0x4a6968.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4a6968.8203
movzx eax, byte [edx + 0x4a844c]
jmp dword [eax*4 + 0x4a8444]
cmp edx, 0x205f
je case.0x4a6968.8192
cmp edx, 0x3000
je case.0x4a6968.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
cmp dword [eax*4 + 0x4e1e88], 6
sete cl
cmp ecx, dword [esp + 0x30]
je case.0x4a7831.14
jmp 0x4a69c7
cmp dword [esp + 0x30], 0
jne case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
push ebp
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6810
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edx, dword [esp + 0x15c]
cmp esi, dword [edx + 0x78]
jae 0x4a557f
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a6b47
cmp ebx, 0xc0
jb 0x4a6b47
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x4a6a96
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x4a6b47
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a6ab1
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x4a6b3f
lea edx, [esi + 2]
test bl, 8
jne 0x4a6ad4
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a6b38
lea edi, [esi + 3]
test bl, 4
jne 0x4a6b02
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a6b38
mov eax, dword [esp + 0x28]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4d0ee0]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d30e0]
movzx eax, byte [eax*8 + 0x4cf861]
mov eax, dword [eax*4 + 0x4e1e88]
cmp eax, 1
je 0x4a6b87
cmp eax, 3
je 0x4a6b87
cmp ebp, 0x5f
je 0x4a6b87
xor eax, eax
jmp 0x4a6b8c
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push edx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6a40
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov ebp, dword [esp + 0x15c]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
cmp esi, dword [ebp + 0x78]
jae 0x4a5322
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov edi, edx
je 0x4a6d19
cmp edx, 0xc0
jb 0x4a6d19
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a6c70
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x4a6d17
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a6c91
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a6d17
test dl, 8
jne 0x4a6cb4
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a6d17
test dl, 4
jne 0x4a6ce3
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a6d17
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax*4 + 0x4cf720]
lea eax, [eax*4 + 0x4cf720]
cmp edi, ecx
jb 0x4a6d3d
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x4a6d8d
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4a6d30
cmp dword [esp + 0x30], 0
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push ebp
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6c23
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
cmp dword [esp + 0x30], 0
jne case.0x4a7831.14
jmp 0x4a6d48
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov ecx, dword [esp + 0x15c]
cmp esi, dword [ecx + 0x78]
jae 0x4a58cf
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x10], 0
mov ebp, ebx
mov dword [esp + 0x28], ebx
je 0x4a6eee
cmp ebx, 0xc0
jb 0x4a6eee
test bl, 0x20
jne 0x4a6e27
movzx ebp, byte [esi]
and ebx, 0x1f
and ebp, 0x3f
shl ebx, 6
or ebp, ebx
inc esi
jmp 0x4a6eee
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a6e4a
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x4a6edf
lea edx, [esi + 2]
test bl, 8
jne 0x4a6e75
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a6edf
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x4a6ea9
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a6edf
mov eax, dword [esp + 0x28]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x15c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x4a6f19
cmp ebp, 0x40
je 0x4a6f19
cmp ebp, 0x60
je 0x4a6f19
cmp ebp, 0xa0
jb 0x4a6f0d
cmp ebp, 0xd7ff
jbe 0x4a6f19
cmp ebp, 0xe000
jae 0x4a6f19
xor eax, eax
jmp 0x4a6f1e
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ecx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6dd3
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
inc eax
push eax
push dword [esp + 0x164]
push edx
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
cmp ebp, 0x16
jne 0x4a7290
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov eax, dword [esp + 0x15c]
cmp esi, dword [eax + 0x78]
jae 0x4a5106
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x28], ebx
mov ecx, esi
test edx, edx
je 0x4a70c9
cmp ebx, 0xc0
jb 0x4a70c9
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x4a7019
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x4a70c7
lea ecx, [esi + 1]
test bl, 0x10
jne 0x4a7034
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x4a70bf
lea edx, [esi + 2]
test bl, 8
jne 0x4a7057
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x4a70bb
lea edi, [esi + 3]
test bl, 4
jne 0x4a7085
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x4a70bb
mov eax, dword [esp + 0x28]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x4d30e0]
movzx ebx, byte [eax*8 + 0x4cf862]
mov eax, dword [esp + 0x15c]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x4a7213
nop
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x4a71cf
cmp edx, 0xc0
jb 0x4a71cf
test dl, 0x20
jne 0x4a7132
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x4a71c7
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4a7151
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x4a71c7
and eax, 0x3f
test dl, 8
jne 0x4a7171
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x4a71c7
test dl, 4
jne 0x4a719a
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x4a71c7
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d0ee0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4d30e0]
movzx ecx, byte [eax*8 + 0x4cf862]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4e1f00], eax
je 0x4a7213
mov edx, dword [esp + 0x10]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x4a7100
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 0x88], 0
je 0x4a7243
cmp esi, ebp
jb 0x4a7243
cmp esi, dword [ecx + 0x84]
jbe 0x4a7243
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x4a799f
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc eax
push eax
push dword [esp + 0x164]
inc ebx
push ecx
push dword [esp + 0x164]
mov dword [esp + 0x28], ebx
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a6fc0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
test ecx, ecx
je 0x4a773a
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop word [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edi, dword [esp + 0x15c]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x4a7972
cmp ebp, 0xc
jne 0x4a731a
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4a72f5
push dword [esp + 0x10]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne case.0x4a7831.14
jmp 0x4a731a
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x4a731a
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x4a731a
cmp edx, 1
je case.0x4a7831.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x4a7831.14
movzx edx, byte [esi]
inc esi
mov ecx, esi
mov eax, edx
cmp edx, 0xc0
jb 0x4a73f4
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x4a7349
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x4a73f0
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x4a736a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x4a73f0
test dl, 8
jne 0x4a738d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x4a73f0
test dl, 4
jne 0x4a73bc
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x4a73f0
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, esi
mov eax, edx
lea edi, [ebp - 6]
cmp edi, 0xf
ja case.default.0x49d868
jmp dword [edi*4 + 0x4a8478]
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x88], 0
je case.0x4a7400.13
cmp ecx, dword [eax + 0x78]
jb case.0x4a7400.13
cmp dword [eax + 0x18], 0
jne case.0x4a7400.13
cmp dword [eax + 0x1c], 2
jne case.0x4a7400.13
movzx eax, byte [eax + 0x34]
cmp edx, eax
jne case.0x4a7400.13
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x4a799f
jmp case.0x4a7400.13
cmp edx, 0xd
ja 0x4a749a
je 0x4a7479
cmp edx, 0xa
je case.0x4a7400.13
lea eax, [edx - 0xb]
jmp 0x4a74a8
mov eax, dword [esp + 0x15c]
cmp ecx, dword [eax + 0x78]
jae case.0x4a7400.13
cmp byte [esi], 0xa
jne case.0x4a7400.13
lea esi, [ecx + 1]
jmp case.0x4a7400.13
cmp edx, 0x85
je 0x4a74b1
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4a7831.14
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0x68], 0
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x180e
ja 0x4a74ff
je case.0x4a7831.14
cmp edx, 0xa0
ja 0x4a74f4
je case.0x4a7831.14
cmp edx, 9
je case.0x4a7831.14
cmp edx, 0x20
jmp 0x4a76e9
cmp edx, 0x1680
jmp 0x4a76e9
cmp edx, 0x205f
ja 0x4a7530
je case.0x4a7831.14
cmp edx, 0x2000
jb case.0x4a7400.13
cmp edx, 0x200a
jbe case.0x4a7831.14
cmp edx, 0x202f
jmp 0x4a76e9
cmp edx, 0x3000
jmp 0x4a76e9
cmp edx, 0x180e
ja 0x4a757f
je case.0x4a7400.13
cmp edx, 0xa0
ja 0x4a756e
je case.0x4a7400.13
cmp edx, 9
je case.0x4a7400.13
cmp edx, 0x20
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x1680
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x205f
ja 0x4a75b6
je case.0x4a7400.13
cmp edx, 0x2000
jb case.0x4a7831.14
cmp edx, 0x200a
jbe case.0x4a7400.13
cmp edx, 0x202f
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x3000
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x85
ja 0x4a75ec
je case.0x4a7831.14
cmp edx, 0xa
jb case.0x4a7400.13
cmp edx, 0xd
jbe case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x2028
jb case.0x4a7400.13
cmp edx, 0x2029
jbe case.0x4a7831.14
jmp case.0x4a7400.13
cmp edx, 0x85
ja 0x4a7628
je case.0x4a7400.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x4a7831.14
jmp case.0x4a7400.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4a7831.14
jmp case.0x4a7400.13
cmp eax, 0x100
jae case.0x4a7400.13
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp eax, 0x100
jae case.0x4a7831.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jmp 0x4a76e9
cmp eax, 0x100
jae case.0x4a7400.13
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp eax, 0x100
jae case.0x4a7831.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jmp 0x4a76e9
cmp eax, 0x100
jae case.0x4a7400.13
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne case.0x4a7831.14
jmp case.0x4a7400.13
cmp eax, 0x100
jae case.0x4a7831.14
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a72b0
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
nop dword [eax]
cmp ebx, dword [esp + 0x1c]
jge case.0x4a7831.14
mov edi, dword [esp + 0x15c]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x4a7972
cmp ebp, 0xc
jne 0x4a77b8
mov edx, dword [edi + 0x18]
test edx, edx
je 0x4a7793
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.004aab40
add esp, 0x14
test eax, eax
jne case.0x4a7831.14
jmp 0x4a77b8
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x4a77b8
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x4a77b8
cmp edx, 1
je case.0x4a7831.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x4a7831.14
movzx ecx, byte [esi]
lea eax, [ebp - 6]
inc esi
cmp eax, 0xf
ja case.default.0x49d868
jmp dword [eax*4 + 0x4a84b8]
cmp dword [edi + 0x88], 0
je case.0x4a77c8.13
cmp esi, dword [edi + 0x78]
jb case.0x4a77c8.13
cmp dword [edi + 0x18], 0
jne case.0x4a77c8.13
cmp dword [edi + 0x1c], 2
jne case.0x4a77c8.13
movzx eax, byte [edi + 0x34]
cmp ecx, eax
jne case.0x4a77c8.13
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x4a799f
jmp case.0x4a77c8.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4a7831.14
movzx eax, byte [ecx + 0x4a8508]
jmp dword [eax*4 + 0x4a84f8]
cmp esi, dword [edi + 0x78]
jae case.0x4a77c8.13
cmp byte [esi], 0xa
jne case.0x4a77c8.13
inc esi
jmp case.0x4a77c8.13
cmp dword [edi + 0x68], 0
jne case.0x4a7831.14
jmp case.0x4a77c8.13
cmp ecx, 9
je case.0x4a7831.14
cmp ecx, 0x20
je case.0x4a7831.14
cmp ecx, 0xa0
jmp 0x4a7917
cmp ecx, 9
je case.0x4a77c8.13
cmp ecx, 0x20
je case.0x4a77c8.13
cmp ecx, 0xa0
jne case.0x4a7831.14
jmp case.0x4a77c8.13
cmp ecx, 0xa
jb case.0x4a77c8.13
cmp ecx, 0xd
jbe case.0x4a7831.14
cmp ecx, 0x85
jmp 0x4a7917
cmp ecx, 0xa
jb case.0x4a7831.14
cmp ecx, 0xd
jbe case.0x4a77c8.13
cmp ecx, 0x85
jne case.0x4a7831.14
jmp case.0x4a77c8.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jne case.0x4a7831.14
jmp case.0x4a77c8.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jmp 0x4a7917
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x4a7831.14
jmp case.0x4a77c8.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jmp 0x4a7917
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4a7831.14
jmp case.0x4a77c8.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x4a7831.14
mov eax, dword [esp + 0x164]
inc ebx
inc eax
push eax
push dword [esp + 0x164]
push edi
push dword [esp + 0x164]
push dword [esp + 0x164]
push dword [esp + 0x164]
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a7750
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
pop esi
pop ebp
pop ebx
mov eax, 0xfffffff2
pop edi
add esp, 0x138
ret
cmp dword [edi + 0x88], 0
je case.0x4a7831.14
cmp esi, dword [edi + 0x84]
jbe case.0x4a7831.14
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jle case.0x4a7831.14
pop esi
pop ebp
pop ebx
mov eax, 0xfffffff4
pop edi
add esp, 0x138
ret
mov edi, dword [esp + 0x18]
cmp edi, 0x88
jb 0x4a79c6
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, ecx
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
je 0x4a7aa1
cmp edi, 0xfffffc20
jne 0x4a7a57
mov edx, dword [esp + 0x150]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0x7c], eax
jae 0x4a7ad9
mov ecx, dword [esp + 0x150]
cmp byte [ecx], 0x77
je 0x4a7a53
cmp byte [eax], 0x77
jne 0x4a7ad9
xor edi, edi
jmp 0x4a7a66
test edi, edi
jne 0x4a7ad9
mov edx, dword [esp + 0x15c]
mov eax, dword [esp + 0x150]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xac], ebp
mov eax, dword [esp + 0x150]
add eax, ecx
mov dword [esp + 0x150], eax
cmp byte [eax], 0x77
je 0x4a79b0
jmp 0x4a7aa8
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x15c]
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4], edx
pop esi
pop ebp
pop ebx
mov eax, edi
pop edi
add esp, 0x138
ret
cmp edi, 0xfffffc1b
jne 0x4a7ad9
mov edx, dword [esp + 0x150]
mov al, byte [edx]
cmp al, 0x81
je 0x4a7b23
cmp al, 0x77
jne 0x4a7b14
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x4a7b00
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xb4], edx
jne 0x4a7ad9
pop esi
pop ebp
xor edi, edi
pop ebx
mov eax, edi
pop edi
add esp, 0x138
ret
mov edi, dword [esp + 0x150]
lea ebx, [edi + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x164]
movzx ecx, byte [edi + 1]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [edi]
push edx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x4a7ba5
cmp edi, 0xfffffc19
jne 0x4a7bc8
mov edx, dword [esp + 0x15c]
cmp dword [edx + 0xac], 0
jne 0x4a7bcf
pop esi
pop ebp
mov dword [edx + 0xac], ebx
mov eax, edi
pop ebx
pop edi
add esp, 0x138
ret
mov edx, dword [esp + 0x15c]
cmp edi, 0xfffffc1f
jne 0x4a7ad9
mov eax, dword [edx + 0x7c]
nop
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x4a7c00
test cl, cl
je 0x4a7bfc
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x4a7c00
add ebx, 2
add eax, 2
test cl, cl
jne 0x4a7be0
xor eax, eax
jmp 0x4a7c05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4a7ad9
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
add eax, ecx
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
pop esi
pop ebp
pop ebx
mov eax, 0xfffffc1c
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
add eax, ecx
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a7d3d
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov edi, dword [esp + 0x150]
lea ebx, [edi + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x164]
movzx ecx, byte [edi + 1]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [edi]
push edx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x4a7d1f
cmp edi, 0xfffffc19
jne 0x4a7d35
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xac], 0
jne 0x4a7d35
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x4a7ad9
pop esi
pop ebp
pop ebx
mov eax, 0xfffffc1d
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
add eax, ecx
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x4a7ad9
mov eax, dword [esp + 0x15c]
mov dword [eax + 0x7c], esi
mov eax, 0xfffffc1e
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x164]
mov ebp, dword [esp + 0x150]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ebp]
push edx
push ebx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
add eax, ebp
push eax
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x4a7e76
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov ebp, dword [esp + 0x150]
lea ebx, [ebp + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x164]
movzx ecx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x164]
movzx eax, byte [ebp]
push edx
push dword [esp + 0x164]
movzx eax, byte [eax + 0x4e1d70]
push dword [esp + 0x164]
add eax, ebp
add ecx, eax
push ecx
push esi
call fcn.0049aa60
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x4a7e58
cmp edi, 0xfffffc19
jne 0x4a7e6e
mov eax, dword [esp + 0x15c]
cmp dword [eax + 0xac], 0
jne 0x4a7e6e
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x4a7ad9
mov eax, dword [esp + 0x15c]
pop esi
mov dword [eax + 0x7c], ebp
mov eax, 0xfffffc20
pop ebp
pop ebx
pop edi
add esp, 0x138
ret
mov ecx, dword [esp + 0x154]
cmp esi, ecx
jne 0x4a7ecd
cmp edi, 0x9f
je 0x4a7ecd
cmp dword [edx + 0xa4], 0
jne 0x4a7ecd
cmp dword [edx + 0x5c], 0
jne case.0x4a7831.14
cmp dword [edx + 0x60], 0
je 0x4a7ecd
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp ecx, eax
je case.0x4a7831.14
mov dword [edx + 0x80], esi
test edi, edi
pop esi
mov dword [edx + 0x8c], ebx
mov eax, 0xfffffc19
pop ebp
mov dword [edx + 0x7c], ecx
mov ecx, 1
pop ebx
cmove eax, ecx
pop edi
add esp, 0x138
ret
pop esi
pop ebp
pop ebx
mov eax, 0xfffffffb
pop edi
add esp, 0x138
ret
pop esi
pop ebp
pop ebx
mov eax, 0xffffffeb
pop edi
add esp, 0x138
ret