Function at 0x48fc60
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x48fcee
mov esi, dword [esi]
test esi, esi
je 0x49d991
mov edi, 0xfffffff8
jmp 0x499599
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x48fd0a
mov esi, dword [esi]
test esi, esi
je 0x49d99e
mov edi, 0xffffffeb
jmp 0x499599
cmp dword [ebp + 0x98], 2
jne 0x48fd41
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x48fd41
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x48fd74.98
movzx eax, byte [edx + 0x49dbac]
jmp dword [eax*4 + 0x49da60]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x49d1f5
push 0x134
call dword [0x53de70]
mov edi, eax
add esp, 4
test edi, edi
jne 0x49d1ef
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d245
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d23f
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d263
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d25d
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x49d281
push 0x134
call dword [0x53de70]
mov edi, eax
add esp, 4
test edi, edi
jne 0x49d27b
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d296
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d290
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x48fece
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x4f5650]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x48fd41
mov edi, dword [esi + 4]
test edi, edi
jne 0x49d2b4
push 0x134
call dword [0x53de70]
mov edi, eax
add esp, 4
test edi, edi
jne 0x49d2ae
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d2c9
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d2c3
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x49d2e7
push 0x134
call dword [0x53de70]
mov edi, eax
add esp, 4
test edi, edi
jne 0x49d2e1
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x49aad8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x48fd74.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x49963b
mov dword [esi + 0x54], ebx
jmp 0x4907df
mov dword [esi + 0x54], ebx
jmp 0x490803
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x490148
mov edi, dword [0x541e24]
test edi, edi
je 0x490134
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x4900ee
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x490123
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
jns 0x490134
mov esi, dword [esi]
test esi, esi
je 0x499a7c
jmp 0x499599
movzx eax, byte [0x4f56c6]
add dword [esi + 0xc], eax
movzx eax, byte [0x4f56c6]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x49016e.146
movzx eax, byte [eax + 0x49dc68]
jmp dword [eax*4 + 0x49dc50]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x49016e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x4901a7
cmp edx, dword [edi + 4]
je 0x4901a7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x4998d3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x4998d3
cmp dword [ebp + 0xa4], ebx
je case.0x49016e.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x49016e.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x4998d3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x4901f0
jmp 0x4998d3
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x490254
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x490254
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x49016e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x49016e.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x4998d3
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4902a9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x4902b8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x490287
jmp 0x4998d3
mov dword [esi + 0x58], 1
jmp 0x4998d3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d2fc
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d2f6
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x490354
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x48fd36
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x48fd36
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4903a3
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x48fd36
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x4903f6
cmp edx, 0x9f
je 0x4903f6
cmp dword [ebp + 0xa4], ebx
jne 0x4903f6
cmp dword [ebp + 0x5c], ebx
jne 0x4903e5
cmp dword [ebp + 0x60], ebx
je 0x4903f6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x4903f6
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x499a7c
jmp 0x499599
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49044f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x4999cd
mov dword [esi + 0x58], ebx
jmp 0x4999cd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x49047b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x499b1b
mov dword [esi + 0x58], ebx
jmp 0x499b1b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x4904e2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x4904c8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x496cc6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4904c4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4904b8
test edx, edx
jg 0x4904a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x48fd36
mov dword [ebp + 0x84], eax
jmp 0x48fd36
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x4904c8
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a0
mov edi, dword [0x541e24]
test edi, edi
je 0x4905ec
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x4905a6
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x4905db
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
jns 0x4905ec
mov esi, dword [esi]
test esi, esi
je 0x499a7c
jmp 0x499599
add dword [esi + 0xc], 6
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x490616
xor edx, edx
jmp 0x490623
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x490643
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x49063d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x4906a4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x490630
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x4906b8
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x499c04
mov esi, dword [esi]
test esi, esi
je 0x49d9c2
mov edi, 0xffffffe6
jmp 0x499599
shl eax, 2
push eax
call dword [0x53de68]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x49067e
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x4906e1
jmp 0x48fd41
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d337
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d331
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x490740
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d355
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d34f
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x490793
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x48fd41
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x4907df
cmp eax, 0x8b
jne 0x490803
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x490820
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x49a6ed
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x49089d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d6e7
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d6dd
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x4908f8
cmp al, 0x81
je 0x4908f8
mov dword [esi + 0x38], ebx
jmp 0x490909
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x490916
cmp al, 0x80
jbe 0x49091a
cmp al, 0x82
jne 0x490946
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x49d9f6
mov edi, 1
jmp 0x499599
cmp al, 0x85
je 0x49095a
cmp al, 0x8a
je 0x49095a
cmp al, 0x86
je 0x49095a
cmp al, 0x8b
jne 0x490a21
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x490996
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x490996
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x49092c
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x4909c5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x490a21
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x4909e5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4909e5
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x490a21
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x490a57
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x49d9cf
mov edi, 0xfffffc1a
jmp 0x499599
cmp cl, 0x78
je 0x490ad0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x490ad0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x490a9e
test ecx, ecx
jne 0x49d376
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d370
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test ecx, ecx
jne 0x49d397
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d391
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x499d37
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d3b5
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d3af
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
cmp dword [ebp + 0x44], ebx
je case.0x48fd74.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x48fd74.1
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x490bf8
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
cmp dword [ebp + 0x44], ebx
je 0x490b6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x490b6a
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x4915b4
cmp ecx, dword [ebp + 0x78]
je 0x490bd0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x490ba8
cmp ecx, edx
jbe 0x490bd0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0049f950
add esp, 0x14
test eax, eax
jne 0x4915b4
jmp 0x490bd0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x490bd0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x490bd0
cmp edi, 1
je 0x4915b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4915b4
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x499599
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x490b35
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x48fd41
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x490cba
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x490c35
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x4915b4
jmp 0x490c59
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x490c59
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x490c59
cmp edx, 1
je 0x4915b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4915b4
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x496cc6.14
cmp dword [ebp + 0x18], ebx
jne case.0x496cc6.14
cmp dword [edi], 2
jne case.0x496cc6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x496cc6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x496cc6.14
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x499599
cmp dword [ebp + 0x48], ebx
jne 0x490b3b
cmp dword [ebp + 0x88], ebx
je 0x4915b4
cmp ecx, dword [ebp + 0x84]
jbe 0x4915b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4915b4
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x499599
cmp dword [ebp + 0x48], ebx
jne 0x490b3b
cmp dword [ebp + 0x58], ebx
je case.0x48fd74.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x490b3b
cmp dword [ebp + 0x88], ebx
je 0x490bf8
cmp eax, dword [ebp + 0x84]
jbe 0x490bf8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x490bf8
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x499599
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x490dc5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x490d8d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x490db5
jmp 0x490c59
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x490c59
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x490c59
cmp edx, 1
je 0x490db5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x490c59
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x490c59
cmp dword [ebp + 0x88], ebx
je 0x4915b4
cmp ecx, dword [ebp + 0x84]
jbe 0x4915b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4915b4
jmp 0x490ca6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4910c7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x490e15
mov dword [esi + 0x5c], ebx
jmp 0x490f4e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x490e2a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x490e20
cmp edx, dword [ebp + 0x84]
jae 0x490e38
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x490eec
test bl, 0x20
jne 0x490e60
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x490eec
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x490e7a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x490ee2
and eax, 0x3f
test bl, 8
jne 0x490e95
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x490ee2
test bl, 4
jne 0x490eb9
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x490ee2
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x490f87
cmp ebx, 0x5f
jne 0x490f04
mov dword [esi + 0x5c], 1
jmp 0x490f4e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x490f26
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x490f98
cmp eax, 3
je 0x490f98
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x490f9f
cmp dword [ebp + 0x88], 0
je 0x490f7b
cmp edx, dword [ebp + 0x84]
jbe 0x490f7b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
mov dword [esi + 0x54], 0
jmp 0x491205
cmp ebx, 0x100
jae 0x490f49
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x490f49
mov eax, 1
jmp 0x490f4b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x491049
test bl, 0x20
jne 0x490fbf
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x491041
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x490fd9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x491041
and eax, 0x3f
test bl, 8
jne 0x490ff4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x491041
test bl, 4
jne 0x491018
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 0x491041
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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x4910ac
cmp ebx, 0x5f
jne 0x491060
mov dword [esi + 0x54], 1
jmp 0x491205
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x491082
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x4910bd
cmp eax, 3
je 0x4910bd
xor eax, eax
jmp 0x491202
cmp ebx, 0x100
jae 0x4910a5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4910a5
mov eax, 1
jmp 0x491202
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4910d7
mov dword [esi + 0x5c], ebx
jmp 0x491172
cmp eax, dword [ebp + 0x84]
ja 0x4910e6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x49115e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x491100
mov dword [esi + 0x5c], 1
jmp 0x491172
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ecx, 0x8000007f
jns 0x491122
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x491150
cmp eax, 3
je 0x491150
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x49116f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x49116f
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4911b3
cmp dword [ebp + 0x88], ebx
je 0x4911ae
cmp eax, dword [ebp + 0x84]
jbe 0x4911ae
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4911ae
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x4995a0
mov dword [esi + 0x54], ebx
jmp 0x491205
cmp dword [ebp + 0x54], ebx
je 0x4911f2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x4911c9
mov dword [esi + 0x54], 1
jmp 0x491205
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ecx, 0x8000007f
jns 0x4911eb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x491084
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x491220
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x491228
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x48fd41
jmp 0x490b3b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x49126d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x491298
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x490b3b
jmp 0x491298
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x491298
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x491298
cmp edx, 1
je 0x490b3b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x490b3b
cmp dword [ebp + 0x88], ebx
je case.0x48fd74.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x48fd74.13
cmp dword [ebp + 0x18], ebx
jne case.0x48fd74.13
cmp dword [ebp + 0x1c], 2
jne case.0x48fd74.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x48fd74.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4912f6
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x496cc6.14
jmp 0x490c92
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x490bf8
cmp eax, dword [ebp + 0x78]
jae 0x490bf8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x490bf8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x491312
inc dword [esi + 0xc]
jmp 0x48fd41
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4912d9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x48fd41
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49136d
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x496cc6.14
jmp 0x490c92
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x491469
cmp ebx, 0xc0
jb 0x491469
test bl, 0x20
jne 0x4913aa
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491466
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4913d4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x491469
mov edx, dword [esi + 8]
test bl, 8
jne 0x4913fa
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49145d
test bl, 4
jne 0x491429
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49145d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4915b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4915b4
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x49159b
cmp ebx, 0xc0
jb 0x49159b
test bl, 0x20
jne 0x4914dc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491598
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491506
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49159b
mov edx, dword [esi + 8]
test bl, 8
jne 0x49152c
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49158f
test bl, 4
jne 0x49155b
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49158f
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x4904fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4904fd
inc dword [esi + 0xc]
jmp 0x48fd3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4916c4
cmp ebx, 0xc0
jb 0x4916c4
test bl, 0x20
jne 0x491605
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4916c1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49162f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4916c4
mov edx, dword [esi + 8]
test bl, 8
jne 0x491655
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4916b8
test bl, 4
jne 0x491684
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4916b8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4915b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x49147c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4917e4
cmp ebx, 0xc0
jb 0x4917e4
test bl, 0x20
jne 0x491725
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4917e1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49174f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4917e4
mov edx, dword [esi + 8]
test bl, 8
jne 0x491775
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4917d8
test bl, 4
jne 0x4917a4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4917d8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x4904fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x4904fd
inc dword [esi + 0xc]
jmp 0x48fd3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x49190d
cmp ebx, 0xc0
jb 0x49190d
test bl, 0x20
jne 0x49184e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49190a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491878
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49190d
mov edx, dword [esi + 8]
test bl, 8
jne 0x49189e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x491901
test bl, 4
jne 0x4918cd
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x491901
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4915b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x49147c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x491a2d
cmp ebx, 0xc0
jb 0x491a2d
test bl, 0x20
jne 0x49196e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491a2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491998
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x491a2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x4919be
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x491a21
test bl, 4
jne 0x4919ed
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x491a21
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x4904fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4904fd
inc dword [esi + 0xc]
jmp 0x48fd3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x491b56
cmp ebx, 0xc0
jb 0x491b56
test bl, 0x20
jne 0x491a97
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491b53
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491ac1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x491b56
mov edx, dword [esi + 8]
test bl, 8
jne 0x491ae7
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x491b4a
test bl, 4
jne 0x491b16
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x491b4a
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x491bcf
je 0x491b71
cmp ebx, 0xa
je 0x4915b4
jbe 0x491482
cmp ebx, 0xc
jmp 0x491be9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x491bba
cmp dword [ebp + 0x88], 0
je 0x4915b4
cmp eax, dword [ebp + 0x84]
jbe 0x4915b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4915b4
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x4995a0
cmp byte [eax], 0xa
jne 0x4915b4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x48fd3a
cmp ebx, 0x85
je 0x491bef
cmp ebx, 0x2027
jbe 0x491482
cmp ebx, 0x2029
ja 0x491482
cmp dword [ebp + 0x68], 0
jmp 0x49147c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x491d00
cmp ebx, 0xc0
jb 0x491d00
test bl, 0x20
jne 0x491c41
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491cfd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491c6b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x491d00
mov edx, dword [esi + 8]
test bl, 8
jne 0x491c91
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x491cf4
test bl, 4
jne 0x491cc0
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x491cf4
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x491d38
je 0x4904fd
cmp ebx, 0xa0
ja 0x491d2d
je 0x4904fd
cmp ebx, 9
je 0x4904fd
cmp ebx, 0x20
jmp 0x4915ae
cmp ebx, 0x1680
jmp 0x4915ae
cmp ebx, 0x205f
ja 0x491d69
je 0x4904fd
cmp ebx, 0x2000
jb 0x4915b4
cmp ebx, 0x200a
jbe 0x4904fd
cmp ebx, 0x202f
jmp 0x4915ae
cmp ebx, 0x3000
je 0x4904fd
inc dword [esi + 0xc]
jmp 0x48fd3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x491e85
cmp ebx, 0xc0
jb 0x491e85
test bl, 0x20
jne 0x491dc6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491e82
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491df0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x491e85
mov edx, dword [esi + 8]
test bl, 8
jne 0x491e16
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x491e79
test bl, 4
jne 0x491e45
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x491e79
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x491ebd
je 0x4915b4
cmp ebx, 0xa0
ja 0x491eb2
je 0x4915b4
cmp ebx, 9
je 0x4915b4
cmp ebx, 0x20
jmp 0x49147c
cmp ebx, 0x1680
jmp 0x49147c
cmp ebx, 0x205f
ja 0x491eee
je 0x4915b4
cmp ebx, 0x2000
jb 0x491482
cmp ebx, 0x200a
jbe 0x4915b4
cmp ebx, 0x202f
jmp 0x49147c
cmp ebx, 0x3000
jmp 0x49147c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x492001
cmp ebx, 0xc0
jb 0x492001
test bl, 0x20
jne 0x491f42
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x491ffe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x491f6c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x492001
mov edx, dword [esi + 8]
test bl, 8
jne 0x491f92
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x491ff5
test bl, 4
jne 0x491fc1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x491ff5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x492029
je 0x491482
cmp ebx, 0xa
jb 0x4915b4
cmp ebx, 0xd
jbe 0x491482
inc dword [esi + 0xc]
jmp 0x48fd3a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4915b4
jmp 0x491482
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x492145
cmp ebx, 0xc0
jb 0x492145
test bl, 0x20
jne 0x492086
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x492142
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4920b0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x492145
mov edx, dword [esi + 8]
test bl, 8
jne 0x4920d6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x492139
test bl, 4
jne 0x492105
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x492139
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x49216a
je 0x4915b4
cmp ebx, 0xa
jb 0x4904fd
cmp ebx, 0xd
jbe 0x4915b4
jmp 0x4904fd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4904fd
inc dword [esi + 0xc]
jmp 0x48fd3a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x49227d
cmp ebx, 0xc0
jb 0x49227d
test bl, 0x20
jne 0x4921c9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49227a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4921f1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x49227d
mov edx, dword [esi + 8]
test bl, 8
jne 0x492217
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x49227a
test bl, 4
jne 0x492246
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x49227a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4922a0
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x4f91d8]
cmp eax, 0xa
ja case.default.0x4922ba
jmp dword [eax*4 + 0x49dc7c]
cmp dword [esi + 0x9c], 0xf
jne 0x48fd36
jmp 0x490b3b
mov al, byte [edx*8 + 0x4f5959]
cmp al, 9
je 0x4922ea
cmp al, 5
je 0x4922ea
cmp al, 8
je 0x4922ea
xor ecx, ecx
jmp 0x4922ef
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x48fd36
jmp 0x490b3b
movzx ecx, byte [edx*8 + 0x4f5959]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x4f5768]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x48fd36
jmp 0x490b3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x4f5959]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x48fd36
jmp 0x490b3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x4f5958]
jmp 0x49234b
movzx eax, byte [edx*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x4922ea
cmp eax, 3
je 0x4922ea
xor ecx, ecx
jmp 0x4922ef
cmp ebx, 0x180e
ja 0x4923e3
je case.0x4922ba.0
cmp ebx, 0x85
ja 0x4923cf
je case.0x4922ba.0
cmp ebx, 9
jb case.0x492403.8203
cmp ebx, 0xd
jbe case.0x4922ba.0
cmp ebx, 0x20
jmp 0x49241c
cmp ebx, 0xa0
je case.0x4922ba.0
cmp ebx, 0x1680
jmp 0x49241c
cmp ebx, 0x202f
ja 0x49240a
je case.0x4922ba.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x492403.8203
movzx eax, byte [ebx + 0x49dcb0]
jmp dword [eax*4 + 0x49dca8]
cmp ebx, 0x205f
je case.0x4922ba.0
cmp ebx, 0x3000
je case.0x4922ba.0
movzx eax, byte [edx*8 + 0x4f5959]
xor ecx, ecx
cmp dword [eax*4 + 0x4f5768], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x492357
movzx eax, byte [edx*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x4922ea
cmp eax, 3
je 0x4922ea
cmp ebx, 0x5f
je 0x4922ea
xor ecx, ecx
jmp 0x4922ef
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x4f5818]
lea eax, [eax*4 + 0x4f5818]
cmp ebx, ecx
jb 0x49249d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4924af
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x492490
cmp dword [esi + 0x9c], 0x10
jne 0x48fd36
jmp 0x490b3b
cmp dword [esi + 0x9c], 0x10
je 0x48fd36
jmp 0x490b3b
cmp ebx, 0x24
je 0x4922ea
cmp ebx, 0x40
je 0x4922ea
cmp ebx, 0x60
je 0x4922ea
cmp ebx, 0xa0
jb 0x4924f0
cmp ebx, 0xd7ff
jbe 0x4922ea
cmp ebx, 0xe000
jae 0x4922ea
xor ecx, ecx
jmp 0x4922ef
mov esi, dword [esi]
test esi, esi
je case.default.0x4995b4
mov edi, 0xfffffff2
jmp 0x499599
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x492622
cmp ebx, 0xc0
jb 0x492622
test bl, 0x20
jne 0x492560
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49261f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49258f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x492622
mov edx, dword [esi + 8]
test bl, 8
jne 0x4925b5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x492618
test bl, 4
jne 0x4925e4
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x492618
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x492644
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f595a]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4927d6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x49276e
cmp ebx, 0xc0
jb 0x49276e
test bl, 0x20
jne 0x4926a5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x492766
test bl, 0x10
jne 0x4926ca
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x492766
test bl, 8
jne 0x4926f8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x492766
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x492732
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x492766
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x492790
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx ecx, byte [eax*8 + 0x4f595a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4f57e0], eax
je 0x4927d6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x492670
cmp dword [ebp + 0x88], 0
je 0x4915b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4915b4
cmp eax, dword [ebp + 0x84]
jbe 0x4915b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4915b4
jmp 0x490ca6
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x492904
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x492894
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x49289d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x492870
jmp 0x492904
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x492904
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x4928f4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x4928f4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x4928fe
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x49291f
movzx eax, byte [eax + 0x49dce4]
jmp dword [eax*4 + 0x49dcdc]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x4f4ca4]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x4f4cb0]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4929ad
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x4929ad
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x4929a9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x48fd41
jns 0x4929d1
cmp dword [esi + 0x90], 0
je 0x48fd41
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x492a0f
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0049e1e0
add esp, 0x14
test eax, eax
js 0x492a41
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4929e0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x48fd41
cmp dword [esp + 0x80], 0
je 0x492a6a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x499e52
cmp eax, 0xfffffffe
jne 0x492a4c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x496cc6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x496cc6.14
jmp 0x4912e5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x492a80
cmp edi, dword [esi + 0x8c]
jge 0x499ea1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0049e1e0
add esp, 0x14
test eax, eax
js 0x492ab5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x492a80
cmp eax, 0xfffffffe
jne 0x499ea1
cmp dword [ebp + 0x88], 0
je 0x499ea1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x499ea1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x499ea1
jmp 0x490ca6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0049e1e0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x492b79
cmp eax, 0xfffffffe
jne 0x492b25
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x49a47d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x49a47d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x49a47d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x49a47d.14
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4995a4
add dword [esi + 8], eax
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x492ba7
movzx eax, byte [eax + 0x49dcf4]
jmp dword [eax*4 + 0x49dcec]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x492bca
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x492bd5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x4f4ca4]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x4f4cb0]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x492c6c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x492c6c
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x492c52
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x492c6c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x492dcc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x492e21
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x492d7c
test bl, 0x20
jne 0x492cca
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x492d79
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x492cf1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x492d77
test bl, 8
jne 0x492d14
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x492d77
test bl, 4
jne 0x492d43
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x492d77
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x492d8d
cmp dword [esi + 0x9c], 0x6e
jmp 0x492da2
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x492c90
jmp 0x492e13
cmp dword [ebp + 0x88], 0
je case.0x496cc6.14
mov eax, dword [esi + 8]
jmp 0x4912e5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x492e1a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x492db7
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x492de0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x48fd3a
test ebx, ebx
je 0x492e4a
test edx, edx
jne 0x49d0b7
mov dword [esi + 0x84], eax
jmp 0x499f3b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x493002
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x492fef
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x492fc7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x492f76
test bl, 0x20
jne 0x492ebb
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x492f76
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x492ee3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x492f6c
and eax, 0x3f
test bl, 8
jne 0x492f09
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x492f6c
test bl, 4
jne 0x492f38
and ebx, 3
mov dword [esp + 0x84], 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 0x492f6c
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x492f87
cmp dword [esi + 0x9c], 0x6e
jmp 0x492f9c
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x492fef
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x492e71
jmp 0x492fef
cmp dword [ebp + 0x88], 0
je 0x492fef
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x492fef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49aefc
jmp 0x48fd3a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x49307a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x493052
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x49307a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x493011
jmp 0x49307a
cmp dword [ebp + 0x88], 0
je 0x49307a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x49307a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x499f7b
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x4930c5
movzx eax, byte [eax + 0x49dd08]
jmp dword [eax*4 + 0x49dd00]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4930e8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x4930f3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x4f4ca4]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x4f4cb0]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x49318a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x49318a
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x493170
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x49318a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4932c5
jmp 0x4931a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x49329a
cmp edx, 0xc0
jb 0x49329a
test dl, 0x20
jne 0x4931e8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x493297
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49320f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x493295
test dl, 8
jne 0x493232
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x493295
test dl, 4
jne 0x493261
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x493295
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0049faf0
add esp, 0xc
test eax, eax
je case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4931a0
jmp 0x4932cc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x48fd41
cmp dword [esp + 0x84], 0
jne 0x49d0c8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x49345d
jmp 0x493310
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x493433
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4933fb
cmp edx, 0xc0
jb 0x4933fb
test dl, 0x20
jne 0x49335c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4933fb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x49337b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4933f1
and eax, 0x3f
test dl, 8
jne 0x49339b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4933f1
test dl, 4
jne 0x4933c4
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
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 0x4933f1
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.0049faf0
add esp, 0xc
test eax, eax
je 0x49345d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x493310
jmp 0x49345d
cmp dword [ebp + 0x88], 0
je 0x493456
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x493456
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x490ca6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x48fd41
jmp 0x49ad11
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x493649
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x4935d0
test al, 0x20
jne 0x4934d0
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x4935d0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x49350a
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x4935d0
test al, 8
jne 0x493546
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x4935d0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x49358b
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x4935d0
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x493609
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
cmp edx, edi
jb case.0x496cc6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x496cc6.14
jmp 0x490c92
test ecx, ecx
jle 0x49363e
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x496cc6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x493610
dec dword [esi + 0x88]
jmp 0x48fd3a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x493696
cmp dword [ebp + 0x88], ebx
je 0x4904fd
cmp edi, dword [ebp + 0x84]
jbe 0x4904fd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4904fd
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x4995a0
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x4939ab
jmp 0x490b3b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x491350
cmp dword [esp + 0x8c], ebx
je 0x49398c
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x49381b
test al, 0x20
jne 0x49371b
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x49381b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x493755
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x49381b
test al, 8
jne 0x493791
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x49381b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x4937d6
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x49381b
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x493849
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x490b3b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x48fd3a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x49392b
test bl, 0x20
jne 0x493879
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x493928
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4938a0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x493926
test bl, 8
jne 0x4938c3
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x493926
test bl, 4
jne 0x4938f2
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x493926
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x48fd3a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x493965
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
mov eax, dword [eax*8 + 0x4f595c]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x48fd41
jmp 0x490b3b
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x490b3b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x493add
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x493a14
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x493a1f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x493add
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x493ae4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x493ae4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x493ae4
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x4f4ca4]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x4f4cb0]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x493add
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x493f58
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x493c2b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x493b41
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x493c2b
test bl, 0x10
jne 0x493b76
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x493c2b
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x493bb4
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x493c2b
test bl, 4
jne 0x493bed
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x493c2b
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x493f67
cmp dword [esi + 0x9c], 0x2e
jb 0x493c9c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x493c73
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
mov ecx, dword [eax*8 + 0x4f595c]
add ecx, edi
cmp ecx, edi
je 0x493c9c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.004a0160
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x493ca3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x493dd6
jmp 0x493cc0
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x493d44
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x493cf8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x493d01
add ecx, 4
add edx, 4
sub edi, 4
jae 0x493ce7
cmp edi, 0xfffffffc
je 0x493db8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x493d3a
cmp edi, 0xfffffffd
je 0x493db8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x493d3a
cmp edi, 0xfffffffe
je 0x493db8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x493d3a
cmp edi, 0xffffffff
je 0x493db8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x493db8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x492a4c
sub ecx, ebx
cmp edi, ecx
ja 0x492a4c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x493d76
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x493d7b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x493d65
cmp edi, 0xfffffffc
je 0x493db8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x492a4c
cmp edi, 0xfffffffd
je 0x493db8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x492a4c
cmp edi, 0xfffffffe
je 0x493db8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x492a4c
cmp edi, 0xffffffff
je 0x493db8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x492a4c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x493cc0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x48fd41
cmp dword [esp + 0x84], 0
jne 0x49d0d9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x493f45
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x493e9c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x493e58
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x493e61
add ecx, 4
add edx, 4
sub edi, 4
jae 0x493e47
cmp edi, 0xfffffffc
je 0x493ef8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x493e92
cmp edi, 0xfffffffd
je 0x493ef8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x493e92
cmp edi, 0xfffffffe
je 0x493ef8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x493e92
cmp edi, 0xffffffff
je 0x493ef8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x493ef8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x493f18
sub ecx, ebx
cmp edi, ecx
ja 0x493f18
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x493ec6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x493ecb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x493eb5
cmp edi, 0xfffffffc
je 0x493ef8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x493f18
cmp edi, 0xfffffffd
je 0x493ef8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x493f18
cmp edi, 0xfffffffe
je 0x493ef8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x493f18
cmp edi, 0xffffffff
je 0x493ef8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x493f18
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x493e20
jmp 0x493f45
cmp dword [ebp + 0x88], 0
je 0x493f45
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x493f45
cmp eax, dword [ebp + 0x84]
jbe 0x493f45
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49b0bc
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x49405f
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x493fc4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x492db7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x493fb7
cmp dword [esi + 0x94], ecx
jne case.0x496cc6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x493f94
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x48fd3a
cmp dword [esp + 0x84], 0
je 0x493feb
mov dword [esi + 0x84], eax
jmp 0x49a01b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x494052
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49402a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x49401b
cmp dword [esi + 0x94], ecx
jne 0x494052
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x494000
jmp 0x494052
cmp dword [ebp + 0x88], 0
je 0x494052
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x494052
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
test edi, edi
je 0x49a05b
jmp 0x48fd3a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x49409a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x494070
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x48fd41
cmp dword [esp + 0x84], 0
je 0x4940c8
mov dword [esi + 0x84], eax
jmp 0x49a0e8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x49412c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x494104
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x49412c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4940e0
jmp 0x49412c
cmp dword [ebp + 0x88], 0
je 0x49412c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x49412c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49a128
jmp 0x48fd41
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x494164
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x496cc6.14
jmp 0x490c92
test edi, edi
je 0x4943dc
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x494265
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4941a2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x494262
test bl, 0x10
jne 0x4941c3
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x494262
test bl, 8
jne 0x4941ee
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x494265
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x494227
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x494262
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x494358
test dl, 0x20
jne 0x49429f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49434e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4942c6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x49434c
test dl, 8
jne 0x4942e9
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x49434c
test dl, 4
jne 0x494318
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x49434c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x494375
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x48fd41
jmp 0x490b3b
cmp ebx, 0x7f
jbe 0x4943b2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x49439d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
mov ecx, dword [eax*8 + 0x4f595c]
add ecx, ebx
jmp 0x4943b9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x490b3b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x48fd41
jmp 0x490b3b
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x496cc6.14
cmp dword [esi + 0x9c], 0x20
jne 0x4939ab
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x496cc6.14
add dword [esi + 0xc], 2
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x494576
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x49447b
cmp al, 0x4f
je 0x49447b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x494576
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x494576
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x494576
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x494576
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x494576
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x494576
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x4f4ca4]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x4f4cb0]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x494576
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x4946d1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x4946d1
test al, 0x20
jne 0x4945c8
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x4946d1
test al, 0x10
jne 0x4945fb
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x4946d1
test al, 8
jne 0x49463d
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x4946d1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x494688
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x4946ca
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x494af5
test edx, edx
je 0x49472c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x49472c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x494710
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
mov eax, dword [eax*8 + 0x4f595c]
add eax, edi
jmp 0x494739
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x494880
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x4948cb
jmp 0x494760
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x494859
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x49479a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x494856
test cl, 0x10
jne 0x4947bb
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x494856
test cl, 8
jne 0x4947e5
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x494856
test cl, 4
jne 0x49481b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x494856
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x496cc6.14
cmp dword [esi + 0x94], ecx
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x494760
jmp 0x4948c4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x4948c4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x492db7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x496cc6.14
cmp dword [esi + 0x94], ecx
je case.0x496cc6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x494890
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x48fd3a
test ebx, ebx
je 0x4948f4
test edx, edx
jne 0x49d0ea
mov dword [esi + 0x84], eax
jmp 0x49a1bf
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x494a7d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x494a6a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x494a42
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x494a1e
test dl, 0x20
jne 0x494952
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x494a1e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x49497c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x494a1c
test dl, 8
jne 0x4949a8
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x494a1c
test dl, 4
jne 0x4949e0
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x494a1c
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x494a6a
cmp dword [esi + 0x94], edx
je 0x494a6a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x494914
jmp 0x494a6a
cmp dword [ebp + 0x88], 0
je 0x494a6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x494a6a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49b29c
jmp 0x48fd3a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x494ae2
jmp 0x494a90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x494aba
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x494ae2
cmp dword [esi + 0x94], ecx
je 0x494ae2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x494a90
jmp 0x494ae2
cmp dword [ebp + 0x88], 0
je 0x494ae2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x494ae2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49a1ff
jmp 0x48fd3a
test edx, edx
je 0x494c17
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x494c55
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x494bfc
test dl, 0x20
jne 0x494b4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x494bf9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x494b71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x494bf7
test dl, 8
jne 0x494b94
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x494bf7
test dl, 4
jne 0x494bc3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x494bf7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x494b10
jmp 0x494c4e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x494c55
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x494c24
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x48fd3a
cmp dword [esp + 0x84], 0
je 0x494c84
test edx, edx
jne 0x49d0ff
mov dword [esi + 0x84], eax
jmp 0x49a28c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x494e08
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x494df5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x494dcd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x494db1
test dl, 0x20
jne 0x494ce2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x494db1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x494d0c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x494daf
test dl, 8
jne 0x494d3b
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x494daf
test dl, 4
jne 0x494d73
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x494daf
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x494df5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x494ca4
jmp 0x494df5
cmp dword [ebp + 0x88], 0
je 0x494df5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x494df5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49b460
jmp 0x48fd3a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x494e62
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x494e3a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x494e62
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x494e16
jmp 0x494e62
cmp dword [ebp + 0x88], 0
je 0x494e62
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x494e62
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49a2cc
jmp 0x48fd3a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x494fb4
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x494fb4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x494fb4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x494fb4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x494fb4
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x494fb4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x4f4c4f]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x4f4c5b]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x494fb4
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x494fd6
cmp ecx, 0xf
je 0x494fd6
mov dword [esi + 0x60], 0xffffffff
jmp 0x494ff9
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x496f9b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x495da8
cmp eax, 0xa
ja case.default.0x4922ba
jmp dword [eax*4 + 0x49dd14]
cmp dword [esi + 0x68], ebx
jne 0x490b3b
mov edx, 1
cmp ecx, edx
jl 0x496f9b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x49507f
cmp ecx, 0xc0
jb 0x49507f
test cl, 0x20
jne 0x49505b
inc eax
jmp 0x49507c
test cl, 0x10
jne 0x495065
add eax, 2
jmp 0x49507c
test cl, 8
jne 0x49506f
add eax, 3
jmp 0x49507c
test cl, 4
jne 0x495079
add eax, 4
jmp 0x49507c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x495038
jmp 0x496f9b
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
mov eax, dword [esi + 8]
jmp 0x4912e5
mov edi, 1
cmp ecx, edi
jl 0x496f9b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4951aa
cmp ebx, 0xc0
jb 0x4951aa
test bl, 0x20
jne 0x4950f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4951a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49511f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4951a5
test bl, 8
jne 0x495142
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4951a5
test bl, 4
jne 0x495171
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4951a5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x4951cc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp eax, 9
je 0x4951f1
cmp eax, 5
je 0x4951f1
cmp eax, 8
je 0x4951f1
xor eax, eax
jmp 0x4951f6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4950b0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496f9b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x495318
cmp ebx, 0xc0
jb 0x495318
test bl, 0x20
jne 0x495268
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x495315
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49528f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x495315
test bl, 8
jne 0x4952b2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x495315
test bl, 4
jne 0x4952e1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x495315
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49533a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x495220
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496f9b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x49547b
cmp ebx, 0xc0
jb 0x49547b
test bl, 0x20
jne 0x4953cb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x495478
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4953f2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x495478
test bl, 8
jne 0x495415
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x495478
test bl, 4
jne 0x495444
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x495478
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49549d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x495383
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496f9b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4955d8
cmp ebx, 0xc0
jb 0x4955d8
test bl, 0x20
jne 0x495528
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4955d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49554f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4955d5
test bl, 8
jne 0x495572
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4955d5
test bl, 4
jne 0x4955a1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4955d5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x4955fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5958]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4954e0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496f9b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x49573a
cmp ebx, 0xc0
jb 0x49573a
test bl, 0x20
jne 0x495688
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x495737
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4956af
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x495735
test bl, 8
jne 0x4956d2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x495735
test bl, 4
jne 0x495701
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x495735
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49575c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x495783
cmp eax, 3
je 0x495783
xor eax, eax
jmp 0x495788
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x495640
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496f9b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4958aa
cmp ebx, 0xc0
jb 0x4958aa
test bl, 0x20
jne 0x4957f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4958a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49581f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4958a5
test bl, 8
jne 0x495842
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4958a5
test bl, 4
jne 0x495871
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4958a5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x4958ed
je case.0x495909.8192
cmp ebx, 0x85
ja 0x4958d9
je case.0x495909.8192
cmp ebx, 9
jb case.0x495909.8203
cmp ebx, 0xd
jbe case.0x495909.8192
cmp ebx, 0x20
jmp 0x49591e
cmp ebx, 0xa0
je case.0x495909.8192
cmp ebx, 0x1680
jmp 0x49591e
cmp ebx, 0x202f
ja 0x495910
je case.0x495909.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x495909.8203
movzx eax, byte [eax + 0x49dd48]
jmp dword [eax*4 + 0x49dd40]
cmp ebx, 0x205f
je case.0x495909.8192
cmp ebx, 0x3000
je case.0x495909.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x495942
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp dword [eax*4 + 0x4f5768], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x496cc6.14
jmp 0x495976
cmp dword [esi + 0x68], 0
jne case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4957b0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496f9b
jmp 0x4959a0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x495a98
cmp ebx, 0xc0
jb 0x495a98
test bl, 0x20
jne 0x4959e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x495a95
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x495a0f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x495a95
test bl, 8
jne 0x495a32
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x495a95
test bl, 4
jne 0x495a61
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x495a95
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x495abb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x495ae7
cmp eax, 3
je 0x495ae7
cmp ebx, 0x5f
je 0x495ae7
xor eax, eax
jmp 0x495aec
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x496cc6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4959a0
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496f9b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x495c0c
cmp edx, 0xc0
jb 0x495c0c
test dl, 0x20
jne 0x495b5c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x495c09
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x495b83
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x495c09
test dl, 8
jne 0x495ba6
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x495c09
test dl, 4
jne 0x495bd5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x495c09
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x4f5818]
lea eax, [eax*4 + 0x4f5818]
cmp edx, ecx
jb 0x495c2e
lea eax, [eax + 4]
cmp edx, ecx
je 0x495c4a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x495c21
cmp dword [esi + 0x68], 0
je case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x495b14
jmp 0x496f9b
cmp dword [esi + 0x68], 0
jne case.0x496cc6.14
jmp 0x495c38
mov ebx, 1
cmp ecx, ebx
jl 0x496f9b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x495d5d
cmp edx, 0xc0
jb 0x495d5d
test dl, 0x20
jne 0x495cab
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x495d5a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x495cd2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x495d58
test dl, 8
jne 0x495cf5
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x495d58
test dl, 4
jne 0x495d24
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x495d58
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x495d88
cmp edx, 0x40
je 0x495d88
cmp edx, 0x60
je 0x495d88
cmp edx, 0xa0
jb 0x495d7c
cmp edx, 0xd7ff
jbe 0x495d88
cmp edx, 0xe000
jae 0x495d88
xor eax, eax
jmp 0x495d8d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x495c63
jmp 0x496f9b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4960d3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x496f9b
jmp 0x495dd0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x492db7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x495ed0
cmp ebx, 0xc0
jb 0x495ed0
test bl, 0x20
jne 0x495e19
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x495ecd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x495e40
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x495ec6
test bl, 8
jne 0x495e63
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x495ec6
test bl, 4
jne 0x495e92
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x495ec6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x495ef2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f595a]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49608d
jmp 0x495f20
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x49601e
cmp ebx, 0xc0
jb 0x49601e
test bl, 0x20
jne 0x495f55
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x496016
test bl, 0x10
jne 0x495f7a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x496016
test bl, 8
jne 0x495fa8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x496016
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x495fe2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x496016
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x496040
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx ecx, byte [eax*8 + 0x4f595a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4f57e0], eax
je 0x496086
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x495f20
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4960ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4960ba
cmp eax, dword [ebp + 0x84]
jbe 0x4960ba
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x495dd0
jmp 0x496f9b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x496b9f
cmp eax, 0xf
ja case.0x4990e7.9
jmp dword [eax*4 + 0x49dd74]
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x492db7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x496137
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne case.0x496cc6.14
jmp 0x49615b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x49615b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49615b
cmp edx, 1
je case.0x496cc6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x496cc6.14
cmp dword [ebp + 0x88], 0
je 0x496196
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x496196
cmp dword [ebp + 0x18], 0
jne 0x496196
cmp dword [edi], 2
jne 0x496196
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x496196
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4961b2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4961b2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4961a1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x496102
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x49508d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x496208
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x496208
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4961f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4961d4
jmp 0x496f9b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x490b3b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x49632c
test dl, 0x20
jne 0x49627a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x496329
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4962a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x496327
test dl, 8
jne 0x4962c4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x496327
test dl, 4
jne 0x4962f3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x496327
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x496350
je 0x49633d
cmp edx, 0xa
je 0x496371
lea eax, [edx - 0xb]
jmp 0x49635e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x496371
cmp byte [eax], 0xa
jne 0x496371
inc eax
mov dword [esi + 8], eax
jmp 0x496371
cmp edx, 0x85
je 0x496367
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x496cc6.14
cmp dword [ebp + 0x68], 0
jne case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x496240
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x49647c
test dl, 0x20
jne 0x4963ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x496479
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4963f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x496477
test dl, 8
jne 0x496414
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x496477
test dl, 4
jne 0x496443
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x496477
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x4964ae
je case.0x496cc6.14
cmp edx, 0xa0
ja 0x4964a6
je case.0x496cc6.14
cmp edx, 9
je case.0x496cc6.14
cmp edx, 0x20
jmp 0x4964de
cmp edx, 0x1680
jmp 0x4964de
cmp edx, 0x205f
ja 0x4964d8
je case.0x496cc6.14
cmp edx, 0x2000
jb 0x4964e4
cmp edx, 0x200a
jbe case.0x496cc6.14
cmp edx, 0x202f
jmp 0x4964de
cmp edx, 0x3000
je case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x496390
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4965ef
test dl, 0x20
jne 0x49653d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4965ec
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x496564
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4965ea
test dl, 8
jne 0x496587
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4965ea
test dl, 4
jne 0x4965b6
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4965ea
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x496615
je 0x496647
cmp edx, 0xa0
ja 0x49660d
je 0x496647
cmp edx, 9
je 0x496647
cmp edx, 0x20
jmp 0x496641
cmp edx, 0x1680
jmp 0x496641
cmp edx, 0x205f
ja 0x49663b
je 0x496647
cmp edx, 0x2000
jb case.0x496cc6.14
cmp edx, 0x200a
jbe 0x496647
cmp edx, 0x202f
jmp 0x496641
cmp edx, 0x3000
jne case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x496503
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
jmp 0x496670
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x49675c
test dl, 0x20
jne 0x4966aa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x496759
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4966d1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x496757
test dl, 8
jne 0x4966f4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x496757
test dl, 4
jne 0x496723
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x496757
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x496774
je case.0x496cc6.14
cmp edx, 0xa
jb 0x496788
cmp edx, 0xd
jmp 0x496782
cmp edx, 0x2028
jb 0x496788
cmp edx, 0x2029
jbe case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x496670
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
jmp 0x4967b0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x49689c
test dl, 0x20
jne 0x4967ea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x496899
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x496811
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x496897
test dl, 8
jne 0x496834
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x496897
test dl, 4
jne 0x496863
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x496897
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x4968ae
je 0x4968bd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x4968b7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4967b0
jmp 0x496f9b
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x492db7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4969cc
test dl, 0x20
jne 0x49691a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4969c9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x496941
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4969c7
test dl, 8
jne 0x496964
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x4969c7
test dl, 4
jne 0x496993
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x4969c7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x4969e1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x496cc6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4968e0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49508d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x496cc6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x496cc6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496a00
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x49508d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x496a73
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x496cc6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x496a98
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x496a98
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x496a80
inc edi
cmp edi, dword [esi + 0x90]
jle 0x496a50
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49508d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x496cc6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x496cc6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496ab3
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x49508d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x496b23
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x496cc6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x496b48
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x496b48
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x496b30
inc edi
cmp edi, dword [esi + 0x90]
jle 0x496b00
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49508d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x496cc6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x496cc6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496b63
jmp 0x496f9b
cmp eax, 0xf
ja case.0x4990e7.9
jmp dword [eax*4 + 0x49ddb4]
mov ebx, 1
cmp ecx, ebx
jl 0x496fa2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x492db7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x496bf0
push 0
push edi
push eax
push edx
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne case.0x496cc6.14
jmp 0x496c14
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x496c14
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x496c14
cmp edx, 1
je case.0x496cc6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x496cc6.14
cmp dword [ebp + 0x88], 0
je 0x496c4f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x496c4f
cmp dword [ebp + 0x18], 0
jne 0x496c4f
cmp dword [edi], 2
jne 0x496c4f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x496c4f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x496bc0
jmp 0x496f9b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x496226
cmp dword [ebp + 0x88], ebx
je case.0x496cc6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x496cc6.14
jmp 0x490c92
mov edx, 1
cmp ecx, edx
jl 0x496f9b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x49508d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x496cc6.14
movzx eax, byte [eax + 0x49de04]
jmp dword [eax*4 + 0x49ddf4]
cmp ecx, dword [ebp + 0x78]
jae case.0x496cc6.10
cmp byte [ecx], 0xa
jne case.0x496cc6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x496cc6.10
cmp dword [ebp + 0x68], ebx
jne case.0x496cc6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x496ca0
jmp 0x496f9b
mov edx, 1
cmp ecx, edx
jl 0x496f9b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x496cc6.14
cmp ecx, 0x20
je case.0x496cc6.14
cmp ecx, 0xa0
je case.0x496cc6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x496d03
jmp 0x496f9b
mov edx, 1
cmp ecx, edx
jl 0x496f9b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x496d79
cmp ecx, 0x20
je 0x496d79
cmp ecx, 0xa0
jne case.0x496cc6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x496d50
jmp 0x496f9b
mov edx, 1
cmp ecx, edx
jl 0x496f9b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x496dc1
cmp ecx, 0xd
jle case.0x496cc6.14
cmp ecx, 0x85
je case.0x496cc6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x496d94
jmp 0x496f9b
mov edx, 1
cmp ecx, edx
jl 0x496f9b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x496cc6.14
cmp ecx, 0xd
jle 0x496e0d
cmp ecx, 0x85
jne case.0x496cc6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x496de0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
jmp 0x496e30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x496cc6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496e30
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x496cc6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496e70
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x496cc6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496eb0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x496cc6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496ef0
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
jmp 0x496f30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x496cc6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496f30
jmp 0x496f9b
mov edi, 1
cmp ecx, edi
jl 0x496fa2
jmp 0x496f70
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x49508d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x496cc6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x496f70
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x48fd3a
cmp dword [esp + 0x84], 0
je 0x497002
mov eax, dword [esi + 0x60]
test eax, eax
js 0x496fe5
cmp eax, 0xa
ja case.0x4990e7.9
jmp dword [eax*4 + 0x49de80]
mov esi, dword [esi]
test esi, esi
je case.default.0x4995b4
mov edi, 0xfffffff2
jmp 0x4995a0
cmp dword [esi + 0x7c], 0x16
je 0x49d1d3
test edx, edx
jne 0x49d1be
mov dword [esi + 0x84], ecx
jmp 0x49a435
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x49803b
cmp eax, 0xa
ja case.0x4990e7.9
jmp dword [eax*4 + 0x49deac]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x498028
mov ebx, dword [esp + 0x8c]
jmp 0x497040
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x4970ab
movzx ecx, byte [edx]
test ebx, ebx
je 0x49708e
cmp ecx, 0xc0
jb 0x49708e
test cl, 0x20
jne 0x497068
mov eax, 2
jmp 0x49708e
test cl, 0x10
jne 0x497074
mov eax, 3
jmp 0x49708e
test cl, 8
jne 0x497080
mov eax, 4
jmp 0x49708e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x498028
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x497040
jmp 0x498028
cmp dword [ebp + 0x88], 0
je 0x498028
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x498028
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x498028
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4995a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x49726e
movzx ebx, byte [edi]
test edx, edx
je 0x4971ec
cmp ebx, 0xc0
jb 0x4971ec
test bl, 0x20
jne 0x49714e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4971e4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x49716d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4971e4
and eax, 0x3f
test bl, 8
jne 0x49718d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4971e4
test bl, 4
jne 0x4971b6
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x4971e4
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49720e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp eax, 9
je 0x497233
cmp eax, 5
je 0x497233
cmp eax, 8
je 0x497233
xor eax, eax
jmp 0x497238
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x498028
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x497110
jmp 0x498028
cmp dword [ebp + 0x88], 0
je 0x498028
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x498028
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x498028
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x4995a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
jmp 0x4972d0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x497452
movzx ebx, byte [edi]
test edx, edx
je 0x4973d3
cmp ebx, 0xc0
jb 0x4973d3
test bl, 0x20
jne 0x49731a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4973cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x497342
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4973cb
and eax, 0x3f
test bl, 8
jne 0x497368
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4973cb
test bl, 4
jne 0x497397
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x4973cb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x4973f5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x498028
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x4972d0
jmp 0x498028
cmp dword [ebp + 0x88], 0
je 0x498028
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x498028
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x497293
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x497452
movzx ebx, byte [edi]
test edx, edx
je 0x49759f
cmp ebx, 0xc0
jb 0x49759f
test bl, 0x20
jne 0x4974e6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x497597
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x49750e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x497597
and eax, 0x3f
test bl, 8
jne 0x497534
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x497597
test bl, 4
jne 0x497563
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x497597
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x4975c1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x498028
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x4974a0
jmp 0x498028
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x497452
movzx ebx, byte [edi]
test edx, edx
je 0x497733
cmp ebx, 0xc0
jb 0x497733
test bl, 0x20
jne 0x49767a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x49772b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4976a2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x49772b
and eax, 0x3f
test bl, 8
jne 0x4976c8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x49772b
test bl, 4
jne 0x4976f7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x49772b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x497755
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5958]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x498028
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x497630
jmp 0x498028
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x49726e
movzx ebx, byte [edi]
test edx, edx
je 0x4978a3
cmp ebx, 0xc0
jb 0x4978a3
test bl, 0x20
jne 0x497802
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x49789b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x497824
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x49789b
and eax, 0x3f
test bl, 8
jne 0x497844
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x49789b
test bl, 4
jne 0x49786d
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x49789b
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x4978c5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x4978ec
cmp eax, 3
je 0x4978ec
xor eax, eax
jmp 0x4978f1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x498028
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x4977c4
jmp 0x498028
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x497452
movzx ebx, byte [edi]
test edx, edx
je 0x497a4d
cmp ebx, 0xc0
jb 0x497a4d
test bl, 0x20
jne 0x497992
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x497a4d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4979ba
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x497a43
and eax, 0x3f
test bl, 8
jne 0x4979e0
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x497a43
test bl, 4
jne 0x497a0f
and ebx, 3
mov dword [esp + 0x84], 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 0x497a43
and ebx, 1
mov dword [esp + 0x84], 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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x497a90
je case.0x497ab0.8192
cmp ebx, 0x85
ja 0x497a7c
je case.0x497ab0.8192
cmp ebx, 9
jb case.0x497ab0.8203
cmp ebx, 0xd
jbe case.0x497ab0.8192
cmp ebx, 0x20
jmp 0x497ac5
cmp ebx, 0xa0
je case.0x497ab0.8192
cmp ebx, 0x1680
jmp 0x497ac5
cmp ebx, 0x202f
ja 0x497ab7
je case.0x497ab0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x497ab0.8203
movzx eax, byte [eax + 0x49dee0]
jmp dword [eax*4 + 0x49ded8]
cmp ebx, 0x205f
je case.0x497ab0.8192
cmp ebx, 0x3000
je case.0x497ab0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x497ae9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp dword [eax*4 + 0x4f5768], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x498028
mov edx, dword [esp + 0x8c]
jmp 0x497b24
cmp dword [esi + 0x68], 0
jne 0x498028
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x497940
jmp 0x498028
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x497452
movzx ebx, byte [edi]
test edx, edx
je 0x497c73
cmp ebx, 0xc0
jb 0x497c73
test bl, 0x20
jne 0x497bba
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x497c6b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x497be2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x497c6b
and eax, 0x3f
test bl, 8
jne 0x497c08
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x497c6b
test bl, 4
jne 0x497c37
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x497c6b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x497c96
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x497cc2
cmp eax, 3
je 0x497cc2
cmp ebx, 0x5f
je 0x497cc2
xor eax, eax
jmp 0x497cc7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x498028
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x497b70
jmp 0x498028
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x498028
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x497e5f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x497e01
cmp edx, 0xc0
jb 0x497e01
test dl, 0x20
jne 0x497d64
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x497df9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x497d83
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x497df9
and eax, 0x3f
test dl, 8
jne 0x497da3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x497df9
test dl, 4
jne 0x497dcc
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x497df9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x4f5818]
lea eax, [eax*4 + 0x4f5818]
cmp edx, ecx
jb 0x497e23
lea eax, [eax + 4]
cmp edx, ecx
je 0x497e53
mov ecx, dword [eax]
cmp edx, ecx
jae 0x497e16
cmp dword [esi + 0x68], 0
je 0x498028
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x497d20
jmp 0x498028
cmp dword [esi + 0x68], 0
jne 0x498028
jmp 0x497e2d
cmp dword [ebp + 0x88], 0
je 0x498028
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x498028
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x498028
jmp 0x490ca6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x498028
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x498000
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x497fb7
cmp edx, 0xc0
jb 0x497fb7
test dl, 0x20
jne 0x497eed
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x497fb7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x497f17
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x497fb7
test dl, 8
jne 0x497f43
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x497fb7
test dl, 4
jne 0x497f7b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x497fb7
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0x24
je 0x497fe2
cmp edx, 0x40
je 0x497fe2
cmp edx, 0x60
je 0x497fe2
cmp edx, 0xa0
jb 0x497fd6
cmp edx, 0xd7ff
jbe 0x497fe2
cmp edx, 0xe000
jae 0x497fe2
xor ecx, ecx
jmp 0x497fe7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x498028
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x497ea1
jmp 0x498028
cmp dword [ebp + 0x88], 0
je 0x498028
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x498028
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
je 0x49c4dc
jmp 0x48fd3a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4983d7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x498388
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x498360
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x498160
cmp ebx, 0xc0
jb 0x498160
test bl, 0x20
jne 0x4980a9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x49815d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4980d0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x498156
test bl, 8
jne 0x4980f3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x498156
test bl, 4
jne 0x498122
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x498156
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x498182
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f595a]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49831d
jmp 0x4981b0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4982ae
cmp ebx, 0xc0
jb 0x4982ae
test bl, 0x20
jne 0x4981e5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4982a6
test bl, 0x10
jne 0x49820a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x4982a6
test bl, 8
jne 0x498238
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x4982a6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x498272
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x4982a6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x4982d0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx ecx, byte [eax*8 + 0x4f595a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4f57e0], eax
je 0x498316
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x4981b0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x49834a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x49834a
cmp eax, dword [ebp + 0x84]
jbe 0x49834a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x498060
jmp 0x498388
cmp dword [ebp + 0x88], 0
je 0x498388
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x498388
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
cmp dword [esp + 0x80], 0
jne 0x48fd3a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d905
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d8fb
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
add eax, 0xfffffffa
test edx, edx
je 0x4990de
cmp eax, 0xf
ja case.0x4990e7.9
jmp dword [eax*4 + 0x49df0c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4984c6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x498439
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x4990cb
jmp 0x49845d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x49845d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49845d
cmp edx, 1
je 0x4990cb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4990cb
cmp dword [ebp + 0x88], 0
je 0x498498
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x498498
cmp dword [ebp + 0x18], 0
jne 0x498498
cmp dword [edi], 2
jne 0x498498
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x498498
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4984b4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4984b4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4984a3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x498404
jmp 0x4990cb
cmp dword [ebp + 0x88], 0
je 0x4990cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4990cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4990cb
jmp 0x490ca6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x498558
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4990cb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4984c6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x49854a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49854a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x498532
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x498520
jmp 0x4990cb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4990cb
cmp eax, dword [ebp + 0x84]
jbe 0x4990cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4990cb
jmp 0x497299
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x4985df
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4990cb
cmp edx, dword [ebp + 0x84]
jbe 0x4990cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4990cb
jmp 0x490ca6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4984c6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x49870a
test dl, 0x20
jne 0x49863e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x49870a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x498668
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x498708
test dl, 8
jne 0x498694
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x498708
test dl, 4
jne 0x4986cc
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x498708
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
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]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x498726
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4990cb
cmp byte [eax], 0xa
jne 0x498760
inc eax
jmp 0x49875d
cmp edx, 0xa
je 0x49875b
cmp dword [ebp + 0x68], 0
jne 0x4990cb
cmp edx, 0xb
je 0x49875b
cmp edx, 0xc
je 0x49875b
cmp edx, 0x85
je 0x49875b
cmp edx, 0x2028
je 0x49875b
cmp edx, 0x2029
jne 0x4990cb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x498600
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x498858
test dl, 0x20
jne 0x4987ba
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x498850
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4987d9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x498850
and eax, 0x3f
test dl, 8
jne 0x4987f9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x498850
test dl, 4
jne 0x498822
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x498850
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x49887e
je 0x4988ac
cmp edx, 0xa0
ja 0x498876
je 0x4988ac
cmp edx, 9
je 0x4988ac
cmp edx, 0x20
jmp 0x4988a6
cmp edx, 0x1680
jmp 0x4988a6
cmp edx, 0x205f
ja 0x4988a0
je 0x4988ac
cmp edx, 0x2000
jb 0x4988a8
cmp edx, 0x200a
jbe 0x4988ac
cmp edx, 0x202f
jmp 0x4988a6
cmp edx, 0x3000
je 0x4988ac
xor edx, edx
jmp 0x4988b1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498784
jmp 0x4990cb
cmp dword [ebp + 0x88], 0
je 0x4990cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4990cb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4990cb
jmp 0x490ca6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4989f0
test dl, 0x20
jne 0x498952
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4989e8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x498971
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4989e8
and eax, 0x3f
test dl, 8
jne 0x498991
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4989e8
test dl, 4
jne 0x4989ba
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4989e8
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x498a2f
je 0x498a3a
cmp edx, 0xa
jb 0x498a04
cmp edx, 0xd
jbe 0x498a3a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498920
jmp 0x4990cb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x498a04
mov edx, 1
jmp 0x498a06
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x498b27
test dl, 0x20
jne 0x498a89
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x498b1f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x498aa8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x498b1f
and eax, 0x3f
test dl, 8
jne 0x498ac8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x498b1f
test dl, 4
jne 0x498af1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x498b1f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x498b3c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498a53
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
jmp 0x498b70
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x498c44
test dl, 0x20
jne 0x498ba6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x498c3c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x498bc5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x498c3c
and eax, 0x3f
test dl, 8
jne 0x498be5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x498c3c
test dl, 4
jne 0x498c0e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x498c3c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4990cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498b70
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
jmp 0x498c90
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x498d64
test dl, 0x20
jne 0x498cc6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x498d5c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x498ce5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x498d5c
and eax, 0x3f
test dl, 8
jne 0x498d05
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x498d5c
test dl, 4
jne 0x498d2e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x498d5c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x498d79
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498c90
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x498e77
test dl, 0x20
jne 0x498dd9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x498e6f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x498df8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x498e6f
and eax, 0x3f
test dl, 8
jne 0x498e18
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x498e6f
test dl, 4
jne 0x498e41
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x498e6f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4990cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498da3
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x498f94
test dl, 0x20
jne 0x498ef6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x498f8c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x498f15
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x498f8c
and eax, 0x3f
test dl, 8
jne 0x498f35
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x498f8c
test dl, 4
jne 0x498f5e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x498f8c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x498fa9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498ec0
jmp 0x4990cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4990cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x4988da
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4990a7
test dl, 0x20
jne 0x499009
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x49909f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x499028
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x49909f
and eax, 0x3f
test dl, 8
jne 0x499048
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x49909f
test dl, 4
jne 0x499071
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x49909f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4990cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4990cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x498fd3
cmp dword [esp + 0x80], 0
je 0x49b998
jmp 0x48fd3a
cmp eax, 0xf
ja case.0x4990e7.9
jmp dword [eax*4 + 0x49df4c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x499577
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4991a4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x499130
push 0
push edi
push eax
push edx
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x499577
jmp 0x499154
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x499154
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x499154
cmp edx, 1
je 0x499577
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x499577
cmp dword [ebp + 0x88], 0
je 0x49918f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x49918f
cmp dword [ebp + 0x18], 0
jne 0x49918f
cmp dword [edi], 2
jne 0x49918f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x49918f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x499100
jmp 0x499577
cmp dword [ebp + 0x88], 0
je 0x499577
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x499577
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x499577
jmp 0x490ca6
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x499228
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x499577
cmp edx, dword [ebp + 0x84]
jbe 0x499577
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x499577
jmp 0x490ca6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x499577
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x499577
jmp 0x499250
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4991a4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x49927b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x499577
cmp byte [eax], 0xa
jne 0x4992a5
inc eax
jmp 0x4992a2
cmp eax, 0xa
je 0x49929f
cmp dword [ebp + 0x68], 0
jne 0x499577
cmp eax, 0xb
je 0x49929f
cmp eax, 0xc
je 0x49929f
cmp eax, 0x85
jne 0x499577
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x499250
jmp 0x499577
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x499577
jmp 0x4992d0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4991a4
mov al, byte [ecx]
cmp al, 9
je 0x499577
cmp al, 0x20
je 0x499577
cmp al, 0xa0
je 0x499577
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4992d0
jmp 0x499577
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x499577
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4991a4
mov al, byte [ecx]
cmp al, 9
je 0x49933e
cmp al, 0x20
je 0x49933e
cmp al, 0xa0
jne 0x499577
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x499320
jmp 0x499577
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x499577
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4991a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x499386
cmp al, 0xd
jbe 0x499577
cmp al, 0x85
je 0x499577
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x499364
jmp 0x499577
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x499577
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4991a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x499577
cmp al, 0xd
jbe 0x4993d2
cmp al, 0x85
jne 0x499577
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4993b0
jmp 0x499577
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x499577
jmp 0x499400
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4991a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x499577
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x499400
jmp 0x499577
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x499577
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4991a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x499577
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x499442
jmp 0x499577
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x499577
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4991a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x499577
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x499484
jmp 0x499577
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x499577
jmp 0x4994d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4991a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x499577
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4994d0
jmp 0x499577
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x499577
jmp 0x499510
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4991a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x499577
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x499510
jmp 0x499577
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x499577
jmp 0x499550
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4991a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x499577
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x499550
cmp dword [esp + 0x80], 0
je 0x49a5da
jmp 0x48fd3a
mov esi, dword [esi]
test esi, esi
je 0x49da51
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4995b4
jmp dword [eax*4 + 0x49df8c]
cmp edi, 0xfffffc1b
je 0x499686
cmp edi, 0xfffffc20
jne 0x499603
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4995b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4995ff
cmp byte [ecx], 0x77
jne case.0x4995b4.49
xor edi, edi
jmp 0x49960b
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x499686
cmp dword [esi + 0x9c], 0x88
jb 0x499651
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d3da
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d3d0
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x499a7c
mov edx, dword [esp + 0x8c]
jmp 0x4995a4
cmp edi, 0xfffffc20
jne 0x499743
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x499791
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x49970e
cmp byte [ecx], 0x77
jne 0x499791
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4997a7
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a4
test edi, edi
je 0x49970e
cmp edi, 0xfffffc1b
jne 0x499791
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x499783
cmp al, 0x77
jne 0x499774
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x499760
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x499a7c
mov edx, dword [esp + 0x8c]
jmp 0x4995a4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x4997f9
cmp eax, 0x81
je 0x4997f9
cmp dword [ebp + 0x6c], 0
jne 0x499803
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x499803
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x4f5650]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x48fcc0
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d3fc
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d3f2
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
cmp edi, 1
jne 0x4998c3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x499860
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x499873
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4998a9
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x499890
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x4f5650]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x49016e.145
test edi, edi
je 0x4998d3
cmp edi, 0xfffffc20
jne case.0x4995b4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x4998e9
movzx eax, byte [edx + 0x4f5650]
jmp 0x4998ec
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x499909
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x48fd41
cmp dword [esi + 0x9c], 0x8c
jne 0x48fcc0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d41e
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d414
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
cmp edi, 1
je 0x499a02
cmp edi, 0xfffffc19
je 0x499a02
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x4999aa
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4995b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4999b2
cmp byte [ecx], 0x77
jmp 0x4999ac
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x499a08
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d437
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d42d
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x499a21
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a4
cmp dword [esi + 0x58], 0
je 0x49d05e
mov esi, dword [esi]
test esi, esi
je 0x49d9f6
mov edi, 1
jmp 0x4995a4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x499aed
je 0x499a86
cmp edi, 0xfffffc19
je 0x49a323
cmp edi, 0xfffffc1b
jle case.0x4995b4.49
cmp edi, 0xfffffc1f
jle 0x499aae
mov esi, dword [esi]
test esi, esi
jne 0x4995a4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x499aae
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x499b00
cmp byte [ecx], 0x77
je 0x499b00
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x499ab1
cmp dword [esi + 0x58], 0
je 0x499d37
mov esi, dword [esi]
test esi, esi
je 0x49d9f6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4995a4
mov eax, edi
sub eax, 0
je 0x499b00
dec eax
je 0x49a323
jmp case.0x4995b4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x499ac8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d44d
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d443
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x49d08c
cmp edi, 0xfffffc19
je 0x49d08c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x499bb9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x490b3b
push ecx
call dword [0x53de6c]
add esp, 4
jmp 0x490b3b
test edi, edi
je 0x499be3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x499bd4
push ecx
call dword [0x53de6c]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x499a7c
jmp 0x499599
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x499c49
cmp dword [esi + 0x58], 0
je 0x499c14
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d493
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d489
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x499b99
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x499ca3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d4e1
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d4d7
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4995a4
cmp al, 0x88
jb 0x49d1e4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d503
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d4f9
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x49da03
mov edi, 0xfffffc1b
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
mov edx, dword [esi + 0x2c]
jmp 0x499d20
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x499d20
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x48fd3a
test edi, edi
je 0x4915b4
jmp case.0x4995b4.49
test edi, edi
je 0x499cef
jmp case.0x4995b4.49
cmp edi, 0xfffffc1b
jne 0x499d6b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x499d6d
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x49ab5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d525
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d51b
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x499de0
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0049e1e0
add esp, 0x14
test eax, eax
jns 0x499e47
cmp eax, 0xfffffffe
jne 0x499e09
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x49b921
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x49b921
cmp eax, dword [ebp + 0x84]
jbe 0x49b921
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x492b5e
jmp 0x49b921
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d54a
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d540
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x496cc6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d563
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d559
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x499f07
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49ba06
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je 0x49b921
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d57c
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d572
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x490b3b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d595
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d58b
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x499fe1
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49ba06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x49a011
cmp dword [esi + 0x94], ecx
je 0x49a011
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d5ae
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d5a4
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
dec dword [esi + 8]
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d5c7
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d5bd
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49a0c1
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49ba06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x49b921
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d5e0
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d5d6
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
dec dword [esi + 8]
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d5f9
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d5ef
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49a18e
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49ba06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x49a323
cmp dword [esi + 0x94], ecx
je 0x49a323
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d612
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d608
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d62b
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d621
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49a265
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49ba06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x49b921
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d641
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d637
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d657
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d64d
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49a334
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x49a37b
cmp dword [ebp + 0x88], 0
je 0x49a363
cmp ecx, dword [ebp + 0x84]
jbe 0x49a363
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x492b5e
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4995a4
cmp dword [esi + 0x7c], 0xc
jne 0x49a3a2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x49a3c4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x49a3e1
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x49a3bd.15
jmp dword [eax*4 + 0x49e098]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x49a3a2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49a3a2
cmp edi, 1
je 0x49a3e1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x49a3a2
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4995a4
cmp dword [ebp + 0x88], 0
je case.0x49a3bd.13
cmp edx, dword [ebp + 0x78]
jb case.0x49a3bd.13
cmp dword [ebp + 0x18], 0
jne case.0x49a3bd.13
cmp dword [ebp + 0x1c], 2
jne case.0x49a3bd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x49a3bd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x492b5e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d66d
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d663
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x49a47d.14
movzx eax, byte [ecx + 0x49e0e8]
jmp dword [eax*4 + 0x49e0d8]
cmp edx, dword [ebp + 0x78]
jae case.0x49a3bd.13
cmp byte [edx], 0xa
jne case.0x49a3bd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x49a3bd.13
cmp dword [ebp + 0x68], 0
je case.0x49a3bd.13
jmp case.0x49a47d.14
cmp ecx, 9
je case.0x49a47d.14
cmp ecx, 0x20
je case.0x49a47d.14
cmp ecx, 0xa0
jmp 0x49a57a
cmp ecx, 9
je case.0x49a3bd.13
cmp ecx, 0x20
je case.0x49a3bd.13
cmp ecx, 0xa0
je case.0x49a3bd.13
jmp case.0x49a47d.14
cmp ecx, 0xa
jb case.0x49a3bd.13
cmp ecx, 0xd
jbe case.0x49a47d.14
cmp ecx, 0x85
jmp 0x49a57a
cmp ecx, 0xa
jb case.0x49a47d.14
cmp ecx, 0xd
jbe case.0x49a3bd.13
cmp ecx, 0x85
je case.0x49a3bd.13
jmp case.0x49a47d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x49a3bd.13
jmp case.0x49a47d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x49a57a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x49a3bd.13
jmp case.0x49a47d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x49a57a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x49a3bd.13
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4995a4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x49a3bd.13
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4995a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4995b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x49a5da
cmp eax, dword [esi + 0x30]
jbe 0x49a5da
cmp byte [eax], 0xa
jne 0x49a5da
cmp byte [eax - 1], 0xd
jne 0x49a5da
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d683
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d679
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
cmp edi, 0xfffffc1a
jne 0x49a671
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x49a669
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x49a650
jmp 0x49a6c8
mov dword [esi + 8], eax
jmp 0x49a6ed
cmp edi, 0xfffffc20
jne 0x49a6a5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4995b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x49a6ad
cmp byte [ecx], 0x77
jmp 0x49a6a7
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x49a6e1
cmp dword [esi + 0x5c], 0
jne 0x499d37
cmp dword [esi + 0x54], 0
jne 0x499d37
jmp 0x49b921
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x49a703
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x49d6c5
push 0x134
call dword [0x53de70]
mov edx, eax
add esp, 4
test edx, edx
jne 0x49d6bb
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
mov esi, dword [esi]
test edi, edi
jne 0x499a74
test esi, esi
je 0x49da1d
mov edi, 0xfffffc1c
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x49da37
mov edi, 0xfffffc1e
jmp 0x4995a4
cmp edi, 1
je 0x49a783
cmp edi, 0xfffffc19
jne 0x49a79d
cmp dword [ebp + 0xac], 0
jne 0x49a79d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x499791
cmp edi, 0xfffffc1f
jne 0x499791
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x49a7d2
test dl, dl
je 0x49a7ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x49a7d2
add eax, 2
add ecx, 2
test dl, dl
jne 0x49a7b2
xor eax, eax
jmp 0x49a7d7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x499791
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x49da37
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4995a4
cmp edi, 1
je 0x49a80d
cmp edi, 0xfffffc19
jne case.0x4995b4.51
cmp dword [ebp + 0xac], 0
jne case.0x4995b4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x499a74
test esi, esi
je 0x49da10
mov edi, 0xfffffc1d
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x49da44
mov edi, 0xfffffc1f
jmp 0x4995a4
cmp edi, 1
je 0x49a870
cmp edi, 0xfffffc19
jne case.0x4995b4.54
cmp dword [ebp + 0xac], 0
jne case.0x4995b4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x49da2a
mov edi, 0xfffffc20
jmp 0x4995a4
cmp edi, 0xfffffc1a
jne 0x49a911
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x49a909
mov edx, dword [esi + 0xc]
jmp 0x49a8f0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x49a8f0
jmp 0x49a978
mov dword [esi + 8], eax
jmp 0x490872
cmp edi, 0xfffffc20
jne 0x49a945
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4995b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x49a94d
cmp byte [ecx], 0x77
jmp 0x49a947
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x490872
cmp dword [esi + 0x5c], 0
jne 0x49a9b8
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x48fd36
cmp dword [esi + 0x5c], 0
jne 0x48fd36
jmp 0x49b921
cmp edi, 1
jne 0x49aa74
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x49a9f1
cmp al, 0x77
jne 0x49b921
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x49a9f1
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x48fd36
cmp ecx, dword [esi + 0x38]
je 0x48fd36
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x49ab0d
test ecx, ecx
jne 0x49d72e
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d724
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4995a4
cmp edi, 0xfffffc20
jne 0x49aaa8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4995b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x49aab0
cmp byte [ecx], 0x77
jmp 0x49aaaa
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x49a9e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d709
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d6ff
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test ecx, ecx
jne 0x49d753
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d749
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4995a4
test edi, edi
je 0x49d1e4
jmp case.0x4995b4.49
test edi, edi
jne case.0x4995b4.49
add dword [esi + 0xc], 3
jmp 0x48fcc0
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49ab89
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49ac8a
cmp ebx, 0xc0
jb 0x49ac8a
test bl, 0x20
jne 0x49abcb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49ac87
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49abf5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49ac8a
mov edx, dword [esi + 8]
test bl, 8
jne 0x49ac1b
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49ac7e
test bl, 4
jne 0x49ac4a
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49ac7e
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.0049faf0
add esp, 0xc
test eax, eax
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d775
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d76b
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x49b921
cmp dword [esp + 0x8c], edi
je 0x49ad11
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x49ad11
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x49ad05
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d78e
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d784
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49ad6b
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x49ae60
test bl, 0x20
jne 0x49ada5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49ae5d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49adcf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49ae60
mov edx, dword [esi + 8]
test bl, 8
jne 0x49adf8
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49ae5b
test bl, 4
jne 0x49ae27
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49ae5b
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x49ae76
cmp dword [esi + 0x9c], 0x6e
jne 0x49ae93
jmp 0x490b3b
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d7a7
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d79d
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x490b3b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x49aefc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x49aef0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d7c0
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d7b6
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49af56
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x49afc5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x49af85
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49af8a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x49af74
cmp edi, 0xfffffffc
je 0x49afb7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49afc2
cmp edi, 0xfffffffd
je 0x49afb7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49afc2
cmp edi, 0xfffffffe
je 0x49afb7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49afc2
cmp edi, 0xffffffff
je 0x49afb7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49afc2
mov eax, dword [esi + 0x88]
jmp 0x49b030
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x49b070
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x49b070
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x49aff7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49affc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x49afe6
cmp edi, 0xfffffffc
je 0x49b02d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49b070
cmp edi, 0xfffffffd
je 0x49b02d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49b070
cmp edi, 0xfffffffe
je 0x49b02d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49b070
cmp edi, 0xffffffff
je 0x49b02d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49b070
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d7d9
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d7cf
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
cmp dword [ebp + 0x88], 0
je case.0x496cc6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x496cc6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x496cc6.14
jmp 0x490c92
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49b0bc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49b0b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d7f2
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d7e8
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49b122
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x49b222
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x49b15c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49b21f
test dl, 0x10
jne 0x49b17e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x49b222
mov ecx, dword [esi + 8]
test dl, 8
jne 0x49b1ae
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x49b21f
test dl, 4
jne 0x49b1e4
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x49b21f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x49a3e1
cmp dword [esi + 0x94], edx
je 0x49a3e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49b269
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x499e75
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x49d68d
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49b29c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49b290
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d80b
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d801
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49b302
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x49b3f7
test bl, 0x20
jne 0x49b33c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49b3f4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49b366
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49b3f7
mov edx, dword [esi + 8]
test bl, 8
jne 0x49b38f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49b3f2
test bl, 4
jne 0x49b3be
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49b3f2
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d824
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d81a
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49b460
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49b454
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d83d
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d833
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49b4c6
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x49b502
cmp dword [ebp + 0x88], 0
je 0x49b921
cmp ecx, dword [ebp + 0x84]
jbe 0x49b921
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x492b5e
jmp 0x49b921
cmp dword [esi + 0x7c], 0xc
jne 0x49b554
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x49b52f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0049f800
add esp, 0x14
test eax, eax
jne 0x49b921
jmp 0x49b554
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x49b554
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x49b554
cmp edi, 1
je 0x49b921
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x49b921
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x49b63c
test dl, 0x20
jne 0x49b587
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x49b639
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x49b5ae
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x49b637
test dl, 8
jne 0x49b5d4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x49b637
test dl, 4
jne 0x49b603
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x49b637
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x49b64b.15
jmp dword [eax*4 + 0x49e164]
cmp dword [ebp + 0x88], 0
je case.0x49b64b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x49b64b.13
cmp dword [ebp + 0x18], 0
jne case.0x49b64b.13
cmp dword [ebp + 0x1c], 2
jne case.0x49b64b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x49b64b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x49b64b.13
jmp 0x492b5e
cmp edx, 0xd
ja 0x49b6ce
je 0x49b6bb
cmp edx, 0xa
je case.0x49b64b.13
jbe 0x49b921
cmp edx, 0xc
jmp 0x49b6e8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x49b64b.13
cmp byte [eax], 0xa
jne case.0x49b64b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x49b64b.13
cmp edx, 0x85
je 0x49b6ee
cmp edx, 0x2027
jbe 0x49b921
cmp edx, 0x2029
ja 0x49b921
cmp dword [ebp + 0x68], 0
je case.0x49b64b.13
jmp 0x49b921
cmp edx, 0x180e
ja 0x49b76d
je 0x49b921
cmp edx, 0xa0
ja 0x49b765
je 0x49b921
cmp edx, 9
je 0x49b921
cmp edx, 0x20
je 0x49b921
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49b756
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x499e75
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x49d68d
cmp edx, 0x1680
jmp 0x49b721
cmp edx, 0x205f
ja 0x49b797
je 0x49b921
cmp edx, 0x2000
jb case.0x49b64b.13
cmp edx, 0x200a
jbe 0x49b921
cmp edx, 0x202f
jmp 0x49b721
cmp edx, 0x3000
jmp 0x49b91b
cmp edx, 0x180e
ja 0x49b7d4
je case.0x49b64b.13
cmp edx, 0xa0
ja 0x49b7cc
je case.0x49b64b.13
cmp edx, 9
je case.0x49b64b.13
cmp edx, 0x20
jmp 0x49b808
cmp edx, 0x1680
jmp 0x49b808
cmp edx, 0x205f
ja 0x49b802
je case.0x49b64b.13
cmp edx, 0x2000
jb 0x49b921
cmp edx, 0x200a
jbe case.0x49b64b.13
cmp edx, 0x202f
jmp 0x49b808
cmp edx, 0x3000
je case.0x49b64b.13
jmp 0x49b921
cmp edx, 0x85
ja 0x49b838
je 0x49b921
cmp edx, 0xa
jb case.0x49b64b.13
cmp edx, 0xd
jbe 0x49b921
jmp case.0x49b64b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x49b64b.13
jmp 0x49b921
cmp edx, 0x85
ja 0x49b868
je case.0x49b64b.13
cmp edx, 0xa
jb 0x49b921
cmp edx, 0xd
jmp 0x49b871
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x49b64b.13
jmp 0x49b921
cmp edx, 0x100
jae case.0x49b64b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x49b64b.13
jmp 0x49b921
cmp edx, 0x100
jae 0x49b921
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x49b91b
cmp edx, 0x100
jae case.0x49b64b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x49b64b.13
jmp 0x49b921
cmp edx, 0x100
jae 0x49b921
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x49b91b
cmp edx, 0x100
jae case.0x49b64b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x49b64b.13
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4995a4
cmp edx, 0x100
jae 0x49b921
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x49b64b.13
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4995a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4995b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4995a4
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49b97c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49b970
cmp dword [esi + 0x7c], 0x11
jne 0x49b998
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x49b998
cmp byte [eax], 0xa
jne 0x49b998
dec eax
cmp byte [eax], 0xd
jne 0x49b998
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d856
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d84c
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49b9fe
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x49ba1e
cmp dword [ebp + 0x88], 0
je 0x49a323
cmp eax, dword [ebp + 0x84]
jmp 0x49c179
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x49ba5d
cmp ecx, 0xc0
jb 0x49ba5d
test cl, 0x20
jne 0x49ba39
inc eax
jmp 0x49ba5a
test cl, 0x10
jne 0x49ba43
add eax, 2
jmp 0x49ba5a
test cl, 8
jne 0x49ba4d
add eax, 3
jmp 0x49ba5a
test cl, 4
jne 0x49ba57
add eax, 4
jmp 0x49ba5a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x49ba74
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
xor edi, edi
jmp 0x4995a4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49baa3
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x499e75
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x49d68d
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49bad7
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49bbd1
cmp ebx, 0xc0
jb 0x49bbd1
test bl, 0x20
jne 0x49bb19
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49bbce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49bb43
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49bbd1
mov edx, dword [esi + 8]
test bl, 8
jne 0x49bb69
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49bbcc
test bl, 4
jne 0x49bb98
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49bbcc
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49bbf3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp eax, 9
je 0x49bc18
cmp eax, 5
je 0x49bc18
cmp eax, 8
je 0x49bc18
xor eax, eax
jmp 0x49bc1d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d86f
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d865
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49bc86
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49bd7c
cmp ebx, 0xc0
jb 0x49bd7c
test bl, 0x20
jne 0x49bcc8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49bd79
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49bcf0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x49bd7c
mov edx, dword [esi + 8]
test bl, 8
jne 0x49bd16
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x49bd79
test bl, 4
jne 0x49bd45
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x49bd79
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49bd9e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d888
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d87e
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49be28
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49bf1e
cmp ebx, 0xc0
jb 0x49bf1e
test bl, 0x20
jne 0x49be6a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49bf1b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49be92
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x49bf1e
mov edx, dword [esi + 8]
test bl, 8
jne 0x49beb8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x49bf1b
test bl, 4
jne 0x49bee7
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x49bf1b
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49bf40
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d8a1
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d897
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49bfc3
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49c0b9
cmp ebx, 0xc0
jb 0x49c0b9
test bl, 0x20
jne 0x49c005
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49c0b6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49c02d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x49c0b9
mov edx, dword [esi + 8]
test bl, 8
jne 0x49c053
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x49c0b6
test bl, 4
jne 0x49c082
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x49c0b6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49c0db
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5958]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d8ba
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d8b0
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49c15e
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x49c1a7
cmp dword [ebp + 0x88], 0
je 0x49a323
cmp edi, dword [ebp + 0x84]
jbe 0x49a323
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x49a323
mov esi, dword [esi]
test esi, esi
je 0x49d9dc
mov edi, 0xfffffff4
jmp 0x4995a4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49c295
cmp ebx, 0xc0
jb 0x49c295
test bl, 0x20
jne 0x49c1dd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49c292
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49c207
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49c295
mov edx, dword [esi + 8]
test bl, 8
jne 0x49c22d
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49c290
test bl, 4
jne 0x49c25c
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49c290
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49c2b7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f595a]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x49c448
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x49c3e7
cmp ebx, 0xc0
jb 0x49c3e7
test bl, 0x20
jne 0x49c31b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x49c3df
test bl, 0x10
jne 0x49c340
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x49c3df
test bl, 8
jne 0x49c371
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x49c3df
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x49c3ab
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x49c3df
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49c409
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx ecx, byte [eax*8 + 0x4f595a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4f57e0], eax
je 0x49c448
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x49c2e0
cmp dword [ebp + 0x88], 0
je 0x49c475
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x49c475
cmp eax, dword [ebp + 0x84]
jbe 0x49c475
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x490ca6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d8d3
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d8c9
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x49c4dc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49c4dc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49c4d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x48fcc0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d8ec
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d8e2
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x49c537
movzx ebx, byte [ecx]
jmp 0x49c625
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x49c54c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x49c540
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x49c625
test bl, 0x20
jne 0x49c56f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x49c61d
test bl, 0x10
jne 0x49c58f
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x49c61d
test bl, 8
jne 0x49c5b8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x49c61d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x49c5ed
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x49c61d
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49c647
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f595a]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x48fcc0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x49c67f
movzx ebx, byte [edi]
jmp 0x49c73e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x49c691
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x49c687
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x49c73e
test bl, 0x20
jne 0x49c6b1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x49c736
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x49c6ce
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x49c736
and eax, 0x3f
test bl, 8
jne 0x49c6e9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x49c736
test bl, 4
jne 0x49c70d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x49c736
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49c760
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx edx, byte [eax*8 + 0x4f595a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4f57e0], eax
je 0x498396
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x49c660
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49c7c1
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49c8bb
cmp ebx, 0xc0
jb 0x49c8bb
test bl, 0x20
jne 0x49c803
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49c8b8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49c82d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49c8bb
mov edx, dword [esi + 8]
test bl, 8
jne 0x49c853
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49c8b6
test bl, 4
jne 0x49c882
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49c8b6
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49c8dd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x49c904
cmp eax, 3
je 0x49c904
xor eax, eax
jmp 0x49c909
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d91e
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d914
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49c972
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49ca73
cmp ebx, 0xc0
jb 0x49ca73
test bl, 0x20
jne 0x49c9b4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49ca70
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49c9de
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49ca73
mov edx, dword [esi + 8]
test bl, 8
jne 0x49ca04
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49ca67
test bl, 4
jne 0x49ca33
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49ca67
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x49ca9e
cmp ebx, 0x40
je 0x49ca9e
cmp ebx, 0x60
je 0x49ca9e
cmp ebx, 0xa0
jb 0x49ca92
cmp ebx, 0xd7ff
jbe 0x49ca9e
cmp ebx, 0xe000
jae 0x49ca9e
xor eax, eax
jmp 0x49caa3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x491482
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d937
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d92d
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49cb0c
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49cc0d
cmp ebx, 0xc0
jb 0x49cc0d
test bl, 0x20
jne 0x49cb4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49cc0a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49cb78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x49cc0d
mov edx, dword [esi + 8]
test bl, 8
jne 0x49cb9e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x49cc01
test bl, 4
jne 0x49cbcd
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x49cc01
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x49cc50
je case.0x49cc70.8192
cmp ebx, 0x85
ja 0x49cc3c
je case.0x49cc70.8192
cmp ebx, 9
jb case.0x49cc70.8203
cmp ebx, 0xd
jbe case.0x49cc70.8192
cmp ebx, 0x20
jmp 0x49cc85
cmp ebx, 0xa0
je case.0x49cc70.8192
cmp ebx, 0x1680
jmp 0x49cc85
cmp ebx, 0x202f
ja 0x49cc77
je case.0x49cc70.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x49cc70.8203
movzx eax, byte [eax + 0x49e1ac]
jmp dword [eax*4 + 0x49e1a4]
cmp ebx, 0x205f
je case.0x49cc70.8192
cmp ebx, 0x3000
je case.0x49cc70.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4f6fd8]
shl eax, 7
and ebx, 0x8000007f
jns 0x49cca9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
cmp dword [eax*4 + 0x4f5768], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x49ccdc
jmp 0x490b3b
cmp dword [esi + 0x68], 0
jne 0x491482
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d950
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d946
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49cd3c
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49ce32
cmp ebx, 0xc0
jb 0x49ce32
test bl, 0x20
jne 0x49cd7e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49ce2f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49cda6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x49ce32
mov edx, dword [esi + 8]
test bl, 8
jne 0x49cdcc
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x49ce2f
test bl, 4
jne 0x49cdfb
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x49ce2f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4f6fd8]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x49ce55
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4f91d8]
movzx eax, byte [eax*8 + 0x4f5959]
mov eax, dword [eax*4 + 0x4f5768]
cmp eax, 1
je 0x49ce81
cmp eax, 3
je 0x49ce81
cmp ebx, 0x5f
je 0x49ce81
xor eax, eax
jmp 0x49ce86
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x490b3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d969
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d95f
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
test edi, edi
jne case.0x4995b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x49ceef
mov esi, dword [esi]
test esi, esi
je 0x49d9b8
jmp 0x4995a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x49c166
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x49cfec
cmp ebx, 0xc0
jb 0x49cfec
test bl, 0x20
jne 0x49cf31
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x49cfe9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x49cf59
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x49cfec
mov edx, dword [esi + 8]
test bl, 8
jne 0x49cf7f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x49cfe2
test bl, 4
jne 0x49cfae
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x49cfe2
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x4f5818]
lea eax, [eax*4 + 0x4f5818]
cmp ebx, ecx
jb 0x49d00e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x49d053
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x49d001
cmp dword [esi + 0x68], 0
je 0x491482
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x49d982
push 0x134
call dword [0x53de70]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x49d978
mov esi, dword [esi]
test esi, esi
je 0x49d9ab
lea edi, [eax - 6]
jmp 0x499599
cmp dword [esi + 0x68], 0
je 0x49d018
jmp 0x491482
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x49d061
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x48fd3a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x49d0a3
push ecx
call dword [0x53de6c]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x48fd3a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49ae99
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49aca5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49b03b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x49b240
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49b409
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x49ba7a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49bc2c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49bdce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49bf69
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49c104
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49c918
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49cce2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49ce95
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49d01e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49cab2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x49b72d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x49c47b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x48fcc0
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x4f5650]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x48fcb0
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x49d1ff
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x49d1ff
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x49d1ff
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x48fcb0
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x49d696
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x49d696
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x49d696
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x49d696
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x49d696
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x49d457
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x48fcb0
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x4f5650]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x48fcb0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x49d696
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x49d696
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x49d696
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x48fcb0
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x49d4a6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x49d696
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x49d696
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x49d696
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x49d68d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x49d68d
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret