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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x5be1ec]
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 0x523057
lea eax, [ebp + 0x20]
cmp dword [ebp + 0x20], edx
jne 0x52303f
push 1
push edx
push edx
push edx
push edx
push edx
push eax
call fcn.00522fd0
add esp, 0x1c
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.004951c6
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 0x5306ff
mov dword [ebp - 0xd4], 0xffffffff
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0xd0], htonl
inc eax
mov dword [edi], eax
mov eax, dword [ebp + 0x20]
cmp eax, dword [edi + 8]
jae 0x5306e9
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x98], 2
jne 0x5230e5
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 0x523100
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.0x523132.98
movzx eax, byte [edx + 0x530864]
jmp dword [eax*4 + 0x530718]
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 0x52d4d5
mov edx, dword [ebp - 0x8c]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x5a2028]
movzx eax, byte [edx + 1]
add edx, eax
add edx, ecx
mov dword [ebp - 0x8c], edx
jmp 0x523100
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.00522fd0
add esp, 0x1c
cmp eax, 1
je 0x523238
cmp eax, 0xfffffc20
jne 0x5231fe
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 0x530706
mov ecx, dword [ebp - 0x8c]
cmp byte [ecx], 0x77
je 0x523206
cmp byte [edx], 0x77
jmp 0x523200
test eax, eax
jne 0x530706
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 0x523190
jmp 0x52324d
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 0x523260
cmp al, 0x77
jne case.0x52ffee.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 0x523260
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 0x52329f
cmp esi, ebx
jne 0x52cffd
mov ebx, dword [ebp - 0x94]
add edx, 3
mov dword [ebp - 0x8c], edx
mov edi, eax
jmp 0x523100
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], 0
jmp 0x523f82
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], 0
jmp 0x523f9b
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 0x523436
mov edi, dword [0x5c61b0]
test edi, edi
je 0x523419
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.0x52ffee.14
js 0x530706
mov ecx, dword [ebp - 0xb4]
movzx eax, byte [0x5a209e]
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.0x523456.146
movzx eax, byte [eax + 0x530920]
jmp dword [eax*4 + 0x530908]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x523456.145
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x523492
cmp ecx, dword [edx + 4]
je 0x523492
xor ebx, ebx
jmp 0x5236e9
mov edx, dword [ebp - 0xb0]
mov ebx, 1
mov edi, dword [ebp - 0x98]
movzx ecx, byte [edx + 0x5a2028]
jmp 0x5236f5
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0xa4], ebx
je case.0x523456.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.0x523456.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 0x5236bf
mov eax, dword [ebp - 0x88]
add edx, dword [eax + 0x24]
test edi, edi
jg 0x523505
mov ebx, dword [ebp - 0xb8]
jmp 0x5236e9
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 0x52357d
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x52357d
mov edx, dword [ebp - 0xb0]
mov ebx, 1
movzx ecx, byte [edx + 0x5a2028]
jmp 0x5236f5
mov ecx, dword [ebp - 0xb4]
xor ebx, ebx
jmp 0x5236f5
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.0x523456.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 0x5235f0
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x523492
mov eax, dword [ebp - 0x88]
add edx, dword [eax + 0x24]
test edi, edi
jg 0x5235c7
jmp 0x5236e9
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.00522fd0
add esp, 0x1c
cmp eax, 1
jne 0x5236da
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 0x523666
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 0x523694
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 0x523680
mov edx, dword [ebp - 0xb0]
mov ecx, 3
movzx eax, byte [edx + 0x5a2028]
sub ecx, eax
add edi, ecx
movzx ecx, byte [edx + 0x5a2028]
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x98]
jmp 0x5236f5
mov edx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0x98]
movzx ecx, byte [edx + 0x5a2028]
jmp 0x5236f5
test eax, eax
je 0x5236e9
cmp eax, 0xfffffc20
jne 0x530706
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 0x52d06c
cmp byte [edx - 3], 0x77
je 0x52d06c
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0x94]
jmp 0x523100
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 0x523785
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 0x523100
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 0x5237da
mov eax, edi
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x5237cb
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 0x523100
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x98], 1
mov edi, dword [eax + 0xac]
jne 0x52381a
mov ebx, 1
mov dword [eax + 0x98], 0
jmp 0x52381c
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.00522fd0
mov edx, eax
add esp, 0x1c
cmp edx, 1
je 0x5238d5
cmp edx, 0xfffffc19
je 0x5238d5
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xac], edi
cmp edx, 0xfffffc20
jne 0x5238a7
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 0x524297
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x5238af
cmp byte [ecx], 0x77
jmp 0x5238a9
test edx, edx
jne 0x524297
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 0x523822
jmp 0x5238ea
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.0x52ffee.14
test ebx, ebx
jne 0x52d746
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 0x523900
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 0x523100
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x98], 1
mov edi, dword [eax + 0xac]
jne 0x523966
mov ebx, 1
mov dword [eax + 0x98], 0
jmp 0x523968
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.00522fd0
mov ecx, eax
add esp, 0x1c
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xac], edi
cmp ecx, 0xfffffc20
jg 0x5239da
jne 0x523a0b
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 0x523a30
cmp byte [edx], 0x77
je 0x5239eb
cmp byte [ecx], 0x77
jne 0x523a30
jmp 0x5239eb
mov eax, ecx
sub eax, 0
jne 0x52d571
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 0x523970
jmp 0x523a44
cmp ecx, 0xfffffc19
je case.0x52ffee.14
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x530485
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 0x523a30
test ebx, ebx
jne 0x52d746
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edx, dword [ebp - 0x8c]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
test ebx, ebx
je 0x523abc
or ecx, eax
mov eax, dword [ebp - 0x88]
jle 0x523acf
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.0x52ffee.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x523aaa
nop word [eax + eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x523aa0
test ecx, ecx
jg 0x523a88
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
jmp 0x523acf
or ecx, eax
mov eax, dword [ebp - 0x88]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.0x52ffee.14
cmp esi, dword [eax + 0x84]
jae 0x523add
mov dword [eax + 0x84], esi
mov edi, dword [ebp - 0x88]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edi, dword [0x5c61b0]
test edi, edi
je 0x523bfa
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.0x52ffee.14
js 0x530706
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
add edx, 6
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x523c3a
xor ecx, ecx
jmp 0x523c47
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 0x523c6b
cmp ecx, dword [eax + 4]
jne 0x523c65
cmp esi, dword [eax + 0x14]
je 0x52d58d
mov eax, dword [eax]
test eax, eax
jne 0x523c57
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 0x523cd2
lea eax, [ebp - 0x84]
mov dword [ebp - 0xe4], eax
jmp 0x523cf7
lea eax, [ecx*4]
push eax
call dword [0x5bee08]
add esp, 4
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x52d60f
mov ecx, dword [ebp - 0xe0]
shl ecx, 2
push ecx
mov ecx, dword [ebp - 0x88]
push dword [ecx + 0xc]
push eax
call fcn.004ae560
add esp, 0xc
cmp byte [ebx], 0x88
sbb eax, eax
inc eax
mov dword [ebp - 0xb8], eax
nop dword [eax]
test eax, eax
je 0x523d34
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ebx
push eax
push esi
call fcn.00522fd0
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.004ae560
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 0x523e03
cmp edi, 0xfffffc19
je 0x523e03
cmp edi, 0xfffffc1c
jl 0x523dc6
cmp edi, 0xfffffc20
jle 0x52d5b5
test edi, edi
jne 0x52d5e2
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 0x52d5a3
mov eax, dword [ebp - 0xb8]
jmp 0x523d20
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x523e1d
push eax
call dword [0x5bee0c]
add esp, 4
mov eax, dword [ebp - 0x88]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0xa0], eax
jmp 0x5230e9
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 0x523e40
mov dword [ebp - 0x8c], edx
jmp 0x523100
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x523e95
lea edx, [edi + 3]
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x523ed0
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0x88]
jmp 0x5230f5
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 0x523f30
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x523f82
cmp edx, 0x8b
jne 0x523f9b
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 0x52413c
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 0x523fcc
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.00522fd0
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1a
jne 0x524055
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 0x5240e0
mov edx, dword [ebp - 0x9c]
mov esi, eax
mov ecx, dword [ebp - 0x8c]
jmp 0x523fb4
cmp edx, 0xfffffc20
jne 0x524095
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 0x524297
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x52409d
cmp byte [ecx], 0x77
jmp 0x524097
test edx, edx
jne 0x524297
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 0x52410e
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 0x523fb4
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x5240e0
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x523100
test ebx, ebx
jne 0x52437d
cmp dword [ebp - 0xc0], ebx
je case.0x52ffee.14
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x5241bc
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 + 0x5a2028]
add eax, ecx
push eax
push esi
call fcn.00522fd0
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc1a
jne 0x524255
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 0x5242f0
mov esi, eax
mov eax, dword [ebp - 0x88]
jmp 0x524190
cmp edx, 0xfffffc20
jne 0x5242aa
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 0x524297
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
mov eax, dword [ebp - 0x88]
je 0x5242b4
cmp byte [ecx], 0x77
je 0x5242b4
pop edi
pop ebx
mov eax, edx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
test edx, edx
jne 0x524297
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 0x52431a
mov eax, dword [ebp - 0x88]
jmp 0x524190
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 0x5242f0
mov edx, dword [ebp - 0xb0]
jmp 0x524366
mov edx, dword [ebp - 0xb0]
test edx, edx
jne 0x524366
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 0x524377
test edx, edx
je case.0x52ffee.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 0x523100
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 0x5243ca
cmp al, 0x81
je 0x5243ca
mov dword [ebp - 0xb8], 0
jmp 0x5243e7
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 0x5243f3
cmp al, 0x80
jbe 0x52d72b
cmp al, 0x82
je 0x52d72b
cmp al, 0x85
je 0x52440f
cmp al, 0x8a
je 0x52440f
cmp al, 0x86
je 0x52440f
cmp al, 0x8b
jne 0x5244ea
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 0x524438
cmp dword [eax + 4], edx
je 0x52d625
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 0x52447b
mov ebx, dword [ebp - 0xb0]
or eax, 0x10000
mov edx, dword [ebp - 0x8c]
mov dword [edi + 0x90], eax
jmp 0x5244f0
cmp ebx, ecx
jle 0x52449d
mov eax, edi
mov eax, dword [eax + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + ebx*4]
cmp edi, ecx
jae 0x52449d
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 0x5244e2
lea ecx, [ebx + 2]
mov dword [ebp - 0x98], ecx
mov ebx, dword [ebp - 0xb0]
jmp 0x5244f0
mov ecx, dword [ebp - 0x98]
mov al, byte [edx]
cmp al, 0x7b
je 0x52d700
cmp al, 0x78
je 0x52450a
cmp esi, dword [ebp - 0xb8]
jne 0x52d087
cmp byte [ebx], 0x81
je 0x52d6bc
mov ebx, dword [ebp - 0x94]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x44], 0
je 0x524544
cmp esi, dword [eax + 0x74]
je case.0x52ffee.14
jmp 0x524544
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x74]
jne case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x44], 0
je 0x52457a
cmp esi, dword [eax + 0x74]
je case.0x52ffee.14
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x524613
cmp esi, dword [eax + 0x78]
je case.0x52ffee.14
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5245cd
cmp esi, ecx
jbe case.0x52ffee.14
push ebx
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.00535890
add esp, 0x14
test eax, eax
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x52ffee.14
mov edi, dword [ebp - 0x88]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x34]
jne case.0x52ffee.14
cmp edx, 1
je 0x524615
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x35]
jne case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edi, eax
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
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.0x52ffee.14
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edx, dword [ebp - 0x8c]
inc edx
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x5246e8
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5246b2
push ebx
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
je 0x52d75d
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x52d763
mov edi, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x5246e1
cmp edx, 1
je 0x524615
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je 0x524615
mov eax, edi
jmp 0x52d763
cmp dword [eax + 0x48], 0
jne case.0x52ffee.14
cmp dword [eax + 0x88], 0
je 0x524613
cmp esi, dword [eax + 0x84]
jbe 0x524613
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x52fa48
mov edx, dword [ebp - 0x8c]
mov edi, eax
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x48], 0
jne case.0x52ffee.14
cmp dword [eax + 0x58], 0
je 0x5247a5
jmp 0x524751
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jb case.0x52ffee.14
cmp dword [eax + 0x88], 0
je 0x52454d
cmp esi, dword [eax + 0x84]
jbe 0x52454d
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x52fa48
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x524848
mov ebx, dword [ebp - 0x88]
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x524821
push dword [ebp - 0x94]
push edi
push eax
push ecx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
jne 0x52483d
cmp dword [ebx + 0x88], 0
je case.0x52ffee.14
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.0x52ffee.14
cmp dword [ebx + 0x18], 0
jne case.0x52ffee.14
cmp dword [ebx + 0x1c], 2
jne case.0x52ffee.14
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x52ffee.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x52fa42
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x5247d6
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x5247d6
cmp ecx, 1
je 0x52483d
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x5247d6
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x5247d6
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je 0x524873
cmp esi, dword [eax + 0x84]
jbe 0x524873
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x52fa48
mov edx, dword [ebp - 0x8c]
mov edi, eax
mov ebx, dword [ebp - 0x94]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
test ebx, ebx
je 0x524b64
cmp esi, dword [eax + 0x74]
je 0x524a26
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x5248ba
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x5248b0
mov eax, dword [ebp - 0x88]
cmp edx, dword [eax + 0x84]
jae 0x5248ce
mov dword [eax + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x52497e
test bl, 0x20
jne 0x5248ee
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x524970
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x524908
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x524970
and eax, 0x3f
test bl, 8
jne 0x524923
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x524970
test bl, 4
jne 0x524947
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 0x524970
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 0x5249f6
cmp ebx, 0x5f
jne 0x52499d
mov eax, dword [ebp - 0x88]
lea edi, [ebx - 0x5e]
mov ebx, dword [ebp - 0x94]
jmp 0x524a28
mov eax, ebx
test eax, eax
jns 0x5249a6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ebx, 0x8000007f
jns 0x5249c0
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x5249e3
cmp eax, 3
jne 0x524a1a
mov eax, dword [ebp - 0x88]
mov edi, 1
mov ebx, dword [ebp - 0x94]
jmp 0x524a28
cmp ebx, 0x100
jae 0x524a1a
mov eax, dword [eax + 0x40]
test byte [ebx + eax], 0x10
je 0x524a1a
mov eax, dword [ebp - 0x88]
mov edi, 1
mov ebx, dword [ebp - 0x94]
jmp 0x524a28
mov ebx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x88]
xor edi, edi
cmp esi, dword [eax + 0x78]
jae 0x524c0a
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x524ae1
test dl, 0x20
jne 0x524a51
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x524ad3
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x524a6b
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x524ad3
and eax, 0x3f
test dl, 8
jne 0x524a86
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x524ad3
test dl, 4
jne 0x524aaa
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 0x524ad3
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 0x524b41
cmp edx, 0x5f
jne 0x524af4
lea ecx, [edx - 0x5e]
jmp 0x524c82
mov eax, edx
test eax, eax
jns 0x524afd
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x524b17
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x524b5a
cmp eax, 3
je 0x524b5a
xor ecx, ecx
jmp 0x524c82
cmp edx, 0x100
jae 0x524c2f
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x524c2f
mov ecx, 1
jmp 0x524c82
cmp esi, dword [eax + 0x74]
jne 0x524b70
xor edi, edi
jmp 0x524c05
cmp esi, dword [eax + 0x84]
ja 0x524b89
mov ecx, dword [ebp - 0x88]
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
mov eax, ecx
cmp dword [eax + 0x54], 0
je 0x524bee
movzx ecx, byte [esi - 1]
cmp ecx, 0x5f
jne 0x524b9d
lea edi, [ecx - 0x5e]
jmp 0x524c05
mov eax, ecx
test eax, eax
jns 0x524ba6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x524bc0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x524be7
cmp eax, 3
je 0x524be7
xor edi, edi
jmp 0x524bff
mov edi, 1
jmp 0x524bff
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 0x524c33
cmp dword [eax + 0x88], 0
je 0x524c2f
cmp esi, dword [eax + 0x84]
jbe 0x524c2f
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x52fa48
xor ecx, ecx
jmp 0x524c82
cmp dword [eax + 0x54], 0
je 0x524c72
movzx ecx, byte [esi]
cmp ecx, 0x5f
jne 0x524c48
mov ecx, 1
jmp 0x524c82
mov eax, ecx
test eax, eax
jns 0x524c51
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x524c6b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x524b19
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 0x524c9e
xor eax, eax
cmp ecx, edi
sete al
jmp 0x524ca5
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.0x52ffee.14
mov edi, dword [ebp - 0x88]
jmp 0x523100
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x524cec
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x524d1c
push ebx
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
jmp 0x524d1c
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x524ce4
mov edx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x524d1a
cmp ecx, 1
je case.0x52ffee.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x52ffee.14
mov eax, edx
cmp dword [eax + 0x88], 0
je 0x524d6a
mov eax, dword [eax + 0x78]
dec eax
cmp esi, eax
mov eax, dword [ebp - 0x88]
jne 0x524d6a
cmp dword [eax + 0x18], 0
jne 0x524d6a
cmp dword [eax + 0x1c], 2
jne 0x524d6a
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov eax, ecx
jne 0x524d6a
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x52fa48
jmp 0x524d6a
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x52d8bc
inc esi
test ebx, ebx
je 0x52454d
cmp esi, ecx
jae 0x52454d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52454d
inc esi
cmp esi, ecx
jb 0x524d86
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
mov edx, dword [ebp - 0x8c]
inc esi
inc edx
mov edi, eax
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x524ed5
cmp ecx, 0xc0
jb 0x524ed5
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x524e13
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x524ecf
test cl, 0x10
jne 0x524e34
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 0x524ecf
test cl, 8
jne 0x524e5e
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 0x524ecf
test cl, 4
jne 0x524e94
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 0x524ecf
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 0x52454d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jmp 0x524547
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x524fef
cmp ecx, 0xc0
jb 0x524fef
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x524f2d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x524fe9
test cl, 0x10
jne 0x524f4e
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 0x524fe9
test cl, 8
jne 0x524f78
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 0x524fe9
test cl, 4
jne 0x524fae
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 0x524fe9
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.0x52ffee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x525122
cmp ecx, 0xc0
jb 0x525122
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x525060
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52511c
test cl, 0x10
jne 0x525081
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 0x52511c
test cl, 8
jne 0x5250ab
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 0x52511c
test cl, 4
jne 0x5250e1
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 0x52511c
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 0x52454d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jmp 0x524547
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x52523c
cmp ecx, 0xc0
jb 0x52523c
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52517a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x525236
test cl, 0x10
jne 0x52519b
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 0x525236
test cl, 8
jne 0x5251c5
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 0x525236
test cl, 4
jne 0x5251fb
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 0x525236
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.0x52ffee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x52536f
cmp ecx, 0xc0
jb 0x52536f
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5252ad
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x525369
test cl, 0x10
jne 0x5252ce
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 0x525369
test cl, 8
jne 0x5252f8
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 0x525369
test cl, 4
jne 0x52532e
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 0x525369
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 0x52454d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jmp 0x524547
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x525489
cmp ecx, 0xc0
jb 0x525489
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5253c7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x525483
test cl, 0x10
jne 0x5253e8
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 0x525483
test cl, 8
jne 0x525412
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 0x525483
test cl, 4
jne 0x525448
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 0x525483
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.0x52ffee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x5255be
cmp ecx, 0xc0
jb 0x5255be
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5254fc
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5255b8
test cl, 0x10
jne 0x52551d
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 0x5255b8
test cl, 8
jne 0x525547
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 0x5255b8
test cl, 4
jne 0x52557d
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 0x5255b8
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 0x52564b
je 0x5255e0
cmp ecx, 0xa
je 0x52454d
jbe case.0x52ffee.14
cmp ecx, 0xc
jmp 0x52565c
cmp esi, edx
jb 0x525629
cmp dword [eax + 0x88], 0
je 0x52454d
cmp esi, dword [eax + 0x84]
jbe 0x52454d
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x52fa48
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp byte [esi], 0xa
jne 0x52454d
mov edx, dword [ebp - 0x8c]
inc esi
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp ecx, 0x85
je 0x525662
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x52ffee.14
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x68], 0
jmp 0x524547
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x52576d
cmp ecx, 0xc0
jb 0x52576d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5256b1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52576d
test cl, 0x10
jne 0x5256d2
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 0x52576d
test cl, 8
jne 0x5256fc
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 0x52576d
test cl, 4
jne 0x525732
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 0x52576d
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 0x5257d7
je case.0x52ffee.14
cmp ecx, 0xa0
ja 0x5257b3
je case.0x52ffee.14
cmp ecx, 9
je case.0x52ffee.14
cmp ecx, 0x20
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp ecx, 0x1680
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp ecx, 0x205f
ja 0x525821
je case.0x52ffee.14
cmp ecx, 0x2000
jb 0x52454d
cmp ecx, 0x200a
jbe case.0x52ffee.14
cmp ecx, 0x202f
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp ecx, 0x3000
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x525941
cmp ecx, 0xc0
jb 0x525941
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x525885
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x525941
test cl, 0x10
jne 0x5258a6
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 0x525941
test cl, 8
jne 0x5258d0
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 0x525941
test cl, 4
jne 0x525906
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 0x525941
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 0x525979
je 0x52454d
cmp ecx, 0xa0
ja 0x52596e
je 0x52454d
cmp ecx, 9
je 0x52454d
cmp ecx, 0x20
jmp 0x524547
cmp ecx, 0x1680
jmp 0x524547
cmp ecx, 0x205f
ja 0x5259aa
je 0x52454d
cmp ecx, 0x2000
jb case.0x52ffee.14
cmp ecx, 0x200a
jbe 0x52454d
cmp ecx, 0x202f
jmp 0x524547
cmp ecx, 0x3000
jmp 0x524547
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x525ab1
cmp ecx, 0xc0
jb 0x525ab1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5259f5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x525ab1
test cl, 0x10
jne 0x525a16
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 0x525ab1
test cl, 8
jne 0x525a40
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 0x525ab1
test cl, 4
jne 0x525a76
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 0x525ab1
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 0x525ae9
je case.0x52ffee.14
cmp ecx, 0xa
jb 0x52454d
cmp ecx, 0xd
jbe case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp ecx, 0x2028
jb 0x52454d
cmp ecx, 0x2029
jbe case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x525c15
cmp ecx, 0xc0
jb 0x525c15
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x525b59
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x525c15
test cl, 0x10
jne 0x525b7a
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 0x525c15
test cl, 8
jne 0x525ba4
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 0x525c15
test cl, 4
jne 0x525bda
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 0x525c15
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 0x525c47
je 0x52454d
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x88]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx edx, byte [esi]
inc esi
test ebx, ebx
je 0x525d6a
cmp edx, 0xc0
jb 0x525d6a
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x525cae
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x525d6a
test dl, 0x10
jne 0x525ccf
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 0x525d6a
test dl, 8
jne 0x525cf9
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 0x525d6a
test dl, 4
jne 0x525d2f
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 0x525d6a
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 0x525d73
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x525d8e
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 + 0x593398]
cmp eax, 0xa
ja case.default.0x525dab
jmp dword [eax*4 + 0x530934]
cmp dword [ebp - 0x9c], 0xf
jmp 0x524371
mov al, byte [edi*8 + 0x58fb19]
cmp al, 9
je 0x52605a
cmp al, 5
je 0x52605a
cmp al, 8
je 0x52605a
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x524371
movzx ecx, byte [edi*8 + 0x58fb19]
xor edx, edx
movzx eax, byte [ebx + 2]
cmp eax, dword [ecx*4 + 0x5a2140]
setne dl
xor eax, eax
cmp dword [ebp - 0x9c], 0x10
sete al
cmp edx, eax
jmp 0x524371
mov edx, dword [ebp - 0x8c]
xor ecx, ecx
mov al, byte [edx + 2]
cmp al, byte [edi*8 + 0x58fb19]
setne cl
xor eax, eax
cmp dword [ebp - 0x9c], 0x10
sete al
cmp ecx, eax
je case.0x52ffee.14
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x523100
mov edx, dword [ebp - 0x8c]
xor ecx, ecx
mov al, byte [edx + 2]
cmp al, byte [edi*8 + 0x58fb18]
setne cl
xor eax, eax
cmp dword [ebp - 0x9c], 0x10
sete al
cmp ecx, eax
je case.0x52ffee.14
mov edi, dword [ebp - 0x88]
add edx, 3
mov ebx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], edx
jmp 0x523100
movzx eax, byte [edi*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52605a
cmp eax, 3
je 0x52605a
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x524371
cmp edx, 0x180e
ja 0x525f1c
je case.0x525dab.0
cmp edx, 0x85
ja 0x525f08
je case.0x525dab.0
cmp edx, 9
jb case.0x525f3c.8203
cmp edx, 0xd
jbe case.0x525dab.0
cmp edx, 0x20
jmp 0x525f55
cmp edx, 0xa0
je case.0x525dab.0
cmp edx, 0x1680
jmp 0x525f55
cmp edx, 0x202f
ja 0x525f43
je case.0x525dab.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x525f3c.8203
movzx eax, byte [edx + 0x530968]
jmp dword [eax*4 + 0x530960]
cmp edx, 0x205f
je case.0x525dab.0
cmp edx, 0x3000
je case.0x525dab.0
movzx eax, byte [edi*8 + 0x58fb19]
xor ecx, ecx
cmp dword [eax*4 + 0x5a2140], 6
sete cl
xor eax, eax
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x524371
movzx eax, byte [edi*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52605a
cmp eax, 3
je 0x52605a
cmp edx, 0x5f
je 0x52605a
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x524371
movzx eax, byte [ebx + 2]
mov ecx, dword [eax*4 + 0x58f9d8]
lea eax, [eax*4 + 0x58f9d8]
cmp edx, ecx
jb 0x525fe5
lea eax, [eax + 4]
cmp edx, ecx
je 0x525ff1
mov ecx, dword [eax]
cmp edx, ecx
jae 0x525fd8
cmp dword [ebp - 0x9c], 0x10
jmp 0x524371
cmp dword [ebp - 0x9c], 0x10
jne case.0x52ffee.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 0x523100
cmp edx, 0x24
je 0x52605a
cmp edx, 0x40
je 0x52605a
cmp edx, 0x60
je 0x52605a
cmp edx, 0xa0
jb 0x52603d
cmp edx, 0xd7ff
jbe 0x52605a
cmp edx, 0xe000
jae 0x52605a
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x524371
xor eax, eax
mov ecx, 1
cmp dword [ebp - 0x9c], 0xf
sete al
cmp ecx, eax
jmp 0x524371
mov edx, dword [edi + 0x78]
mov dword [ebp - 0xb8], edx
cmp esi, edx
jae 0x52fa1b
movzx ecx, byte [esi]
inc esi
test ebx, ebx
je 0x526170
cmp ecx, 0xc0
jb 0x526170
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5260b4
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x526170
test cl, 0x10
jne 0x5260d5
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 0x526170
test cl, 8
jne 0x5260ff
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 0x526170
test cl, 4
jne 0x526135
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 0x526170
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 0x526179
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x526193
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx ebx, byte [eax*8 + 0x58fb1a]
cmp esi, edx
jae 0x5262e5
nop dword [eax]
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x526287
cmp edx, 0xc0
jb 0x526287
test dl, 0x20
jne 0x5261e7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52627f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x526209
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52627f
and eax, 0x3f
test dl, 8
jne 0x526229
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52627f
test dl, 4
jne 0x526252
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 0x52627f
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 0x526290
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x5262aa
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb8]
movzx eax, word [eax*2 + 0x593398]
movzx ecx, byte [eax*8 + 0x58fb1a]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5a21b8], eax
je 0x5262df
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x5261b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x52630e
cmp esi, edx
jb 0x52630e
cmp esi, dword [edi + 0x84]
jbe 0x52630e
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
inc edx
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x52642c
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 0x5263a6
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
cmp dword [eax + edi*4], 0
jge 0x5263b8
mov eax, dword [ebp - 0x88]
add ecx, dword [eax + 0x24]
test edx, edx
jg 0x526380
jmp 0x52642c
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + edi*4 + 4]
sub ebx, dword [eax + edi*4]
jmp 0x526426
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 0x526416
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + edi*4]
test ecx, ecx
js 0x526416
mov ebx, dword [eax + edi*4 + 4]
sub ebx, ecx
jmp 0x526426
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.0x52644a
movzx eax, byte [eax + 0x53099c]
jmp dword [eax*4 + 0x530994]
movsx eax, byte [ecx + 0x58f80a]
lea edx, [ecx - 0x62]
inc dword [ebp - 0x8c]
and edx, 1
movsx ebx, byte [ecx + 0x58f7fe]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x5264d1
mov dword [ebp - 0xc0], htonl
jmp 0x5264d1
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 0x52392f
jns 0x5264e9
test ebx, ebx
je 0x52392f
mov dword [ebp - 0xb8], 1
cmp ebx, 1
jl 0x526538
nop dword [eax + eax]
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push ecx
push esi
push edi
call fcn.00530d90
add esp, 0x14
test eax, eax
js 0x52d7b4
mov ecx, dword [ebp - 0xb4]
add esi, eax
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp eax, ebx
jle 0x526500
mov eax, dword [ebp - 0xc0]
cmp ebx, eax
je 0x5230e9
cmp dword [ebp - 0x9c], 0
je 0x52d7dd
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp ebx, dword [ebp - 0xc0]
jge case.0x52ffee.14
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push dword [ebp - 0xb4]
push esi
push edi
call fcn.00530d90
add esp, 0x14
test eax, eax
js 0x52d7b4
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.00522fd0
add esp, 0x1c
test eax, eax
je 0x526590
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push ebx
push esi
push edi
call fcn.00530d90
add esp, 0x14
test eax, eax
js 0x52d7b4
add esi, eax
jmp 0x5230e9
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.0x52665b
movzx eax, byte [eax + 0x5309ac]
jmp dword [eax*4 + 0x5309a4]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 8
jae 0x52667e
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x90], ecx
jmp 0x526688
mov dword [ebp - 0xb4], 1
movsx ecx, byte [eax + 0x58f860]
movsx eax, byte [eax + 0x58f86c]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x526715
mov dword [ebp - 0xa8], htonl
jmp 0x526715
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 0x52670f
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 0x526874
cmp ecx, edi
jl 0x5268c4
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x52d8b6
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x52682d
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x526771
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x52682d
test dl, 0x10
jne 0x526792
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 0x52682d
test dl, 8
jne 0x5267bc
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 0x52682d
test dl, 4
jne 0x5267f2
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 0x52682d
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 0x526844
cmp dword [ebp - 0x9c], 0x6e
je case.0x52ffee.14
jmp 0x526869
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.0x52ffee.14
mov ecx, dword [ebp - 0xa4]
inc edi
cmp edi, ecx
jle 0x526740
jmp 0x5268b8
cmp ecx, 1
jl 0x5268c4
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x52d8b6
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.0x52ffee.14
mov ecx, dword [ebp - 0xa4]
inc edi
cmp edi, ecx
jle 0x526882
mov edx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa8]
cmp ecx, eax
je 0x5230e9
cmp dword [ebp - 0x90], 0
jne 0x52d8e8
mov ebx, esi
mov dword [ebp - 0xc0], ebx
test edx, edx
je 0x526aff
cmp ecx, eax
jge 0x526a2c
mov edx, dword [ebp - 0x88]
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x526ac9
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x5269db
test dl, 0x20
jne 0x526932
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x5269cd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x526951
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x5269c7
and eax, 0x3f
test dl, 8
jne 0x526971
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x5269c7
test dl, 4
jne 0x52699a
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 0x5269c7
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 0x5269ee
cmp dword [ebp - 0x9c], 0x6e
je 0x526a26
jmp 0x526a15
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 0x526a26
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
inc ecx
add esi, edi
mov dword [ebp - 0xa4], ecx
cmp ecx, eax
jl 0x526900
mov ebx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop
mov eax, esi
dec esi
cmp eax, ebx
jbe case.0x52ffee.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x526a8d
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x526a83
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.00522fd0
add esp, 0x1c
test eax, eax
je 0x526a70
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x526af4
cmp esi, dword [edi + 0x84]
jbe 0x526af4
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
mov ebx, dword [ebp - 0xc0]
jmp 0x526a32
cmp ecx, eax
jge 0x526b4c
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x526baa
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 0x526b4c
mov eax, dword [ebp - 0xa4]
inc esi
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xa8]
jl 0x526b10
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
cmp esi, ebx
jb case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
dec esi
cmp esi, ebx
jae 0x526b63
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x526b52
cmp esi, dword [edi + 0x84]
jbe 0x526b52
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
jmp 0x526b52
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.0x526c16
movzx eax, byte [eax + 0x5309c0]
jmp dword [eax*4 + 0x5309b8]
lea eax, [edx - 0x62]
inc edi
mov dword [ebp - 0x8c], edi
cmp eax, 8
jae 0x526c39
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x90], ecx
jmp 0x526c43
mov dword [ebp - 0xb4], 1
movsx ecx, byte [eax + 0x58f860]
movsx eax, byte [eax + 0x58f86c]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xc0], eax
test eax, eax
jne 0x526cd0
mov dword [ebp - 0xc0], htonl
jmp 0x526cd0
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 0x526cca
mov dword [ebp - 0xc0], 1
mov ecx, 1
mov dword [ebp - 0xb0], ecx
mov edi, 1
cmp ecx, edi
jl 0x526e04
nop dword [eax]
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x526de2
cmp ecx, 0xc0
jb 0x526de2
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x526d26
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x526de2
test cl, 0x10
jne 0x526d47
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 0x526de2
test cl, 8
jne 0x526d71
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 0x526de2
test cl, 4
jne 0x526da7
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 0x526de2
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.00535d70
add esp, 0xc
test eax, eax
je case.0x52ffee.14
mov ecx, dword [ebp - 0xb0]
inc edi
cmp edi, ecx
jle 0x526ce0
mov eax, dword [ebp - 0xc0]
cmp ecx, eax
je 0x5230e9
cmp dword [ebp - 0x90], 0
jne 0x52db3a
mov ebx, esi
cmp ecx, eax
jge 0x526f49
nop dword [eax]
mov eax, dword [ebp - 0x88]
mov edi, 1
cmp esi, dword [eax + 0x78]
jae 0x526ff6
mov ecx, dword [ebp - 0x94]
movzx edx, byte [esi]
test ecx, ecx
je 0x526f1a
cmp edx, 0xc0
jb 0x526f1a
test dl, 0x20
jne 0x526e77
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x526f12
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x526e96
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x526f0c
and eax, 0x3f
test dl, 8
jne 0x526eb6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x526f0c
test dl, 4
jne 0x526edf
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 0x526f0c
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.00535d70
add esp, 0xc
test eax, eax
je 0x526f49
mov ecx, dword [ebp - 0xb0]
add esi, edi
inc ecx
mov dword [ebp - 0xb0], ecx
cmp ecx, dword [ebp - 0xc0]
jl 0x526e30
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop dword [eax + eax]
mov eax, esi
dec esi
cmp eax, ebx
jbe case.0x52ffee.14
cmp dword [ebp - 0x94], 0
je 0x526fba
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x526fba
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x526fb0
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.00522fd0
add esp, 0x1c
test eax, eax
je 0x526f90
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov edi, eax
cmp dword [edi + 0x88], 0
je 0x526f4f
cmp esi, dword [edi + 0x84]
jbe 0x526f4f
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
jmp 0x526f4f
test ebx, ebx
je 0x5270af
mov ebx, dword [ebp - 0x8c]
mov edx, 1
inc ebx
mov dword [ebp - 0x8c], ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
jb 0x52707c
test al, 0x20
jne 0x527059
mov edx, 2
jmp 0x52707c
test al, 0x10
jne 0x527064
mov edx, 3
jmp 0x52707c
test al, 8
jne 0x52706f
mov edx, 4
jmp 0x52707c
test al, 4
mov edx, 0
setne dl
add edx, 5
mov eax, dword [edi + 0x78]
sub eax, esi
cmp edx, eax
jg 0x52dcde
test edx, edx
jle 0x5230ef
mov cl, byte [ebx]
dec edx
mov al, byte [esi]
inc ebx
inc esi
mov dword [ebp - 0x8c], ebx
cmp cl, al
jne case.0x52ffee.14
test edx, edx
jg 0x527091
jmp 0x5230ef
mov eax, dword [edi + 0x78]
sub eax, esi
cmp eax, 1
jl 0x52fa1b
mov edx, dword [ebp - 0x8c]
mov al, byte [esi]
inc esi
cmp byte [edx + 1], al
jne case.0x52ffee.14
add edx, 2
mov dword [ebp - 0x8c], edx
jmp 0x523100
cmp esi, dword [edi + 0x78]
jae 0x52fa1b
test ebx, ebx
je 0x527335
mov edx, dword [ebp - 0x8c]
mov edi, 1
inc edx
mov dword [ebp - 0x8c], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x5271cc
test bl, 0x20
jne 0x52712d
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov edi, 2
jmp 0x5271cc
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x52714c
and ebx, 0xf
mov edi, 3
shl ebx, 6
or ecx, ebx
jmp 0x5271c2
and eax, 0x3f
test bl, 8
jne 0x52716c
and ebx, 7
mov edi, 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x5271c2
test bl, 4
jne 0x527195
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 0x5271c2
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 0x527205
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.0x52ffee.14
mov edx, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x94]
inc edx
inc esi
mov dword [ebp - 0x8c], edx
jmp 0x523100
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x5272dd
test dl, 0x20
jne 0x52722e
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x5272dd
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x527255
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x5272db
test dl, 8
jne 0x527278
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 0x5272db
test dl, 4
jne 0x5272a7
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 0x5272db
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 0x5230ef
mov eax, ebx
test eax, eax
jns 0x5272fa
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x527315
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
mov eax, dword [eax*8 + 0x58fb1c]
add eax, ebx
cmp edx, eax
jne case.0x52ffee.14
jmp 0x5230ef
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.0x52ffee.14
mov edx, dword [ebp - 0x8c]
inc esi
add edx, 2
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x5274a0
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 0x5273ca
mov dword [ebp - 0x90], edi
cmp cl, 0x35
jne 0x5273d4
mov dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x8c]
add ecx, 3
mov dword [ebp - 0x8c], ecx
jmp 0x5274a6
mov ecx, dword [ebp - 0x8c]
xor edi, edi
inc ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xa4], htonl
mov dword [ebp - 0x8c], ecx
jmp 0x5274a0
mov ecx, dword [ebp - 0x8c]
mov edi, 1
inc ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xa4], htonl
mov dword [ebp - 0x8c], ecx
jmp 0x5274a0
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 0x5274a0
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 + 0x58f86c]
movsx edi, byte [ecx + 0x58f860]
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 0x5279ae
mov dword [ebp - 0xb8], ecx
mov eax, 1
mov dword [ebp - 0xa8], eax
cmp ebx, 0xc0
jb 0x52761a
test bl, 0x20
jne 0x5274ff
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 0x52762b
movzx ecx, byte [ecx + 1]
and ecx, 0x3f
test bl, 0x10
jne 0x52753d
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 0x52762b
test bl, 8
jne 0x527580
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 0x52762b
test bl, 4
jne 0x5275cc
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 0x52762b
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 0x5279b5
cmp edx, 0x2e
jb 0x52767a
mov eax, ebx
test eax, eax
jns 0x527639
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x527654
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
mov eax, dword [eax*8 + 0x58fb1c]
add eax, ebx
cmp eax, ebx
je 0x52767a
lea ecx, [ebp - 0xc]
push ecx
push eax
call fcn.00535a30
add esp, 8
jmp 0x52767c
xor eax, eax
mov ebx, 1
mov dword [ebp - 0xc0], eax
cmp edi, ebx
jl 0x5277b4
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 0x5276b6
mov edi, dword [ebp - 0xa8]
cmp esi, eax
ja 0x52771b
mov edx, dword [ebp - 0xb8]
mov ecx, esi
sub edi, 4
jb 0x5276d8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5276dd
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5276c7
cmp edi, 0xfffffffc
je 0x52770a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x527715
cmp edi, 0xfffffffd
je 0x52770a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x527715
cmp edi, 0xfffffffe
je 0x52770a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x527715
cmp edi, 0xffffffff
je 0x52770a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x527715
add esi, dword [ebp - 0xa8]
jmp 0x527799
mov ecx, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xc0]
test edi, edi
jle 0x52de7e
mov eax, ecx
sub eax, edi
cmp esi, eax
ja 0x52de7e
lea edx, [ebp - 0xc]
mov ecx, esi
sub edi, 4
jb 0x527751
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x527756
add ecx, 4
add edx, 4
sub edi, 4
jae 0x527740
cmp edi, 0xfffffffc
je 0x527793
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52de7e
cmp edi, 0xfffffffd
je 0x527793
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52de7e
cmp edi, 0xfffffffe
je 0x527793
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52de7e
cmp edi, 0xffffffff
je 0x527793
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52de7e
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 0x5276b0
mov eax, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x94]
cmp edi, eax
je 0x523f16
cmp dword [ebp - 0x90], 0
jne 0x52dcf9
mov ebx, esi
mov dword [ebp - 0x90], ebx
cmp edi, eax
jge 0x52790b
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 0x527865
mov edx, dword [ebp - 0xb8]
mov ecx, esi
sub edi, 4
jb 0x527822
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x527827
add ecx, 4
add edx, 4
sub edi, 4
jae 0x527811
cmp edi, 0xfffffffc
je 0x527854
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52785f
cmp edi, 0xfffffffd
je 0x527854
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52785f
cmp edi, 0xfffffffe
je 0x527854
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52785f
cmp edi, 0xffffffff
je 0x527854
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52785f
add esi, dword [ebp - 0xa8]
jmp 0x5278e0
mov eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xc0]
test edi, edi
jle 0x527973
sub eax, edi
cmp esi, eax
ja 0x527973
lea edx, [ebp - 0xc]
mov ecx, esi
sub edi, 4
jb 0x527898
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52789d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x527887
cmp edi, 0xfffffffc
je 0x5278da
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x527973
cmp edi, 0xfffffffd
je 0x5278da
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x527973
cmp edi, 0xfffffffe
je 0x5278da
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x527973
cmp edi, 0xffffffff
je 0x5278da
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x527973
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 0x527800
mov ebx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
cmp esi, ebx
jbe 0x52d4b0
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x52796a
nop
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x527960
cmp esi, ebx
ja 0x527926
jmp 0x52d4b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x5279a3
cmp esi, dword [edi + 0x78]
jb 0x5279a3
cmp esi, dword [edi + 0x84]
jbe 0x5279a3
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
mov ebx, dword [ebp - 0x90]
jmp 0x527911
inc ecx
mov dword [ebp - 0x8c], ecx
cmp edx, 0x2e
jb 0x527adc
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ecx + 0x3c]
movzx edi, byte [eax + ebx]
cmp edx, 1
jl 0x527a0d
mov edx, dword [ecx + 0x78]
mov ecx, 1
nop
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
cmp ebx, eax
je 0x5279f7
cmp edi, eax
jne case.0x52ffee.14
inc ecx
inc esi
cmp ecx, dword [ebp - 0x9c]
jle 0x5279e0
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xa4]
cmp edx, eax
je 0x5230e9
cmp dword [ebp - 0x90], 0
jne 0x52de9f
mov dword [ebp - 0xc8], esi
cmp edx, eax
jge 0x527a52
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x527aac
movzx eax, byte [esi]
cmp ebx, eax
je 0x527a48
cmp edi, eax
jne 0x527a52
inc edx
inc esi
cmp edx, dword [ebp - 0xa4]
jl 0x527a35
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
mov ebx, dword [ebp - 0xc8]
cmp esi, ebx
je 0x52d4b0
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.00522fd0
add esp, 0x1c
dec esi
test eax, eax
jne 0x530706
cmp esi, ebx
jne 0x527a73
jmp 0x52d4b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x527a58
cmp esi, dword [edi + 0x84]
jbe 0x527a58
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
jmp 0x527a58
mov ecx, 1
cmp edi, ecx
jl 0x527b09
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
nop
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x52ffee.14
inc ecx
cmp ecx, edi
jle 0x527af0
mov eax, dword [ebp - 0xa4]
cmp edi, eax
je 0x5230e9
cmp dword [ebp - 0x90], 0
jne 0x52df44
mov edx, dword [ebp - 0x9c]
mov edi, esi
cmp edx, eax
jge 0x527b59
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x527bb5
movzx eax, byte [esi]
cmp ebx, eax
jne 0x527b59
inc edx
inc esi
cmp edx, dword [ebp - 0xa4]
jl 0x527b40
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230e9
cmp esi, edi
je 0x52d4aa
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.00522fd0
add esp, 0x1c
dec esi
test eax, eax
jne 0x530706
mov ecx, dword [ebp - 0x88]
cmp esi, edi
jne 0x527b74
mov edi, ecx
jmp 0x52d4b0
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x527b5f
cmp esi, dword [ecx + 0x84]
jbe 0x527b5f
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
jmp 0x527b5f
cmp esi, dword [edi + 0x78]
jae 0x52fa1b
test ebx, ebx
je 0x527e3b
mov edx, dword [ebp - 0x8c]
movzx ebx, byte [edx + 1]
add edx, 2
mov dword [ebp - 0x8c], edx
cmp ebx, 0xc0
jb 0x527ce3
test bl, 0x20
jne 0x527c2e
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc edx
jmp 0x527cdd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x527c55
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add edx, 2
jmp 0x527cdb
test bl, 8
jne 0x527c78
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 0x527cdb
test bl, 4
jne 0x527ca7
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 0x527cdb
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 0x527dcb
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x527d0c
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x527dcb
test dl, 0x10
jne 0x527d2d
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 0x527dcb
test dl, 8
jne 0x527d5a
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 0x527dcb
test dl, 4
jne 0x527d90
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 0x527dcb
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 0x527de1
cmp ebx, edx
je case.0x52ffee.14
jmp 0x5230ef
cmp ebx, 0x7f
jbe 0x527e1f
mov eax, ebx
test eax, eax
jns 0x527def
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x527e0a
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
mov eax, dword [eax*8 + 0x58fb1c]
add eax, ebx
jmp 0x527e26
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.0x52ffee.14
cmp eax, edx
je case.0x52ffee.14
jmp 0x5230ef
mov eax, dword [ebp - 0x8c]
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.0x52ffee.14
cmp dword [ebp - 0x9c], 0x20
jne 0x527e69
mov eax, dword [edi + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x52ffee.14
mov edx, dword [ebp - 0x8c]
add edx, 2
mov dword [ebp - 0x8c], edx
jmp 0x523100
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 0x527fd1
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 0x527ed7
mov dword [ebp - 0x90], edi
cmp cl, 0x4f
jne 0x527ee1
mov dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x9c]
add ecx, 3
jmp 0x527fd7
mov ecx, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0xb4], 1
inc ecx
mov dword [ebp - 0xa8], htonl
jmp 0x527fd1
mov ecx, dword [ebp - 0x8c]
mov edi, 1
mov dword [ebp - 0xb4], 1
inc ecx
mov dword [ebp - 0xa8], htonl
jmp 0x527fd1
mov ecx, dword [ebp - 0x8c]
xor edi, edi
mov dword [ebp - 0xb4], 1
inc ecx
mov dword [ebp - 0xa8], 1
jmp 0x527fd1
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 0x527fd1
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 + 0x58f86c]
movsx edi, byte [ecx + 0x58f860]
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 0x5280eb
cmp ebx, 0xc0
jb 0x5280eb
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x52801a
and ebx, 0x1f
shl ebx, 6
or ebx, eax
inc ecx
jmp 0x5280d9
test bl, 0x10
jne 0x52803b
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 0x5280d9
test bl, 8
jne 0x528068
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 0x5280d9
test bl, 4
jne 0x52809e
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 0x5280d9
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 0x528599
test eax, eax
je 0x528140
cmp ebx, 0x7f
jbe 0x528140
mov eax, ebx
test eax, eax
jns 0x528106
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x528121
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x88]
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
mov ebx, dword [eax*8 + 0x58fb1c]
add ebx, dword [ebp - 0x9c]
jmp 0x52814d
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 0x52828f
mov eax, dword [ebp - 0xa4]
mov edi, 1
mov ecx, dword [ebp - 0x9c]
cmp eax, edi
jl 0x528287
mov ebx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ebx
jae 0x52e231
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x52826a
test dl, 0x20
jne 0x5281b1
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x528264
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5281d8
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x52825e
test dl, 8
jne 0x5281fb
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 0x52825e
test dl, 4
jne 0x52822a
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 0x52825e
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.0x52ffee.14
cmp dword [ebp - 0xb0], edx
je case.0x52ffee.14
inc edi
cmp edi, eax
jle 0x528180
mov edi, dword [ebp - 0xa4]
jmp 0x5282cb
mov ecx, 1
cmp edi, ecx
jl 0x5282c5
mov edx, dword [edx + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
cmp dword [ebp - 0x9c], eax
je case.0x52ffee.14
cmp ebx, eax
je case.0x52ffee.14
inc ecx
inc esi
cmp ecx, edi
jle 0x5282a0
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa8]
cmp edi, eax
je 0x5230e9
cmp dword [ebp - 0x90], 0
jne 0x52dfe4
cmp dword [ebp - 0x94], 0
mov ebx, esi
je 0x5284e2
cmp edi, eax
jge 0x528441
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop word [eax + eax]
mov eax, 1
cmp esi, edi
jae 0x5284b3
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52841a
test dl, 0x20
jne 0x52834a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52841a
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x528374
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 0x528414
test dl, 8
jne 0x5283a0
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 0x528414
test dl, 4
jne 0x5283d8
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 0x528414
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 0x528441
cmp dword [ebp - 0xb0], edx
je 0x528441
add esi, eax
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xa8]
jl 0x528310
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
cmp esi, ebx
jbe 0x52d4b0
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x5284aa
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x5284a0
cmp esi, ebx
ja 0x528460
jmp 0x52d4b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x528447
cmp esi, dword [edi + 0x84]
jbe 0x528447
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x52fa48
jmp 0x528447
cmp edi, eax
jge 0x528512
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x528569
movzx eax, byte [esi]
cmp dword [ebp - 0x9c], eax
je 0x528512
cmp edx, eax
je 0x528512
inc edi
inc esi
cmp edi, dword [ebp - 0xa8]
jl 0x5284f5
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
cmp esi, ebx
je 0x52d4b0
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
dec esi
cmp esi, ebx
jne 0x528530
jmp 0x52d4b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x528518
cmp esi, dword [edi + 0x84]
jbe 0x528518
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
jmp 0x528518
test eax, eax
je 0x52874b
mov eax, dword [ebp - 0xa4]
mov edi, 1
cmp eax, edi
jl 0x52877f
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x9c]
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x52e231
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x5286ad
test dl, 0x20
jne 0x5285f4
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x5286a7
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52861b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x5286a1
test dl, 8
jne 0x52863e
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 0x5286a1
test dl, 4
jne 0x52866d
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 0x5286a1
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.0x52ffee.14
inc edi
cmp edi, eax
jle 0x5285c3
mov edi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xa8]
cmp edi, eax
je 0x5230e9
cmp dword [ebp - 0x90], 0
jne 0x52e27a
cmp dword [ebp - 0x94], 0
mov ebx, esi
je 0x52890e
cmp edi, eax
jge 0x528879
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x9c]
mov edi, dword [eax + 0x78]
mov eax, 1
cmp esi, edi
jae 0x5288e3
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52885a
test dl, 0x20
jne 0x52878a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52885a
mov ecx, 1
cmp edi, ecx
jl 0x5286ca
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x52ffee.14
inc ecx
cmp ecx, edi
jle 0x528761
jmp 0x5286ca
mov edi, dword [ebp - 0xa4]
jmp 0x5286d0
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x5287b4
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 0x528854
test dl, 8
jne 0x5287e0
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 0x528854
test dl, 4
jne 0x528818
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 0x528854
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 0x528879
add esi, eax
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp eax, dword [ebp - 0xa8]
jl 0x528711
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
cmp esi, ebx
jbe 0x52d4b0
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x5288da
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x5288d0
cmp esi, ebx
ja 0x528894
jmp 0x52d4b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x52887f
cmp esi, dword [edi + 0x84]
jbe 0x52887f
mov dword [edi + 0x64], eax
cmp dword [edi + 0x88], eax
jg 0x52fa48
jmp 0x52887f
cmp edi, eax
jge 0x528936
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x52898a
movzx eax, byte [esi]
cmp edx, eax
je 0x528936
inc edi
inc esi
cmp edi, dword [ebp - 0xa8]
jl 0x528921
mov edi, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230ef
cmp esi, ebx
je 0x52d4b0
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
dec esi
cmp esi, ebx
jne 0x528951
jmp 0x52d4b0
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x52893c
cmp esi, dword [edi + 0x84]
jbe 0x52893c
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
jmp 0x52893c
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 0x528ae7
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 0x528aed
mov edx, dword [ebp - 0x8c]
xor ebx, ebx
mov dword [ebp - 0xb4], 1
inc edx
mov dword [ebp - 0xa8], htonl
jmp 0x528ae7
mov edx, dword [ebp - 0x8c]
mov ebx, 1
mov dword [ebp - 0xb4], 1
inc edx
mov dword [ebp - 0xa8], htonl
jmp 0x528ae7
mov edx, dword [ebp - 0x8c]
xor ebx, ebx
mov dword [ebp - 0xb4], 1
inc edx
mov dword [ebp - 0xa8], 1
jmp 0x528ae7
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 0x528ae7
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 + 0x58f860]
movsx eax, byte [eax + 0x58f86c]
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 0x528b12
cmp edi, 0xf
je 0x528b12
mov ecx, dword [ebp - 0xbc]
or eax, 0xffffffff
jmp 0x528b3c
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 0x5296bf
test eax, eax
js 0x5299c8
cmp eax, 0xa
ja case.default.0x525dab
jmp dword [eax*4 + 0x5309cc]
test ecx, ecx
jne case.0x52ffee.14
mov ecx, 1
cmp ebx, ecx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x528bc1
cmp eax, 0xc0
jb 0x528bc1
test al, 0x20
jne 0x528ba3
inc esi
jmp 0x528bc1
test al, 0x10
jne 0x528bac
add esi, 2
jmp 0x528bc1
test al, 8
jne 0x528bb5
add esi, 3
jmp 0x528bc1
test al, 4
jne 0x528bbe
add esi, 4
jmp 0x528bc1
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x528b80
jmp 0x5296bf
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x528cde
cmp ecx, 0xc0
jb 0x528cde
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x528c1f
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x528cde
test cl, 0x10
jne 0x528c40
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 0x528cde
test cl, 8
jne 0x528c6d
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 0x528cde
test cl, 4
jne 0x528ca3
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 0x528cde
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 0x528ce7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x528d01
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp eax, 9
je 0x528d26
cmp eax, 5
je 0x528d26
cmp eax, 8
je 0x528d26
xor eax, eax
jmp 0x528d2b
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x528be1
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
mov dword [ebp - 0xc8], edi
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x528e5e
cmp ecx, 0xc0
jb 0x528e5e
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x528d9f
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x528e5e
test cl, 0x10
jne 0x528dc0
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 0x528e5e
test cl, 8
jne 0x528ded
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 0x528e5e
test cl, 4
jne 0x528e23
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 0x528e5e
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 0x528e67
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x528e81
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0xcc]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp dword [eax*4 + 0x5a2140], edi
mov edi, dword [ebp - 0xc8]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x528d61
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
mov dword [ebp - 0xc8], edi
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x528fde
cmp ecx, 0xc0
jb 0x528fde
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x528f1f
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x528fde
test cl, 0x10
jne 0x528f40
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 0x528fde
test cl, 8
jne 0x528f6d
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 0x528fde
test cl, 4
jne 0x528fa3
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 0x528fde
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 0x528fe7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x529001
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0xc8]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x528ee1
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
mov dword [ebp - 0xc8], edi
nop word [eax + eax]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52915d
cmp ecx, 0xc0
jb 0x52915d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52909e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52915d
test cl, 0x10
jne 0x5290bf
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 0x52915d
test cl, 8
jne 0x5290ec
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 0x52915d
test cl, 4
jne 0x529122
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 0x52915d
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 0x529166
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x529180
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebp - 0xc8]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb18]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x529060
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x5292d0
cmp ecx, 0xc0
jb 0x5292d0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x529211
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5292d0
test cl, 0x10
jne 0x529232
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 0x5292d0
test cl, 8
jne 0x52925f
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 0x5292d0
test cl, 4
jne 0x529295
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 0x5292d0
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 0x5292d9
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x5292f3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52931a
cmp eax, 3
je 0x52931a
xor eax, eax
jmp 0x52931f
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x5291d3
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52944d
cmp ecx, 0xc0
jb 0x52944d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52938e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52944d
test cl, 0x10
jne 0x5293af
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 0x52944d
test cl, 8
jne 0x5293dc
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 0x52944d
test cl, 4
jne 0x529412
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 0x52944d
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 0x529490
je case.0x5294b0.8192
cmp ecx, 0x85
ja 0x52947c
je case.0x5294b0.8192
cmp ecx, 9
jb case.0x5294b0.8203
cmp ecx, 0xd
jbe case.0x5294b0.8192
cmp ecx, 0x20
jmp 0x5294c5
cmp ecx, 0xa0
je case.0x5294b0.8192
cmp ecx, 0x1680
jmp 0x5294c5
cmp ecx, 0x202f
ja 0x5294b7
je case.0x5294b0.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x5294b0.8203
movzx eax, byte [eax + 0x530a00]
jmp dword [eax*4 + 0x5309f8]
cmp ecx, 0x205f
je case.0x5294b0.8192
cmp ecx, 0x3000
je case.0x5294b0.8192
mov eax, ecx
test eax, eax
jns 0x5294d0
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x5294ea
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp dword [eax*4 + 0x5a2140], 6
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.14
jmp 0x529524
cmp dword [ebp - 0xbc], 0
jne case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x529350
jmp 0x5296b9
mov edi, 1
cmp ebx, edi
jl 0x5296b9
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x52e474
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x529645
cmp edx, 0xc0
jb 0x529645
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x529586
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x529645
test dl, 0x10
jne 0x5295a7
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 0x529645
test dl, 8
jne 0x5295d4
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 0x529645
test dl, 4
jne 0x52960a
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 0x529645
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 0x52964e
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x529669
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x529695
cmp eax, 3
je 0x529695
cmp edx, 0x5f
je 0x529695
xor eax, eax
jmp 0x52969a
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edi
cmp edi, dword [ebp - 0x9c]
jle 0x529548
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0xa8]
cmp ebx, edx
je 0x5230e9
cmp dword [ebp - 0x90], 0
mov eax, dword [ebp - 0xb8]
jne 0x52e4bd
mov edi, esi
mov dword [ebp - 0x90], edi
test eax, eax
js 0x52ba93
cmp eax, 0xa
ja case.default.0x525dab
jmp dword [eax*4 + 0x530a2c]
mov edi, 1
cmp ebx, edi
jl 0x5296b9
mov eax, dword [ebp - 0x88]
mov ebx, dword [eax + 0x78]
cmp esi, ebx
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x529815
cmp ecx, 0xc0
jb 0x529815
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x529756
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x529815
test cl, 0x10
jne 0x529777
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 0x529815
test cl, 8
jne 0x5297a4
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 0x529815
test cl, 4
jne 0x5297da
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 0x529815
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 + 0x58f9d8]
lea eax, [eax*4 + 0x58f9d8]
cmp ecx, edx
jb 0x52983d
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x52985c
mov edx, dword [eax]
cmp ecx, edx
jae 0x529830
cmp dword [ebp - 0xbc], 0
je case.0x52ffee.14
inc edi
cmp edi, dword [ebp - 0x9c]
jle 0x529718
jmp 0x5296b3
cmp dword [ebp - 0xbc], 0
jne case.0x52ffee.14
jmp 0x52984a
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52997e
cmp ecx, 0xc0
jb 0x52997e
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5298bf
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52997e
test cl, 0x10
jne 0x5298e0
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 0x52997e
test cl, 8
jne 0x52990d
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 0x52997e
test cl, 4
jne 0x529943
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 0x52997e
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 0x5299a9
cmp ecx, 0x40
je 0x5299a9
cmp ecx, 0x60
je 0x5299a9
cmp ecx, 0xa0
jb 0x52999d
cmp ecx, 0xd7ff
jbe 0x5299a9
cmp ecx, 0xe000
jae 0x5299a9
xor eax, eax
jmp 0x5299ae
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x529881
jmp 0x5296b9
cmp edi, 0x16
jne 0x529cc1
mov ecx, dword [ebp - 0x88]
mov edi, 1
mov dword [ebp - 0xc0], edi
cmp ebx, edi
jl 0x52a8b0
nop word [eax + eax]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0xb0], edx
cmp esi, edx
jae 0x52e5ad
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x529af6
cmp ecx, 0xc0
jb 0x529af6
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x529a37
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x529af6
test cl, 0x10
jne 0x529a58
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 0x529af6
test cl, 8
jne 0x529a85
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 0x529af6
test cl, 4
jne 0x529abb
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 0x529af6
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 0x529aff
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x529b19
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx ebx, byte [eax*8 + 0x58fb1a]
cmp esi, edx
jae 0x529c72
nop dword [eax]
nop word [eax + eax]
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x529c14
cmp edx, 0xc0
jb 0x529c14
test dl, 0x20
jne 0x529b77
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x529c0c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x529b96
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x529c0c
and eax, 0x3f
test dl, 8
jne 0x529bb6
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x529c0c
test dl, 4
jne 0x529bdf
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 0x529c0c
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 0x529c1d
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x529c37
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb0]
movzx eax, word [eax*2 + 0x593398]
movzx ecx, byte [eax*8 + 0x58fb1a]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5a21b8], eax
je 0x529c6c
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x529b40
mov edi, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x529ca1
cmp esi, edx
jb 0x529ca1
cmp esi, dword [ecx + 0x84]
jbe 0x529ca1
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov ebx, dword [ebp - 0x9c]
inc edi
mov dword [ebp - 0xc0], edi
cmp edi, ebx
jle 0x5299f0
mov edi, dword [ebp - 0xa4]
jmp 0x5296c5
cmp dword [ebp - 0x94], 0
lea eax, [edi - 6]
je 0x52a805
cmp eax, 0xf
ja case.default.0x525dab
jmp dword [eax*4 + 0x530a58]
mov edx, dword [ebp - 0x9c]
mov ebx, 1
cmp edx, ebx
jl 0x52ac53
mov edi, dword [ebp - 0x88]
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x52fa1b
mov ecx, dword [edi + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x529d93
push dword [ebp - 0x94]
push edi
push eax
push ecx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
jne case.0x52ffee.14
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x529d70
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x529d70
cmp dword [ecx + 0x18], 0
jne 0x529d70
cmp dword [edi], 2
jne 0x529d70
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x529d70
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov ecx, dword [ecx + 0x78]
inc esi
cmp esi, ecx
jae 0x529d85
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x529d85
inc esi
cmp esi, ecx
jb 0x529d78
inc ebx
cmp ebx, edx
jle 0x529cf4
jmp 0x5296b3
mov ecx, dword [edi]
sub eax, ecx
mov dword [ebp - 0xc8], ecx
cmp esi, eax
ja 0x529d33
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [ebp - 0xc8]
jne 0x529d33
cmp ecx, 1
je case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x52ffee.14
jmp 0x529d39
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x52e47a
mov ecx, dword [eax + 0x78]
inc esi
cmp esi, ecx
jae 0x529e13
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x529e0d
inc esi
cmp esi, ecx
jb 0x529e00
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x529df0
jmp 0x5296b9
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x52ffee.14
add esi, ebx
jmp 0x5296c5
mov ecx, dword [ebp - 0x88]
mov edx, 1
cmp ebx, edx
jl 0x5296c5
mov edi, dword [ecx + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x52e5ad
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x529f3d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x529e81
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x529f3d
test cl, 0x10
jne 0x529ea2
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 0x529f3d
test cl, 8
jne 0x529ecc
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 0x529f3d
test cl, 4
jne 0x529f02
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 0x529f3d
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 0x529f60
je 0x529f4e
cmp ecx, 0xa
je 0x529f89
lea eax, [ecx - 0xb]
jmp 0x529f6e
cmp esi, edi
jae 0x529f89
cmp byte [esi], 0xa
mov ecx, dword [ebp - 0x88]
jne 0x529f8f
inc esi
jmp 0x529f8f
cmp ecx, 0x85
je 0x529f77
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x68], 0
jne case.0x52ffee.14
jmp 0x529f8f
mov ecx, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x529e50
mov edi, dword [ebp - 0xa4]
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52a0ad
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x529ff1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52a0ad
test cl, 0x10
jne 0x52a012
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 0x52a0ad
test cl, 8
jne 0x52a03c
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 0x52a0ad
test cl, 4
jne 0x52a072
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 0x52a0ad
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 0x52a0df
je case.0x52ffee.14
cmp ecx, 0xa0
ja 0x52a0d7
je case.0x52ffee.14
cmp ecx, 9
je case.0x52ffee.14
cmp ecx, 0x20
jmp 0x52a10f
cmp ecx, 0x1680
jmp 0x52a10f
cmp ecx, 0x205f
ja 0x52a109
je case.0x52ffee.14
cmp ecx, 0x2000
jb 0x52a115
cmp ecx, 0x200a
jbe case.0x52ffee.14
cmp ecx, 0x202f
jmp 0x52a10f
cmp ecx, 0x3000
je case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x529fc0
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52a22d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52a171
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52a22d
test cl, 0x10
jne 0x52a192
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 0x52a22d
test cl, 8
jne 0x52a1bc
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 0x52a22d
test cl, 4
jne 0x52a1f2
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 0x52a22d
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 0x52a253
je 0x52a285
cmp ecx, 0xa0
ja 0x52a24b
je 0x52a285
cmp ecx, 9
je 0x52a285
cmp ecx, 0x20
jmp 0x52a27f
cmp ecx, 0x1680
jmp 0x52a27f
cmp ecx, 0x205f
ja 0x52a279
je 0x52a285
cmp ecx, 0x2000
jb case.0x52ffee.14
cmp ecx, 0x200a
jbe 0x52a285
cmp ecx, 0x202f
jmp 0x52a27f
cmp ecx, 0x3000
jne case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x52a140
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52a39d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52a2e1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52a39d
test cl, 0x10
jne 0x52a302
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 0x52a39d
test cl, 8
jne 0x52a32c
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 0x52a39d
test cl, 4
jne 0x52a362
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 0x52a39d
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 0x52a3b5
je case.0x52ffee.14
cmp ecx, 0xa
jb 0x52a3c9
cmp ecx, 0xd
jmp 0x52a3c3
cmp ecx, 0x2028
jb 0x52a3c9
cmp ecx, 0x2029
jbe case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x52a2b0
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x52e474
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52a4dd
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52a421
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52a4dd
test cl, 0x10
jne 0x52a442
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 0x52a4dd
test cl, 8
jne 0x52a46c
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 0x52a4dd
test cl, 4
jne 0x52a4a2
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 0x52a4dd
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 0x52a4ef
je 0x52a4fe
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x52a4f8
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x52ffee.14
inc edx
cmp edx, ebx
jle 0x52a3f0
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52a615
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52a553
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52a60f
test cl, 0x10
jne 0x52a574
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 0x52a60f
test cl, 8
jne 0x52a59e
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 0x52a60f
test cl, 4
jne 0x52a5d4
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 0x52a60f
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 0x52a62a
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x52a522
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x52ffee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52a660
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x52a6d9
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
inc esi
cmp esi, ecx
jae 0x52a6f4
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52a6ee
inc esi
cmp esi, ecx
jb 0x52a6e1
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x52a6b3
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x52ffee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52a714
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x52a78d
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x78]
inc esi
cmp esi, ecx
jae 0x52a7a8
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52a7a2
inc esi
cmp esi, ecx
jb 0x52a795
mov eax, dword [ebp - 0x88]
inc edx
cmp edx, ebx
jle 0x52a767
jmp 0x5296b9
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x52ffee.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52a7c8
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
cmp eax, 0xf
ja case.default.0x525dab
jmp dword [eax*4 + 0x530a98]
mov edx, dword [ebp - 0x9c]
mov ebx, 1
mov ecx, dword [ebp - 0x88]
cmp edx, ebx
jl 0x52ac48
nop
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x52e5ad
mov edi, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x52a8bb
push 0
push edi
push eax
push ecx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
jne case.0x52ffee.14
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52a8a4
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x52a8a4
cmp dword [ecx + 0x18], 0
jne 0x52a8a4
cmp dword [edi], 2
jne 0x52a8a4
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x52a8a4
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
inc ebx
inc esi
cmp ebx, edx
jle 0x52a830
mov ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xa4]
jmp 0x5296c5
sub eax, dword [edi]
cmp esi, eax
ja 0x52a867
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [edi]
jne 0x52a867
cmp ecx, 1
je case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x52ffee.14
jmp 0x52a86d
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x52e5ad
add esi, ebx
jmp 0x5296c5
mov ecx, 1
cmp ebx, ecx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x52e47a
movzx eax, byte [esi]
inc esi
sub eax, 0xa
cmp eax, 0x7b
ja case.0x52ffee.14
movzx eax, byte [eax + 0x530ae8]
jmp dword [eax*4 + 0x530ad8]
cmp esi, edx
jae case.0x52a93f.10
cmp byte [esi], 0xa
mov eax, dword [ebp - 0x88]
jne 0x52a970
inc esi
jmp 0x52a970
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x68], 0
jne case.0x52ffee.14
jmp 0x52a970
mov eax, dword [ebp - 0x88]
inc ecx
cmp ecx, ebx
jle 0x52a920
jmp 0x5296bf
mov ecx, 1
cmp ebx, ecx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x52ffee.14
cmp eax, 0x20
je case.0x52ffee.14
cmp eax, 0xa0
je case.0x52ffee.14
inc ecx
cmp ecx, ebx
jle 0x52a990
jmp 0x5296bf
mov ecx, 1
cmp ebx, ecx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x52aa01
cmp eax, 0x20
je 0x52aa01
cmp eax, 0xa0
jne case.0x52ffee.14
inc ecx
cmp ecx, ebx
jle 0x52a9e0
jmp 0x5296bf
mov ecx, 1
cmp ebx, ecx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x52aa46
cmp eax, 0xd
jle case.0x52ffee.14
cmp eax, 0x85
je case.0x52ffee.14
inc ecx
cmp ecx, ebx
jle 0x52aa21
jmp 0x5296bf
mov ecx, 1
cmp ebx, ecx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52e474
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x52ffee.14
cmp eax, 0xd
jle 0x52aa8b
cmp eax, 0x85
jne case.0x52ffee.14
inc ecx
cmp ecx, ebx
jle 0x52aa66
jmp 0x5296bf
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop dword [eax + eax]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52aab0
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52aaf7
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52ab40
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52ab87
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52abd0
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov edx, 1
cmp ebx, edx
jl 0x5296bf
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52e47a
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x52ffee.14
mov eax, dword [ebp - 0x88]
inc edx
inc esi
cmp edx, ebx
jle 0x52ac17
mov edi, dword [ebp - 0xa4]
mov ecx, eax
jmp 0x5296c5
mov ebx, dword [ebp - 0x9c]
jmp 0x5296c5
mov ebx, dword [ebp - 0x9c]
jmp 0x5296bf
cmp ebx, edx
jge 0x52ba1d
mov edx, dword [ecx + 0x78]
nop dword [eax]
mov eax, 1
cmp esi, edx
jae 0x52acdc
cmp dword [ebp - 0x94], 0
movzx ecx, byte [esi]
je 0x52acbf
cmp ecx, 0xc0
jb 0x52acbf
test cl, 0x20
jne 0x52ac99
mov eax, 2
jmp 0x52acbf
test cl, 0x10
jne 0x52aca5
mov eax, 3
jmp 0x52acbf
test cl, 8
jne 0x52acb1
mov eax, 4
jmp 0x52acbf
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [ebp - 0xbc], 0
jne 0x52ba1d
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0xa8]
jl 0x52ac70
jmp 0x52ba1d
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52ba23
cmp esi, dword [ecx + 0x84]
jbe 0x52ba23
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jg 0x52fa48
jmp 0x52ba23
cmp ebx, edx
jge 0x52ba1d
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x52ae6a
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52adfd
cmp edx, 0xc0
jb 0x52adfd
test dl, 0x20
jne 0x52ad5f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52adf5
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52ad7e
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52adf5
and eax, 0x3f
test dl, 8
jne 0x52ad9e
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52adf5
test dl, 4
jne 0x52adc7
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 0x52adf5
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 0x52ae06
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52ae20
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp eax, 9
je 0x52ae45
cmp eax, 5
je 0x52ae45
cmp eax, 8
je 0x52ae45
xor eax, eax
jmp 0x52ae4a
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x52ba17
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52ad20
jmp 0x52ba17
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52ae95
cmp esi, dword [ecx + 0x84]
jbe 0x52ae95
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov edi, dword [ebp - 0x90]
jmp 0x52ba23
cmp ebx, edx
jge 0x52ba1d
mov ebx, dword [ecx + 0x78]
nop dword [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x52afff
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52af8c
cmp edx, 0xc0
jb 0x52af8c
test dl, 0x20
jne 0x52aeef
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52af84
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52af0e
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52af84
and eax, 0x3f
test dl, 8
jne 0x52af2e
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52af84
test dl, 4
jne 0x52af57
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 0x52af84
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 0x52af95
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52afaf
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
mov edx, dword [ebp - 0xcc]
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp dword [eax*4 + 0x5a2140], edx
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x52ba17
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52aeb0
jmp 0x52ba17
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52ae95
cmp esi, dword [ecx + 0x84]
jbe 0x52ae95
mov dword [ecx + 0x64], edi
cmp dword [ecx + 0x88], edi
jg 0x52fa48
mov edi, dword [ebp - 0x90]
jmp 0x52ba23
cmp ebx, edx
jge 0x52ba1d
mov ebx, dword [ecx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x52afff
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b11b
cmp edx, 0xc0
jb 0x52b11b
test dl, 0x20
jne 0x52b07e
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52b113
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b09d
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52b113
and eax, 0x3f
test dl, 8
jne 0x52b0bd
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b113
test dl, 4
jne 0x52b0e6
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 0x52b113
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 0x52b124
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52b13e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x52ba17
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52b043
jmp 0x52ba17
cmp ebx, edx
jge 0x52ba1d
mov ebx, dword [ecx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x52afff
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b26e
cmp edx, 0xc0
jb 0x52b26e
test dl, 0x20
jne 0x52b1d1
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52b266
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b1f0
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52b266
and eax, 0x3f
test dl, 8
jne 0x52b210
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b266
test dl, 4
jne 0x52b239
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 0x52b266
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 0x52b277
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52b291
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb18]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x52ba17
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52b192
jmp 0x52ba17
cmp ebx, edx
jge 0x52ba1d
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x52ae6a
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b3cd
cmp edx, 0xc0
jb 0x52b3cd
test dl, 0x20
jne 0x52b32f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52b3c5
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b34e
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52b3c5
and eax, 0x3f
test dl, 8
jne 0x52b36e
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b3c5
test dl, 4
jne 0x52b397
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 0x52b3c5
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 0x52b3d6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52b3f0
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52b417
cmp eax, 3
je 0x52b417
xor eax, eax
jmp 0x52b41c
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x52ba17
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52b2f0
jmp 0x52ba17
cmp ebx, edx
jge 0x52ba1d
mov ebx, dword [ecx + 0x78]
nop word [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x52afff
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b52c
cmp edx, 0xc0
jb 0x52b52c
test dl, 0x20
jne 0x52b48f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52b524
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b4ae
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52b524
and eax, 0x3f
test dl, 8
jne 0x52b4ce
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b524
test dl, 4
jne 0x52b4f7
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 0x52b524
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 0x52b56f
je case.0x52b58b.8192
cmp edx, 0x85
ja 0x52b55b
je case.0x52b58b.8192
cmp edx, 9
jb case.0x52b58b.8203
cmp edx, 0xd
jbe case.0x52b58b.8192
cmp edx, 0x20
jmp 0x52b5a0
cmp edx, 0xa0
je case.0x52b58b.8192
cmp edx, 0x1680
jmp 0x52b5a0
cmp edx, 0x202f
ja 0x52b592
je case.0x52b58b.8192
lea eax, [edx - 0x2000]
cmp eax, 0x29
ja case.0x52b58b.8203
movzx eax, byte [eax + 0x530b6c]
jmp dword [eax*4 + 0x530b64]
cmp edx, 0x205f
je case.0x52b58b.8192
cmp edx, 0x3000
je case.0x52b58b.8192
mov eax, edx
test eax, eax
jns 0x52b5ab
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52b5c5
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp dword [eax*4 + 0x5a2140], 6
sete cl
cmp ecx, dword [ebp - 0xbc]
je 0x52ba17
jmp 0x52b5ff
cmp dword [ebp - 0xbc], 0
jne 0x52ba17
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52b450
jmp 0x52ba17
cmp ebx, edx
jge 0x52ba1d
mov ebx, dword [ecx + 0x78]
nop word [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x52afff
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b70c
cmp edx, 0xc0
jb 0x52b70c
test dl, 0x20
jne 0x52b66f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52b704
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b68e
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52b704
and eax, 0x3f
test dl, 8
jne 0x52b6ae
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b704
test dl, 4
jne 0x52b6d7
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 0x52b704
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 0x52b715
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x52b730
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52b75c
cmp eax, 3
je 0x52b75c
cmp edx, 0x5f
je 0x52b75c
xor eax, eax
jmp 0x52b761
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x52ba17
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52b630
jmp 0x52ba17
cmp ebx, edx
jge 0x52ba1d
mov ebx, dword [ecx + 0x78]
nop dword [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x52afff
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b87c
cmp edx, 0xc0
jb 0x52b87c
test dl, 0x20
jne 0x52b7df
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52b874
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b7fe
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52b874
and eax, 0x3f
test dl, 8
jne 0x52b81e
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b874
test dl, 4
jne 0x52b847
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 0x52b874
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 + 0x58f9d8]
lea eax, [eax*4 + 0x58f9d8]
cmp edx, ecx
jb 0x52b8a1
lea eax, [eax + 4]
cmp edx, ecx
je 0x52b8ce
mov ecx, dword [eax]
cmp edx, ecx
jae 0x52b894
cmp dword [ebp - 0xbc], 0
je 0x52ba17
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52b7a0
jmp 0x52ba17
cmp dword [ebp - 0xbc], 0
jne 0x52ba17
jmp 0x52b8ae
cmp ebx, edx
jge 0x52ba1d
mov edi, dword [ecx + 0x78]
nop dword [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x52ae6a
cmp dword [ebp - 0x94], 0
movzx edx, byte [esi]
je 0x52b9d0
cmp edx, 0xc0
jb 0x52b9d0
test dl, 0x20
jne 0x52b92f
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52b9c8
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52b951
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52b9c8
and eax, 0x3f
test dl, 8
jne 0x52b971
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52b9c8
test dl, 4
jne 0x52b99a
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 0x52b9c8
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 0x52b9fb
cmp edx, 0x40
je 0x52b9fb
cmp edx, 0x60
je 0x52b9fb
cmp edx, 0xa0
jb 0x52b9ef
cmp edx, 0xd7ff
jbe 0x52b9fb
cmp edx, 0xe000
jae 0x52b9fb
xor eax, eax
jmp 0x52ba00
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je 0x52ba17
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52b8f0
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230e9
cmp esi, edi
jbe 0x52d4aa
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
dec esi
cmp dword [ebp - 0x94], eax
je 0x52ba82
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52ba82
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52ba78
mov ecx, dword [ebp - 0x88]
cmp esi, edi
ja 0x52ba38
mov edi, ecx
jmp 0x52d4b0
mov eax, dword [ebp - 0xa4]
cmp eax, 0x16
jne 0x52bdec
cmp ebx, edx
jge 0x52bd91
nop word [eax + eax]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0xb8], edx
cmp esi, edx
jae 0x52bd66
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52bbb3
cmp ecx, 0xc0
jb 0x52bbb3
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52baf7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52bbb3
test cl, 0x10
jne 0x52bb18
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 0x52bbb3
test cl, 8
jne 0x52bb42
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 0x52bbb3
test cl, 4
jne 0x52bb78
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 0x52bbb3
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 0x52bbbc
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52bbd6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx ebx, byte [eax*8 + 0x58fb1a]
cmp esi, edx
jae 0x52bd1c
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x52bcc4
cmp edx, 0xc0
jb 0x52bcc4
test dl, 0x20
jne 0x52bc27
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52bcbc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52bc46
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52bcbc
and eax, 0x3f
test dl, 8
jne 0x52bc66
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52bcbc
test dl, 4
jne 0x52bc8f
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 0x52bcbc
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 0x52bccd
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52bce7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb8]
movzx eax, word [eax*2 + 0x593398]
movzx ecx, byte [eax*8 + 0x58fb1a]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5a21b8], eax
je 0x52bd1c
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x52bbf0
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52bd4b
cmp esi, edx
jb 0x52bd4b
cmp esi, dword [ecx + 0x84]
jbe 0x52bd4b
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52bab0
jmp 0x52bd8b
cmp dword [ecx + 0x88], 0
je 0x52bd8b
cmp esi, dword [ecx + 0x84]
jbe 0x52bd8b
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov edi, dword [ebp - 0x90]
cmp dword [ebp - 0xb4], 0
jne 0x5230e9
cmp esi, edi
jbe 0x52d4aa
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov ecx, dword [ebp - 0x94]
dec esi
test ecx, ecx
jne 0x52d111
movzx edx, byte [esi]
jmp 0x52d1dd
add eax, 0xfffffffa
cmp dword [ebp - 0x94], 0
je 0x52cbb8
cmp eax, 0xf
ja case.default.0x525dab
jmp dword [eax*4 + 0x530b98]
cmp ebx, edx
jge 0x52bf1c
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x52bef1
mov edi, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x52be57
push dword [ebp - 0x94]
push edi
push eax
push ecx
push esi
call fcn.00535740
mov ecx, dword [ebp - 0x88]
add esp, 0x14
test eax, eax
jne 0x52c3a2
mov edx, dword [ebp - 0xa8]
jmp 0x52be8f
sub eax, dword [edi]
mov ecx, dword [ebp - 0x88]
cmp esi, eax
ja 0x52be8f
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [edi]
jne 0x52be89
cmp ecx, 1
mov ecx, dword [ebp - 0x88]
je 0x52c3a2
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je 0x52c3a2
jmp 0x52be8f
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52bec6
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x52bec6
cmp dword [ecx + 0x18], 0
jne 0x52bec6
cmp dword [edi], 2
jne 0x52bec6
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x52bec6
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov ecx, dword [ecx + 0x78]
inc esi
cmp esi, ecx
jae 0x52bedd
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52bedd
inc esi
cmp esi, ecx
jb 0x52bed0
mov ecx, dword [ebp - 0x88]
inc ebx
cmp ebx, edx
jge 0x52c3a2
jmp 0x52be14
cmp dword [ecx + 0x88], 0
je 0x52bf16
cmp esi, dword [ecx + 0x84]
jbe 0x52bf16
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230e9
cmp esi, edi
jbe 0x52d4aa
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x52bf7a
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52bf70
cmp dword [ebp - 0xa4], 0x11
jne 0x52bf9a
cmp esi, edi
jbe 0x52d4aa
cmp byte [esi], 0xa
jne 0x52bf9a
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
mov ecx, dword [ebp - 0x88]
cmp esi, edi
ja 0x52bf37
mov edi, ecx
jmp 0x52d4b0
cmp edx, 0x7fffffff
jge 0x52bff3
cmp ebx, edx
jge 0x52bf1c
mov edx, dword [ecx + 0x78]
mov eax, dword [ebp - 0xa8]
cmp esi, edx
jae 0x52bff6
mov ecx, dword [ecx + 0x78]
inc esi
cmp esi, ecx
jae 0x52bfe3
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52bfdd
inc esi
cmp esi, ecx
jb 0x52bfd0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x88]
inc ebx
cmp ebx, eax
jl 0x52bfc4
jmp 0x52bf22
mov esi, dword [ecx + 0x78]
cmp dword [ecx + 0x88], 0
je 0x52bf1c
cmp esi, dword [ecx + 0x84]
jbe 0x52bf1c
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
jmp 0x52bf1c
mov ecx, dword [ecx + 0x78]
sub edx, ebx
mov eax, ecx
sub eax, esi
cmp edx, eax
jbe 0x52c06f
mov esi, ecx
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52bf22
cmp esi, dword [ecx + 0x84]
jbe 0x52bf22
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
jmp 0x52bf22
add esi, edx
jmp 0x52bf1c
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
mov eax, 1
cmp esi, edi
jae 0x52c1ea
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c18b
test dl, 0x20
jne 0x52c0bb
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52c18b
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52c0e5
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 0x52c185
test dl, 8
jne 0x52c111
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 0x52c185
test dl, 4
jne 0x52c149
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 0x52c185
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 0x52c1a1
inc esi
cmp esi, edi
jae 0x52bf16
cmp byte [esi], 0xa
jne 0x52c1d8
inc esi
jmp 0x52c1d8
cmp edx, 0xa
je 0x52c1d6
cmp dword [ecx + 0x68], 0
jne 0x52bf16
cmp edx, 0xb
je 0x52c1d6
cmp edx, 0xc
je 0x52c1d6
cmp edx, 0x85
je 0x52c1d6
cmp edx, 0x2028
je 0x52c1d6
cmp edx, 0x2029
jne 0x52bf16
add esi, eax
inc ebx
cmp ebx, dword [ebp - 0xa8]
jl 0x52c081
jmp 0x52bf16
cmp dword [ecx + 0x88], 0
je 0x52bf16
cmp esi, dword [ecx + 0x84]
jbe 0x52bf16
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x88], eax
jmp 0x52bf10
cmp ebx, edx
jge 0x52bf1c
mov ebx, dword [ecx + 0x78]
nop dword [eax]
mov edi, 1
cmp esi, ebx
jae 0x52c37c
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c2ef
test dl, 0x20
jne 0x52c252
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52c2e7
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c271
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52c2e7
and eax, 0x3f
test dl, 8
jne 0x52c291
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c2e7
test dl, 4
jne 0x52c2ba
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 0x52c2e7
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 0x52c315
je 0x52c343
cmp edx, 0xa0
ja 0x52c30d
je 0x52c343
cmp edx, 9
je 0x52c343
cmp edx, 0x20
jmp 0x52c33d
cmp edx, 0x1680
jmp 0x52c33d
cmp edx, 0x205f
ja 0x52c337
je 0x52c343
cmp edx, 0x2000
jb 0x52c33f
cmp edx, 0x200a
jbe 0x52c343
cmp edx, 0x202f
jmp 0x52c33d
cmp edx, 0x3000
je 0x52c343
xor ecx, ecx
jmp 0x52c348
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0xa4], 0x12
sete al
cmp ecx, eax
je 0x52bf16
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52c220
jmp 0x52bf16
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52c3a2
cmp esi, dword [ecx + 0x84]
jbe 0x52c3a2
mov dword [ecx + 0x64], edi
cmp dword [ecx + 0x88], edi
jg 0x52fa48
mov edi, dword [ebp - 0x90]
jmp 0x52bf22
cmp ebx, edx
jge 0x52bf1c
mov ebx, dword [ecx + 0x78]
nop dword [eax + eax]
mov edi, 1
cmp esi, ebx
jae 0x52c37c
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c48b
test dl, 0x20
jne 0x52c3ee
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52c483
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c40d
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52c483
and eax, 0x3f
test dl, 8
jne 0x52c42d
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c483
test dl, 4
jne 0x52c456
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 0x52c483
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 0x52c4d5
je 0x52c4e0
cmp edx, 0xa
jb 0x52c49f
cmp edx, 0xd
jbe 0x52c4e0
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0xa4], 0x14
sete al
cmp ecx, eax
je 0x52bf16
mov eax, dword [ebp - 0x9c]
add esi, edi
inc eax
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebp - 0xa8]
jl 0x52c3c0
jmp 0x52bf16
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x52c49f
mov ecx, 1
jmp 0x52c4a1
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
mov ecx, 1
cmp esi, edi
jae 0x52c5f4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c5c5
test dl, 0x20
jne 0x52c524
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52c5bd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c546
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52c5bd
and eax, 0x3f
test dl, 8
jne 0x52c566
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c5bd
test dl, 4
jne 0x52c58f
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 0x52c5bd
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 0x52c5e0
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x52bf16
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52c4f2
jmp 0x52bf16
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52c3a2
cmp esi, dword [ecx + 0x84]
jbe 0x52c3a2
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov edi, dword [ebp - 0x90]
jmp 0x52bf22
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
nop dword [eax]
mov ecx, 1
cmp esi, edi
jae 0x52c5f4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c70c
test dl, 0x20
jne 0x52c66e
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52c704
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c68d
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52c704
and eax, 0x3f
test dl, 8
jne 0x52c6ad
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c704
test dl, 4
jne 0x52c6d6
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 0x52c704
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 0x52bf16
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x52bf16
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52c640
jmp 0x52bf16
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x52c5f4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c820
test dl, 0x20
jne 0x52c782
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52c818
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c7a1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52c818
and eax, 0x3f
test dl, 8
jne 0x52c7c1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c818
test dl, 4
jne 0x52c7ea
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 0x52c818
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 0x52c83b
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x52bf16
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52c750
jmp 0x52bf16
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
nop word [eax + eax]
mov ecx, 1
cmp esi, edi
jae 0x52c5f4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52c930
test dl, 0x20
jne 0x52c892
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52c928
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c8b1
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52c928
and eax, 0x3f
test dl, 8
jne 0x52c8d1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c928
test dl, 4
jne 0x52c8fa
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 0x52c928
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 0x52bf16
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x52bf16
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52c860
jmp 0x52bf16
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
nop
mov ecx, 1
cmp esi, edi
jae 0x52c5f4
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52ca43
test dl, 0x20
jne 0x52c9a2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52ca3b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c9c4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52ca3b
and eax, 0x3f
test dl, 8
jne 0x52c9e4
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52ca3b
test dl, 4
jne 0x52ca0d
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 0x52ca3b
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 0x52ca5e
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x52bf16
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52c970
jmp 0x52bf16
cmp ebx, edx
jge 0x52bf1c
mov edi, dword [ecx + 0x78]
nop dword [eax]
mov ecx, 1
cmp esi, edi
jae 0x52cb86
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52cb53
test dl, 0x20
jne 0x52cab2
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x52cb4b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52cad4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52cb4b
and eax, 0x3f
test dl, 8
jne 0x52caf4
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52cb4b
test dl, 4
jne 0x52cb1d
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 0x52cb4b
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 0x52bf16
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x52bf16
inc ebx
add esi, ecx
cmp ebx, dword [ebp - 0xa8]
jl 0x52ca80
jmp 0x52bf16
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52c3a2
cmp esi, dword [ecx + 0x84]
jbe 0x52c3a2
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x52c39c
cmp eax, 0xf
ja case.default.0x525dab
jmp dword [eax*4 + 0x530bd8]
cmp ebx, edx
jge 0x52ccb2
mov eax, dword [ecx + 0x78]
cmp esi, eax
jae 0x52cc87
mov edi, dword [ebp - 0x88]
mov ecx, dword [ecx + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x52cc0b
push 0
push edi
push eax
push ecx
push esi
call fcn.00535740
mov ecx, dword [ebp - 0x88]
add esp, 0x14
test eax, eax
jne 0x52cc33
mov edx, dword [ebp - 0xa8]
jmp 0x52cc44
sub eax, dword [edi]
mov ecx, dword [ebp - 0x88]
cmp esi, eax
ja 0x52cc44
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov ecx, dword [edi]
jne 0x52cc3e
cmp ecx, 1
mov ecx, dword [ebp - 0x88]
je 0x52cc33
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
jne 0x52cc44
mov edi, dword [ebp - 0x90]
jmp 0x52ccb8
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52cc7b
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x52cc7b
cmp dword [ecx + 0x18], 0
jne 0x52cc7b
cmp dword [edi], 2
jne 0x52cc7b
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x52cc7b
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
inc ebx
inc esi
cmp ebx, edx
jl 0x52cbd0
jmp 0x52ccac
cmp dword [ecx + 0x88], 0
je 0x52ccac
cmp esi, dword [ecx + 0x84]
jbe 0x52ccac
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
cmp dword [ebp - 0xb4], 0
jne 0x5230e9
cmp esi, edi
je 0x52d4aa
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
dec esi
cmp dword [ebp - 0xa4], 0x11
jne 0x52cd1c
cmp esi, edi
jbe 0x52cd1e
cmp byte [esi], 0xa
jne 0x52cd1c
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
cmp esi, edi
mov ecx, dword [ebp - 0x88]
jne 0x52ccd0
mov edi, ecx
jmp 0x52d4b0
mov ecx, dword [ecx + 0x78]
sub edx, ebx
mov eax, ecx
sub eax, esi
cmp edx, eax
jbe 0x52cd74
mov esi, ecx
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52ccb8
cmp esi, dword [ecx + 0x84]
jbe 0x52ccb8
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
jmp 0x52ccb8
add esi, edx
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x52cd3c
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x52cda2
inc esi
cmp esi, ecx
jae 0x52ccb2
cmp byte [esi], 0xa
jne 0x52cdd3
jmp 0x52cdd2
cmp eax, 0xa
je 0x52cdd2
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x68], 0
mov edi, dword [ebp - 0x90]
jne 0x52ccb2
cmp eax, 0xb
je 0x52cdd2
cmp eax, 0xc
je 0x52cdd2
cmp eax, 0x85
jne 0x52ccb2
inc esi
inc ebx
cmp ebx, edx
jl 0x52cd86
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x52cd3c
mov al, byte [esi]
cmp al, 9
je 0x52ccb2
cmp al, 0x20
je 0x52ccb2
cmp al, 0xa0
je 0x52ccb2
inc ebx
inc esi
cmp ebx, edx
jl 0x52cde8
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x52cd3c
mov al, byte [esi]
cmp al, 9
je 0x52ce3a
cmp al, 0x20
je 0x52ce3a
cmp al, 0xa0
jne 0x52ccb2
inc ebx
inc esi
cmp ebx, edx
jl 0x52ce20
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x52cd3c
mov al, byte [esi]
cmp al, 0xa
jb 0x52ce6e
cmp al, 0xd
jbe 0x52ccb2
cmp al, 0x85
je 0x52ccb2
inc ebx
inc esi
cmp ebx, edx
jl 0x52ce50
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x52cd3c
mov al, byte [esi]
cmp al, 0xa
jb 0x52ccb2
cmp al, 0xd
jbe 0x52cea2
cmp al, 0x85
jne 0x52ccb2
inc ebx
inc esi
cmp ebx, edx
jl 0x52ce84
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x52cd3c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x52ccb2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x52ceb8
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x52cd3c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x52ccb2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x52cef0
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x52cd3c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x52ccb2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x52cf28
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x52cd3c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x52ccb2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x52cf60
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x52cd3c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x52ccb2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x52cf98
jmp 0x52ccb2
cmp ebx, edx
jge 0x52ccb2
mov edx, dword [ecx + 0x78]
cmp esi, edx
jae 0x52cd3c
mov eax, dword [ebp - 0x88]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x52ccb2
inc ebx
inc esi
cmp ebx, dword [ebp - 0xa8]
jl 0x52cfd0
jmp 0x52ccb2
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 0x52d041
lea eax, [edx + 3]
push eax
push esi
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x8c], edx
jmp 0x52d4b6
push dword [ebp - 0xb8]
push esi
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edx, dword [ebp - 0x8c]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x52d4b6
cmp dword [ebp - 0x9c], 0x8c
je 0x52d533
mov edi, dword [ebp - 0x88]
jmp 0x52d4b6
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 0x52d0d3
lea eax, [edx + 3]
push eax
push esi
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov al, byte [ebx]
cmp al, 0x81
je 0x52d684
cmp al, 0x88
jae 0x52d651
mov edx, ebx
mov dword [ebp - 0x8c], edx
jmp 0x52d4b6
push ebx
push esi
call fcn.00522fd0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x52d0ec
cmp dword [edi + 0xb4], ebx
jmp 0x52d0ee
test eax, eax
jne 0x530706
cmp byte [ebx], 0x81
je 0x52d69f
mov edx, dword [ebp - 0x8c]
add edx, 3
mov dword [ebp - 0x8c], edx
jmp 0x52d4b6
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52d12a
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52d120
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52d1dd
test dl, 0x20
jne 0x52d14a
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x52d1d5
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52d167
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x52d1cf
and eax, 0x3f
test dl, 8
jne 0x52d182
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52d1cf
test dl, 4
jne 0x52d1a6
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 0x52d1cf
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 0x52d1e6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52d200
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x593398]
movzx ebx, byte [eax*8 + 0x58fb1a]
cmp esi, edi
jbe 0x52d4aa
lea edi, [esi - 1]
test ecx, ecx
jne 0x52d229
movzx edx, byte [edi]
jmp 0x52d2e8
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x52d23b
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x52d231
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52d2e8
test dl, 0x20
jne 0x52d25b
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x52d2e0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52d278
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x52d2e0
and eax, 0x3f
test dl, 8
jne 0x52d293
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x52d2e0
test dl, 4
jne 0x52d2b7
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 0x52d2e0
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 0x52d2f1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52d30b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov ecx, ebx
movzx eax, word [eax*2 + 0x593398]
movzx edx, byte [eax*8 + 0x58fb1a]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [edx*4 + 0x5a21b8], eax
je 0x52d345
mov ecx, dword [ebp - 0x94]
mov esi, edi
mov edi, dword [ebp - 0x90]
mov ebx, edx
jmp 0x52d212
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
jmp 0x52bda6
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 0x530135
mov edx, dword [ebp - 0x9c]
cmp edx, 0x88
jae 0x52d3cd
cmp edx, 0x81
je 0x52d3cd
cmp dword [edi + 0x6c], 0
mov edx, dword [ebp - 0x8c]
jne 0x52d3dd
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x52d3dd
movzx eax, byte [edx]
movzx eax, byte [eax + 0x5a2028]
add edx, eax
mov dword [ebp - 0x8c], edx
jmp 0x52d4b6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, edx
push eax
push esi
call fcn.00522fd0
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc20
jne 0x52d461
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 0x530304
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x52d469
cmp byte [edx], 0x77
jne 0x530304
jmp 0x52d469
test edi, edi
jne 0x5302b4
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.0x52ffee.14
mov eax, dword [ebp - 0xc8]
mov dword [edi + 0x90], eax
jmp 0x52d381
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 0x5306ff
mov ecx, dword [ebp - 0xac]
jmp 0x5230a5
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
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.004951c6
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.00522fd0
add esp, 0x1c
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
sub eax, 1
je case.0x52ffee.14
pop edi
pop ebx
mov eax, ecx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.004951c6
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 0x52d5cf
push eax
call dword [0x5bee0c]
add esp, 4
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x52d5fc
push eax
call dword [0x5bee0c]
add esp, 4
mov eax, edi
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.004951c6
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.004951c6
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.00522fd0
add esp, 0x1c
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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 0x52d6d3
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 0x52d6cc
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov dword [edi + 0xb4], ebx
mov eax, 0xfffffc1b
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.004951c6
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.004951c6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb case.0x52ffee.14
cmp dword [ecx + 0x18], 0
jne case.0x52ffee.14
cmp dword [ecx + 0x1c], 2
jne case.0x52ffee.14
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne case.0x52ffee.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x52fa42
cmp eax, 0xfffffffe
mov eax, dword [ebp - 0x88]
jne 0x52d7c2
mov esi, dword [eax + 0x78]
cmp dword [eax + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [eax + 0x78]
jb case.0x52ffee.14
jmp 0x52d8c9
mov dword [ebp - 0xb8], esi
cmp ebx, eax
jge 0x52d861
nop dword [eax + eax]
push dword [ebp - 0xb0]
push dword [ebp - 0x88]
push ecx
push esi
push edi
call fcn.00530d90
add esp, 0x14
test eax, eax
js 0x52d81e
mov ecx, dword [ebp - 0xb4]
inc ebx
add esi, eax
cmp ebx, dword [ebp - 0xc0]
jl 0x52d7f0
jmp 0x52d851
cmp eax, 0xfffffffe
jne 0x52d851
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 0x88], 0
je 0x52d851
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x84]
jbe 0x52d851
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x52fa48
mov ebx, dword [ebp - 0xb8]
cmp esi, ebx
jb case.0x52ffee.14
jmp 0x52d867
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
sub esi, dword [ebp - 0xb4]
cmp esi, ebx
jae 0x52d867
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [eax + 0x84]
jbe case.0x52ffee.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x52fa42
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 0x52daa3
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0xa4]
nop word [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x52da33
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x52d974
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x52da33
test dl, 0x10
jne 0x52d995
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 0x52da33
test dl, 8
jne 0x52d9c2
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 0x52da33
test dl, 4
jne 0x52d9f8
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 0x52da33
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 0x52da44
cmp dword [ebp - 0x9c], 0x6e
jmp 0x52da57
mov eax, dword [ebp - 0xc4]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52d930
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0xa4]
nop dword [eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
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.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52dac0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0xb0]
cmp edi, dword [ebp - 0xc0]
jge case.0x52ffee.14
mov eax, dword [ebp - 0x88]
cmp esi, dword [eax + 0x78]
jae 0x52d8bc
movzx ecx, byte [esi]
inc esi
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x52dc85
cmp ecx, 0xc0
jb 0x52dc85
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52dbc6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52dc85
test cl, 0x10
jne 0x52dbe7
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 0x52dc85
test cl, 8
jne 0x52dc14
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 0x52dc85
test cl, 4
jne 0x52dc4a
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 0x52dc85
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.00535d70
add esp, 0xc
test eax, eax
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52db74
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [edi + 0x78]
jb case.0x52ffee.14
jmp 0x52fa28
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop
cmp edi, dword [ebp - 0xa4]
jge case.0x52ffee.14
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov edi, dword [ebp - 0xa8]
sub eax, edi
cmp esi, eax
ja 0x52ddae
mov edx, dword [ebp - 0xb8]
mov ecx, esi
sub edi, 4
jb 0x52dd71
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52dd76
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52dd60
cmp edi, 0xfffffffc
je 0x52dda3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52ddae
cmp edi, 0xfffffffd
je 0x52dda3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52ddae
cmp edi, 0xfffffffe
je 0x52dda3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52ddae
cmp edi, 0xffffffff
je 0x52dda3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52ddae
add esi, dword [ebp - 0xa8]
jmp 0x52de2b
mov eax, dword [ebp - 0xc0]
test eax, eax
jle 0x52de7e
sub ebx, eax
cmp esi, ebx
ja 0x52de7e
mov edi, eax
lea edx, [ebp - 0xc]
mov ecx, esi
sub edi, 4
jb 0x52dde3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52dde8
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52ddd2
cmp edi, 0xfffffffc
je 0x52de25
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52de7e
cmp edi, 0xfffffffd
je 0x52de25
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52de7e
cmp edi, 0xfffffffe
je 0x52de25
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52de7e
cmp edi, 0xffffffff
je 0x52de25
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52de7e
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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52dd30
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [eax + 0x78]
jb case.0x52ffee.14
jmp 0x52e487
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0xa4]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx eax, byte [esi]
cmp ebx, eax
je 0x52df00
cmp edi, eax
jne case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52ded0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop dword [eax + eax]
cmp edi, dword [ebp - 0xa4]
jge case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x52e5ad
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52df80
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
cmp dword [ebp - 0x94], 0
je 0x52e177
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x52ffee.14
cmp esi, dword [ebx + 0x78]
jae 0x52e1ee
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x52e11e
test dl, 0x20
jne 0x52e06e
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x52e11e
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52e095
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x52e11e
test dl, 8
jne 0x52e0bb
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 0x52e11e
test dl, 4
jne 0x52e0ea
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 0x52e11e
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.0x52ffee.14
cmp dword [ebp - 0xb0], edx
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e030
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x530706
nop
cmp edi, dword [ebp - 0xa8]
jge case.0x52ffee.14
cmp esi, dword [ebx + 0x78]
jae 0x52e1ee
movzx eax, byte [esi]
cmp dword [ebp - 0x9c], eax
je case.0x52ffee.14
cmp dword [ebp - 0xb0], eax
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e180
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [ebx + 0x84]
jbe case.0x52ffee.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jle case.0x52ffee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x88]
cmp dword [edx + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [edx + 0x84]
jbe case.0x52ffee.14
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jle case.0x52ffee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
cmp dword [ebp - 0x94], 0
je 0x52e403
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x52e5ad
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x52e3ba
test dl, 0x20
jne 0x52e304
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x52e3ba
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52e32b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x52e3b4
test dl, 8
jne 0x52e351
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 0x52e3b4
test dl, 4
jne 0x52e380
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 0x52e3b4
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.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e2c0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x530706
nop dword [eax + eax]
cmp edi, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x52e5ad
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e410
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [eax + 0x84]
jbe case.0x52ffee.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jle case.0x52ffee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
test eax, eax
js 0x52f6d8
cmp eax, 0xa
ja case.default.0x525dab
jmp dword [eax*4 + 0x530c18]
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov ecx, dword [ebp - 0x88]
cmp esi, dword [ecx + 0x78]
jae 0x52e5ad
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52e564
cmp eax, 0xc0
jb 0x52e564
test al, 0x20
jne 0x52e546
inc esi
jmp 0x52e564
test al, 0x10
jne 0x52e54f
add esi, 2
jmp 0x52e564
test al, 8
jne 0x52e558
add esi, 3
jmp 0x52e564
test al, 4
jne 0x52e561
add esi, 4
jmp 0x52e564
add esi, 5
cmp dword [ebp - 0xbc], 0
jne case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e510
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp dword [ecx + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [ecx + 0x84]
jbe case.0x52ffee.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jle case.0x52ffee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52e730
cmp ecx, 0xc0
jb 0x52e730
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52e671
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52e730
test cl, 0x10
jne 0x52e692
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 0x52e730
test cl, 8
jne 0x52e6bf
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 0x52e730
test cl, 4
jne 0x52e6f5
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 0x52e730
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 0x52e739
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52e753
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp eax, 9
je 0x52e778
cmp eax, 5
je 0x52e778
cmp eax, 8
je 0x52e778
xor eax, eax
jmp 0x52e77d
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e620
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52e910
cmp ecx, 0xc0
jb 0x52e910
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52e851
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52e910
test cl, 0x10
jne 0x52e872
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 0x52e910
test cl, 8
jne 0x52e89f
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 0x52e910
test cl, 4
jne 0x52e8d5
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 0x52e910
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 0x52e919
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52e933
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0xcc]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp dword [eax*4 + 0x5a2140], edx
mov edx, dword [ebp - 0x88]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e800
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52eaf0
cmp ecx, 0xc0
jb 0x52eaf0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52ea31
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52eaf0
test cl, 0x10
jne 0x52ea52
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 0x52eaf0
test cl, 8
jne 0x52ea7f
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 0x52eaf0
test cl, 4
jne 0x52eab5
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 0x52eaf0
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 0x52eaf9
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52eb13
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52e9e0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop dword [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52ecc0
cmp ecx, 0xc0
jb 0x52ecc0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52ec01
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52ecc0
test cl, 0x10
jne 0x52ec22
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 0x52ecc0
test cl, 8
jne 0x52ec4f
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 0x52ecc0
test cl, 4
jne 0x52ec85
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 0x52ecc0
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 0x52ecc9
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52ece3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb18]
cmp eax, dword [ebp - 0xcc]
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52ebb0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop dword [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52ee8d
cmp ecx, 0xc0
jb 0x52ee8d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52edd1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52ee8d
test cl, 0x10
jne 0x52edf2
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 0x52ee8d
test cl, 8
jne 0x52ee1c
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 0x52ee8d
test cl, 4
jne 0x52ee52
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 0x52ee8d
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 0x52ee96
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52eeb0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52eed7
cmp eax, 3
je 0x52eed7
xor eax, eax
jmp 0x52eedc
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52ed80
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52f064
cmp ecx, 0xc0
jb 0x52f064
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52efa5
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52f064
test cl, 0x10
jne 0x52efc6
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 0x52f064
test cl, 8
jne 0x52eff3
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 0x52f064
test cl, 4
jne 0x52f029
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 0x52f064
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 0x52f0a7
je case.0x52f0c7.8192
cmp ecx, 0x85
ja 0x52f093
je case.0x52f0c7.8192
cmp ecx, 9
jb case.0x52f0c7.8203
cmp ecx, 0xd
jbe case.0x52f0c7.8192
cmp ecx, 0x20
jmp 0x52f0dc
cmp ecx, 0xa0
je case.0x52f0c7.8192
cmp ecx, 0x1680
jmp 0x52f0dc
cmp ecx, 0x202f
ja 0x52f0ce
je case.0x52f0c7.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x52f0c7.8203
movzx eax, byte [eax + 0x530c4c]
jmp dword [eax*4 + 0x530c44]
cmp ecx, 0x205f
je case.0x52f0c7.8192
cmp ecx, 0x3000
je case.0x52f0c7.8192
mov eax, ecx
test eax, eax
jns 0x52f0e7
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52f101
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
cmp dword [eax*4 + 0x5a2140], 6
sete cl
cmp ecx, dword [ebp - 0xbc]
je case.0x52ffee.14
jmp 0x52f13b
cmp dword [ebp - 0xbc], 0
jne case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52ef54
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0x88]
nop dword [eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
cmp esi, dword [edi + 0x78]
jae 0x52fa1b
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52f2ba
cmp edx, 0xc0
jb 0x52f2ba
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x52f1fb
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x52f2ba
test dl, 0x10
jne 0x52f21c
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 0x52f2ba
test dl, 8
jne 0x52f249
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 0x52f2ba
test dl, 4
jne 0x52f27f
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 0x52f2ba
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 0x52f2c3
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x591198]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x52f2de
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x593398]
movzx eax, byte [eax*8 + 0x58fb19]
mov eax, dword [eax*4 + 0x5a2140]
cmp eax, 1
je 0x52f30a
cmp eax, 3
je 0x52f30a
cmp edx, 0x5f
je 0x52f30a
xor eax, eax
jmp 0x52f30f
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52f1b0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0x88]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
cmp esi, dword [edi + 0x78]
jae 0x52fa1b
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52f49b
cmp ecx, 0xc0
jb 0x52f49b
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52f3dc
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52f49b
test cl, 0x10
jne 0x52f3fd
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 0x52f49b
test cl, 8
jne 0x52f42a
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 0x52f49b
test cl, 4
jne 0x52f460
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 0x52f49b
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 + 0x58f9d8]
lea eax, [eax*4 + 0x58f9d8]
cmp ecx, edx
jb 0x52f4c0
lea eax, [eax + 4]
cmp ecx, edx
je 0x52f50e
mov edx, dword [eax]
cmp ecx, edx
jae 0x52f4b3
cmp dword [ebp - 0xbc], 0
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52f391
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xbc], 0
jne case.0x52ffee.14
jmp 0x52f4cd
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.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
nop dword [eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
cmp esi, dword [edx + 0x78]
jae 0x52e237
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52f660
cmp ecx, 0xc0
jb 0x52f660
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52f5a1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52f660
test cl, 0x10
jne 0x52f5c2
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 0x52f660
test cl, 8
jne 0x52f5ef
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 0x52f660
test cl, 4
jne 0x52f625
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 0x52f660
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 0x52f68b
cmp ecx, 0x40
je 0x52f68b
cmp ecx, 0x60
je 0x52f68b
cmp ecx, 0xa0
jb 0x52f67f
cmp ecx, 0xd7ff
jbe 0x52f68b
cmp ecx, 0xe000
jae 0x52f68b
xor eax, eax
jmp 0x52f690
mov eax, 1
cmp eax, dword [ebp - 0xbc]
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52f550
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.00522fd0
add esp, 0x1c
cmp edi, 0x16
jne 0x52fa5e
test eax, eax
jne 0x530706
mov edi, dword [ebp - 0x88]
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [edi + 0x78]
mov dword [ebp - 0xb8], edx
cmp esi, edx
jae 0x52fa1b
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 0x94], 0
je 0x52f832
cmp ecx, 0xc0
jb 0x52f832
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52f773
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52f832
test cl, 0x10
jne 0x52f794
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 0x52f832
test cl, 8
jne 0x52f7c1
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 0x52f832
test cl, 4
jne 0x52f7f7
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 0x52f832
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 0x52f83b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and ecx, 0x8000007f
jns 0x52f855
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x593398]
movzx ebx, byte [eax*8 + 0x58fb1a]
cmp esi, edx
jae 0x52f9a5
nop
cmp dword [ebp - 0x94], 0
mov edi, 1
movzx edx, byte [esi]
je 0x52f947
cmp edx, 0xc0
jb 0x52f947
test dl, 0x20
jne 0x52f8a7
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52f93f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52f8c9
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52f93f
and eax, 0x3f
test dl, 8
jne 0x52f8e9
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52f93f
test dl, 4
jne 0x52f912
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 0x52f93f
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 0x52f950
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x591198]
shl eax, 7
and edx, 0x8000007f
jns 0x52f96a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
mov edx, dword [ebp - 0xb8]
movzx eax, word [eax*2 + 0x593398]
movzx ecx, byte [eax*8 + 0x58fb1a]
mov eax, dword [ebp - 0xc4]
shl eax, cl
test dword [ebx*4 + 0x5a21b8], eax
je 0x52f99f
add esi, edi
mov ebx, ecx
cmp esi, edx
jb 0x52f870
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x88], 0
je 0x52f9ce
cmp esi, edx
jb 0x52f9ce
cmp esi, dword [edi + 0x84]
jbe 0x52f9ce
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x52fa48
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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52f720
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x88], 0
je case.0x52ffee.14
cmp esi, dword [edi + 0x84]
jbe case.0x52ffee.14
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jle case.0x52ffee.14
pop edi
pop ebx
mov eax, 0xfffffff4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x94], 0
je 0x52fede
test eax, eax
jne 0x530706
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52e237
cmp edi, 0xc
jne 0x52fafc
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x88]
test edx, edx
je 0x52fac7
push dword [ebp - 0x94]
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
jne case.0x52ffee.14
mov edx, dword [ebp - 0x88]
jmp 0x52fafc
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x52fafa
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x52faf6
cmp edx, 1
je case.0x52ffee.14
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.0x52ffee.14
jmp 0x52fafc
mov edx, ecx
jmp 0x52fafc
mov edx, eax
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52fbe4
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52fb25
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52fbe4
test cl, 0x10
jne 0x52fb46
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 0x52fbe4
test cl, 8
jne 0x52fb73
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 0x52fbe4
test cl, 4
jne 0x52fba9
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 0x52fbe4
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.0x525dab
jmp dword [eax*4 + 0x530c78]
cmp dword [edx + 0x88], 0
je case.0x52fbf0.13
cmp esi, dword [edx + 0x78]
jb case.0x52fbf0.13
cmp dword [edx + 0x18], 0
jne case.0x52fbf0.13
cmp dword [edx + 0x1c], 2
jne case.0x52fbf0.13
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne case.0x52fbf0.13
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x52fa48
jmp case.0x52fbf0.13
cmp ecx, 0xd
ja 0x52fc73
je 0x52fc5b
cmp ecx, 0xa
je case.0x52fbf0.13
lea eax, [ecx - 0xb]
jmp 0x52fc81
cmp esi, dword [edx + 0x78]
jae case.0x52fbf0.13
cmp byte [esi], 0xa
jne case.0x52fbf0.13
inc esi
jmp case.0x52fbf0.13
cmp ecx, 0x85
je 0x52fc8a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x52ffee.14
cmp dword [edx + 0x68], 0
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x180e
ja 0x52fcd1
je case.0x52ffee.14
cmp ecx, 0xa0
ja 0x52fcc6
je case.0x52ffee.14
cmp ecx, 9
je case.0x52ffee.14
cmp ecx, 0x20
jmp 0x52fe97
cmp ecx, 0x1680
jmp 0x52fe97
cmp ecx, 0x205f
ja 0x52fd02
je case.0x52ffee.14
cmp ecx, 0x2000
jb case.0x52fbf0.13
cmp ecx, 0x200a
jbe case.0x52ffee.14
cmp ecx, 0x202f
jmp 0x52fe97
cmp ecx, 0x3000
jmp 0x52fe97
cmp ecx, 0x180e
ja 0x52fd51
je case.0x52fbf0.13
cmp ecx, 0xa0
ja 0x52fd40
je case.0x52fbf0.13
cmp ecx, 9
je case.0x52fbf0.13
cmp ecx, 0x20
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x1680
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x205f
ja 0x52fd88
je case.0x52fbf0.13
cmp ecx, 0x2000
jb case.0x52ffee.14
cmp ecx, 0x200a
jbe case.0x52fbf0.13
cmp ecx, 0x202f
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x3000
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x85
ja 0x52fdbe
je case.0x52ffee.14
cmp ecx, 0xa
jb case.0x52fbf0.13
cmp ecx, 0xd
jbe case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x2028
jb case.0x52fbf0.13
cmp ecx, 0x2029
jbe case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x85
ja 0x52fdfa
je case.0x52fbf0.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x52ffee.14
jmp case.0x52fbf0.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x100
jae case.0x52fbf0.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x100
jae case.0x52ffee.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x52fe97
cmp ecx, 0x100
jae case.0x52fbf0.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x100
jae case.0x52ffee.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x52fe97
cmp ecx, 0x100
jae case.0x52fbf0.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x52ffee.14
jmp case.0x52fbf0.13
cmp ecx, 0x100
jae case.0x52ffee.14
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52fa73
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x530706
nop word [eax + eax]
cmp ebx, dword [ebp - 0xa8]
jge case.0x52ffee.14
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52e237
cmp edi, 0xc
jne 0x52ff75
mov edx, dword [edx + 0x18]
mov eax, dword [ebp - 0x88]
test edx, edx
je 0x52ff40
push 0
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.00535740
add esp, 0x14
test eax, eax
jne case.0x52ffee.14
mov edx, dword [ebp - 0x88]
jmp 0x52ff75
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x52ff73
mov ecx, dword [ebp - 0x88]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x52ff6f
cmp edx, 1
je case.0x52ffee.14
mov al, byte [esi + 1]
mov edx, ecx
cmp al, byte [edx + 0x35]
je case.0x52ffee.14
jmp 0x52ff75
mov edx, ecx
jmp 0x52ff75
mov edx, eax
movzx ecx, byte [esi]
lea eax, [edi - 6]
inc esi
cmp eax, 0xf
ja case.default.0x525dab
jmp dword [eax*4 + 0x530cb8]
cmp dword [edx + 0x88], 0
je case.0x52ff85.13
cmp esi, dword [edx + 0x78]
jb case.0x52ff85.13
cmp dword [edx + 0x18], 0
jne case.0x52ff85.13
cmp dword [edx + 0x1c], 2
jne case.0x52ff85.13
movzx eax, byte [edx + 0x34]
cmp ecx, eax
jne case.0x52ff85.13
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x52fa48
jmp case.0x52ff85.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x52ffee.14
movzx eax, byte [ecx + 0x530d08]
jmp dword [eax*4 + 0x530cf8]
cmp esi, dword [edx + 0x78]
jae case.0x52ff85.13
cmp byte [esi], 0xa
jne case.0x52ff85.13
inc esi
jmp case.0x52ff85.13
cmp dword [edx + 0x68], 0
jne case.0x52ffee.14
jmp case.0x52ff85.13
cmp ecx, 9
je case.0x52ffee.14
cmp ecx, 0x20
je case.0x52ffee.14
cmp ecx, 0xa0
jmp 0x5300d8
cmp ecx, 9
je case.0x52ff85.13
cmp ecx, 0x20
je case.0x52ff85.13
cmp ecx, 0xa0
jne case.0x52ffee.14
jmp case.0x52ff85.13
cmp ecx, 0xa
jb case.0x52ff85.13
cmp ecx, 0xd
jbe case.0x52ffee.14
cmp ecx, 0x85
jmp 0x5300d8
cmp ecx, 0xa
jb case.0x52ffee.14
cmp ecx, 0xd
jbe case.0x52ff85.13
cmp ecx, 0x85
jne case.0x52ffee.14
jmp case.0x52ff85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.0x52ffee.14
jmp case.0x52ff85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jmp 0x5300d8
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x52ffee.14
jmp case.0x52ff85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jmp 0x5300d8
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x52ffee.14
jmp case.0x52ff85.13
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x52ffee.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.00522fd0
add esp, 0x1c
test eax, eax
je 0x52fef0
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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.004951c6
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 0x530196
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.00522fd0
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
je 0x530261
cmp edi, 0xfffffc20
jne 0x530216
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 0x530304
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0x77
je 0x530212
cmp byte [edx], 0x77
jne 0x530304
xor edi, edi
jmp 0x530224
test edi, edi
jne 0x530304
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 0x530267
mov edi, edx
jmp 0x530180
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.004951c6
mov esp, ebp
pop ebp
ret
cmp edi, 0xfffffc1b
jne 0x530304
mov edx, dword [ebp - 0x8c]
mov al, byte [edx]
cmp al, 0x81
je 0x5302f3
cmp al, 0x77
jne 0x5302e4
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 0x5302d0
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.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, edx
add ecx, eax
push ecx
push esi
call fcn.00522fd0
mov edx, eax
add esp, 0x1c
cmp edx, 1
je 0x530379
cmp edx, 0xfffffc19
jne 0x53039b
cmp dword [ebx + 0xac], 0
jne 0x53039b
mov dword [ebx + 0xac], edi
mov eax, edx
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret
cmp edx, 0xfffffc1f
jne 0x524297
mov eax, dword [ebx + 0x7c]
nop word [eax + eax]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x5303d0
test cl, cl
je 0x5303cc
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x5303d0
add edi, 2
add eax, 2
test cl, cl
jne 0x5303b0
xor eax, eax
jmp 0x5303d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x524297
pop edi
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.00522fd0
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.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.00522fd0
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.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, edx
add ecx, eax
push ecx
push esi
call fcn.00522fd0
mov ecx, eax
add esp, 0x1c
cmp ecx, 1
je 0x5304fa
cmp ecx, 0xfffffc19
jne 0x530509
cmp dword [ebx + 0xac], 0
jne 0x530509
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.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ecx
push eax
push esi
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov dword [edi + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, ebx
push eax
push esi
call fcn.00522fd0
add esp, 0x1c
test eax, eax
jne 0x530706
mov dword [edi + 0x7c], ebx
mov eax, 0xfffffc20
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004951c6
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 + 0x5a2028]
push dword [ebp - 0xa0]
add eax, edx
add ecx, eax
push ecx
push esi
call fcn.00522fd0
add esp, 0x1c
cmp eax, 1
je 0x53062d
cmp eax, 0xfffffc19
jne 0x53063c
cmp dword [ebx + 0xac], 0
jne 0x53063c
mov dword [ebx + 0xac], edi
test eax, eax
jne 0x530706
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.004951c6
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa0]
cmp esi, ecx
jne 0x53069f
cmp edx, 0x9f
je 0x53069f
cmp dword [edi + 0xa4], 0
jne 0x53069f
cmp dword [edi + 0x5c], 0
jne case.0x52ffee.14
cmp dword [edi + 0x60], 0
je 0x53069f
mov eax, dword [edi + 0x94]
add eax, dword [edi + 0x74]
cmp ecx, eax
je case.0x52ffee.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.004951c6
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.004951c6
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.004951c6
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.004951c6
mov esp, ebp
pop ebp
ret