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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x60940c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xac], ecx
push esi
mov esi, dword [ebp + 8]
test edx, edx
jne 0x50eb87
lea eax, [ebp + 0x20]
cmp dword [ebp + 0x20], edx
jne 0x50eb6f
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.0050eb00
add esp, 0x1c
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [eax + 0x4c]
mov eax, dword [eax]
push edi
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x94], ebx
cmp eax, dword [edi + 4]
jae 0x51c1ff
mov dword [ebp - 0xd4], 0xffffffff
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0xd0], VariantClear
inc eax
mov dword [edi], eax
mov eax, dword [ebp + 0x20]
cmp eax, dword [edi + 8]
jae 0x51c1e9
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x98], 2
jne 0x50ec15
mov dword [ebp - 0xf4], ecx
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xac], ecx
mov dword [eax + 0x98], 0
mov edi, eax
jmp 0x50ec30
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x8c]
nop dword [eax + eax]
mov cl, byte [edx]
movzx edx, cl
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], edx
cmp edx, 0xa1
ja case.0x50ec62.98
movzx eax, byte [edx + 0x51c364]
jmp dword [eax*4 + 0x51c218]
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x88]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [edi + 0x2c]
ja 0x519011
mov edx, dword [ebp - 0x8c]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x5bc388]
movzx eax, byte [edx + 1]
add edx, eax
add edx, ecx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
mov ebx, esi
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xb8], edx
mov edi, dword [eax + 0xac]
nop
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
lea eax, [edx + 3]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
cmp eax, 1
je 0x50ed68
cmp eax, 0xfffffc20
jne 0x50ed2e
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x88]
add edx, dword [ebp - 0x8c]
cmp dword [ecx + 0x7c], edx
jae 0x51c206
mov ecx, dword [ebp - 0x8c]
cmp byte [ecx], 0x77
je 0x50ed36
cmp byte [edx], 0x77
jmp 0x50ed30
test eax, eax
jne 0x51c206
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
add edx, ecx
mov dword [ebp - 0x8c], edx
mov dword [eax + 0xac], edi
cmp byte [edx], 0x77
je 0x50ecc0
jmp 0x50ed7d
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0xa0], eax
mov al, byte [edx]
cmp al, 0x82
je 0x50ed90
cmp al, 0x77
jne case.0x51baee.14
nop dword [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50ed90
cmp byte [edx], 0x78
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x8c], edx
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [ebp - 0x98], ecx
je 0x50edcf
cmp esi, ebx
jne 0x518b3d
mov ebx, dword [ebp - 0x94]
add edx, 3
mov dword [ebp - 0x8c], edx
mov edi, eax
jmp 0x50ec30
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], 0
jmp 0x50fab2
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], 0
jmp 0x50facb
mov edi, dword [ebp - 0x8c]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
add edi, 3
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0xb4], ecx
cmp byte [edi], 0x76
jne 0x50ef66
mov edi, dword [0x6119e0]
test edi, edi
je 0x50ef49
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x128], 2
movzx eax, byte [edx + 1]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xa0]
sub eax, dword [ecx + 0x74]
mov dword [ebp - 0x114], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [ebp - 0x110], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x100], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x98]
cdq
sub eax, edx
mov dword [ebp - 0xfc], ecx
sar eax, 1
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x88]
movzx eax, word [eax + 0x90]
test eax, eax
cmove eax, dword [ebp - 0xd4]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0x128]
push eax
call edi
add esp, 4
test eax, eax
jg case.0x51baee.14
js 0x51c206
mov ecx, dword [ebp - 0xb4]
movzx eax, byte [0x5bc3fe]
mov edi, dword [ebp - 0x8c]
add edi, eax
sub ecx, eax
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0xb4], ecx
movzx eax, byte [edi]
xor ebx, ebx
mov dword [ebp - 0xb0], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x50ef86.146
movzx eax, byte [eax + 0x51c420]
jmp dword [eax*4 + 0x51c408]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x50ef86.145
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x50efc2
cmp ecx, dword [edx + 4]
je 0x50efc2
xor ebx, ebx
jmp 0x50f219
mov edx, dword [ebp - 0xb0]
mov ebx, 1
mov edi, dword [ebp - 0x98]
movzx ecx, byte [edx + 0x5bc388]
jmp 0x50f225
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0xa4], ebx
je case.0x50ef86.145
mov eax, dword [ebp - 0x8c]
movzx edi, byte [edi + 3]
shl edi, 8
movzx eax, byte [eax + 4]
or edi, eax
mov eax, dword [ebp - 0x8c]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x88]
imul edx, dword [eax + 0x24]
add edx, dword [eax + 0x30]
test edi, edi
jle case.0x50ef86.145
mov eax, dword [eax + 0xa4]
mov ebx, dword [eax + 4]
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
xor eax, eax
cmp ecx, ebx
sete al
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x50f1ef
mov eax, dword [ebp - 0x88]
add edx, dword [eax + 0x24]
test edi, edi
jg 0x50f035
mov ebx, dword [ebp - 0xb8]
jmp 0x50f219
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
mov edi, dword [ebp - 0x98]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, edi
jge 0x50f0ad
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x50f0ad
mov edx, dword [ebp - 0xb0]
mov ebx, 1
movzx ecx, byte [edx + 0x5bc388]
jmp 0x50f225
mov ecx, dword [ebp - 0xb4]
xor ebx, ebx
jmp 0x50f225
mov eax, dword [ebp - 0x8c]
movzx edi, byte [edi + 3]
shl edi, 8
movzx eax, byte [eax + 4]
or edi, eax
mov eax, dword [ebp - 0x8c]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x88]
imul edx, dword [eax + 0x24]
add edx, dword [eax + 0x30]
test edi, edi
jle case.0x50ef86.145
xor ebx, ebx
movzx ecx, byte [edx]
dec edi
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [ebp - 0x98]
jge 0x50f120
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x50efc2
mov eax, dword [ebp - 0x88]
add edx, dword [eax + 0x24]
test edi, edi
jg 0x50f0f7
jmp 0x50f219
mov eax, dword [ebp - 0x88]
mov dword [eax + 0x98], 1
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
cmp eax, 1
jne 0x50f20a
mov eax, dword [ebp - 0x88]
mov ebx, 1
mov ecx, dword [ebp - 0x98]
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
cmp byte [edi], 0x92
mov dword [ebp - 0x98], ecx
jne 0x50f196
inc edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
jne 0x50f1c4
nop word [eax + eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x50f1b0
mov edx, dword [ebp - 0xb0]
mov ecx, 3
movzx eax, byte [edx + 0x5bc388]
sub ecx, eax
add edi, ecx
movzx ecx, byte [edx + 0x5bc388]
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x98]
jmp 0x50f225
mov edx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0x98]
movzx ecx, byte [edx + 0x5bc388]
jmp 0x50f225
test eax, eax
je 0x50f219
cmp eax, 0xfffffc20
jne 0x51c206
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x8c]
add edx, ecx
mov dword [ebp - 0x8c], edx
test ebx, ebx
jne 0x518bac
cmp byte [edx - 3], 0x77
je 0x518bac
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x94]
jmp 0x50ec30
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x90]
lea ebx, [edx + edx]
and eax, 0xffff0000
or eax, edx
mov dword [edi + 0x90], eax
cmp ebx, dword [edi + 0x14]
jl 0x50f2b5
mov edx, dword [ebp - 0x8c]
or eax, 0x10000
mov ebx, dword [ebp - 0x94]
add edx, 3
mov dword [edi + 0x90], eax
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, edi
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov eax, edi
mov ecx, esi
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [ebp - 0x98]
cmp ebx, ecx
jl 0x50f30a
mov eax, edi
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x50f2fb
mov eax, dword [ebp - 0xd4]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x88]
lea eax, [ebx + 2]
mov dword [ebp - 0x98], eax
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x98], 1
mov edi, dword [eax + 0xac]
jne 0x50f34a
mov ebx, 1
mov dword [eax + 0x98], 0
jmp 0x50f34c
xor ebx, ebx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push dword [ebp - 0x88]
lea eax, [edx + 3]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push eax
push esi
call fcn.0050eb00
mov edx, eax
add esp, 0x1c
cmp edx, 1
je 0x50f405
cmp edx, 0xfffffc19
je 0x50f405
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xac], edi
cmp edx, 0xfffffc20
jne 0x50f3d7
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
add ecx, dword [ebp - 0x8c]
cmp dword [eax + 0x7c], ecx
jae 0x50fdc7
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x50f3df
cmp byte [ecx], 0x77
jmp 0x50f3d9
test edx, edx
jne 0x50fdc7
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0x8c], edx
cmp byte [edx], 0x77
je 0x50f352
jmp 0x50f41a
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0xa0], eax
cmp byte [edx], 0x78
je case.0x51baee.14
test ebx, ebx
jne 0x519282
nop dword [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50f430
mov eax, dword [ebp - 0x88]
add edx, 3
mov dword [ebp - 0x8c], edx
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x98], eax
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x94]
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x98], 1
mov edi, dword [eax + 0xac]
jne 0x50f496
mov ebx, 1
mov dword [eax + 0x98], 0
jmp 0x50f498
xor ebx, ebx
mov edx, dword [ebp - 0x8c]
nop
mov eax, dword [ebp + 0x20]
inc eax
push eax
push 0
push dword [ebp - 0x88]
lea eax, [edx + 3]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push eax
push esi
call fcn.0050eb00
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xac], edi
cmp ecx, 0xfffffc20
jg 0x50f50a
jne 0x50f53b
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
add ecx, edx
cmp dword [eax + 0x7c], ecx
jae 0x50f560
cmp byte [edx], 0x77
je 0x50f51b
cmp byte [ecx], 0x77
jne 0x50f560
jmp 0x50f51b
mov eax, ecx
sub eax, 0
jne 0x5190ad
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0x8c], edx
cmp byte [edx], 0x77
je 0x50f4a0
jmp 0x50f574
cmp ecx, 0xfffffc19
je case.0x51baee.14
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x51bf85
mov edx, dword [ebp - 0x8c]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50f560
test ebx, ebx
jne 0x519282
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
test ebx, ebx
je 0x50f5ec
or ecx, eax
mov eax, dword [ebp - 0x88]
jle 0x50f5ff
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.0x51baee.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x50f5da
nop word [eax + eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x50f5d0
test ecx, ecx
jg 0x50f5b8
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
jmp 0x50f5ff
or ecx, eax
mov eax, dword [ebp - 0x88]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.0x51baee.14
cmp esi, dword [eax + 0x84]
jae 0x50f60d
mov dword [eax + 0x84], esi
mov edi, dword [ebp - 0x88]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edi, dword [0x6119e0]
test edi, edi
je 0x50f72a
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x15c], 2
movzx eax, byte [edx + 1]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x74]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0xa0]
sub eax, dword [ecx + 0x74]
mov dword [ebp - 0x148], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [ebp - 0x144], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x134], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x98]
cdq
sub eax, edx
mov dword [ebp - 0x130], ecx
sar eax, 1
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x88]
movzx eax, word [eax + 0x90]
test eax, eax
cmove eax, dword [ebp - 0xd4]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xb0]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x15c]
push eax
call edi
add esp, 4
test eax, eax
jg case.0x51baee.14
js 0x51c206
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
add edx, 6
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
movzx ebx, byte [edx + 1]
mov ecx, dword [eax + 0x70]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, ecx
cmp ebx, ecx
jne 0x50f76a
xor ecx, ecx
jmp 0x50f777
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x50f79b
cmp ecx, dword [eax + 4]
jne 0x50f795
cmp esi, dword [eax + 0x14]
je 0x5190c9
mov eax, dword [eax]
test eax, eax
jne 0x50f787
mov eax, dword [ebp - 0x88]
add edx, 3
mov dword [ebp - 0xe8], ecx
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x8c], edx
mov eax, dword [eax + 0x90]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xd8], esi
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xe0], ecx
cmp ecx, 0x1e
jg 0x50f802
lea eax, [ebp - 0x84]
mov dword [ebp - 0xe4], eax
jmp 0x50f827
lea eax, [ecx*4]
push eax
call dword [0x609358]
add esp, 4
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x51914b
mov ecx, dword [ebp - 0xe0]
shl ecx, 2
push ecx
mov ecx, dword [ebp - 0x88]
push dword [ecx + 0xc]
push eax
call fcn.0054e520
add esp, 0xc
cmp byte [ebx], 0x88
sbb eax, eax
inc eax
mov dword [ebp - 0xb8], eax
nop dword [eax]
test eax, eax
je 0x50f864
mov eax, dword [ebp - 0x88]
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ebx]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ebx
push eax
push esi
call fcn.0050eb00
mov ecx, dword [ebp - 0xe0]
mov edi, eax
mov eax, dword [ebp - 0x88]
shl ecx, 2
push ecx
push dword [ebp - 0xe4]
push dword [eax + 0xc]
call fcn.0054e520
mov ecx, dword [ebp - 0x88]
add esp, 0x28
mov eax, dword [ebp - 0xdc]
mov dword [ecx + 0x90], eax
mov eax, dword [ebp - 0xec]
mov dword [ecx + 0xa4], eax
cmp edi, 1
je 0x50f933
cmp edi, 0xfffffc19
je 0x50f933
cmp edi, 0xfffffc1c
jl 0x50f8f6
cmp edi, 0xfffffc20
jle 0x5190f1
test edi, edi
jne 0x51911e
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0xec]
mov dword [eax + 0xa4], ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
jne 0x5190df
mov eax, dword [ebp - 0xb8]
jmp 0x50f850
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x50f94d
push eax
call dword [0x60935c]
add esp, 4
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0xa0], eax
jmp 0x50ec19
mov edx, dword [ebp - 0x8c]
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50f970
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
inc edi
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x50f9c5
lea edx, [edi + 3]
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
mov edx, eax
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50fa00
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
lea eax, [edx + 3]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0x88]
jmp 0x50ec25
mov edx, dword [ebp - 0x8c]
inc edx
nop dword [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50fa60
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov ecx, dword [ebp - 0x8c]
inc ecx
mov dword [ebp - 0xc0], 1
mov dword [ebp - 0x8c], ecx
movzx edx, byte [ecx]
mov dword [ebp - 0x9c], edx
cmp edx, 0x86
je 0x50fab2
cmp edx, 0x8b
jne 0x50facb
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
lea eax, [ebx + ebx]
cmp eax, dword [edi + 0x14]
jl 0x50fc6c
mov eax, dword [ebp - 0x88]
mov edi, ecx
xor ebx, ebx
sub edi, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0xb8], eax
cmp edx, 0x88
jb 0x50fafc
mov eax, dword [ebp - 0x88]
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ecx]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.0050eb00
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1a
jne 0x50fb85
mov eax, dword [ebp - 0x88]
mov ebx, 1
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x70]
mov dword [ebp - 0x98], ecx
add edx, edi
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0xa0], ecx
cmp esi, eax
je 0x50fc10
mov edx, dword [ebp - 0x9c]
mov esi, eax
mov ecx, dword [ebp - 0x8c]
jmp 0x50fae4
cmp edx, 0xfffffc20
jne 0x50fbc5
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
add ecx, dword [ebp - 0x8c]
cmp dword [eax + 0x7c], ecx
jae 0x50fdc7
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x50fbcd
cmp byte [ecx], 0x77
jmp 0x50fbc7
test edx, edx
jne 0x50fdc7
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0x8c], edx
cmp byte [edx], 0x77
jne 0x50fc3e
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x9c]
mov dword [ecx + 0x90], eax
mov ecx, dword [ebp - 0x8c]
jmp 0x50fae4
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x50fc10
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
test ebx, ebx
jne 0x50fead
cmp dword [ebp - 0xc0], ebx
je case.0x51baee.14
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
sub ecx, dword [edi + 0x70]
shl eax, 2
mov dword [ebp - 0xb8], ecx
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa4], edx
mov eax, dword [eax + 0x10]
sub eax, ebx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x90]
nop
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebx
cmp dword [ebp - 0x9c], 0x88
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x50fcec
mov eax, dword [ebp - 0x88]
mov dword [eax + 0x98], 2
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
movzx eax, byte [ecx]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
movzx eax, byte [eax + 0x5bc388]
add eax, ecx
push eax
push esi
call fcn.0050eb00
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1a
jne 0x50fd85
mov eax, dword [ebp - 0x88]
mov edx, 1
mov dword [ebp - 0xb0], edx
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x7c]
mov edi, dword [eax + 0x90]
mov dword [ebp - 0x98], ecx
mov ecx, dword [eax + 0x70]
add ecx, dword [ebp - 0xb8]
mov eax, dword [eax + 0x80]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xa0], edx
cmp esi, eax
je 0x50fe20
mov esi, eax
mov eax, dword [ebp - 0x88]
jmp 0x50fcc0
cmp edx, 0xfffffc20
jne 0x50fdda
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x88]
add ecx, dword [ebp - 0x8c]
cmp dword [eax + 0x7c], ecx
jae 0x50fdc7
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
mov eax, dword [ebp - 0x88]
je 0x50fde4
cmp byte [ecx], 0x77
je 0x50fde4
pop edi
pop ebx
mov eax, edx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
test edx, edx
jne 0x50fdc7
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
mov dword [eax + 0x90], edi
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebp - 0x8c], edx
cmp byte [edx], 0x77
jne 0x50fe4a
mov eax, dword [ebp - 0x88]
jmp 0x50fcc0
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [edx + 2]
or ecx, eax
add edx, ecx
mov ecx, edx
mov dword [ebp - 0x8c], edx
cmp byte [ecx], 0x77
je 0x50fe20
mov edx, dword [ebp - 0xb0]
jmp 0x50fe96
mov edx, dword [ebp - 0xb0]
test edx, edx
jne 0x50fe96
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xb4]
mov edi, dword [ebp - 0xa4]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax], edi
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0xa8]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax + 4], edi
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x90]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
sub ecx, ebx
mov dword [eax + ecx*4], edi
cmp dword [ebp - 0xc0], 0
jne 0x50fea7
test edx, edx
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [ebp - 0x8c]
mov ebx, edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [ebp - 0xb0], ebx
mov al, byte [ebx]
cmp al, 0x88
jae 0x50fefa
cmp al, 0x81
je 0x50fefa
mov dword [ebp - 0xb8], 0
jmp 0x50ff17
mov ecx, dword [ebp - 0xac]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0xac]
mov ecx, dword [ecx]
mov dword [ebp - 0xac], ecx
cmp al, 0x7d
jb 0x50ff23
cmp al, 0x80
jbe 0x519267
cmp al, 0x82
je 0x519267
cmp al, 0x85
je 0x50ff3f
cmp al, 0x8a
je 0x50ff3f
cmp al, 0x86
je 0x50ff3f
cmp al, 0x8b
jne 0x51001a
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xa4]
lea ebx, [edx + edx]
test eax, eax
je 0x50ff68
cmp dword [eax + 4], edx
je 0x519161
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x98]
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [edi + 0x90], eax
cmp ebx, dword [edi + 0x14]
jl 0x50ffab
mov ebx, dword [ebp - 0xb0]
or eax, 0x10000
mov edx, dword [ebp - 0x8c]
mov dword [edi + 0x90], eax
jmp 0x510020
cmp ebx, ecx
jle 0x50ffcd
mov eax, edi
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x50ffcd
mov eax, dword [ebp - 0xd4]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x88]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [ebp - 0x88]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [ebp - 0x98]
cmp ecx, ebx
jg 0x510012
lea ecx, [ebx + 2]
mov dword [ebp - 0x98], ecx
mov ebx, dword [ebp - 0xb0]
jmp 0x510020
mov ecx, dword [ebp - 0x98]
mov al, byte [edx]
cmp al, 0x7b
je 0x51923c
cmp al, 0x78
je 0x51003a
cmp esi, dword [ebp - 0xb8]
jne 0x518bc7
cmp byte [ebx], 0x81
je 0x5191f8
mov ebx, dword [ebp - 0x94]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x44], 0
je 0x510074
cmp esi, dword [eax + 0x74]
je case.0x51baee.14
jmp 0x510074
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x74]
jne case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x44], 0
je 0x5100aa
cmp esi, dword [eax + 0x74]
je case.0x51baee.14
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x510143
cmp esi, dword [eax + 0x78]
je case.0x51baee.14
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5100fd
cmp esi, ecx
jbe case.0x51baee.14
push ebx
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005244f0
add esp, 0x14
test eax, eax
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x51baee.14
mov edi, dword [ebp - 0x88]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x34]
jne case.0x51baee.14
cmp edx, 1
je 0x510145
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x35]
jne case.0x51baee.14
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edi, eax
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0x88]
mov eax, dword [eax + 0x94]
add eax, dword [edi + 0x74]
cmp esi, eax
jne case.0x51baee.14
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x510218
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5101e2
push ebx
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
je 0x519299
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x51929f
mov edi, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x510211
cmp edx, 1
je 0x510145
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je 0x510145
mov eax, edi
jmp 0x51929f
cmp dword [eax + 0x48], 0
jne case.0x51baee.14
cmp dword [eax + 0x88], 0
je 0x510143
cmp esi, dword [eax + 0x84]
jbe 0x510143
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x51b555
mov edx, dword [ebp - 0x8c]
mov edi, eax
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x48], 0
jne case.0x51baee.14
cmp dword [eax + 0x58], 0
je 0x5102d5
jmp 0x510281
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jb case.0x51baee.14
cmp dword [eax + 0x88], 0
je 0x51007d
cmp esi, dword [eax + 0x84]
jbe 0x51007d
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x51b555
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x510378
mov ebx, dword [ebp - 0x88]
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x510351
push dword [ebp - 0x94]
push edi
push eax
push ecx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
jne 0x51036d
cmp dword [ebx + 0x88], 0
je case.0x51baee.14
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.0x51baee.14
cmp dword [ebx + 0x18], 0
jne case.0x51baee.14
cmp dword [ebx + 0x1c], 2
jne case.0x51baee.14
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x51baee.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x51b54f
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x510306
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x510306
cmp ecx, 1
je 0x51036d
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x510306
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x510306
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je 0x5103a3
cmp esi, dword [eax + 0x84]
jbe 0x5103a3
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x51b555
mov edx, dword [ebp - 0x8c]
mov edi, eax
mov ebx, dword [ebp - 0x94]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
test ebx, ebx
je 0x510694
cmp esi, dword [eax + 0x74]
je 0x510556
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x5103ea
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x5103e0
mov eax, dword [ebp - 0x88]
cmp edx, dword [eax + 0x84]
jae 0x5103fe
mov dword [eax + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x5104ae
test bl, 0x20
jne 0x51041e
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x5104a0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x510438
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x5104a0
and eax, 0x3f
test bl, 8
jne 0x510453
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x5104a0
test bl, 4
jne 0x510477
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 0x5104a0
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
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x54], 0
je 0x510526
cmp ebx, 0x5f
jne 0x5104cd
mov eax, dword [ebp - 0x88]
lea edi, [ebx - 0x5e]
mov ebx, dword [ebp - 0x94]
jmp 0x510558
mov eax, ebx
test eax, eax
jns 0x5104d6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ebx, 0x8000007f
jns 0x5104f0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x510513
cmp eax, 3
jne 0x51054a
mov eax, dword [ebp - 0x88]
mov edi, 1
mov ebx, dword [ebp - 0x94]
jmp 0x510558
cmp ebx, 0x100
jae 0x51054a
mov eax, dword [eax + 0x40]
test byte [ebx + eax], 0x10
je 0x51054a
mov eax, dword [ebp - 0x88]
mov edi, 1
mov ebx, dword [ebp - 0x94]
jmp 0x510558
mov ebx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x88]
xor edi, edi
cmp esi, dword [eax + 0x78]
jae 0x51073a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x510611
test dl, 0x20
jne 0x510581
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x510603
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x51059b
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x510603
and eax, 0x3f
test dl, 8
jne 0x5105b6
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x510603
test dl, 4
jne 0x5105da
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x510603
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x54], 0
je 0x510671
cmp edx, 0x5f
jne 0x510624
lea ecx, [edx - 0x5e]
jmp 0x5107b2
mov eax, edx
test eax, eax
jns 0x51062d
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x510647
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x51068a
cmp eax, 3
je 0x51068a
xor ecx, ecx
jmp 0x5107b2
cmp edx, 0x100
jae 0x51075f
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x51075f
mov ecx, 1
jmp 0x5107b2
cmp esi, dword [eax + 0x74]
jne 0x5106a0
xor edi, edi
jmp 0x510735
cmp esi, dword [eax + 0x84]
ja 0x5106b9
mov ecx, dword [ebp - 0x88]
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
mov eax, ecx
cmp dword [eax + 0x54], 0
je 0x51071e
movzx ecx, byte [esi - 1]
cmp ecx, 0x5f
jne 0x5106cd
lea edi, [ecx - 0x5e]
jmp 0x510735
mov eax, ecx
test eax, eax
jns 0x5106d6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x5106f0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x510717
cmp eax, 3
je 0x510717
xor edi, edi
jmp 0x51072f
mov edi, 1
jmp 0x51072f
mov ecx, dword [eax + 0x40]
movzx eax, byte [esi - 1]
movzx edi, byte [eax + ecx]
shr edi, 4
and edi, 1
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jb 0x510763
cmp dword [eax + 0x88], 0
je 0x51075f
cmp esi, dword [eax + 0x84]
jbe 0x51075f
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x51b555
xor ecx, ecx
jmp 0x5107b2
cmp dword [eax + 0x54], 0
je 0x5107a2
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x510778
mov ecx, 1
jmp 0x5107b2
mov eax, ecx
test eax, eax
jns 0x510781
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51079b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x510649
mov ecx, dword [eax + 0x40]
movzx eax, byte [esi]
movzx ecx, byte [eax + ecx]
shr ecx, 4
and ecx, 1
mov edx, dword [ebp - 0x8c]
mov al, byte [edx]
inc edx
mov dword [ebp - 0x8c], edx
cmp al, 5
jne 0x5107ce
xor eax, eax
cmp ecx, edi
sete al
jmp 0x5107d5
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.0x51baee.14
mov edi, dword [ebp - 0x88]
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x51081c
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x51084c
push ebx
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
jmp 0x51084c
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x510814
mov edx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x51084a
cmp ecx, 1
je case.0x51baee.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x51baee.14
mov eax, edx
cmp dword [eax + 0x88], 0
je 0x510896
mov ecx, dword [ebp - 0x88]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
mov eax, ecx
jb 0x510896
cmp dword [eax + 0x18], 0
jne 0x510896
cmp dword [eax + 0x1c], 2
jne 0x510896
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov eax, ecx
jne 0x510896
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x51b555
jmp 0x510896
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x5193fc
inc esi
test ebx, ebx
je 0x51007d
cmp esi, ecx
jae 0x51007d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x51007d
inc esi
cmp esi, ecx
jb 0x5108b2
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
mov edx, dword [ebp - 0x8c]
inc esi
inc edx
mov edi, eax
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x510a01
cmp ecx, 0xc0
jb 0x510a01
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51093f
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5109fb
test cl, 0x10
jne 0x510960
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5109fb
test cl, 8
jne 0x51098a
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5109fb
test cl, 4
jne 0x5109c0
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5109fb
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0x100
jae 0x51007d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jmp 0x510077
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x510b1b
cmp ecx, 0xc0
jb 0x510b1b
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x510a59
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x510b15
test cl, 0x10
jne 0x510a7a
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x510b15
test cl, 8
jne 0x510aa4
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x510b15
test cl, 4
jne 0x510ada
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x510b15
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0xff
ja case.0x51baee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x510c4e
cmp ecx, 0xc0
jb 0x510c4e
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x510b8c
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x510c48
test cl, 0x10
jne 0x510bad
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x510c48
test cl, 8
jne 0x510bd7
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x510c48
test cl, 4
jne 0x510c0d
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x510c48
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0x100
jae 0x51007d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jmp 0x510077
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x510d68
cmp ecx, 0xc0
jb 0x510d68
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x510ca6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x510d62
test cl, 0x10
jne 0x510cc7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x510d62
test cl, 8
jne 0x510cf1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x510d62
test cl, 4
jne 0x510d27
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x510d62
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0xff
ja case.0x51baee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x510e9b
cmp ecx, 0xc0
jb 0x510e9b
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x510dd9
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x510e95
test cl, 0x10
jne 0x510dfa
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x510e95
test cl, 8
jne 0x510e24
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x510e95
test cl, 4
jne 0x510e5a
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x510e95
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0x100
jae 0x51007d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jmp 0x510077
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x510fb5
cmp ecx, 0xc0
jb 0x510fb5
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x510ef3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x510faf
test cl, 0x10
jne 0x510f14
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x510faf
test cl, 8
jne 0x510f3e
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x510faf
test cl, 4
jne 0x510f74
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x510faf
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0xff
ja case.0x51baee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x5110ea
cmp ecx, 0xc0
jb 0x5110ea
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x511028
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5110e4
test cl, 0x10
jne 0x511049
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5110e4
test cl, 8
jne 0x511073
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5110e4
test cl, 4
jne 0x5110a9
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5110e4
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0xd
ja 0x511177
je 0x51110c
cmp ecx, 0xa
je 0x51007d
jbe case.0x51baee.14
cmp ecx, 0xc
jmp 0x511188
cmp esi, edx
jb 0x511155
cmp dword [eax + 0x88], 0
je 0x51007d
cmp esi, dword [eax + 0x84]
jbe 0x51007d
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x51b555
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp byte [esi], 0xa
jne 0x51007d
mov edx, dword [ebp - 0x8c]
inc esi
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp ecx, 0x85
je 0x51118e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x51baee.14
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x68], 0
jmp 0x510077
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x511299
cmp ecx, 0xc0
jb 0x511299
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5111dd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x511299
test cl, 0x10
jne 0x5111fe
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x511299
test cl, 8
jne 0x511228
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x511299
test cl, 4
jne 0x51125e
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x511299
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x180e
ja 0x511303
je case.0x51baee.14
cmp ecx, 0xa0
ja 0x5112df
je case.0x51baee.14
cmp ecx, 9
je case.0x51baee.14
cmp ecx, 0x20
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp ecx, 0x1680
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp ecx, 0x205f
ja 0x51134d
je case.0x51baee.14
cmp ecx, 0x2000
jb 0x51007d
cmp ecx, 0x200a
jbe case.0x51baee.14
cmp ecx, 0x202f
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp ecx, 0x3000
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x51146d
cmp ecx, 0xc0
jb 0x51146d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5113b1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51146d
test cl, 0x10
jne 0x5113d2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51146d
test cl, 8
jne 0x5113fc
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51146d
test cl, 4
jne 0x511432
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51146d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x180e
ja 0x5114a5
je 0x51007d
cmp ecx, 0xa0
ja 0x51149a
je 0x51007d
cmp ecx, 9
je 0x51007d
cmp ecx, 0x20
jmp 0x510077
cmp ecx, 0x1680
jmp 0x510077
cmp ecx, 0x205f
ja 0x5114d6
je 0x51007d
cmp ecx, 0x2000
jb case.0x51baee.14
cmp ecx, 0x200a
jbe 0x51007d
cmp ecx, 0x202f
jmp 0x510077
cmp ecx, 0x3000
jmp 0x510077
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x5115dd
cmp ecx, 0xc0
jb 0x5115dd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x511521
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5115dd
test cl, 0x10
jne 0x511542
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5115dd
test cl, 8
jne 0x51156c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5115dd
test cl, 4
jne 0x5115a2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5115dd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x511615
je case.0x51baee.14
cmp ecx, 0xa
jb 0x51007d
cmp ecx, 0xd
jbe case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp ecx, 0x2028
jb 0x51007d
cmp ecx, 0x2029
jbe case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x511741
cmp ecx, 0xc0
jb 0x511741
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x511685
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x511741
test cl, 0x10
jne 0x5116a6
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x511741
test cl, 8
jne 0x5116d0
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x511741
test cl, 4
jne 0x511706
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x511741
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x511773
je 0x51007d
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx edx, byte [esi]
inc esi
test ebx, ebx
je 0x511896
cmp edx, 0xc0
jb 0x511896
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x5117da
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x511896
test dl, 0x10
jne 0x5117fb
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x511896
test dl, 8
jne 0x511825
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x511896
test dl, 4
jne 0x51185b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x511896
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
test eax, eax
jns 0x51189f
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x5118ba
dec eax
or eax, 0xffffff80
inc eax
mov ebx, dword [ebp - 0x8c]
add ecx, eax
movzx eax, byte [ebx + 1]
movzx edi, word [ecx*2 + 0x5c0350]
cmp eax, 0xa
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c434]
cmp dword [ebp - 0x9c], 0xf
jmp 0x50fea1
mov al, byte [edi*8 + 0x5bcad1]
cmp al, 9
je 0x511b86
cmp al, 5
je 0x511b86
cmp al, 8
je 0x511b86
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x50fea1
movzx ecx, byte [edi*8 + 0x5bcad1]
xor edx, edx
movzx eax, byte [ebx + 2]
cmp eax, dword [ecx*4 + 0x5bc4a0]
setne dl
xor eax, eax
cmp dword [ebp - 0x9c], 0x10
sete al
cmp edx, eax
jmp 0x50fea1
mov edx, dword [ebp - 0x8c]
xor ecx, ecx
mov al, byte [edx + 2]
cmp al, byte [edi*8 + 0x5bcad1]
setne cl
xor eax, eax
cmp dword [ebp - 0x9c], 0x10
sete al
cmp ecx, eax
je case.0x51baee.14
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov edx, dword [ebp - 0x8c]
xor ecx, ecx
mov al, byte [edx + 2]
cmp al, byte [edi*8 + 0x5bcad0]
setne cl
xor eax, eax
cmp dword [ebp - 0x9c], 0x10
sete al
cmp ecx, eax
je case.0x51baee.14
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
movzx eax, byte [edi*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x511b86
cmp eax, 3
je 0x511b86
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x50fea1
cmp edx, 0x180e
ja 0x511a48
je case.0x5118d7.0
cmp edx, 0x85
ja 0x511a34
je case.0x5118d7.0
cmp edx, 9
jb case.0x511a68.8203
cmp edx, 0xd
jbe case.0x5118d7.0
cmp edx, 0x20
jmp 0x511a81
cmp edx, 0xa0
je case.0x5118d7.0
cmp edx, 0x1680
jmp 0x511a81
cmp edx, 0x202f
ja 0x511a6f
je case.0x5118d7.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x511a68.8203
movzx eax, byte [edx + 0x51c468]
jmp dword [eax*4 + 0x51c460]
cmp edx, 0x205f
je case.0x5118d7.0
cmp edx, 0x3000
je case.0x5118d7.0
movzx eax, byte [edi*8 + 0x5bcad1]
xor ecx, ecx
cmp dword [eax*4 + 0x5bc4a0], 6
sete cl
xor eax, eax
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x50fea1
movzx eax, byte [edi*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x511b86
cmp eax, 3
je 0x511b86
cmp edx, 0x5f
je 0x511b86
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x50fea1
movzx eax, byte [ebx + 2]
mov ecx, dword [eax*4 + 0x5bc990]
lea eax, [eax*4 + 0x5bc990]
cmp edx, ecx
jb 0x511b11
lea eax, [eax + 4]
cmp edx, ecx
je 0x511b1d
mov ecx, dword [eax]
cmp edx, ecx
jae 0x511b04
cmp dword [ebp - 0x9c], 0x10
jmp 0x50fea1
cmp dword [ebp - 0x9c], 0x10
jne case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp edx, 0x24
je 0x511b86
cmp edx, 0x40
je 0x511b86
cmp edx, 0x60
je 0x511b86
cmp edx, 0xa0
jb 0x511b69
cmp edx, 0xd7ff
jbe 0x511b86
cmp edx, 0xe000
jae 0x511b86
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x50fea1
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x50fea1
mov edx, dword [edi + 0x78]
mov dword [ebp - 0xb8], edx
cmp esi, edx
jae 0x51b528
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x511c9c
cmp ecx, 0xc0
jb 0x511c9c
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x511be0
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x511c9c
test cl, 0x10
jne 0x511c01
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x511c9c
test cl, 8
jne 0x511c2b
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x511c9c
test cl, 4
jne 0x511c61
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x511c9c
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x511ca5
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x511cbf
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx ebx, byte [eax*8 + 0x5bcad2]
cmp esi, edx
jae 0x511e15
nop dword [eax]
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x511db7
cmp edx, 0xc0
jb 0x511db7
test dl, 0x20
jne 0x511d17
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x511daf
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x511d39
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x511daf
and eax, 0x3f
test dl, 8
jne 0x511d59
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x511daf
test dl, 4
jne 0x511d82
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x511daf
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x511dc0
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x511dda
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb8]
movzx eax, word [eax*2 + 0x5c0350]
movzx ecx, byte [eax*8 + 0x5bcad2]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5bc518], eax
je 0x511e0f
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x511ce0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x511e3e
cmp esi, edx
jb 0x511e3e
cmp esi, dword [edi + 0x84]
jbe 0x511e3e
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov ebx, dword [ebp - 0x8c]
xor eax, eax
cmp edx, 0x74
sete al
movzx edx, byte [ebx + 3]
movzx ecx, byte [ebx + 1]
shl edx, 8
mov dword [ebp - 0xb0], eax
movzx eax, byte [ebx + 4]
shl ecx, 8
or edx, eax
movzx eax, byte [ebx + 2]
add ebx, 5
or ecx, eax
mov dword [ebp - 0x8c], ebx
imul ecx, dword [edi + 0x24]
mov ebx, dword [edi + 0x50]
add ecx, dword [edi + 0x30]
neg ebx
sbb ebx, ebx
xor edi, edi
neg ebx
dec ebx
mov dword [ebp - 0xb4], ebx
test edx, edx
jle 0x511f5c
nop
movzx edi, byte [ecx]
dec edx
movzx eax, byte [ecx + 1]
shl edi, 8
or edi, eax
add edi, edi
cmp edi, dword [ebp - 0x98]
jge 0x511ed6
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
cmp dword [eax + edi*4], 0
jge 0x511ee8
mov eax, dword [ebp - 0x88]
add ecx, dword [eax + 0x24]
test edx, edx
jg 0x511eb0
jmp 0x511f5c
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + edi*4 + 4]
sub ebx, dword [eax + edi*4]
jmp 0x511f56
mov ecx, dword [ebp - 0x8c]
xor eax, eax
cmp edx, 0x72
sete al
movzx edi, byte [ecx + 1]
shl edi, 8
mov dword [ebp - 0xb0], eax
movzx eax, byte [ecx + 2]
add ecx, 3
or edi, eax
mov dword [ebp - 0x8c], ecx
add edi, edi
cmp edi, dword [ebp - 0x98]
jge 0x511f46
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
js 0x511f46
mov ebx, dword [eax + edi*4 + 4]
sub ebx, ecx
jmp 0x511f56
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x50]
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
mov dword [ebp - 0xb4], ebx
mov eax, dword [ebp - 0x8c]
mov dl, byte [eax]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x511f7a
movzx eax, byte [eax + 0x51c49c]
jmp dword [eax*4 + 0x51c494]
movsx eax, byte [ecx + 0x5ba322]
lea edx, [ecx - 0x62]
inc dword [ebp - 0x8c]
and edx, 1
movsx ebx, byte [ecx + 0x5ba316]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x512001
mov dword [ebp - 0xc0], VariantClear
jmp 0x512001
xor eax, eax
cmp dl, 0x69
mov edx, dword [ebp - 0x8c]
sete al
mov dword [ebp - 0x9c], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
movzx ecx, byte [edx + 3]
shl ebx, 8
or ebx, eax
shl ecx, 8
movzx eax, byte [edx + 4]
or ecx, eax
cmove ecx, dword [ebp - 0xd0]
add edx, 5
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x50f45f
jns 0x512019
test ebx, ebx
je 0x50f45f
mov dword [ebp - 0xb8], 1
cmp ebx, 1
jl 0x512068
nop dword [eax + eax]
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push ecx
push esi
push edi
call fcn.0051c890
add esp, 0x14
test eax, eax
js 0x5192f0
mov ecx, dword [ebp - 0xb4]
add esi, eax
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, ebx
jle 0x512030
mov eax, dword [ebp - 0xc0]
cmp ebx, eax
je 0x50ec19
cmp dword [ebp - 0x9c], 0
je 0x519319
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp ebx, dword [ebp - 0xc0]
jge case.0x51baee.14
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push dword [ebp - 0xb4]
push esi
push edi
call fcn.0051c890
add esp, 0x14
test eax, eax
js 0x5192f0
add esi, eax
inc ebx
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x5120c0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push ebx
push esi
push edi
call fcn.0051c890
add esp, 0x14
test eax, eax
js 0x5192f0
add esi, eax
jmp 0x50ec19
mov edi, dword [ebp - 0x8c]
mov cl, byte [edi + 0x21]
lea ebx, [edi + 1]
add edi, 0x21
movzx edx, cl
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x8c], edi
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x51218b
movzx eax, byte [eax + 0x51c4ac]
jmp dword [eax*4 + 0x51c4a4]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 8
jae 0x5121ae
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x90], ecx
jmp 0x5121b8
mov dword [ebp - 0xb4], 1
movsx ecx, byte [eax + 0x5ba378]
movsx eax, byte [eax + 0x5ba384]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x512245
mov dword [ebp - 0xa8], VariantClear
jmp 0x512245
movzx edx, byte [edi + 3]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x90], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 1]
sete al
shl ecx, 8
mov dword [ebp - 0xb4], eax
movzx eax, byte [edi + 2]
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 4]
or edx, eax
cmove edx, dword [ebp - 0xd0]
add edi, 5
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x8c], edi
jmp 0x51223f
mov dword [ebp - 0xa8], 1
mov ecx, 1
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x94]
mov edi, 1
test edx, edx
je 0x5123a4
cmp ecx, edi
jl 0x5123f4
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x5193f6
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x51235d
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x5122a1
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x51235d
test dl, 0x10
jne 0x5122c2
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x51235d
test dl, 8
jne 0x5122ec
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x51235d
test dl, 4
jne 0x512322
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x51235d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0xff
jbe 0x512374
cmp dword [ebp - 0x9c], 0x6e
je case.0x51baee.14
jmp 0x512399
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xb0]
test byte [edx + ecx], al
je case.0x51baee.14
mov ecx, dword [ebp - 0xa4]
inc edi
cmp edi, ecx
jle 0x512270
jmp 0x5123e8
cmp ecx, 1
jl 0x5123f4
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x5193f6
movzx edx, byte [esi]
inc esi
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xb0]
test byte [edx + ecx], al
je case.0x51baee.14
mov ecx, dword [ebp - 0xa4]
inc edi
cmp edi, ecx
jle 0x5123b2
mov edx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x50ec19
cmp dword [ebp - 0x90], 0
jne 0x519428
mov ebx, esi
mov dword [ebp - 0xc0], ebx
test edx, edx
je 0x51262f
cmp ecx, eax
jge 0x51255c
mov edx, dword [ebp - 0x88]
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x5125f9
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x51250b
test dl, 0x20
jne 0x512462
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x5124fd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x512481
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x5124f7
and eax, 0x3f
test dl, 8
jne 0x5124a1
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5124f7
test dl, 4
jne 0x5124ca
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x5124f7
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0xa4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0xa8]
cmp edx, 0xff
jbe 0x51251e
cmp dword [ebp - 0x9c], 0x6e
je 0x512556
jmp 0x512545
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xb0]
test byte [edx + ecx], al
je 0x512556
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
inc ecx
add esi, edi
mov dword [ebp - 0xa4], ecx
cmp ecx, eax
jl 0x512430
mov ebx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop
mov eax, esi
dec esi
cmp eax, ebx
je case.0x51baee.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5125bd
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x5125b3
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x5125a0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x512624
cmp esi, dword [edi + 0x84]
jbe 0x512624
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
mov ebx, dword [ebp - 0xc0]
jmp 0x512562
cmp ecx, eax
jge 0x51267c
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x5126da
movzx edx, byte [esi]
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xb0]
test byte [edx + ecx], al
je 0x51267c
mov eax, dword [ebp - 0xa4]
inc esi
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xa8]
jl 0x512640
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
cmp esi, ebx
jb case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
dec esi
cmp esi, ebx
jae 0x512693
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x512682
cmp esi, dword [edi + 0x84]
jbe 0x512682
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
jmp 0x512682
mov edi, dword [ebp - 0x8c]
movzx ecx, byte [edi + 1]
lea ebx, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xb8], ebx
add edi, ecx
mov dword [ebp - 0x8c], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x512746
movzx eax, byte [eax + 0x51c4c0]
jmp dword [eax*4 + 0x51c4b8]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 8
jae 0x512769
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x90], ecx
jmp 0x512773
mov dword [ebp - 0xb4], 1
movsx ecx, byte [eax + 0x5ba378]
movsx eax, byte [eax + 0x5ba384]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x512800
mov dword [ebp - 0xc0], VariantClear
jmp 0x512800
movzx edx, byte [edi + 3]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [ebp - 0x90], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 1]
sete al
shl ecx, 8
mov dword [ebp - 0xb4], eax
movzx eax, byte [edi + 2]
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 4]
or edx, eax
cmove edx, dword [ebp - 0xd0]
add edi, 5
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x8c], edi
jmp 0x5127fa
mov dword [ebp - 0xc0], 1
mov ecx, 1
mov dword [ebp - 0xb0], ecx
mov edi, 1
cmp ecx, edi
jl 0x512934
nop dword [eax]
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x512912
cmp ecx, 0xc0
jb 0x512912
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x512856
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x512912
test cl, 0x10
jne 0x512877
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x512912
test cl, 8
jne 0x5128a1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x512912
test cl, 4
jne 0x5128d7
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x512912
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
push edx
push ebx
push ecx
call fcn.005249d0
add esp, 0xc
test eax, eax
je case.0x51baee.14
mov ecx, dword [ebp - 0xb0]
inc edi
cmp edi, ecx
jle 0x512810
mov eax, dword [ebp - 0xc0]
cmp ecx, eax
je 0x50ec19
cmp dword [ebp - 0x90], 0
jne 0x51967a
mov ebx, esi
cmp ecx, eax
jge 0x512a79
nop dword [eax]
mov eax, dword [ebp - 0x88]
mov edi, 1
cmp esi, dword [eax + 0x78]
jae 0x512b26
mov ecx, dword [ebp - 0x94]
movzx edx, byte [esi]
test ecx, ecx
je 0x512a4a
cmp edx, 0xc0
jb 0x512a4a
test dl, 0x20
jne 0x5129a7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x512a42
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5129c6
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x512a3c
and eax, 0x3f
test dl, 8
jne 0x5129e6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x512a3c
test dl, 4
jne 0x512a0f
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x512a3c
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0x94]
and eax, 0x3f
shl edx, 6
or edx, eax
push ecx
push dword [ebp - 0xb8]
push edx
call fcn.005249d0
add esp, 0xc
test eax, eax
je 0x512a79
mov ecx, dword [ebp - 0xb0]
add esi, edi
inc ecx
mov dword [ebp - 0xb0], ecx
cmp ecx, dword [ebp - 0xc0]
jl 0x512960
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop dword [eax + eax]
mov eax, esi
dec esi
cmp eax, ebx
je case.0x51baee.14
cmp dword [ebp - 0x94], 0
je 0x512aea
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x512aea
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x512ae0
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x512ac0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edi, eax
cmp dword [edi + 0x88], 0
je 0x512a7f
cmp esi, dword [edi + 0x84]
jbe 0x512a7f
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
jmp 0x512a7f
test ebx, ebx
je 0x512bdf
mov ebx, dword [ebp - 0x8c]
mov edx, 1
inc ebx
mov dword [ebp - 0x8c], ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
jb 0x512bac
test al, 0x20
jne 0x512b89
mov edx, 2
jmp 0x512bac
test al, 0x10
jne 0x512b94
mov edx, 3
jmp 0x512bac
test al, 8
jne 0x512b9f
mov edx, 4
jmp 0x512bac
test al, 4
mov edx, 0
setne dl
add edx, 5
mov eax, dword [edi + 0x78]
sub eax, esi
cmp edx, eax
jg 0x51981b
test edx, edx
jle 0x50ec1f
mov cl, byte [ebx]
dec edx
mov al, byte [esi]
inc ebx
inc esi
mov dword [ebp - 0x8c], ebx
cmp cl, al
jne case.0x51baee.14
test edx, edx
jg 0x512bc1
jmp 0x50ec1f
mov eax, dword [edi + 0x78]
sub eax, esi
cmp eax, 1
jl 0x51b528
mov edx, dword [ebp - 0x8c]
mov al, byte [esi]
inc esi
cmp byte [edx + 1], al
jne case.0x51baee.14
add edx, 2
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
cmp esi, dword [edi + 0x78]
jae 0x51b528
test ebx, ebx
je 0x512e65
mov edx, dword [ebp - 0x8c]
mov edi, 1
inc edx
mov dword [ebp - 0x8c], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x512cfc
test bl, 0x20
jne 0x512c5d
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov edi, 2
jmp 0x512cfc
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x512c7c
and ebx, 0xf
mov edi, 3
shl ebx, 6
or ecx, ebx
jmp 0x512cf2
and eax, 0x3f
test bl, 8
jne 0x512c9c
and ebx, 7
mov edi, 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x512cf2
test bl, 4
jne 0x512cc5
and ebx, 3
mov edi, 5
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 0x512cf2
and ebx, edi
mov edi, 6
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 ebx, 0x80
jae 0x512d35
mov edi, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov edx, dword [edi + 0x38]
mov al, byte [ebx + edx]
cmp al, byte [ecx + edx]
jne case.0x51baee.14
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
inc edx
inc esi
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x512e0d
test dl, 0x20
jne 0x512d5e
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x512e0d
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x512d85
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x512e0b
test dl, 8
jne 0x512da8
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x512e0b
test dl, 4
jne 0x512dd7
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x512e0b
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
add dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x88]
cmp ebx, edx
je 0x50ec1f
mov eax, ebx
test eax, eax
jns 0x512e2a
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x512e45
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
mov eax, dword [eax*8 + 0x5bcad4]
add eax, ebx
cmp edx, eax
jne case.0x51baee.14
jmp 0x50ec1f
mov eax, dword [ebp - 0x8c]
mov edx, dword [edi + 0x38]
movzx ecx, byte [esi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x51baee.14
mov edx, dword [ebp - 0x8c]
inc esi
add edx, 2
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov ecx, dword [ebp - 0x8c]
movzx ebx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl ebx, 8
or ebx, eax
add ecx, 3
mov dword [ebp - 0xa4], ebx
mov edi, ebx
mov dword [ebp - 0x8c], ecx
jmp 0x512fd0
mov dword [ebp - 0xb4], 1
mov eax, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0x9c], edi
movzx ebx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0xa4], ebx
cmp cl, 0x28
je 0x512efa
mov dword [ebp - 0x90], edi
cmp cl, 0x35
jne 0x512f04
mov dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x8c]
add ecx, 3
mov dword [ebp - 0x8c], ecx
jmp 0x512fd6
mov ecx, dword [ebp - 0x8c]
xor edi, edi
inc ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xa4], VariantClear
mov dword [ebp - 0x8c], ecx
jmp 0x512fd0
mov ecx, dword [ebp - 0x8c]
mov edi, 1
inc ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xa4], VariantClear
mov dword [ebp - 0x8c], ecx
jmp 0x512fd0
mov ecx, dword [ebp - 0x8c]
xor edi, edi
inc ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xa4], 1
mov dword [ebp - 0x8c], ecx
jmp 0x512fd0
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
inc dword [ebp - 0x8c]
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov ebx, ecx
and ebx, 1
mov dword [ebp - 0x90], ebx
movsx eax, byte [ecx + 0x5ba384]
movsx edi, byte [ecx + 0x5ba378]
test eax, eax
mov ecx, dword [ebp - 0x8c]
cmove eax, dword [ebp - 0xd0]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x9c], edi
cmp dword [ebp - 0x94], 0
movzx ebx, byte [ecx]
je 0x5134de
mov dword [ebp - 0xb8], ecx
mov eax, 1
mov dword [ebp - 0xa8], eax
cmp ebx, 0xc0
jb 0x51314a
test bl, 0x20
jne 0x51302f
movzx eax, byte [ecx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp - 0xa8], 2
add ecx, 2
mov dword [ebp - 0x8c], ecx
jmp 0x51315b
movzx ecx, byte [ecx + 1]
and ecx, 0x3f
test bl, 0x10
jne 0x51306d
mov eax, dword [ebp - 0x8c]
and ebx, 0xf
shl ebx, 6
or ecx, ebx
mov dword [ebp - 0xa8], 3
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
add dword [ebp - 0x8c], 3
mov ebx, ecx
jmp 0x51315b
test bl, 8
jne 0x5130b0
and ebx, 7
mov dword [ebp - 0xa8], 4
shl ebx, 6
or ecx, ebx
mov ebx, dword [ebp - 0x8c]
shl ecx, 6
movzx eax, byte [ebx + 2]
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add dword [ebp - 0x8c], 4
mov ebx, ecx
jmp 0x51315b
test bl, 4
jne 0x5130fc
and ebx, 3
mov dword [ebp - 0xa8], 5
shl ebx, 6
or ecx, ebx
mov ebx, dword [ebp - 0x8c]
shl ecx, 6
movzx eax, byte [ebx + 2]
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add dword [ebp - 0x8c], 5
mov ebx, ecx
jmp 0x51315b
and ebx, eax
shl ebx, 6
or ecx, ebx
mov ebx, dword [ebp - 0x8c]
shl ecx, 6
movzx eax, byte [ebx + 2]
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 4]
movzx ebx, byte [ebx + 5]
and eax, 0x3f
shl ecx, 6
and ebx, 0x3f
or ecx, eax
mov eax, 6
shl ecx, 6
or ebx, ecx
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x8c]
add ecx, eax
mov dword [ebp - 0x8c], ecx
cmp eax, 1
jle 0x5134e5
cmp edx, 0x2e
jb 0x5131aa
mov eax, ebx
test eax, eax
jns 0x513169
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x513184
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
mov eax, dword [eax*8 + 0x5bcad4]
add eax, ebx
cmp eax, ebx
je 0x5131aa
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00524690
add esp, 8
jmp 0x5131ac
xor eax, eax
mov ebx, 1
mov dword [ebp - 0xc0], eax
cmp edi, ebx
jl 0x5132e4
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0xa8]
mov ecx, dword [eax + 0x78]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xc8], eax
jmp 0x5131e6
mov edi, dword [ebp - 0xa8]
cmp esi, eax
ja 0x51324b
mov edx, dword [ebp - 0xb8]
mov ecx, esi
sub edi, 4
jb 0x513208
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x51320d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5131f7
cmp edi, 0xfffffffc
je 0x51323a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x513245
cmp edi, 0xfffffffd
je 0x51323a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x513245
cmp edi, 0xfffffffe
je 0x51323a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x513245
cmp edi, 0xffffffff
je 0x51323a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x513245
add esi, dword [ebp - 0xa8]
jmp 0x5132c9
mov ecx, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xc0]
test edi, edi
jle 0x5199b4
mov eax, ecx
sub eax, edi
cmp esi, eax
ja 0x5199b4
lea edx, [ebp - 0xc]
mov ecx, esi
sub edi, 4
jb 0x513281
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x513286
add ecx, 4
add edx, 4
sub edi, 4
jae 0x513270
cmp edi, 0xfffffffc
je 0x5132c3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5199b4
cmp edi, 0xfffffffd
je 0x5132c3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5199b4
cmp edi, 0xfffffffe
je 0x5132c3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5199b4
cmp edi, 0xffffffff
je 0x5132c3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5199b4
add esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x9c]
inc ebx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xb0]
cmp ebx, edi
jle 0x5131e0
mov eax, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x94]
cmp edi, eax
je 0x50fa46
cmp dword [ebp - 0x90], 0
jne 0x519836
mov ebx, esi
mov dword [ebp - 0x90], ebx
cmp edi, eax
jge 0x51343b
mov eax, dword [ebp - 0x88]
mov edi, dword [ebp - 0xa8]
mov eax, dword [eax + 0x78]
mov ebx, eax
mov dword [ebp - 0xb0], eax
sub ebx, edi
nop
cmp esi, ebx
ja 0x513395
mov edx, dword [ebp - 0xb8]
mov ecx, esi
sub edi, 4
jb 0x513352
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x513357
add ecx, 4
add edx, 4
sub edi, 4
jae 0x513341
cmp edi, 0xfffffffc
je 0x513384
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x51338f
cmp edi, 0xfffffffd
je 0x513384
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x51338f
cmp edi, 0xfffffffe
je 0x513384
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x51338f
cmp edi, 0xffffffff
je 0x513384
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x51338f
add esi, dword [ebp - 0xa8]
jmp 0x513410
mov eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xc0]
test edi, edi
jle 0x5134a3
sub eax, edi
cmp esi, eax
ja 0x5134a3
lea edx, [ebp - 0xc]
mov ecx, esi
sub edi, 4
jb 0x5133c8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5133cd
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5133b7
cmp edi, 0xfffffffc
je 0x51340a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5134a3
cmp edi, 0xfffffffd
je 0x51340a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5134a3
cmp edi, 0xfffffffe
je 0x51340a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5134a3
cmp edi, 0xffffffff
je 0x51340a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5134a3
add esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb0]
inc edi
cmp edi, dword [ebp - 0xa4]
mov dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0xa8]
jl 0x513330
mov ebx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
cmp esi, ebx
jbe 0x518fec
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x51349a
nop
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x513490
cmp esi, ebx
ja 0x513456
jmp 0x518fec
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x5134d3
cmp esi, dword [edi + 0x78]
jb 0x5134d3
cmp esi, dword [edi + 0x84]
jbe 0x5134d3
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
mov ebx, dword [ebp - 0x90]
jmp 0x513441
inc ecx
mov dword [ebp - 0x8c], ecx
cmp edx, 0x2e
jb 0x513609
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
cmp edx, 1
jl 0x51353d
mov edx, dword [ecx + 0x78]
mov ecx, 1
nop
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
cmp ebx, eax
je 0x513527
cmp edi, eax
jne case.0x51baee.14
inc ecx
inc esi
cmp ecx, dword [ebp - 0x9c]
jle 0x513510
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xa4]
cmp edx, eax
je 0x50ec19
cmp dword [ebp - 0x90], 0
jne 0x5199d5
mov dword [ebp - 0xc8], esi
cmp edx, eax
jge 0x51357e
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x5135d9
movzx eax, byte [esi]
cmp ebx, eax
je 0x513574
cmp edi, eax
jne 0x51357e
inc edx
inc esi
cmp edx, dword [ebp - 0xa4]
jl 0x513565
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
mov ebx, dword [ebp - 0xc8]
cmp esi, ebx
je 0x518fec
nop
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
dec esi
test eax, eax
jne 0x51c206
cmp esi, ebx
jne 0x5135a0
jmp 0x518fec
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x513584
cmp esi, dword [edi + 0x84]
jbe 0x513584
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
jmp 0x513584
mov ecx, 1
cmp edi, ecx
jl 0x513639
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x51baee.14
inc ecx
cmp ecx, edi
jle 0x513620
mov eax, dword [ebp - 0xa4]
cmp edi, eax
je 0x50ec19
cmp dword [ebp - 0x90], 0
jne 0x519a78
mov edx, dword [ebp - 0x9c]
mov edi, esi
cmp edx, eax
jge 0x513685
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x5136e1
movzx eax, byte [esi]
cmp ebx, eax
jne 0x513685
inc edx
inc esi
cmp edx, dword [ebp - 0xa4]
jl 0x513670
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec19
cmp esi, edi
je 0x518fe6
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
dec esi
test eax, eax
jne 0x51c206
mov ecx, dword [ebp - 0x88]
cmp esi, edi
jne 0x5136a0
mov edi, ecx
jmp 0x518fec
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x51368b
cmp esi, dword [ecx + 0x84]
jbe 0x51368b
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
jmp 0x51368b
cmp esi, dword [edi + 0x78]
jae 0x51b528
test ebx, ebx
je 0x513964
mov edx, dword [ebp - 0x8c]
movzx ebx, byte [edx + 1]
add edx, 2
mov dword [ebp - 0x8c], edx
cmp ebx, 0xc0
jb 0x51380f
test bl, 0x20
jne 0x51375a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc edx
jmp 0x513809
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x513781
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x513807
test bl, 8
jne 0x5137a4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x513807
test bl, 4
jne 0x5137d3
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x513807
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov ebx, ecx
mov dword [ebp - 0x8c], edx
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x5138f4
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x513838
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x5138f4
test dl, 0x10
jne 0x513859
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x5138f4
test dl, 8
jne 0x513883
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x5138f4
test dl, 4
jne 0x5138b9
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x5138f4
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp dword [ebp - 0x9c], 0x1f
jne 0x51390a
cmp ebx, edx
je case.0x51baee.14
jmp 0x50ec1f
cmp ebx, 0x7f
jbe 0x513948
mov eax, ebx
test eax, eax
jns 0x513918
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x513933
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
mov eax, dword [eax*8 + 0x5bcad4]
add eax, ebx
jmp 0x51394f
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.0x51baee.14
cmp eax, edx
je case.0x51baee.14
jmp 0x50ec1f
mov eax, dword [ebp - 0x8c]
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.0x51baee.14
cmp dword [ebp - 0x9c], 0x20
jne 0x513992
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x51baee.14
mov edx, dword [ebp - 0x8c]
add edx, 2
mov dword [ebp - 0x8c], edx
jmp 0x50ec30
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, 3
mov dword [ebp - 0xa8], edx
mov edi, edx
mov edx, dword [ebp - 0x9c]
jmp 0x513af7
mov eax, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0xa4], edi
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
mov dword [ebp - 0xa8], edx
cmp cl, 0x42
je 0x513a00
mov dword [ebp - 0x90], edi
cmp cl, 0x4f
jne 0x513a0a
mov dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x9c]
add ecx, 3
jmp 0x513afd
mov ecx, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0xb4], 1
inc ecx
mov dword [ebp - 0xa8], VariantClear
jmp 0x513af7
mov ecx, dword [ebp - 0x8c]
mov edi, 1
mov dword [ebp - 0xb4], 1
inc ecx
mov dword [ebp - 0xa8], VariantClear
jmp 0x513af7
mov ecx, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0xb4], 1
inc ecx
mov dword [ebp - 0xa8], 1
jmp 0x513af7
mov eax, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0xb4], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0x8c]
add ecx, 3
jmp 0x513af7
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
inc dword [ebp - 0x8c]
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
and eax, 1
mov dword [ebp - 0x90], eax
movsx eax, byte [ecx + 0x5ba384]
movsx edi, byte [ecx + 0x5ba378]
test eax, eax
mov ecx, dword [ebp - 0x8c]
cmove eax, dword [ebp - 0xd0]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edi
movzx ebx, byte [ecx]
inc ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x8c], ecx
test eax, eax
je 0x513c0e
cmp ebx, 0xc0
jb 0x513c0e
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x513b40
and ebx, 0x1f
shl ebx, 6
or ebx, eax
inc ecx
jmp 0x513bfc
test bl, 0x10
jne 0x513b61
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 2
jmp 0x513bfc
test bl, 8
jne 0x513b8b
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 3
jmp 0x513bfc
test bl, 4
jne 0x513bc1
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 4
jmp 0x513bfc
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ecx + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ecx, 5
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x8c], ecx
cmp edx, 0x48
jb 0x5140b6
test eax, eax
je 0x513c63
cmp ebx, 0x7f
jbe 0x513c63
mov eax, ebx
test eax, eax
jns 0x513c29
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x513c44
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x88]
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
mov ebx, dword [eax*8 + 0x5bcad4]
add ebx, dword [ebp - 0x9c]
jmp 0x513c70
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0x3c]
movzx ebx, byte [eax + ebx]
cmp dword [ebp - 0x94], 0
mov dword [ebp - 0xb0], ebx
je 0x513daf
mov eax, dword [ebp - 0xa4]
mov edi, 1
mov ecx, dword [ebp - 0x9c]
cmp eax, edi
jl 0x513da7
mov ebx, dword [edx + 0x78]
nop
cmp esi, ebx
jae 0x519d5d
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x513d8a
test dl, 0x20
jne 0x513cd1
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x513d84
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x513cf8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x513d7e
test dl, 8
jne 0x513d1b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x513d7e
test dl, 4
jne 0x513d4a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x513d7e
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa4]
cmp ecx, edx
je case.0x51baee.14
cmp dword [ebp - 0xb0], edx
je case.0x51baee.14
inc edi
cmp edi, eax
jle 0x513ca0
mov edi, dword [ebp - 0xa4]
jmp 0x513deb
mov ecx, 1
cmp edi, ecx
jl 0x513de5
mov edx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
cmp dword [ebp - 0x9c], eax
je case.0x51baee.14
cmp ebx, eax
je case.0x51baee.14
inc ecx
inc esi
cmp ecx, edi
jle 0x513dc0
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
cmp edi, eax
je 0x50ec19
cmp dword [ebp - 0x90], 0
jne 0x519b14
cmp dword [ebp - 0x94], 0
mov ebx, esi
je 0x514002
cmp edi, eax
jge 0x513f61
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
mov eax, 1
cmp esi, edi
jae 0x513fd3
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x513f3a
test dl, 0x20
jne 0x513e6a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x513f3a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x513e94
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x513f34
test dl, 8
jne 0x513ec0
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x513f34
test dl, 4
jne 0x513ef8
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x513f34
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x9c]
cmp ecx, edx
je 0x513f61
cmp dword [ebp - 0xb0], edx
je 0x513f61
add esi, eax
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xa8]
jl 0x513e30
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
cmp esi, ebx
jbe 0x518fec
nop dword [eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x513fca
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x513fc0
cmp esi, ebx
ja 0x513f80
jmp 0x518fec
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x513f67
cmp esi, dword [edi + 0x84]
jbe 0x513f67
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x51b555
jmp 0x513f67
cmp edi, eax
jge 0x514032
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x514089
movzx eax, byte [esi]
cmp dword [ebp - 0x9c], eax
je 0x514032
cmp edx, eax
je 0x514032
inc edi
inc esi
cmp edi, dword [ebp - 0xa8]
jl 0x514015
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
cmp esi, ebx
je 0x518fec
nop dword [eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
dec esi
cmp esi, ebx
jne 0x514050
jmp 0x518fec
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x514038
cmp esi, dword [edi + 0x84]
jbe 0x514038
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
jmp 0x514038
test eax, eax
je 0x51426a
mov eax, dword [ebp - 0xa4]
mov edi, 1
cmp eax, edi
jl 0x51429e
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x519d5d
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x5141ca
test dl, 0x20
jne 0x514111
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x5141c4
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x514138
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x5141be
test dl, 8
jne 0x51415b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x5141be
test dl, 4
jne 0x51418a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x5141be
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa4]
cmp ecx, edx
je case.0x51baee.14
inc edi
cmp edi, eax
jle 0x5140e0
mov edi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xa8]
cmp edi, eax
je 0x50ec19
cmp dword [ebp - 0x90], 0
jne 0x519da6
cmp dword [ebp - 0x94], 0
mov ebx, esi
je 0x51442e
cmp edi, eax
jge 0x514398
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x9c]
mov edi, dword [eax + 0x78]
nop
mov eax, 1
cmp esi, edi
jae 0x514403
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x514379
test dl, 0x20
jne 0x5142a9
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x514379
mov ecx, 1
cmp edi, ecx
jl 0x5141e7
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x51baee.14
inc ecx
cmp ecx, edi
jle 0x514280
jmp 0x5141e7
mov edi, dword [ebp - 0xa4]
jmp 0x5141ed
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x5142d3
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x514373
test dl, 8
jne 0x5142ff
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x514373
test dl, 4
jne 0x514337
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x514373
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x9c]
cmp ecx, edx
je 0x514398
add esi, eax
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xa8]
jl 0x514230
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
cmp esi, ebx
jbe 0x518fec
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x5143fa
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x5143f0
cmp esi, ebx
ja 0x5143b3
jmp 0x518fec
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x51439e
cmp esi, dword [edi + 0x84]
jbe 0x51439e
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x51b555
jmp 0x51439e
cmp edi, eax
jge 0x514456
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x5144aa
movzx eax, byte [esi]
cmp edx, eax
je 0x514456
inc edi
inc esi
cmp edi, dword [ebp - 0xa8]
jl 0x514441
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec1f
cmp esi, ebx
je 0x518fec
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
dec esi
cmp esi, ebx
jne 0x514471
jmp 0x518fec
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x51445c
cmp esi, dword [edi + 0x84]
jbe 0x51445c
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
jmp 0x51445c
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x90], 1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, 3
mov dword [ebp - 0xa8], ecx
mov ebx, ecx
jmp 0x514607
mov eax, dword [ebp - 0x8c]
xor ebx, ebx
mov dword [ebp - 0x9c], 0
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [ebp - 0xa8], edx
mov edx, dword [ebp - 0x8c]
sete bl
mov dword [ebp - 0x90], ebx
add edx, 3
xor ebx, ebx
jmp 0x51460d
mov edx, dword [ebp - 0x8c]
xor ebx, ebx
mov dword [ebp - 0xb4], 1
inc edx
mov dword [ebp - 0xa8], VariantClear
jmp 0x514607
mov edx, dword [ebp - 0x8c]
mov ebx, 1
mov dword [ebp - 0xb4], 1
inc edx
mov dword [ebp - 0xa8], VariantClear
jmp 0x514607
mov edx, dword [ebp - 0x8c]
xor ebx, ebx
mov dword [ebp - 0xb4], 1
inc edx
mov dword [ebp - 0xa8], 1
jmp 0x514607
mov edx, dword [ebp - 0x8c]
xor ebx, ebx
mov dword [ebp - 0xb4], 1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, 3
mov dword [ebp - 0xa8], ecx
jmp 0x514607
lea eax, [edx - 0x55]
mov edx, dword [ebp - 0x8c]
mov ebx, eax
inc edx
and ebx, 1
mov dword [ebp - 0x90], ebx
movsx ebx, byte [eax + 0x5ba378]
movsx eax, byte [eax + 0x5ba384]
test eax, eax
cmove eax, dword [ebp - 0xd0]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x9c], ebx
movzx edi, byte [edx]
inc edx
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0x8c], edx
cmp edi, 0x10
je 0x514632
cmp edi, 0xf
je 0x514632
mov ecx, dword [ebp - 0xbc]
or eax, 0xffffffff
jmp 0x51465c
movzx eax, byte [edx]
xor ecx, ecx
cmp edi, 0xf
movzx edi, byte [edx + 1]
mov dword [ebp - 0xcc], edi
mov edi, dword [ebp - 0xa4]
sete cl
add edx, 2
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0xb8], eax
test ebx, ebx
jle 0x5151df
test eax, eax
js 0x5154e8
cmp eax, 0xa
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c4cc]
test ecx, ecx
jne case.0x51baee.14
mov ecx, 1
cmp ebx, ecx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x5146e1
cmp eax, 0xc0
jb 0x5146e1
test al, 0x20
jne 0x5146c3
inc esi
jmp 0x5146e1
test al, 0x10
jne 0x5146cc
add esi, 2
jmp 0x5146e1
test al, 8
jne 0x5146d5
add esi, 3
jmp 0x5146e1
test al, 4
jne 0x5146de
add esi, 4
jmp 0x5146e1
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x5146a0
jmp 0x5151df
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x5147fe
cmp ecx, 0xc0
jb 0x5147fe
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51473f
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5147fe
test cl, 0x10
jne 0x514760
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5147fe
test cl, 8
jne 0x51478d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5147fe
test cl, 4
jne 0x5147c3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5147fe
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x514807
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x514821
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp eax, 9
je 0x514846
cmp eax, 5
je 0x514846
cmp eax, 8
je 0x514846
xor eax, eax
jmp 0x51484b
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x514701
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
mov dword [ebp - 0xc8], edi
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51497e
cmp ecx, 0xc0
jb 0x51497e
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5148bf
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51497e
test cl, 0x10
jne 0x5148e0
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51497e
test cl, 8
jne 0x51490d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51497e
test cl, 4
jne 0x514943
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51497e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x514987
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x5149a1
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0xcc]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp dword [eax*4 + 0x5bc4a0], edi
mov edi, dword [ebp - 0xc8]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x514881
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
mov dword [ebp - 0xc8], edi
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x514afe
cmp ecx, 0xc0
jb 0x514afe
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x514a3f
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x514afe
test cl, 0x10
jne 0x514a60
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x514afe
test cl, 8
jne 0x514a8d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x514afe
test cl, 4
jne 0x514ac3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x514afe
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x514b07
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x514b21
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0xc8]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x514a01
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
mov dword [ebp - 0xc8], edi
nop word [eax + eax]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x514c7d
cmp ecx, 0xc0
jb 0x514c7d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x514bbe
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x514c7d
test cl, 0x10
jne 0x514bdf
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x514c7d
test cl, 8
jne 0x514c0c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x514c7d
test cl, 4
jne 0x514c42
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x514c7d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x514c86
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x514ca0
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0xc8]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad0]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x514b80
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x514df0
cmp ecx, 0xc0
jb 0x514df0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x514d31
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x514df0
test cl, 0x10
jne 0x514d52
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x514df0
test cl, 8
jne 0x514d7f
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x514df0
test cl, 4
jne 0x514db5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x514df0
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x514df9
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x514e13
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x514e3a
cmp eax, 3
je 0x514e3a
xor eax, eax
jmp 0x514e3f
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x514cf3
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x514f6d
cmp ecx, 0xc0
jb 0x514f6d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x514eae
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x514f6d
test cl, 0x10
jne 0x514ecf
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x514f6d
test cl, 8
jne 0x514efc
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x514f6d
test cl, 4
jne 0x514f32
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x514f6d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x180e
ja 0x514fb0
je case.0x514fd0.8192
cmp ecx, 0x85
ja 0x514f9c
je case.0x514fd0.8192
cmp ecx, 9
jb case.0x514fd0.8203
cmp ecx, 0xd
jbe case.0x514fd0.8192
cmp ecx, 0x20
jmp 0x514fe5
cmp ecx, 0xa0
je case.0x514fd0.8192
cmp ecx, 0x1680
jmp 0x514fe5
cmp ecx, 0x202f
ja 0x514fd7
je case.0x514fd0.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x514fd0.8203
movzx eax, byte [eax + 0x51c500]
jmp dword [eax*4 + 0x51c4f8]
cmp ecx, 0x205f
je case.0x514fd0.8192
cmp ecx, 0x3000
je case.0x514fd0.8192
mov eax, ecx
test eax, eax
jns 0x514ff0
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51500a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp dword [eax*4 + 0x5bc4a0], 6
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
jmp 0x515044
cmp dword [ebp - 0xbc], 0
jne case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x514e70
jmp 0x5151d9
mov edi, 1
cmp ebx, edi
jl 0x5151d9
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x519f94
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x515165
cmp edx, 0xc0
jb 0x515165
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x5150a6
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x515165
test dl, 0x10
jne 0x5150c7
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x515165
test dl, 8
jne 0x5150f4
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x515165
test dl, 4
jne 0x51512a
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x515165
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
test eax, eax
jns 0x51516e
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x515189
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x5151b5
cmp eax, 3
je 0x5151b5
cmp edx, 0x5f
je 0x5151b5
xor eax, eax
jmp 0x5151ba
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
inc edi
cmp edi, dword [ebp - 0x9c]
jle 0x515068
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xa8]
cmp ebx, edx
je 0x50ec19
cmp dword [ebp - 0x90], 0
mov eax, dword [ebp - 0xb8]
jne 0x519fdd
mov edi, esi
mov dword [ebp - 0x90], edi
test eax, eax
js 0x5175b3
cmp eax, 0xa
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c52c]
mov edi, 1
cmp ebx, edi
jl 0x5151d9
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x515335
cmp ecx, 0xc0
jb 0x515335
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x515276
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515335
test cl, 0x10
jne 0x515297
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515335
test cl, 8
jne 0x5152c4
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515335
test cl, 4
jne 0x5152fa
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515335
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax*4 + 0x5bc990]
lea eax, [eax*4 + 0x5bc990]
cmp ecx, edx
jb 0x51535d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x51537c
mov edx, dword [eax]
cmp ecx, edx
jae 0x515350
cmp dword [ebp - 0xbc], 0
je case.0x51baee.14
inc edi
cmp edi, dword [ebp - 0x9c]
jle 0x515238
jmp 0x5151d3
cmp dword [ebp - 0xbc], 0
jne case.0x51baee.14
jmp 0x51536a
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51549e
cmp ecx, 0xc0
jb 0x51549e
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5153df
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51549e
test cl, 0x10
jne 0x515400
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51549e
test cl, 8
jne 0x51542d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51549e
test cl, 4
jne 0x515463
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51549e
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x24
je 0x5154c9
cmp ecx, 0x40
je 0x5154c9
cmp ecx, 0x60
je 0x5154c9
cmp ecx, 0xa0
jb 0x5154bd
cmp ecx, 0xd7ff
jbe 0x5154c9
cmp ecx, 0xe000
jae 0x5154c9
xor eax, eax
jmp 0x5154ce
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x5153a1
jmp 0x5151d9
cmp edi, 0x16
jne 0x5157d4
mov ecx, dword [ebp - 0x88]
mov edi, 1
mov dword [ebp - 0xc0], edi
cmp ebx, edi
jl 0x5163d0
nop word [eax + eax]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0xb0], edx
cmp esi, edx
jae 0x51a0cd
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x515613
cmp ecx, 0xc0
jb 0x515613
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x515557
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515613
test cl, 0x10
jne 0x515578
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515613
test cl, 8
jne 0x5155a2
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515613
test cl, 4
jne 0x5155d8
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515613
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51561c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x515636
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx ebx, byte [eax*8 + 0x5bcad2]
cmp esi, edx
jae 0x515785
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x515727
cmp edx, 0xc0
jb 0x515727
test dl, 0x20
jne 0x515687
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x51571f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5156a9
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x51571f
and eax, 0x3f
test dl, 8
jne 0x5156c9
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x51571f
test dl, 4
jne 0x5156f2
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x51571f
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x515730
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x51574a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb0]
movzx eax, word [eax*2 + 0x5c0350]
movzx ecx, byte [eax*8 + 0x5bcad2]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5bc518], eax
je 0x51577f
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x515650
mov edi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5157b4
cmp esi, edx
jb 0x5157b4
cmp esi, dword [ecx + 0x84]
jbe 0x5157b4
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov ebx, dword [ebp - 0x9c]
inc edi
mov dword [ebp - 0xc0], edi
cmp edi, ebx
jle 0x515510
mov edi, dword [ebp - 0xa4]
jmp 0x5151e5
cmp dword [ebp - 0x94], 0
lea eax, [edi - 6]
je 0x516325
cmp eax, 0xf
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c558]
mov edx, dword [ebp - 0x9c]
mov ebx, 1
cmp edx, ebx
jl 0x516773
nop word [eax + eax]
mov edi, dword [ebp - 0x88]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x51b528
mov ecx, dword [edi + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x5158af
push dword [ebp - 0x94]
push edi
push eax
push ecx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
jne case.0x51baee.14
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x51588c
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x51588c
cmp dword [ecx + 0x18], 0
jne 0x51588c
cmp dword [edi], 2
jne 0x51588c
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x51588c
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov ecx, dword [ecx + 0x78]
inc esi
cmp esi, ecx
jae 0x5158a1
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5158a1
inc esi
cmp esi, ecx
jb 0x515894
inc ebx
cmp ebx, edx
jle 0x515810
jmp 0x5151d3
mov ecx, dword [edi]
sub eax, ecx
mov dword [ebp - 0xc8], ecx
cmp esi, eax
ja 0x51584f
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [ebp - 0xc8]
jne 0x51584f
cmp ecx, 1
je case.0x51baee.14
mov ecx, dword [ebp - 0x88]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x51baee.14
jmp 0x515855
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x519f9a
mov ecx, dword [eax + 0x78]
inc esi
cmp esi, ecx
jae 0x515933
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x51592d
inc esi
cmp esi, ecx
jb 0x515920
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x515910
jmp 0x5151d9
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x51baee.14
add esi, ebx
jmp 0x5151e5
mov ecx, dword [ebp - 0x88]
mov edx, 1
cmp ebx, edx
jl 0x5151e5
mov edi, dword [ecx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x51a0cd
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x515a5d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5159a1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515a5d
test cl, 0x10
jne 0x5159c2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515a5d
test cl, 8
jne 0x5159ec
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515a5d
test cl, 4
jne 0x515a22
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515a5d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0xd
ja 0x515a80
je 0x515a6e
cmp ecx, 0xa
je 0x515aa9
lea eax, [ecx - 0xb]
jmp 0x515a8e
cmp esi, edi
jae 0x515aa9
cmp byte [esi], 0xa
mov ecx, dword [ebp - 0x88]
jne 0x515aaf
inc esi
jmp 0x515aaf
cmp ecx, 0x85
je 0x515a97
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x51baee.14
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x68], 0
jne case.0x51baee.14
jmp 0x515aaf
mov ecx, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x515970
mov edi, dword [ebp - 0xa4]
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x515bcd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x515b11
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515bcd
test cl, 0x10
jne 0x515b32
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515bcd
test cl, 8
jne 0x515b5c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515bcd
test cl, 4
jne 0x515b92
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515bcd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x180e
ja 0x515bff
je case.0x51baee.14
cmp ecx, 0xa0
ja 0x515bf7
je case.0x51baee.14
cmp ecx, 9
je case.0x51baee.14
cmp ecx, 0x20
jmp 0x515c2f
cmp ecx, 0x1680
jmp 0x515c2f
cmp ecx, 0x205f
ja 0x515c29
je case.0x51baee.14
cmp ecx, 0x2000
jb 0x515c35
cmp ecx, 0x200a
jbe case.0x51baee.14
cmp ecx, 0x202f
jmp 0x515c2f
cmp ecx, 0x3000
je case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x515ae0
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x515d4d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x515c91
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515d4d
test cl, 0x10
jne 0x515cb2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515d4d
test cl, 8
jne 0x515cdc
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515d4d
test cl, 4
jne 0x515d12
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515d4d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x180e
ja 0x515d73
je 0x515da5
cmp ecx, 0xa0
ja 0x515d6b
je 0x515da5
cmp ecx, 9
je 0x515da5
cmp ecx, 0x20
jmp 0x515d9f
cmp ecx, 0x1680
jmp 0x515d9f
cmp ecx, 0x205f
ja 0x515d99
je 0x515da5
cmp ecx, 0x2000
jb case.0x51baee.14
cmp ecx, 0x200a
jbe 0x515da5
cmp ecx, 0x202f
jmp 0x515d9f
cmp ecx, 0x3000
jne case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x515c60
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x515ebd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x515e01
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515ebd
test cl, 0x10
jne 0x515e22
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515ebd
test cl, 8
jne 0x515e4c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515ebd
test cl, 4
jne 0x515e82
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515ebd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x515ed5
je case.0x51baee.14
cmp ecx, 0xa
jb 0x515ee9
cmp ecx, 0xd
jmp 0x515ee3
cmp ecx, 0x2028
jb 0x515ee9
cmp ecx, 0x2029
jbe case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x515dd0
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x519f94
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x515ffd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x515f41
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x515ffd
test cl, 0x10
jne 0x515f62
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x515ffd
test cl, 8
jne 0x515f8c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x515ffd
test cl, 4
jne 0x515fc2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x515ffd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x85
ja 0x51600f
je 0x51601e
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x516018
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x51baee.14
inc edx
cmp edx, ebx
jle 0x515f10
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x516135
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x516073
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51612f
test cl, 0x10
jne 0x516094
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51612f
test cl, 8
jne 0x5160be
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51612f
test cl, 4
jne 0x5160f4
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51612f
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0x88]
cmp ecx, 0x80
jae 0x51614a
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x516042
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x51baee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x516180
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x5161f9
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
inc esi
cmp esi, ecx
jae 0x516214
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x51620e
inc esi
cmp esi, ecx
jb 0x516201
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x5161d3
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x51baee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x516234
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x5162ad
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
inc esi
cmp esi, ecx
jae 0x5162c8
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5162c2
inc esi
cmp esi, ecx
jb 0x5162b5
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x516287
jmp 0x5151d9
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x51baee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x5162e8
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
cmp eax, 0xf
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c598]
mov edx, dword [ebp - 0x9c]
mov ebx, 1
mov ecx, dword [ebp - 0x88]
cmp edx, ebx
jl 0x516768
nop
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x51a0cd
mov edi, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x5163db
push 0
push edi
push eax
push ecx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
jne case.0x51baee.14
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5163c4
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x5163c4
cmp dword [ecx + 0x18], 0
jne 0x5163c4
cmp dword [edi], 2
jne 0x5163c4
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x5163c4
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
inc ebx
inc esi
cmp ebx, edx
jle 0x516350
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xa4]
jmp 0x5151e5
sub eax, dword [edi]
cmp esi, eax
ja 0x516387
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [edi]
jne 0x516387
cmp ecx, 1
je case.0x51baee.14
mov ecx, dword [ebp - 0x88]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x51baee.14
jmp 0x51638d
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x51a0cd
add esi, ebx
jmp 0x5151e5
mov ecx, 1
cmp ebx, ecx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x519f9a
movzx eax, byte [esi]
inc esi
sub eax, 0xa
cmp eax, 0x7b
ja case.0x51baee.14
movzx eax, byte [eax + 0x51c5e8]
jmp dword [eax*4 + 0x51c5d8]
cmp esi, edx
jae case.0x51645f.10
cmp byte [esi], 0xa
mov eax, dword [ebp - 0x88]
jne 0x516490
inc esi
jmp 0x516490
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x68], 0
jne case.0x51baee.14
jmp 0x516490
mov eax, dword [ebp - 0x88]
inc ecx
cmp ecx, ebx
jle 0x516440
jmp 0x5151df
mov ecx, 1
cmp ebx, ecx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x51baee.14
cmp eax, 0x20
je case.0x51baee.14
cmp eax, 0xa0
je case.0x51baee.14
inc ecx
cmp ecx, ebx
jle 0x5164b0
jmp 0x5151df
mov ecx, 1
cmp ebx, ecx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x516521
cmp eax, 0x20
je 0x516521
cmp eax, 0xa0
jne case.0x51baee.14
inc ecx
cmp ecx, ebx
jle 0x516500
jmp 0x5151df
mov ecx, 1
cmp ebx, ecx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x516566
cmp eax, 0xd
jle case.0x51baee.14
cmp eax, 0x85
je case.0x51baee.14
inc ecx
cmp ecx, ebx
jle 0x516541
jmp 0x5151df
mov ecx, 1
cmp ebx, ecx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x519f94
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x51baee.14
cmp eax, 0xd
jle 0x5165ab
cmp eax, 0x85
jne case.0x51baee.14
inc ecx
cmp ecx, ebx
jle 0x516586
jmp 0x5151df
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x5165d0
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x516617
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x516660
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x5166a7
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x5166f0
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov edx, 1
cmp ebx, edx
jl 0x5151df
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x519f9a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x51baee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x516737
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5151e5
mov ebx, dword [ebp - 0x9c]
jmp 0x5151e5
mov ebx, dword [ebp - 0x9c]
jmp 0x5151df
cmp ebx, edx
jge 0x51753d
mov edx, dword [ecx + 0x78]
nop dword [eax]
mov eax, 1
cmp esi, edx
jae 0x5167fc
cmp dword [ebp - 0x94], 0
movzx ecx, byte [esi]
je 0x5167df
cmp ecx, 0xc0
jb 0x5167df
test cl, 0x20
jne 0x5167b9
mov eax, 2
jmp 0x5167df
test cl, 0x10
jne 0x5167c5
mov eax, 3
jmp 0x5167df
test cl, 8
jne 0x5167d1
mov eax, 4
jmp 0x5167df
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [ebp - 0xbc], 0
jne 0x51753d
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0xa8]
jl 0x516790
jmp 0x51753d
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x517543
cmp esi, dword [ecx + 0x84]
jbe 0x517543
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x51b555
jmp 0x517543
cmp ebx, edx
jge 0x51753d
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51698a
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x51691d
cmp edx, 0xc0
jb 0x51691d
test dl, 0x20
jne 0x51687f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x516915
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x51689e
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x516915
and eax, 0x3f
test dl, 8
jne 0x5168be
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x516915
test dl, 4
jne 0x5168e7
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x516915
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x516926
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x516940
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp eax, 9
je 0x516965
cmp eax, 5
je 0x516965
cmp eax, 8
je 0x516965
xor eax, eax
jmp 0x51696a
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x517537
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x516840
jmp 0x517537
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5169b5
cmp esi, dword [ecx + 0x84]
jbe 0x5169b5
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov edi, dword [ebp - 0x90]
jmp 0x517543
cmp ebx, edx
jge 0x51753d
mov ebx, dword [ecx + 0x78]
nop dword [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x516b1f
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x516aac
cmp edx, 0xc0
jb 0x516aac
test dl, 0x20
jne 0x516a0f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x516aa4
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x516a2e
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x516aa4
and eax, 0x3f
test dl, 8
jne 0x516a4e
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x516aa4
test dl, 4
jne 0x516a77
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x516aa4
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x516ab5
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x516acf
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 0xcc]
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp dword [eax*4 + 0x5bc4a0], edx
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x517537
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x5169d0
jmp 0x517537
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5169b5
cmp esi, dword [ecx + 0x84]
jbe 0x5169b5
mov dword [ecx + 0x64], edi
cmp dword [ecx + 0x88], edi
jg 0x51b555
mov edi, dword [ebp - 0x90]
jmp 0x517543
cmp ebx, edx
jge 0x51753d
mov ebx, dword [ecx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x516b1f
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x516c3b
cmp edx, 0xc0
jb 0x516c3b
test dl, 0x20
jne 0x516b9e
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x516c33
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x516bbd
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x516c33
and eax, 0x3f
test dl, 8
jne 0x516bdd
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x516c33
test dl, 4
jne 0x516c06
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x516c33
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x516c44
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x516c5e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x517537
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x516b63
jmp 0x517537
cmp ebx, edx
jge 0x51753d
mov ebx, dword [ecx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x516b1f
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x516d8e
cmp edx, 0xc0
jb 0x516d8e
test dl, 0x20
jne 0x516cf1
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x516d86
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x516d10
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x516d86
and eax, 0x3f
test dl, 8
jne 0x516d30
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x516d86
test dl, 4
jne 0x516d59
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x516d86
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x516d97
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x516db1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad0]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x517537
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x516cb2
jmp 0x517537
cmp ebx, edx
jge 0x51753d
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51698a
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x516eed
cmp edx, 0xc0
jb 0x516eed
test dl, 0x20
jne 0x516e4f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x516ee5
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x516e6e
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x516ee5
and eax, 0x3f
test dl, 8
jne 0x516e8e
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x516ee5
test dl, 4
jne 0x516eb7
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x516ee5
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x516ef6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x516f10
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x516f37
cmp eax, 3
je 0x516f37
xor eax, eax
jmp 0x516f3c
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x517537
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x516e10
jmp 0x517537
cmp ebx, edx
jge 0x51753d
mov ebx, dword [ecx + 0x78]
nop word [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x516b1f
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x51704c
cmp edx, 0xc0
jb 0x51704c
test dl, 0x20
jne 0x516faf
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x517044
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x516fce
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x517044
and eax, 0x3f
test dl, 8
jne 0x516fee
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x517044
test dl, 4
jne 0x517017
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x517044
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x51708f
je case.0x5170af.8192
cmp edx, 0x85
ja 0x51707b
je case.0x5170af.8192
cmp edx, 9
jb case.0x5170af.8203
cmp edx, 0xd
jbe case.0x5170af.8192
cmp edx, 0x20
jmp 0x5170c4
cmp edx, 0xa0
je case.0x5170af.8192
cmp edx, 0x1680
jmp 0x5170c4
cmp edx, 0x202f
ja 0x5170b6
je case.0x5170af.8192
lea eax, [edx - 0x2000]
cmp eax, 0x29
ja case.0x5170af.8203
movzx eax, byte [eax + 0x51c66c]
jmp dword [eax*4 + 0x51c664]
cmp edx, 0x205f
je case.0x5170af.8192
cmp edx, 0x3000
je case.0x5170af.8192
mov eax, edx
test eax, eax
jns 0x5170cf
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x5170e9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp dword [eax*4 + 0x5bc4a0], 6
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x517537
jmp 0x517123
cmp dword [ebp - 0xbc], 0
jne 0x517537
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x516f70
jmp 0x517537
cmp ebx, edx
jge 0x51753d
mov ebx, dword [ecx + 0x78]
nop
mov edi, 1
cmp esi, ebx
jae 0x516b1f
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x51722f
cmp edx, 0xc0
jb 0x51722f
test dl, 0x20
jne 0x51718f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x517227
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5171b1
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x517227
and eax, 0x3f
test dl, 8
jne 0x5171d1
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x517227
test dl, 4
jne 0x5171fa
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x517227
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x517238
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x517253
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x51727f
cmp eax, 3
je 0x51727f
cmp edx, 0x5f
je 0x51727f
xor eax, eax
jmp 0x517284
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x517537
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x517150
jmp 0x517537
cmp ebx, edx
jge 0x51753d
mov ebx, dword [ecx + 0x78]
nop dword [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x516b1f
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x51739f
cmp edx, 0xc0
jb 0x51739f
test dl, 0x20
jne 0x5172ff
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x517397
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x517321
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x517397
and eax, 0x3f
test dl, 8
jne 0x517341
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x517397
test dl, 4
jne 0x51736a
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x517397
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax*4 + 0x5bc990]
lea eax, [eax*4 + 0x5bc990]
cmp edx, ecx
jb 0x5173c4
lea eax, [eax + 4]
cmp edx, ecx
je 0x5173f1
mov ecx, dword [eax]
cmp edx, ecx
jae 0x5173b7
cmp dword [ebp - 0xbc], 0
je 0x517537
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x5172c0
jmp 0x517537
cmp dword [ebp - 0xbc], 0
jne 0x517537
jmp 0x5173d1
cmp ebx, edx
jge 0x51753d
mov edi, dword [ecx + 0x78]
nop dword [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51698a
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x5174f0
cmp edx, 0xc0
jb 0x5174f0
test dl, 0x20
jne 0x51744f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5174e8
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x517471
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5174e8
and eax, 0x3f
test dl, 8
jne 0x517491
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5174e8
test dl, 4
jne 0x5174ba
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x5174e8
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x24
je 0x51751b
cmp edx, 0x40
je 0x51751b
cmp edx, 0x60
je 0x51751b
cmp edx, 0xa0
jb 0x51750f
cmp edx, 0xd7ff
jbe 0x51751b
cmp edx, 0xe000
jae 0x51751b
xor eax, eax
jmp 0x517520
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x517537
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x517410
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec19
cmp esi, edi
jbe 0x518fe6
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
dec esi
cmp dword [ebp - 0x94], eax
je 0x5175a2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x5175a2
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x517598
mov ecx, dword [ebp - 0x88]
cmp esi, edi
ja 0x517558
mov edi, ecx
jmp 0x518fec
mov eax, dword [ebp - 0xa4]
cmp eax, 0x16
jne 0x51791c
cmp ebx, edx
jge 0x5178c1
nop word [eax + eax]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0xb8], edx
cmp esi, edx
jae 0x517896
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x5176d6
cmp ecx, 0xc0
jb 0x5176d6
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x517617
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5176d6
test cl, 0x10
jne 0x517638
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5176d6
test cl, 8
jne 0x517665
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5176d6
test cl, 4
jne 0x51769b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5176d6
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x5176df
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x5176f9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx ebx, byte [eax*8 + 0x5bcad2]
cmp esi, edx
jae 0x51784c
nop dword [eax]
nop word [eax + eax]
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x5177f4
cmp edx, 0xc0
jb 0x5177f4
test dl, 0x20
jne 0x517757
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x5177ec
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x517776
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x5177ec
and eax, 0x3f
test dl, 8
jne 0x517796
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5177ec
test dl, 4
jne 0x5177bf
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x5177ec
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x5177fd
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x517817
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb8]
movzx eax, word [eax*2 + 0x5c0350]
movzx ecx, byte [eax*8 + 0x5bcad2]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5bc518], eax
je 0x51784c
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x517720
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x51787b
cmp esi, edx
jb 0x51787b
cmp esi, dword [ecx + 0x84]
jbe 0x51787b
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x5175d0
jmp 0x5178bb
cmp dword [ecx + 0x88], 0
je 0x5178bb
cmp esi, dword [ecx + 0x84]
jbe 0x5178bb
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov edi, dword [ebp - 0x90]
cmp dword [ebp - 0xb4], 0
jne 0x50ec19
cmp esi, edi
jbe 0x518fe6
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov ecx, dword [ebp - 0x94]
dec esi
test ecx, ecx
jne 0x518c51
movzx edx, byte [esi]
jmp 0x518d1a
add eax, 0xfffffffa
cmp dword [ebp - 0x94], 0
je 0x5186f8
cmp eax, 0xf
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c698]
cmp ebx, edx
jge 0x517a4c
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x517a21
mov edi, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x517987
push dword [ebp - 0x94]
push edi
push eax
push ecx
push esi
call fcn.005243a0
mov ecx, dword [ebp - 0x88]
add esp, 0x14
test eax, eax
jne 0x517ed5
mov edx, dword [ebp - 0xa8]
jmp 0x5179bf
sub eax, dword [edi]
mov ecx, dword [ebp - 0x88]
cmp esi, eax
ja 0x5179bf
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [edi]
jne 0x5179b9
cmp ecx, 1
mov ecx, dword [ebp - 0x88]
je 0x517ed5
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je 0x517ed5
jmp 0x5179bf
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5179f6
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x5179f6
cmp dword [ecx + 0x18], 0
jne 0x5179f6
cmp dword [edi], 2
jne 0x5179f6
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x5179f6
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov ecx, dword [ecx + 0x78]
inc esi
cmp esi, ecx
jae 0x517a0d
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x517a0d
inc esi
cmp esi, ecx
jb 0x517a00
mov ecx, dword [ebp - 0x88]
inc ebx
cmp ebx, edx
jge 0x517ed5
jmp 0x517944
cmp dword [ecx + 0x88], 0
je 0x517a46
cmp esi, dword [ecx + 0x84]
jbe 0x517a46
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec19
cmp esi, edi
jbe 0x518fe6
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x517aaa
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x517aa0
cmp dword [ebp - 0xa4], 0x11
jne 0x517aca
cmp esi, edi
jbe 0x518fe6
cmp byte [esi], 0xa
jne 0x517aca
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
mov ecx, dword [ebp - 0x88]
cmp esi, edi
ja 0x517a67
mov edi, ecx
jmp 0x518fec
cmp edx, 0x7fffffff
jge 0x517b23
cmp ebx, edx
jge 0x517a4c
mov edx, dword [ecx + 0x78]
mov eax, dword [ebp - 0xa8]
cmp esi, edx
jae 0x517b26
mov ecx, dword [ecx + 0x78]
inc esi
cmp esi, ecx
jae 0x517b13
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x517b0d
inc esi
cmp esi, ecx
jb 0x517b00
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x88]
inc ebx
cmp ebx, eax
jl 0x517af4
jmp 0x517a52
mov esi, dword [ecx + 0x78]
cmp dword [ecx + 0x88], 0
je 0x517a4c
cmp esi, dword [ecx + 0x84]
jbe 0x517a4c
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
jmp 0x517a4c
mov ecx, dword [ecx + 0x78]
sub edx, ebx
mov eax, ecx
sub eax, esi
cmp edx, eax
jbe 0x517b9f
mov esi, ecx
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x517a52
cmp esi, dword [ecx + 0x84]
jbe 0x517a52
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
jmp 0x517a52
add esi, edx
jmp 0x517a4c
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
mov eax, 1
cmp esi, edi
jae 0x517d1a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x517cbb
test dl, 0x20
jne 0x517beb
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x517cbb
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x517c15
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x517cb5
test dl, 8
jne 0x517c41
movzx eax, byte [esi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x517cb5
test dl, 4
jne 0x517c79
movzx eax, byte [esi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x517cb5
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [ebp - 0x88]
cmp edx, 0xd
jne 0x517cd1
inc esi
cmp esi, edi
jae 0x517a46
cmp byte [esi], 0xa
jne 0x517d08
inc esi
jmp 0x517d08
cmp edx, 0xa
je 0x517d06
cmp dword [ecx + 0x68], 0
jne 0x517a46
cmp edx, 0xb
je 0x517d06
cmp edx, 0xc
je 0x517d06
cmp edx, 0x85
je 0x517d06
cmp edx, 0x2028
je 0x517d06
cmp edx, 0x2029
jne 0x517a46
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0xa8]
jl 0x517bb1
jmp 0x517a46
cmp dword [ecx + 0x88], 0
je 0x517a46
cmp esi, dword [ecx + 0x84]
jbe 0x517a46
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x517a40
cmp ebx, edx
jge 0x517a4c
mov ebx, dword [ecx + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x517eaf
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x517e22
test dl, 0x20
jne 0x517d82
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x517e1a
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x517da4
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x517e1a
and eax, 0x3f
test dl, 8
jne 0x517dc4
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x517e1a
test dl, 4
jne 0x517ded
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x517e1a
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x517e48
je 0x517e76
cmp edx, 0xa0
ja 0x517e40
je 0x517e76
cmp edx, 9
je 0x517e76
cmp edx, 0x20
jmp 0x517e70
cmp edx, 0x1680
jmp 0x517e70
cmp edx, 0x205f
ja 0x517e6a
je 0x517e76
cmp edx, 0x2000
jb 0x517e72
cmp edx, 0x200a
jbe 0x517e76
cmp edx, 0x202f
jmp 0x517e70
cmp edx, 0x3000
je 0x517e76
xor ecx, ecx
jmp 0x517e7b
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0xa4], 0x12
sete al
cmp ecx, eax
je 0x517a46
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x517d50
jmp 0x517a46
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x517ed5
cmp esi, dword [ecx + 0x84]
jbe 0x517ed5
mov dword [ecx + 0x64], edi
cmp dword [ecx + 0x88], edi
jg 0x51b555
mov edi, dword [ebp - 0x90]
jmp 0x517a52
cmp ebx, edx
jge 0x517a4c
mov ebx, dword [ecx + 0x78]
nop dword [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x517eaf
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x517fbe
test dl, 0x20
jne 0x517f1e
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x517fb6
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x517f40
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x517fb6
and eax, 0x3f
test dl, 8
jne 0x517f60
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x517fb6
test dl, 4
jne 0x517f89
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x517fb6
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x518008
je 0x518013
cmp edx, 0xa
jb 0x517fd2
cmp edx, 0xd
jbe 0x518013
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xa4], 0x14
sete al
cmp ecx, eax
je 0x517a46
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x517ef0
jmp 0x517a46
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x517fd2
mov ecx, 1
jmp 0x517fd4
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51812f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x518100
test dl, 0x20
jne 0x518062
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5180f8
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x518081
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5180f8
and eax, 0x3f
test dl, 8
jne 0x5180a1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5180f8
test dl, 4
jne 0x5180ca
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x5180f8
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x51811b
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x517a46
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x518030
jmp 0x517a46
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x517ed5
cmp esi, dword [ecx + 0x84]
jbe 0x517ed5
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov edi, dword [ebp - 0x90]
jmp 0x517a52
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
nop dword [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51812f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x51824c
test dl, 0x20
jne 0x5181ae
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x518244
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5181cd
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x518244
and eax, 0x3f
test dl, 8
jne 0x5181ed
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x518244
test dl, 4
jne 0x518216
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x518244
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x517a46
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x517a46
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x518180
jmp 0x517a46
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51812f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x518360
test dl, 0x20
jne 0x5182c2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x518358
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5182e1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x518358
and eax, 0x3f
test dl, 8
jne 0x518301
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x518358
test dl, 4
jne 0x51832a
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x518358
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x51837b
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x517a46
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x518290
jmp 0x517a46
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x51812f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x518473
test dl, 0x20
jne 0x5183d2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x51846b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5183f4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x51846b
and eax, 0x3f
test dl, 8
jne 0x518414
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x51846b
test dl, 4
jne 0x51843d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x51846b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x517a46
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x517a46
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x5183a0
jmp 0x517a46
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
mov ecx, 1
cmp esi, edi
jae 0x51812f
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x518584
test dl, 0x20
jne 0x5184e3
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x51857c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x518505
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x51857c
and eax, 0x3f
test dl, 8
jne 0x518525
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x51857c
test dl, 4
jne 0x51854e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x51857c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x51859f
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x517a46
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x5184b1
jmp 0x517a46
cmp ebx, edx
jge 0x517a4c
mov edi, dword [ecx + 0x78]
nop
mov ecx, 1
cmp esi, edi
jae 0x5186c6
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x518693
test dl, 0x20
jne 0x5185f2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x51868b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x518614
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x51868b
and eax, 0x3f
test dl, 8
jne 0x518634
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x51868b
test dl, 4
jne 0x51865d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x51868b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x517a46
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x517a46
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x5185c0
jmp 0x517a46
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x517ed5
cmp esi, dword [ecx + 0x84]
jbe 0x517ed5
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x517ecf
cmp eax, 0xf
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c6d8]
cmp ebx, edx
jge 0x5187f2
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x5187c7
mov edi, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x51874b
push 0
push edi
push eax
push ecx
push esi
call fcn.005243a0
mov ecx, dword [ebp - 0x88]
add esp, 0x14
test eax, eax
jne 0x518773
mov edx, dword [ebp - 0xa8]
jmp 0x518784
sub eax, dword [edi]
mov ecx, dword [ebp - 0x88]
cmp esi, eax
ja 0x518784
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [edi]
jne 0x51877e
cmp ecx, 1
mov ecx, dword [ebp - 0x88]
je 0x518773
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
jne 0x518784
mov edi, dword [ebp - 0x90]
jmp 0x5187f8
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5187bb
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x5187bb
cmp dword [ecx + 0x18], 0
jne 0x5187bb
cmp dword [edi], 2
jne 0x5187bb
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x5187bb
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
inc ebx
inc esi
cmp ebx, edx
jl 0x518710
jmp 0x5187ec
cmp dword [ecx + 0x88], 0
je 0x5187ec
cmp esi, dword [ecx + 0x84]
jbe 0x5187ec
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x50ec19
cmp esi, edi
je 0x518fe6
nop dword [eax]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
dec esi
cmp dword [ebp - 0xa4], 0x11
jne 0x51885c
cmp esi, edi
jbe 0x51885e
cmp byte [esi], 0xa
jne 0x51885c
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
cmp esi, edi
mov ecx, dword [ebp - 0x88]
jne 0x518810
mov edi, ecx
jmp 0x518fec
mov ecx, dword [ecx + 0x78]
sub edx, ebx
mov eax, ecx
sub eax, esi
cmp edx, eax
jbe 0x5188b4
mov esi, ecx
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x5187f8
cmp esi, dword [ecx + 0x84]
jbe 0x5187f8
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
jmp 0x5187f8
add esi, edx
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x51887c
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x5188e2
inc esi
cmp esi, ecx
jae 0x5187f2
cmp byte [esi], 0xa
jne 0x518913
jmp 0x518912
cmp eax, 0xa
je 0x518912
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x68], 0
mov edi, dword [ebp - 0x90]
jne 0x5187f2
cmp eax, 0xb
je 0x518912
cmp eax, 0xc
je 0x518912
cmp eax, 0x85
jne 0x5187f2
inc esi
inc ebx
cmp ebx, edx
jl 0x5188c6
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x51887c
mov al, byte [esi]
cmp al, 9
je 0x5187f2
cmp al, 0x20
je 0x5187f2
cmp al, 0xa0
je 0x5187f2
inc ebx
inc esi
cmp ebx, edx
jl 0x518928
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x51887c
mov al, byte [esi]
cmp al, 9
je 0x51897a
cmp al, 0x20
je 0x51897a
cmp al, 0xa0
jne 0x5187f2
inc ebx
inc esi
cmp ebx, edx
jl 0x518960
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x51887c
mov al, byte [esi]
cmp al, 0xa
jb 0x5189ae
cmp al, 0xd
jbe 0x5187f2
cmp al, 0x85
je 0x5187f2
inc ebx
inc esi
cmp ebx, edx
jl 0x518990
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x51887c
mov al, byte [esi]
cmp al, 0xa
jb 0x5187f2
cmp al, 0xd
jbe 0x5189e2
cmp al, 0x85
jne 0x5187f2
inc ebx
inc esi
cmp ebx, edx
jl 0x5189c4
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x51887c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x5187f2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x5189f8
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x51887c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x5187f2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x518a30
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x51887c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x5187f2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x518a68
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x51887c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x5187f2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x518aa0
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x51887c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x5187f2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x518ad8
jmp 0x5187f2
cmp ebx, edx
jge 0x5187f2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x51887c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x5187f2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x518b10
jmp 0x5187f2
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x88]
inc eax
cmp byte [edx], 0x7a
push eax
push dword [ebp - 0xac]
push edi
push ecx
push dword [ebp - 0xa0]
jne 0x518b81
lea eax, [edx + 3]
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x8c], edx
jmp 0x518ff2
push dword [ebp - 0xb8]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edx, dword [ebp - 0x8c]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x518ff2
cmp dword [ebp - 0x9c], 0x8c
je 0x51906f
mov edi, dword [ebp - 0x88]
jmp 0x518ff2
mov eax, dword [ebp + 0x20]
inc eax
cmp byte [edx], 0x7a
push eax
push dword [ebp - 0xac]
push edi
push ecx
push dword [ebp - 0xa0]
jne 0x518c13
lea eax, [edx + 3]
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov al, byte [ebx]
cmp al, 0x81
je 0x5191c0
cmp al, 0x88
jae 0x51918d
mov edx, ebx
mov dword [ebp - 0x8c], edx
jmp 0x518ff2
push ebx
push esi
call fcn.0050eb00
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x518c2c
cmp dword [edi + 0xb4], ebx
jmp 0x518c2e
test eax, eax
jne 0x51c206
cmp byte [ebx], 0x81
je 0x5191db
mov edx, dword [ebp - 0x8c]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x518ff2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x518c6a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x518c60
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x518d1a
test dl, 0x20
jne 0x518c8a
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x518d12
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x518ca4
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x518d0c
and eax, 0x3f
test dl, 8
jne 0x518cbf
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x518d0c
test dl, 4
jne 0x518ce3
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x518d0c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [ebp - 0x94]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x518d23
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x518d3d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x5c0350]
movzx ebx, byte [eax*8 + 0x5bcad2]
nop
cmp esi, edi
jbe 0x518fe6
lea edi, [esi - 1]
test ecx, ecx
jne 0x518d67
movzx edx, byte [edi]
jmp 0x518e24
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x518d7a
nop
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x518d70
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x518e24
test dl, 0x20
jne 0x518d9a
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x518e1c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x518db4
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x518e1c
and eax, 0x3f
test dl, 8
jne 0x518dcf
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x518e1c
test dl, 4
jne 0x518df3
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x518e1c
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x518e2d
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x518e47
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov ecx, ebx
movzx eax, word [eax*2 + 0x5c0350]
movzx edx, byte [eax*8 + 0x5bcad2]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [edx*4 + 0x5bc518], eax
je 0x518e81
mov ecx, dword [ebp - 0x94]
mov esi, edi
mov edi, dword [ebp - 0x90]
mov ebx, edx
jmp 0x518d50
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
jmp 0x5178d6
mov eax, dword [ebp - 0x8c]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0xb0], edx
lea eax, [edx + edx]
mov dword [ebp - 0xb8], eax
cmp eax, dword [edi + 0x14]
jl 0x51bc35
mov edx, dword [ebp - 0x9c]
cmp edx, 0x88
jae 0x518f09
cmp edx, 0x81
je 0x518f09
cmp dword [edi + 0x6c], 0
mov edx, dword [ebp - 0x8c]
jne 0x518f19
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x518f19
movzx eax, byte [edx]
movzx eax, byte [eax + 0x5bc388]
add edx, eax
mov dword [ebp - 0x8c], edx
jmp 0x518ff2
mov edx, dword [ebp - 0x8c]
mov dword [edi + 0x98], 2
mov eax, dword [edi + 0x90]
mov ebx, dword [edi + 0xac]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [edx]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, edx
push eax
push esi
call fcn.0050eb00
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc20
jne 0x518f9d
mov eax, dword [ebp - 0x8c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add edx, eax
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x7c], edx
jae 0x51be04
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x518fa5
cmp byte [edx], 0x77
jne 0x51be04
jmp 0x518fa5
test edi, edi
jne 0x51bdb4
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov dword [edi + 0xac], ebx
add edx, ecx
mov dword [ebp - 0x8c], edx
cmp byte [edx], 0x77
jne case.0x51baee.14
mov eax, dword [ebp - 0xc8]
mov dword [edi + 0x90], eax
jmp 0x518ebd
mov edi, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
mov eax, dword [edi]
mov ebx, dword [edi + 0x4c]
mov dword [ebp - 0x94], ebx
cmp eax, dword [edi + 4]
jae 0x51c1ff
mov ecx, dword [ebp - 0xac]
jmp 0x50ebd5
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
lea eax, [ebx + 2]
mov dword [edi + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x88]
mov dword [ecx + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push edi
push dword [ebp - 0xa0]
push edx
push esi
call fcn.0050eb00
add esp, 0x1c
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
sub eax, 1
je case.0x51baee.14
pop edi
pop ebx
mov eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xffffffe6
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xec]
mov dword [ecx + 0xa4], eax
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x51910b
push eax
call dword [0x60935c]
add esp, 4
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x519138
push eax
call dword [0x60935c]
add esp, 4
mov eax, edi
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xfffffffa
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa0]
pop edi
pop ebx
mov dword [eax + 0x80], esi
mov dword [eax + 0x7c], ecx
mov eax, dword [ebp - 0xc4]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push ebx
push esi
call fcn.0050eb00
add esp, 0x1c
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push ebx
jmp 0x51920f
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
mov eax, dword [ebp - 0x8c]
push edi
push dword [ebp - 0x98]
add eax, 3
jmp 0x519208
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
lea eax, [edx + 3]
push edi
push ecx
push dword [ebp - 0xa0]
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov dword [edi + 0xb4], ebx
mov eax, 0xfffffc1b
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xa0]
mov dword [edi + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [edi + 0x80], esi
mov dword [edi + 0x8c], ecx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x98]
mov dword [edi + 0x80], esi
mov dword [edi + 0x8c], eax
mov eax, dword [ebp - 0xa0]
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0xc4]
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x51baee.14
mov ecx, dword [ebp - 0x88]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb case.0x51baee.14
cmp dword [ecx + 0x18], 0
jne case.0x51baee.14
cmp dword [ecx + 0x1c], 2
jne case.0x51baee.14
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne case.0x51baee.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x51b54f
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x88]
jne 0x5192fe
mov esi, dword [eax + 0x78]
cmp dword [eax + 0x88], 0
je case.0x51baee.14
cmp esi, dword [eax + 0x78]
jb case.0x51baee.14
jmp 0x519409
mov dword [ebp - 0xb8], esi
cmp ebx, eax
jge 0x5193a1
nop word [eax + eax]
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push ecx
push esi
push edi
call fcn.0051c890
add esp, 0x14
test eax, eax
js 0x51935e
mov ecx, dword [ebp - 0xb4]
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0xc0]
jl 0x519330
jmp 0x519391
cmp eax, 0xfffffffe
jne 0x519391
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x519391
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x84]
jbe 0x519391
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x51b555
mov ebx, dword [ebp - 0xb8]
cmp esi, ebx
jb case.0x51baee.14
jmp 0x5193a7
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
sub esi, dword [ebp - 0xb4]
cmp esi, ebx
jae 0x5193a7
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x51baee.14
cmp esi, dword [eax + 0x84]
jbe case.0x51baee.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x51b54f
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
test edx, edx
je 0x5195e0
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0xa4]
nop word [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x51baee.14
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x519570
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x5194b4
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x519570
test dl, 0x10
jne 0x5194d5
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x519570
test dl, 8
jne 0x5194ff
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x519570
test dl, 4
jne 0x519535
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x519570
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0xff
jbe 0x519581
cmp dword [ebp - 0x9c], 0x6e
jmp 0x519594
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519470
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0xa4]
nop word [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x51baee.14
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx edx, byte [esi]
inc esi
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519600
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0xb0]
cmp edi, dword [ebp - 0xc0]
jge case.0x51baee.14
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x5193fc
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x5197c2
cmp ecx, 0xc0
jb 0x5197c2
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x519706
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5197c2
test cl, 0x10
jne 0x519727
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x5197c2
test cl, 8
jne 0x519751
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x5197c2
test cl, 4
jne 0x519787
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x5197c2
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
push edx
push ebx
push ecx
call fcn.005249d0
add esp, 0xc
test eax, eax
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x5196b4
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x88], 0
je case.0x51baee.14
cmp esi, dword [edi + 0x78]
jb case.0x51baee.14
jmp 0x51b535
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x88]
inc eax
push eax
push dword [ebp - 0xac]
push ebx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop dword [eax + eax]
cmp edi, dword [ebp - 0xa4]
jge case.0x51baee.14
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov edi, dword [ebp - 0xa8]
sub eax, edi
cmp esi, eax
ja 0x5198eb
mov edx, dword [ebp - 0xb8]
mov ecx, esi
sub edi, 4
jb 0x5198b1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5198b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5198a0
cmp edi, 0xfffffffc
je 0x5198e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5198eb
cmp edi, 0xfffffffd
je 0x5198e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5198eb
cmp edi, 0xfffffffe
je 0x5198e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5198eb
cmp edi, 0xffffffff
je 0x5198e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5198eb
add esi, dword [ebp - 0xa8]
jmp 0x519961
mov eax, dword [ebp - 0xc0]
test eax, eax
jle 0x5199b4
sub ebx, eax
cmp esi, ebx
ja 0x5199b4
mov edi, eax
lea edx, [ebp - 0xc]
mov ecx, esi
sub edi, 4
jb 0x519921
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x519926
add ecx, 4
add edx, 4
sub edi, 4
jae 0x519910
cmp edi, 0xfffffffc
je 0x51995b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5199b4
cmp edi, 0xfffffffd
je 0x51995b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5199b4
cmp edi, 0xfffffffe
je 0x51995b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5199b4
cmp edi, 0xffffffff
je 0x51995b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5199b4
add esi, dword [ebp - 0xc0]
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x88]
inc eax
mov edi, dword [ebp - 0x9c]
push eax
push dword [ebp - 0xac]
inc edi
push ebx
push dword [ebp - 0x98]
mov dword [ebp - 0x9c], edi
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519870
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x51baee.14
cmp esi, dword [eax + 0x78]
jb case.0x51baee.14
jmp 0x519fa7
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0xa4]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx eax, byte [esi]
cmp ebx, eax
je 0x519a34
cmp edi, eax
jne case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc esi
inc eax
inc ecx
push eax
push dword [ebp - 0xac]
mov dword [ebp - 0x9c], ecx
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519a04
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop dword [eax]
cmp edi, dword [ebp - 0xa4]
jge case.0x51baee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x51a0cd
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519ab0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x88]
inc eax
push eax
push dword [ebp - 0xac]
push ebx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
cmp dword [ebp - 0x94], 0
je 0x519ca4
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x51baee.14
cmp esi, dword [ebx + 0x78]
jae 0x519d1a
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x519c4b
test dl, 0x20
jne 0x519b9e
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x519c4b
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x519bc5
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x519c4b
test dl, 8
jne 0x519be8
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x519c4b
test dl, 4
jne 0x519c17
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x519c4b
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp dword [ebp - 0x9c], edx
je case.0x51baee.14
cmp dword [ebp - 0xb0], edx
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push ebx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519b60
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x51c206
nop dword [eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x51baee.14
cmp esi, dword [ebx + 0x78]
jae 0x519d1a
movzx eax, byte [esi]
cmp dword [ebp - 0x9c], eax
je case.0x51baee.14
cmp dword [ebp - 0xb0], eax
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc esi
inc eax
inc edi
push eax
push dword [ebp - 0xac]
push ebx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519cb0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x88], 0
je case.0x51baee.14
cmp esi, dword [ebx + 0x84]
jbe case.0x51baee.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jle case.0x51baee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x88]
cmp dword [edx + 0x88], 0
je case.0x51baee.14
cmp esi, dword [edx + 0x84]
jbe case.0x51baee.14
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jle case.0x51baee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x88]
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push ecx
push esi
call fcn.0050eb00
add esp, 0x1c
cmp dword [ebp - 0x94], 0
je 0x519f25
test eax, eax
jne 0x51c206
cmp edi, dword [ebp - 0xa8]
jge case.0x51baee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x51a0cd
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x519edc
test dl, 0x20
jne 0x519e26
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x519edc
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x519e4d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x519ed6
test dl, 8
jne 0x519e73
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x519ed6
test dl, 4
jne 0x519ea2
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x519ed6
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, dword [ebp - 0x88]
cmp ebx, edx
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519de2
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x51c206
nop dword [eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x51baee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x51a0cd
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc edi
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x519f30
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x51baee.14
cmp esi, dword [eax + 0x84]
jbe case.0x51baee.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jle case.0x51baee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x51b1f5
cmp eax, 0xa
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c718]
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x51a0cd
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51a084
cmp eax, 0xc0
jb 0x51a084
test al, 0x20
jne 0x51a066
inc esi
jmp 0x51a084
test al, 0x10
jne 0x51a06f
add esi, 2
jmp 0x51a084
test al, 8
jne 0x51a078
add esi, 3
jmp 0x51a084
test al, 4
jne 0x51a081
add esi, 4
jmp 0x51a084
add esi, 5
cmp dword [ebp - 0xbc], 0
jne case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51a030
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp dword [ecx + 0x88], 0
je case.0x51baee.14
cmp esi, dword [ecx + 0x84]
jbe case.0x51baee.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jle case.0x51baee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51a250
cmp ecx, 0xc0
jb 0x51a250
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51a191
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51a250
test cl, 0x10
jne 0x51a1b2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51a250
test cl, 8
jne 0x51a1df
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51a250
test cl, 4
jne 0x51a215
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51a250
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51a259
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51a273
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp eax, 9
je 0x51a298
cmp eax, 5
je 0x51a298
cmp eax, 8
je 0x51a298
xor eax, eax
jmp 0x51a29d
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51a140
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51a430
cmp ecx, 0xc0
jb 0x51a430
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51a371
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51a430
test cl, 0x10
jne 0x51a392
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51a430
test cl, 8
jne 0x51a3bf
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51a430
test cl, 4
jne 0x51a3f5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51a430
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51a439
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51a453
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0xcc]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp dword [eax*4 + 0x5bc4a0], edx
mov edx, dword [ebp - 0x88]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51a320
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51a610
cmp ecx, 0xc0
jb 0x51a610
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51a551
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51a610
test cl, 0x10
jne 0x51a572
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51a610
test cl, 8
jne 0x51a59f
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51a610
test cl, 4
jne 0x51a5d5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51a610
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51a619
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51a633
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51a500
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop dword [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51a7dd
cmp ecx, 0xc0
jb 0x51a7dd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51a721
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51a7dd
test cl, 0x10
jne 0x51a742
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51a7dd
test cl, 8
jne 0x51a76c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51a7dd
test cl, 4
jne 0x51a7a2
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51a7dd
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51a7e6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51a800
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad0]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51a6d0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51a9ad
cmp ecx, 0xc0
jb 0x51a9ad
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51a8f1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51a9ad
test cl, 0x10
jne 0x51a912
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51a9ad
test cl, 8
jne 0x51a93c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51a9ad
test cl, 4
jne 0x51a972
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51a9ad
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51a9b6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51a9d0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x51a9f7
cmp eax, 3
je 0x51a9f7
xor eax, eax
jmp 0x51a9fc
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51a8a0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51ab81
cmp ecx, 0xc0
jb 0x51ab81
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51aac5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51ab81
test cl, 0x10
jne 0x51aae6
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51ab81
test cl, 8
jne 0x51ab10
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51ab81
test cl, 4
jne 0x51ab46
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51ab81
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x180e
ja 0x51abc4
je case.0x51abe4.8192
cmp ecx, 0x85
ja 0x51abb0
je case.0x51abe4.8192
cmp ecx, 9
jb case.0x51abe4.8203
cmp ecx, 0xd
jbe case.0x51abe4.8192
cmp ecx, 0x20
jmp 0x51abf9
cmp ecx, 0xa0
je case.0x51abe4.8192
cmp ecx, 0x1680
jmp 0x51abf9
cmp ecx, 0x202f
ja 0x51abeb
je case.0x51abe4.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x51abe4.8203
movzx eax, byte [eax + 0x51c74c]
jmp dword [eax*4 + 0x51c744]
cmp ecx, 0x205f
je case.0x51abe4.8192
cmp ecx, 0x3000
je case.0x51abe4.8192
mov eax, ecx
test eax, eax
jns 0x51ac04
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51ac1e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
cmp dword [eax*4 + 0x5bc4a0], 6
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x51baee.14
jmp 0x51ac58
cmp dword [ebp - 0xbc], 0
jne case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51aa74
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0x88]
nop dword [eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
cmp esi, dword [edi + 0x78]
jae 0x51b528
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51add7
cmp edx, 0xc0
jb 0x51add7
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x51ad1b
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x51add7
test dl, 0x10
jne 0x51ad3c
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x51add7
test dl, 8
jne 0x51ad66
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x51add7
test dl, 4
jne 0x51ad9c
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x51add7
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, edx
test eax, eax
jns 0x51ade0
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5be150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x51adfb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5c0350]
movzx eax, byte [eax*8 + 0x5bcad1]
mov eax, dword [eax*4 + 0x5bc4a0]
cmp eax, 1
je 0x51ae27
cmp eax, 3
je 0x51ae27
cmp edx, 0x5f
je 0x51ae27
xor eax, eax
jmp 0x51ae2c
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51acd0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0x88]
nop
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
cmp esi, dword [edi + 0x78]
jae 0x51b528
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51afb7
cmp ecx, 0xc0
jb 0x51afb7
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51aefb
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51afb7
test cl, 0x10
jne 0x51af1c
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51afb7
test cl, 8
jne 0x51af46
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51afb7
test cl, 4
jne 0x51af7c
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51afb7
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax*4 + 0x5bc990]
lea eax, [eax*4 + 0x5bc990]
cmp ecx, edx
jb 0x51afdd
nop
lea eax, [eax + 4]
cmp ecx, edx
je 0x51b02b
mov edx, dword [eax]
cmp ecx, edx
jae 0x51afd0
cmp dword [ebp - 0xbc], 0
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edi
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51aeb0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xbc], 0
jne case.0x51baee.14
jmp 0x51afea
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x519d63
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51b17d
cmp ecx, 0xc0
jb 0x51b17d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51b0c1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51b17d
test cl, 0x10
jne 0x51b0e2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51b17d
test cl, 8
jne 0x51b10c
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51b17d
test cl, 4
jne 0x51b142
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51b17d
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
cmp ecx, 0x24
je 0x51b1a8
cmp ecx, 0x40
je 0x51b1a8
cmp ecx, 0x60
je 0x51b1a8
cmp ecx, 0xa0
jb 0x51b19c
cmp ecx, 0xd7ff
jbe 0x51b1a8
cmp ecx, 0xe000
jae 0x51b1a8
xor eax, eax
jmp 0x51b1ad
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push edi
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51b070
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
push ecx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
cmp edi, 0x16
jne 0x51b56b
test eax, eax
jne 0x51c206
mov edi, dword [ebp - 0x88]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [edi + 0x78]
mov dword [ebp - 0xb8], edx
cmp esi, edx
jae 0x51b528
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x51b342
cmp ecx, 0xc0
jb 0x51b342
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51b286
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51b342
test cl, 0x10
jne 0x51b2a7
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51b342
test cl, 8
jne 0x51b2d1
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51b342
test cl, 4
jne 0x51b307
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51b342
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
test eax, eax
jns 0x51b34b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and ecx, 0x8000007f
jns 0x51b365
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5c0350]
movzx ebx, byte [eax*8 + 0x5bcad2]
cmp esi, edx
jae 0x51b4b2
nop
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x51b454
cmp edx, 0xc0
jb 0x51b454
test dl, 0x20
jne 0x51b3b7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x51b44c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x51b3d6
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x51b44c
and eax, 0x3f
test dl, 8
jne 0x51b3f6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x51b44c
test dl, 4
jne 0x51b41f
and edx, 3
mov edi, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x51b44c
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x51b45d
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5be150]
shl eax, 7
and edx, 0x8000007f
jns 0x51b477
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb8]
movzx eax, word [eax*2 + 0x5c0350]
movzx ecx, byte [eax*8 + 0x5bcad2]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5bc518], eax
je 0x51b4ac
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x51b380
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x51b4db
cmp esi, edx
jb 0x51b4db
cmp esi, dword [edi + 0x84]
jbe 0x51b4db
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x51b555
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x9c]
inc eax
push eax
push dword [ebp - 0xac]
inc ebx
push edi
push dword [ebp - 0x98]
mov dword [ebp - 0x9c], ebx
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51b233
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x88], 0
je case.0x51baee.14
cmp esi, dword [edi + 0x84]
jbe case.0x51baee.14
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jle case.0x51baee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x94], 0
je 0x51b9e5
test eax, eax
jne 0x51c206
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x519d63
cmp edi, 0xc
jne 0x51b609
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x88]
test edx, edx
je 0x51b5d4
push dword [ebp - 0x94]
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
jne case.0x51baee.14
mov edx, dword [ebp - 0x88]
jmp 0x51b609
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x51b607
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x51b603
cmp edx, 1
je case.0x51baee.14
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.0x51baee.14
jmp 0x51b609
mov edx, ecx
jmp 0x51b609
mov edx, eax
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x51b6ee
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x51b632
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x51b6ee
test cl, 0x10
jne 0x51b653
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 2
jmp 0x51b6ee
test cl, 8
jne 0x51b67d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 3
jmp 0x51b6ee
test cl, 4
jne 0x51b6b3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 4
jmp 0x51b6ee
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c778]
cmp dword [edx + 0x88], 0
je case.0x51b6fa.13
cmp esi, dword [edx + 0x78]
jb case.0x51b6fa.13
cmp dword [edx + 0x18], 0
jne case.0x51b6fa.13
cmp dword [edx + 0x1c], 2
jne case.0x51b6fa.13
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne case.0x51b6fa.13
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x51b555
jmp case.0x51b6fa.13
cmp ecx, 0xd
ja 0x51b77d
je 0x51b765
cmp ecx, 0xa
je case.0x51b6fa.13
lea eax, [ecx - 0xb]
jmp 0x51b78b
cmp esi, dword [edx + 0x78]
jae case.0x51b6fa.13
cmp byte [esi], 0xa
jne case.0x51b6fa.13
inc esi
jmp case.0x51b6fa.13
cmp ecx, 0x85
je 0x51b794
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x51baee.14
cmp dword [edx + 0x68], 0
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x180e
ja 0x51b7db
je case.0x51baee.14
cmp ecx, 0xa0
ja 0x51b7d0
je case.0x51baee.14
cmp ecx, 9
je case.0x51baee.14
cmp ecx, 0x20
jmp 0x51b99e
cmp ecx, 0x1680
jmp 0x51b99e
cmp ecx, 0x205f
ja 0x51b80c
je case.0x51baee.14
cmp ecx, 0x2000
jb case.0x51b6fa.13
cmp ecx, 0x200a
jbe case.0x51baee.14
cmp ecx, 0x202f
jmp 0x51b99e
cmp ecx, 0x3000
jmp 0x51b99e
cmp ecx, 0x180e
ja 0x51b85b
je case.0x51b6fa.13
cmp ecx, 0xa0
ja 0x51b84a
je case.0x51b6fa.13
cmp ecx, 9
je case.0x51b6fa.13
cmp ecx, 0x20
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x1680
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x205f
ja 0x51b892
je case.0x51b6fa.13
cmp ecx, 0x2000
jb case.0x51baee.14
cmp ecx, 0x200a
jbe case.0x51b6fa.13
cmp ecx, 0x202f
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x3000
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x85
ja 0x51b8c8
je case.0x51baee.14
cmp ecx, 0xa
jb case.0x51b6fa.13
cmp ecx, 0xd
jbe case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x2028
jb case.0x51b6fa.13
cmp ecx, 0x2029
jbe case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x85
ja 0x51b904
je case.0x51b6fa.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x51baee.14
jmp case.0x51b6fa.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x100
jae case.0x51b6fa.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x100
jae case.0x51baee.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x51b99e
cmp ecx, 0x100
jae case.0x51b6fa.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x100
jae case.0x51baee.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x51b99e
cmp ecx, 0x100
jae case.0x51b6fa.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x51baee.14
jmp case.0x51b6fa.13
cmp ecx, 0x100
jae case.0x51baee.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51b580
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x51c206
nop dword [eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x51baee.14
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x519d63
cmp edi, 0xc
jne 0x51ba75
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x88]
test edx, edx
je 0x51ba40
push 0
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005243a0
add esp, 0x14
test eax, eax
jne case.0x51baee.14
mov edx, dword [ebp - 0x88]
jmp 0x51ba75
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x51ba73
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x51ba6f
cmp edx, 1
je case.0x51baee.14
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.0x51baee.14
jmp 0x51ba75
mov edx, ecx
jmp 0x51ba75
mov edx, eax
movzx ecx, byte [esi]
lea eax, [edi - 6]
inc esi
cmp eax, 0xf
ja case.default.0x5118d7
jmp dword [eax*4 + 0x51c7b8]
cmp dword [edx + 0x88], 0
je case.0x51ba85.13
cmp esi, dword [edx + 0x78]
jb case.0x51ba85.13
cmp dword [edx + 0x18], 0
jne case.0x51ba85.13
cmp dword [edx + 0x1c], 2
jne case.0x51ba85.13
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne case.0x51ba85.13
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x51b555
jmp case.0x51ba85.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x51baee.14
movzx eax, byte [ecx + 0x51c808]
jmp dword [eax*4 + 0x51c7f8]
cmp esi, dword [edx + 0x78]
jae case.0x51ba85.13
cmp byte [esi], 0xa
jne case.0x51ba85.13
inc esi
jmp case.0x51ba85.13
cmp dword [edx + 0x68], 0
jne case.0x51baee.14
jmp case.0x51ba85.13
cmp ecx, 9
je case.0x51baee.14
cmp ecx, 0x20
je case.0x51baee.14
cmp ecx, 0xa0
jmp 0x51bbd8
cmp ecx, 9
je case.0x51ba85.13
cmp ecx, 0x20
je case.0x51ba85.13
cmp ecx, 0xa0
jne case.0x51baee.14
jmp case.0x51ba85.13
cmp ecx, 0xa
jb case.0x51ba85.13
cmp ecx, 0xd
jbe case.0x51baee.14
cmp ecx, 0x85
jmp 0x51bbd8
cmp ecx, 0xa
jb case.0x51baee.14
cmp ecx, 0xd
jbe case.0x51ba85.13
cmp ecx, 0x85
jne case.0x51baee.14
jmp case.0x51ba85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.0x51baee.14
jmp case.0x51ba85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x51bbd8
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x51baee.14
jmp case.0x51ba85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x51bbd8
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x51baee.14
jmp case.0x51ba85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x51baee.14
mov eax, dword [ebp + 0x20]
inc ebx
inc eax
push eax
push dword [ebp - 0xac]
push edx
push dword [ebp - 0x98]
push dword [ebp - 0xa0]
push dword [ebp - 0x8c]
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
je 0x51b9f0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xfffffff2
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 0x10]
sub eax, edx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [edi + 0x90]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xac]
mov dword [ebp - 0xc8], eax
mov eax, esi
sub eax, dword [edi + 0x74]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x8c]
nop word [eax + eax]
cmp dword [ebp - 0x9c], 0x88
jb 0x51bc96
mov dword [edi + 0x98], 2
mov eax, dword [ebp + 0x20]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ecx]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.0050eb00
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
je 0x51bd61
cmp edi, 0xfffffc20
jne 0x51bd16
mov eax, dword [ebp - 0x8c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add edx, eax
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x7c], edx
jae 0x51be04
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x51bd12
cmp byte [edx], 0x77
jne 0x51be04
xor edi, edi
jmp 0x51bd24
test edi, edi
jne 0x51be04
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x88]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0xc8]
add dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [edx + 0xac], eax
cmp byte [ecx], 0x77
jne 0x51bd67
mov edi, edx
jmp 0x51bc80
mov edx, dword [ebp - 0x88]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xd4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0xd0]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc0]
mov dword [eax + ecx*4], edx
mov eax, edi
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1b
jne 0x51be04
mov edx, dword [ebp - 0x8c]
mov al, byte [edx]
cmp al, 0x81
je 0x51bdf3
cmp al, 0x77
jne 0x51bde4
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x51bdd0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp dword [eax + 0xb4], edx
cmove edi, ecx
mov eax, edi
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x88]
lea edi, [edx + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov eax, dword [ebp + 0x20]
movzx ecx, byte [edx + 1]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [edx]
push ebx
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, edx
add ecx, eax
push ecx
push esi
call fcn.0050eb00
mov edx, eax
add esp, 0x1c
cmp edx, 1
je 0x51be79
cmp edx, 0xfffffc19
jne 0x51be9b
cmp dword [ebx + 0xac], 0
jne 0x51be9b
mov dword [ebx + 0xac], edi
mov eax, edx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
cmp edx, 0xfffffc1f
jne 0x50fdc7
mov eax, dword [ebx + 0x7c]
nop word [eax + eax]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x51bed0
test cl, cl
je 0x51becc
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x51bed0
add edi, 2
add eax, 2
test cl, cl
jne 0x51beb0
xor eax, eax
jmp 0x51bed5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x50fdc7
pop edi
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ecx]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
mov ecx, 0xfffffc1c
test eax, eax
cmovne ecx, eax
pop edi
pop ebx
mov eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ecx]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
mov ecx, 0xfffffc1d
test eax, eax
cmovne ecx, eax
pop edi
pop ebx
mov eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x88]
lea edi, [edx + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov eax, dword [ebp + 0x20]
movzx ecx, byte [edx + 1]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [edx]
push ebx
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, edx
add ecx, eax
push ecx
push esi
call fcn.0050eb00
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x51bffa
cmp ecx, 0xfffffc19
jne 0x51c009
cmp dword [ebx + 0xac], 0
jne 0x51c009
mov dword [ebx + 0xac], edi
pop edi
test ecx, ecx
mov eax, 0xfffffc1d
pop ebx
cmovne eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ecx]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0x8c]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [ebx]
push edi
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, ebx
push eax
push esi
call fcn.0050eb00
add esp, 0x1c
test eax, eax
jne 0x51c206
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc20
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x88]
lea edi, [edx + 2]
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], 0
mov eax, dword [ebp + 0x20]
movzx ecx, byte [edx + 1]
inc eax
push eax
push dword [ebp - 0xac]
movzx eax, byte [edx]
push ebx
push dword [ebp - 0x98]
movzx eax, byte [eax + 0x5bc388]
push dword [ebp - 0xa0]
add eax, edx
add ecx, eax
push ecx
push esi
call fcn.0050eb00
add esp, 0x1c
cmp eax, 1
je 0x51c12d
cmp eax, 0xfffffc19
jne 0x51c13c
cmp dword [ebx + 0xac], 0
jne 0x51c13c
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x51c206
mov eax, dword [ebp - 0x8c]
pop edi
mov dword [ebx + 0x7c], eax
mov eax, 0xfffffc20
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa0]
cmp esi, ecx
jne 0x51c19f
cmp edx, 0x9f
je 0x51c19f
cmp dword [edi + 0xa4], 0
jne 0x51c19f
cmp dword [edi + 0x5c], 0
jne case.0x51baee.14
cmp dword [edi + 0x60], 0
je 0x51c19f
mov eax, dword [edi + 0x94]
add eax, dword [edi + 0x74]
cmp ecx, eax
je case.0x51baee.14
mov eax, dword [ebp - 0x98]
test edx, edx
mov dword [edi + 0x80], esi
mov dword [edi + 0x8c], eax
mov eax, 0xfffffc19
cmove eax, dword [ebp - 0xc4]
mov dword [edi + 0x7c], ecx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xfffffffb
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
mov eax, 0xffffffeb
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052b33d
mov esp, ebp
pop ebp
ret
inc dword [edi]
mov eax, 0xfffffff8
mov ecx, dword [ebp - 4]
pop edi
pop ebx
xor ecx, ebp
pop esi
call fcn.0052b33d
mov esp, ebp
pop ebp
ret