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

Disassembly:
sub esp, 0x15c
mov eax, dword [0x634384]
xor eax, esp
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x168]
mov edx, dword [esp + 0x174]
push ebx
mov ebx, dword [esp + 0x170]
push esi
mov esi, dword [esp + 0x168]
push edi
mov edi, dword [esp + 0x170]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], edx
test edi, edi
jne 0x5260f2
lea eax, [esp + 0x184]
cmp dword [esp + 0x184], edi
jne 0x5260d1
push 1
push edi
push edi
push edi
push edi
push edi
push eax
call fcn.00526040
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.005395e6
add esp, 0x15c
ret
sub eax, esi
cdq
xor eax, edx
pop edi
sub eax, edx
pop esi
neg eax
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.005395e6
add esp, 0x15c
ret
mov ecx, dword [esp + 0xc]
push ebp
mov ebp, dword [eax + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x1c], ebp
cmp eax, dword [ecx + 4]
jae 0x532990
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x50], 1
mov dword [esp + 0x58], 0x7fffffff
inc eax
mov dword [ecx], eax
mov eax, dword [esp + 0x188]
cmp eax, dword [ecx + 8]
jae 0x532989
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x98], 2
jne 0x52616b
lea ecx, [esp + 0x78]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x2c], ecx
mov dword [eax + 0x98], 0
mov edx, eax
jmp 0x526190
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
jmp 0x526190
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
lea ecx, [ecx]
mov cl, byte [edi]
movzx edi, cl
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x24], edi
cmp edi, 0xa1
ja case.0x5261bc.98
movzx eax, byte [edi + 0x532b00]
jmp dword [eax*4 + 0x5329b4]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
inc dword [eax + 0x28]
mov eax, dword [eax + 0x28]
cmp eax, dword [edx + 0x2c]
ja 0x52fc8a
mov ebx, dword [esp + 0x14]
movzx eax, byte [ebx]
movzx edi, byte [ebx + 1]
add edi, ebx
movzx ecx, byte [eax + 0x5c9210]
add edi, ecx
mov dword [esp + 0x14], edi
jmp 0x526189
mov eax, dword [esp + 0x10]
mov ebp, esi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], edi
mov ebx, dword [eax + 0xac]
lea ebx, [ebx]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edi + 3]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x52630b
cmp edi, 0xfffffc20
jne 0x526277
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x532616
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x52627f
cmp byte [eax], 0x77
jmp 0x526279
test edi, edi
jne 0x532616
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x10]
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [eax + 0xac], ebx
cmp byte [edi], 0x77
je 0x526210
mov edx, dword [esp + 0x28]
mov al, byte [edi]
cmp al, 0x82
je 0x5262c0
cmp al, 0x77
jne case.0x5323be.14
jmp 0x5262c0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x5262c0
cmp byte [edi], 0x78
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [esp + 0x18], ebx
je 0x5262f9
cmp esi, ebp
jne 0x52f7b3
mov ebp, dword [esp + 0x1c]
add edi, 3
mov dword [esp + 0x14], edi
mov edx, eax
jmp 0x526190
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x28], edx
jmp 0x5262ad
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], 0
jmp 0x526ec0
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
add edx, 3
shl ecx, 8
mov ebp, edx
or ecx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
cmp byte [edx], 0x76
jne 0x52646e
mov edi, dword [0x64f038]
test edi, edi
je 0x526459
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x28]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x94], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [esp + 0x98], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xa8], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0xac], ecx
sar eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
and eax, 0xffff
cmove eax, dword [esp + 0x5c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xb0]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x80]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x5323be.14
js 0x532616
mov ecx, dword [esp + 0x20]
mov edx, ebp
movzx eax, byte [0x5c9286]
add edx, eax
sub ecx, eax
mov dword [esp + 0x14], edx
mov ebp, edx
mov dword [esp + 0x20], ecx
movzx eax, byte [edx]
xor ebx, ebx
mov dword [esp + 0x34], eax
add eax, 0xffffff73
cmp eax, 4
ja case.default.0x526485
jmp dword [eax*4 + 0x532ba4]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa4]
test edx, edx
je case.0x526485.145
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x5264c0
cmp ecx, dword [edx + 4]
jne 0x5266e5
mov ecx, dword [esp + 0x34]
mov ebx, 1
mov ebp, dword [esp + 0x18]
movzx ecx, byte [ecx + 0x5c9210]
jmp 0x5266ed
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa4], ebx
je case.0x526485.145
movzx edi, byte [edx + 3]
movzx eax, byte [edx + 4]
movzx ecx, byte [edx + 1]
movzx edx, byte [edx + 2]
shl edi, 8
or edi, eax
shl ecx, 8
mov eax, dword [esp + 0x10]
or edx, ecx
imul edx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add edx, eax
test edi, edi
je 0x5266e5
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + 0xa4]
mov ebp, dword [eax + 4]
lea esp, [esp]
movzx eax, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 1]
dec edi
shl eax, 8
or ecx, eax
cmp ecx, ebp
sete bl
je 0x526587
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x24]
add edx, eax
mov dword [esp + 0x3c], edx
test edi, edi
jg 0x526530
jmp 0x526587
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x18]
jge 0x526585
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x526585
mov ebx, 1
jmp 0x526587
xor ebx, ebx
mov ebp, dword [esp + 0x18]
test ebx, ebx
je 0x526605
mov ecx, dword [esp + 0x34]
movzx ecx, byte [ecx + 0x5c9210]
jmp 0x5266ed
mov edi, dword [esp + 0x14]
movzx edx, byte [edx + 3]
mov ebp, dword [esp + 0x18]
shl edx, 8
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
or edx, eax
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x10]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
test edx, edx
je 0x526605
mov edi, eax
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, ebp
jge 0x5265f4
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x52660e
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov eax, dword [eax + 0x24]
add eax, edi
mov edi, eax
test edx, edx
jg 0x5265d4
mov ecx, dword [esp + 0x20]
jmp 0x5266ed
mov ecx, dword [esp + 0x34]
mov ebx, 1
movzx ecx, byte [ecx + 0x5c9210]
jmp 0x5266ed
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 1
mov eax, dword [esp + 0x188]
inc eax
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push edx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 1
jne 0x5266d5
mov eax, dword [esp + 0x10]
mov ebx, edi
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ebx
mov eax, dword [eax + 0x8c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
movzx edi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edi, 8
or edi, eax
add edi, ebp
mov edx, edi
cmp byte [edx], 0x77
jne 0x5266b4
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
mov edx, ebx
mov dword [esp + 0x14], ebx
cmp byte [edx], 0x77
je 0x526694
mov ebx, dword [esp + 0x3c]
mov edi, edx
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x18]
movzx eax, byte [ecx + 0x5c9210]
movzx ecx, byte [ecx + 0x5c9210]
sub edi, eax
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x5266ed
test edi, edi
je 0x5266e5
cmp edi, 0xfffffc20
jne 0x532616
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
add edi, ecx
mov dword [esp + 0x14], edi
test ebx, ebx
jne 0x52f818
cmp byte [edi - 3], 0x77
je 0x52f818
mov edx, dword [esp + 0x10]
jmp 0x526185
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
lea edi, [edx + edx]
and eax, 0xffff0000
or eax, edx
mov dword [ecx + 0x90], eax
cmp edi, dword [ecx + 0x14]
jl 0x526767
mov edi, dword [esp + 0x14]
mov edx, ecx
mov ebp, dword [esp + 0x1c]
or eax, 0x10000
add edi, 3
mov dword [esp + 0x14], edi
mov dword [edx + 0x90], eax
jmp 0x526190
mov eax, ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, esi
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + edi*4 + 4], ecx
cmp ebx, edi
jg 0x528cce
mov ebp, dword [esp + 0x1c]
lea ebx, [edi + 2]
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
jmp 0x526190
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x5267d2
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x5267d4
xor ebp, ebp
mov edi, dword [esp + 0x14]
jmp 0x5267e0
mov eax, dword [esp + 0x188]
inc eax
push eax
push 0
push dword [esp + 0x18]
lea eax, [edi + 3]
push dword [esp + 0x24]
push dword [esp + 0x38]
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x526879
cmp edi, 0xfffffc19
je 0x526879
mov eax, dword [esp + 0x10]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jne 0x52684f
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x532616
cmp byte [edx], 0x77
je 0x526857
cmp byte [eax], 0x77
jmp 0x526851
test edi, edi
jne 0x532616
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
je 0x5267e0
jmp 0x526888
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x28], eax
cmp byte [edi], 0x78
je case.0x5323be.14
test ebp, ebp
jne 0x52fe1c
lea esp, [esp]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x5268a0
mov eax, dword [esp + 0x10]
add edi, 3
mov ebp, dword [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x18], ebx
jmp 0x526190
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x98], 1
mov ebx, dword [eax + 0xac]
jne 0x5268f8
mov dword [eax + 0x98], 0
mov ebp, 1
jmp 0x5268fa
xor ebp, ebp
mov edi, dword [esp + 0x14]
mov edi, edi
mov eax, dword [esp + 0x188]
inc eax
push eax
push 0
push dword [esp + 0x18]
lea eax, [edi + 3]
push dword [esp + 0x24]
push dword [esp + 0x38]
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
mov eax, dword [esp + 0x10]
mov dword [eax + 0xac], ebx
cmp edi, 0xfffffc20
jg 0x526962
jne 0x526993
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or eax, ecx
add eax, edi
cmp dword [edx + 0x7c], eax
jae 0x5269c0
cmp byte [edi], 0x77
je 0x526975
cmp byte [eax], 0x77
jne 0x5269c0
jmp 0x526975
mov eax, edi
sub eax, 0
jne 0x52fcdb
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
je 0x526900
jmp 0x5269d4
cmp edi, 0xfffffc19
je case.0x5323be.14
lea eax, [edi + 0x3e4]
cmp eax, 3
ja 0x532616
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x5269c0
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x5269c0
test ebp, ebp
jne 0x52fe1c
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
test ebp, ebp
je 0x526a2c
or ecx, eax
mov eax, dword [esp + 0x10]
jbe 0x526a3d
mov edx, dword [eax + 0x74]
dec esi
dec ecx
cmp esi, edx
jb case.0x5323be.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x526a22
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x526a18
test ecx, ecx
jg 0x526a06
mov eax, dword [esp + 0x10]
jmp 0x526a3d
or ecx, eax
mov eax, dword [esp + 0x10]
sub esi, ecx
cmp esi, dword [eax + 0x74]
jb case.0x5323be.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp esi, dword [eax + 0x84]
jae 0x528cd2
mov ebp, dword [esp + 0x1c]
add edi, 3
mov dword [eax + 0x84], esi
mov dword [esp + 0x14], edi
jmp 0x526190
mov edi, dword [0x64f038]
test edi, edi
je 0x526b6a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb4], 2
movzx eax, byte [edx + 1]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x74]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x28]
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xc8], eax
mov eax, esi
sub eax, dword [ecx + 0x74]
mov dword [esp + 0xcc], eax
movzx ecx, byte [edx + 2]
movzx eax, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0xdc], ecx
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov dword [esp + 0xe0], ecx
sar eax, 1
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
and eax, 0xffff
cmove eax, dword [esp + 0x5c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xb0]
mov dword [esp + 0xe4], eax
lea eax, [esp + 0xb4]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.0x5323be.14
js 0x532616
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, 6
mov dword [esp + 0x14], edi
jmp 0x526190
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
movzx ebx, byte [edi + 1]
mov edx, dword [eax + 0x70]
movzx eax, byte [edi + 2]
shl ebx, 8
or ebx, eax
add ebx, edx
cmp ebx, edx
jne 0x526ba0
xor ecx, ecx
jmp 0x526bad
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
test eax, eax
je 0x526bd4
jmp 0x526bc0
cmp ecx, dword [eax + 4]
jne 0x526bce
cmp esi, dword [eax + 0x14]
je 0x52fceb
mov eax, dword [eax]
test eax, eax
jne 0x526bc0
mov eax, dword [esp + 0x10]
add edi, 3
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x14], edi
mov eax, dword [eax + 0x90]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], esi
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x6c], ecx
cmp ecx, 0x1e
jg 0x526c26
lea eax, [esp + 0xe8]
mov dword [esp + 0x68], eax
jmp 0x526c47
lea eax, [ecx*4]
push eax
call dword [0x634300]
add esp, 4
mov dword [esp + 0x68], eax
test eax, eax
je 0x52fd19
mov ecx, dword [esp + 0x6c]
shl ecx, 2
push ecx
mov ecx, dword [esp + 0x14]
push dword [ecx + 0xc]
push eax
call fcn.005514d0
add esp, 0xc
cmp byte [ebx], 0x88
sbb ebp, ebp
inc ebp
test ebp, ebp
je 0x526c73
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ebx]
push dword [esp + 0x18]
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, ebx
push eax
push esi
call fcn.00526040
mov edi, eax
mov eax, dword [esp + 0x88]
shl eax, 2
push eax
mov eax, dword [esp + 0x30]
push dword [esp + 0x88]
push dword [eax + 0xc]
call fcn.005514d0
mov ecx, dword [esp + 0x38]
add esp, 0x28
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x90], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0xa4], eax
cmp edi, 1
je 0x526d53
cmp edi, 0xfffffc19
je 0x526d53
cmp edi, 0xfffffc1c
jl 0x526cf7
cmp edi, 0xfffffc20
jle case.0x5323be.14
test edi, edi
jne 0x52fcf5
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x60]
mov dword [eax + 0xa4], ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x526c61
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
mov dword [ecx + 0xa4], eax
lea ecx, [esp + 0xe8]
mov eax, dword [esp + 0x68]
cmp eax, ecx
je case.0x5323be.14
push eax
call dword [0x634304]
add esp, 4
xor eax, eax
jmp 0x532998
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0xe8]
cmp eax, ecx
je 0x526d6c
push eax
call dword [0x634304]
add esp, 4
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x28], eax
jmp 0x52617d
mov edi, dword [esp + 0x14]
jmp 0x526d90
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x77
je 0x526d90
mov dword [esp + 0x14], edi
jmp 0x526190
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
nop
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x526de0
lea edi, [ebx + 3]
mov dword [esp + 0x14], edi
jmp 0x526e00
mov edx, dword [esp + 0x10]
jmp 0x526189
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
mov edx, 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 0x526e14
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edx + 3]
push dword [esp + 0x18]
push ebx
push dword [esp + 0x38]
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x526190
mov edx, dword [esp + 0x14]
inc edx
jmp 0x526e70
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x526e70
lea edi, [edx + 3]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
jmp 0x526190
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], ecx
movzx edi, byte [ecx]
mov dword [esp + 0x24], edi
cmp edi, 0x86
je 0x526ec0
cmp edi, 0x8b
jne 0x5270a0
movzx ebp, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebp, 8
or ebp, eax
lea eax, [ebp*2]
cmp eax, dword [edx + 0x14]
jge 0x527098
xor edx, edx
shl eax, 2
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], eax
sub ecx, dword [edx + 0x70]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov eax, dword [eax + 0x10]
sub eax, ebp
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x90]
jmp 0x526f27
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebp
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x526f4d
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
movzx eax, byte [ecx]
push dword [esp + 0x24]
push dword [esp + 0x38]
movzx eax, byte [eax + 0x5c9210]
add eax, ecx
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1a
jne 0x526fc7
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x3c], 1
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov ebx, dword [eax + 0x90]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x70]
add ecx, dword [esp + 0x4c]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
jmp 0x526f23
cmp edi, 0xfffffc20
jne 0x526fff
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x532616
cmp byte [edx], 0x77
je 0x52700b
cmp byte [eax], 0x77
jne 0x532616
jmp 0x52700b
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [eax + 0x90], ebx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
cmp byte [edx], 0x77
je 0x526f23
mov edx, dword [esp + 0x3c]
test edx, edx
jne 0x527071
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x40]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax], edi
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
mov dword [ecx + eax + 4], edi
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x48]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
sub ecx, ebp
mov dword [eax + ecx*4], edi
cmp dword [esp + 0x34], 0
jne 0x527080
test edx, edx
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x526185
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x10]
mov ebx, ecx
xor ebp, ebp
sub ebx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov dword [esp + 0x3c], eax
cmp edi, 0x88
jb 0x5270cb
mov eax, dword [esp + 0x10]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push dword [esp + 0x18]
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, ecx
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1a
jne 0x527133
mov eax, dword [esp + 0x10]
mov ebp, 1
mov edi, dword [esp + 0x24]
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x7c]
add ecx, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
jmp 0x5270b5
cmp edi, 0xfffffc20
jne 0x52716f
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x7c], eax
jae 0x532616
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x52717b
cmp byte [eax], 0x77
jne 0x532616
jmp 0x52717b
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x14], edi
cmp byte [edi], 0x77
jne 0x5271ae
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0x90], eax
jmp 0x5270b5
test ebp, ebp
jne 0x5271bc
cmp dword [esp + 0x34], ebp
je case.0x5323be.14
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x526185
mov edi, dword [esp + 0x14]
mov ebx, edi
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [esp + 0x20], ebx
mov cl, byte [ebx]
cmp cl, 0x88
jae 0x5271f1
cmp cl, 0x81
je 0x5271f1
xor ebp, ebp
jmp 0x527201
mov ebp, dword [esp + 0x2c]
lea eax, [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0x2c], ebp
mov ebp, dword [eax]
cmp cl, 0x7d
jb 0x52720f
cmp cl, 0x80
jbe 0x52fe05
cmp cl, 0x82
je 0x52fe05
cmp cl, 0x85
je 0x52722c
cmp cl, 0x8a
je 0x52722c
cmp cl, 0x86
je 0x52722c
cmp cl, 0x8b
jne 0x52728a
movzx edx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
lea ebx, [edx + edx]
mov ecx, ebx
test eax, eax
je 0x527255
cmp dword [eax + 4], edx
je 0x52fd23
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
and eax, 0xffff0000
or eax, edx
mov dword [edi + 0x90], eax
cmp ecx, dword [edi + 0x14]
jl 0x5272b8
mov ebx, dword [esp + 0x20]
mov edx, edi
mov edi, dword [esp + 0x14]
or eax, 0x10000
mov dword [edx + 0x90], eax
mov ecx, dword [esp + 0x18]
cmp byte [edi], 0x78
je 0x52729b
cmp esi, ebp
jne 0x52f856
cmp byte [ebx], 0x81
je 0x52fdc7
mov ebx, dword [esp + 0x18]
add edi, 3
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
jmp 0x526190
mov edi, dword [esp + 0x18]
cmp ecx, edi
jle 0x5272de
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
lea edi, [eax + edi*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x5272de
mov eax, dword [esp + 0x5c]
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [esp + 0x10]
sub ecx, dword [eax + 0x74]
mov eax, dword [eax + 0xc]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
jg 0x527317
lea ecx, [ebx + 2]
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x20]
jmp 0x52728e
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
je 0x527339
cmp esi, dword [eax + 0x74]
je case.0x5323be.14
jmp 0x527339
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x74]
jne case.0x5323be.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x44], 0
je 0x527367
cmp esi, dword [eax + 0x74]
je case.0x5323be.14
mov ecx, dword [eax + 0x74]
cmp esi, ecx
je 0x52836f
cmp esi, dword [eax + 0x78]
je case.0x5323be.14
mov edx, dword [eax + 0x18]
test edx, edx
je 0x5273b4
cmp esi, ecx
jbe case.0x5323be.14
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.00535830
add esp, 0x14
test eax, eax
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov edx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp esi, eax
jb case.0x5323be.14
mov ebx, dword [esp + 0x10]
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x34]
jne case.0x5323be.14
cmp edx, 1
mov edx, ebx
je 0x527346
mov al, byte [ecx + 1]
cmp al, byte [edx + 0x35]
jne case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
add eax, dword [edx + 0x74]
cmp esi, eax
jne case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], edi
jmp 0x526190
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x5274e3
mov edx, dword [eax + 0x18]
test edx, edx
je 0x527467
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne 0x527342
mov eax, dword [esp + 0x10]
jmp 0x527494
mov edx, dword [eax + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x527494
mov ecx, dword [esp + 0x10]
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne 0x527492
cmp edx, 1
mov edx, ecx
je 0x527346
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x527346
mov eax, ecx
cmp dword [eax + 0x88], 0
je case.0x5323be.14
mov ecx, dword [esp + 0x10]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb case.0x5323be.14
cmp dword [ecx + 0x18], 0
jne case.0x5323be.14
cmp dword [ecx + 0x1c], 2
jne case.0x5323be.14
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
jne case.0x5323be.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x53250b
cmp dword [eax + 0x48], 0
jne case.0x5323be.14
jmp 0x5275f8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x48], 0
jne case.0x5323be.14
cmp dword [eax + 0x58], 0
je 0x527558
jmp 0x52750c
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jb case.0x5323be.14
cmp dword [eax + 0x88], 0
je 0x527342
cmp esi, dword [eax + 0x84]
jbe 0x527342
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x532511
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x78]
cmp esi, eax
jae 0x5275f4
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x18]
lea edi, [ebx + 0x1c]
test ecx, ecx
je 0x5275cd
push ebp
push edi
push eax
push ecx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne 0x5275e9
cmp dword [ebx + 0x88], 0
je case.0x5323be.14
lea eax, [esi + 1]
cmp eax, dword [ebx + 0x78]
jb case.0x5323be.14
cmp dword [ebx + 0x18], 0
jne case.0x5323be.14
cmp dword [ebx + 0x1c], 2
jne case.0x5323be.14
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne case.0x5323be.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x53250b
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x527582
mov al, byte [esi]
cmp al, byte [ebx + 0x34]
jne 0x527582
cmp ecx, 1
je 0x5275e9
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
jne 0x527582
mov eax, ebx
mov eax, dword [eax + 0x78]
sub eax, dword [edi]
cmp esi, eax
jne 0x527582
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x52836f
cmp esi, dword [eax + 0x84]
jbe 0x52836f
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x532511
mov edi, dword [esp + 0x14]
mov edx, eax
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
test ebp, ebp
je 0x52788c
cmp esi, dword [eax + 0x74]
je 0x52778a
mov al, byte [esi - 1]
lea edx, [esi - 1]
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x527664
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x527658
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 0x84]
jae 0x527676
mov dword [eax + 0x84], edx
movzx ebx, byte [edx]
mov ecx, ebx
cmp ebx, 0xc0
jb 0x52772b
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x5276a2
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x527723
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x5276b5
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x52771d
and eax, 0x3f
test bl, 8
jne 0x5276d0
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x52771d
test bl, 4
jne 0x5276f4
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 0x52771d
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x10]
mov ecx, ebx
cmp dword [eax + 0x54], 0
je 0x527772
cmp ecx, 0x5f
je 0x52776b
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x52776b
cmp eax, 3
jne 0x52778a
mov edi, 1
jmp 0x52778c
cmp ecx, 0x100
jae 0x52778a
mov eax, dword [eax + 0x40]
test byte [ebx + eax], 0x10
je 0x52778a
mov edi, 1
jmp 0x52778c
xor edi, edi
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x527923
movzx edx, byte [esi]
mov ecx, edx
cmp edx, 0xc0
jb 0x52784e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x5277c5
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x527846
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x5277d8
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x527840
and eax, 0x3f
test dl, 8
jne 0x5277f3
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x527840
test dl, 4
jne 0x527817
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 0x527840
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, dword [esp + 0x10]
mov ecx, edx
cmp dword [eax + 0x54], 0
je 0x527874
cmp ecx, 0x5f
je 0x5279bd
mov eax, ecx
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
and ecx, 0x7f
jmp 0x52799a
cmp ecx, 0x100
jae 0x527948
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jmp 0x5279cb
cmp esi, dword [eax + 0x74]
je 0x527918
cmp esi, dword [eax + 0x84]
ja 0x5278ac
mov ecx, dword [esp + 0x10]
lea eax, [esi - 1]
mov dword [ecx + 0x84], eax
mov eax, ecx
cmp dword [eax + 0x54], 0
movzx ecx, byte [esi - 1]
je 0x527908
cmp ecx, 0x5f
je 0x527901
mov eax, ecx
test eax, eax
jns 0x5278c4
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
and ecx, 0x8000007f
jns 0x5278de
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x527901
cmp eax, 3
jne 0x527918
mov edi, 1
jmp 0x52791a
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x527918
mov edi, 1
jmp 0x52791a
xor edi, edi
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jb 0x527969
cmp dword [eax + 0x88], 0
je 0x527948
cmp esi, dword [eax + 0x84]
jbe 0x527948
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x532511
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov al, byte [edx]
inc edx
mov dword [esp + 0x14], edx
cmp al, 5
jne 0x5279db
xor eax, eax
cmp ecx, edi
sete al
jmp 0x5279e2
cmp dword [eax + 0x54], 0
movzx ecx, byte [esi]
je 0x5279c4
cmp ecx, 0x5f
je 0x5279bd
mov eax, ecx
test eax, eax
jns 0x527980
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
and ecx, 0x8000007f
jns 0x52799a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x5279bd
cmp eax, 3
jne 0x527948
mov ecx, 1
jmp 0x52794a
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x527948
mov ecx, 1
jmp 0x52794a
xor eax, eax
cmp ecx, edi
setne al
test eax, eax
jne case.0x5323be.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x526189
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x527a67
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x527a25
push ebp
add eax, 0x1c
push eax
push ecx
push edx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne case.0x5323be.14
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x527a9b
mov ecx, dword [esp + 0x10]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
mov eax, ecx
jb 0x527a9b
cmp dword [eax + 0x18], 0
jne 0x527a9b
cmp dword [eax + 0x1c], 2
jne 0x527a9b
mov al, byte [esi]
cmp al, byte [ecx + 0x34]
mov eax, ecx
jne 0x527a9b
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x532511
jmp 0x527a9b
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x78]
sub eax, ecx
cmp esi, eax
ja 0x527a21
mov edx, dword [esp + 0x10]
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x527a93
cmp ecx, 1
je case.0x5323be.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5323be.14
mov eax, edx
jmp 0x527a25
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52ff64
inc esi
test ebp, ebp
je 0x527342
cmp esi, edx
jae 0x527342
mov ecx, esi
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x527342
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x527ac0
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
mov edi, dword [esp + 0x14]
inc esi
inc edi
mov edx, eax
mov dword [esp + 0x14], edi
jmp 0x526190
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x527c06
cmp ecx, 0xc0
jb 0x527c06
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x527b45
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x527c04
test cl, 0x10
jne 0x527b66
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 0x527c04
test cl, 8
jne 0x527b93
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 0x527c04
test cl, 4
jne 0x527bc9
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 0x527c04
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
mov edx, dword [esp + 0x10]
cmp eax, 0x100
jae 0x527346
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
jne case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x527d31
cmp ecx, 0xc0
jb 0x527d31
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x527c70
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x527d2f
test cl, 0x10
jne 0x527c91
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 0x527d2f
test cl, 8
jne 0x527cbe
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 0x527d2f
test cl, 4
jne 0x527cf4
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 0x527d2f
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.0x5323be.14
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 4
je case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x527e5c
cmp ecx, 0xc0
jb 0x527e5c
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x527d9b
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x527e5a
test cl, 0x10
jne 0x527dbc
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 0x527e5a
test cl, 8
jne 0x527de9
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 0x527e5a
test cl, 4
jne 0x527e1f
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 0x527e5a
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
mov edx, dword [esp + 0x10]
cmp eax, 0x100
jae 0x527346
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x527f87
cmp ecx, 0xc0
jb 0x527f87
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x527ec6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x527f85
test cl, 0x10
jne 0x527ee7
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 0x527f85
test cl, 8
jne 0x527f14
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 0x527f85
test cl, 4
jne 0x527f4a
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 0x527f85
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.0x5323be.14
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
je case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx edx, byte [esi]
inc esi
mov eax, edx
test ebp, ebp
je 0x5280a4
cmp edx, 0xc0
jb 0x5280a4
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x527ff3
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
inc esi
jmp 0x5280a2
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x528016
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
mov edx, ecx
or edx, eax
add esi, 2
jmp 0x5280a2
test dl, 8
jne 0x52803b
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 3
jmp 0x5280a2
test dl, 4
jne 0x52806c
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 4
jmp 0x5280a2
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
add esi, 5
mov eax, edx
cmp eax, 0x100
jae 0x527342
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jmp 0x52733c
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, ecx
test ebp, ebp
je 0x5281c0
cmp ecx, 0xc0
jb 0x5281c0
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5280ff
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5281be
test cl, 0x10
jne 0x528120
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 0x5281be
test cl, 8
jne 0x52814d
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 0x5281be
test cl, 4
jne 0x528183
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 0x5281be
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0xff
ja case.0x5323be.14
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
je case.0x5323be.14
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, esi
test ebp, ebp
je 0x5282ed
cmp ecx, 0xc0
jb 0x5282ed
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52822c
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5282eb
test cl, 0x10
jne 0x52824d
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 0x5282eb
test cl, 8
jne 0x52827a
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 0x5282eb
test cl, 4
jne 0x5282b0
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 0x5282eb
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, esi
cmp ecx, 0xd
ja 0x52834a
je 0x528308
cmp ecx, 0xa
je 0x527342
jbe case.0x5323be.14
cmp ecx, 0xc
jmp 0x52835b
cmp eax, edx
mov edx, dword [esp + 0x10]
jb 0x528330
cmp dword [edx + 0x88], 0
je 0x527346
cmp eax, dword [edx + 0x84]
jbe 0x527346
mov eax, edx
jmp 0x527611
cmp byte [esi], 0xa
jne 0x527346
mov edi, dword [esp + 0x14]
lea esi, [eax + 1]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
cmp ecx, 0x85
je 0x528361
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x5323be.14
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x68], 0
jne case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, eax
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x52847c
cmp ecx, 0xc0
jb 0x52847c
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x5283bd
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52847c
test cl, 0x10
jne 0x5283de
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 0x52847c
test cl, 8
jne 0x52840b
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 0x52847c
test cl, 4
jne 0x528441
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 0x52847c
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 0x5284da
je case.0x5323be.14
cmp ecx, 0xa0
ja 0x5284bc
je case.0x5323be.14
cmp ecx, 9
je case.0x5323be.14
cmp ecx, 0x20
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
cmp ecx, 0x1680
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
cmp ecx, 0x205f
ja 0x52851e
je case.0x5323be.14
cmp ecx, 0x2000
jb 0x527342
cmp ecx, 0x200a
jbe case.0x5323be.14
cmp ecx, 0x202f
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
cmp ecx, 0x3000
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x528639
cmp ecx, 0xc0
jb 0x528639
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52857a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x528639
test cl, 0x10
jne 0x52859b
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 0x528639
test cl, 8
jne 0x5285c8
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 0x528639
test cl, 4
jne 0x5285fe
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 0x528639
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 0x528671
je 0x527342
cmp ecx, 0xa0
ja 0x528666
je 0x527342
cmp ecx, 9
je 0x527342
cmp ecx, 0x20
jmp 0x52733c
cmp ecx, 0x1680
jmp 0x52733c
cmp ecx, 0x205f
ja 0x5286a2
je 0x527342
cmp ecx, 0x2000
jb case.0x5323be.14
cmp ecx, 0x200a
jbe 0x527342
cmp ecx, 0x202f
jmp 0x52733c
cmp ecx, 0x3000
jmp 0x52733c
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx edx, byte [esi]
inc esi
test ebp, ebp
je 0x52879a
cmp edx, 0xc0
jb 0x52879a
test dl, 0x20
jne 0x5286eb
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x52879a
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x528712
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
add esi, 2
jmp 0x528798
test dl, 8
jne 0x528735
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 0x528798
test dl, 4
jne 0x528764
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 0x528798
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov edx, ecx
cmp edx, 0x85
ja 0x5287cc
je case.0x5323be.14
cmp edx, 0xa
jb 0x527342
cmp edx, 0xd
jbe case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
cmp edx, 0x2028
jb 0x527342
cmp edx, 0x2029
jbe case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
test ebp, ebp
je 0x5288f3
cmp ecx, 0xc0
jb 0x5288f3
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x528834
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x5288f3
test cl, 0x10
jne 0x528855
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 0x5288f3
test cl, 8
jne 0x528882
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 0x5288f3
test cl, 4
jne 0x5288b8
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 0x5288f3
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 0x52891f
je 0x527342
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x526185
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx edx, byte [esi]
inc esi
mov edi, edx
test ebp, ebp
je 0x528a41
cmp edx, 0xc0
jb 0x528a41
movzx eax, byte [esi]
and eax, 0x3f
test dl, 0x20
jne 0x528980
and edx, 0x1f
shl edx, 6
or edx, eax
inc esi
jmp 0x528a3f
test dl, 0x10
jne 0x5289a1
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 0x528a3f
test dl, 8
jne 0x5289ce
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 0x528a3f
test dl, 4
jne 0x528a04
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 0x528a3f
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 edi, edx
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx ebx, word [ecx*2 + 0x5ccef0]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 1]
cmp eax, 0xa
ja case.default.0x528a70
jmp dword [eax*4 + 0x532bb8]
cmp dword [esp + 0x24], 0xf
jmp 0x528cc0
mov al, byte [ebx*8 + 0x5c9959]
cmp al, 9
je 0x528caf
cmp al, 5
je 0x528caf
cmp al, 8
je 0x528caf
xor ecx, ecx
jmp 0x528cb4
mov edi, dword [esp + 0x14]
xor edx, edx
movzx ecx, byte [ebx*8 + 0x5c9959]
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x5c9328]
setne dl
xor eax, eax
cmp dword [esp + 0x24], 0x10
sete al
cmp edx, eax
je case.0x5323be.14
mov edx, dword [esp + 0x10]
add edi, 3
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
jmp 0x526190
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x5c9959]
setne cl
xor eax, eax
cmp dword [esp + 0x24], 0x10
sete al
cmp ecx, eax
je case.0x5323be.14
mov edx, dword [esp + 0x10]
add edi, 3
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
jmp 0x526190
mov edi, dword [esp + 0x14]
xor ecx, ecx
mov al, byte [edi + 2]
cmp al, byte [ebx*8 + 0x5c9958]
setne cl
xor eax, eax
cmp dword [esp + 0x24], 0x10
sete al
cmp ecx, eax
je case.0x5323be.14
mov edx, dword [esp + 0x10]
add edi, 3
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
jmp 0x526190
movzx eax, byte [ebx*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x528caf
cmp eax, 3
je 0x528caf
xor ecx, ecx
jmp 0x528cb4
cmp edx, 0x180e
ja 0x528bd2
je case.0x528a70.0
cmp edx, 0x85
ja 0x528bbe
je case.0x528a70.0
cmp edx, 9
jb case.0x528bf2.8203
cmp edx, 0xd
jbe case.0x528a70.0
cmp edx, 0x20
jmp 0x528c0b
cmp edx, 0xa0
je case.0x528a70.0
cmp edx, 0x1680
jmp 0x528c0b
cmp edx, 0x202f
ja 0x528bf9
je case.0x528a70.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x528bf2.8203
movzx eax, byte [edx + 0x532bec]
jmp dword [eax*4 + 0x532be4]
cmp edx, 0x205f
je case.0x528a70.0
cmp edx, 0x3000
je case.0x528a70.0
movzx eax, byte [ebx*8 + 0x5c9959]
xor ecx, ecx
cmp dword [eax*4 + 0x5c9328], 6
sete cl
jmp 0x528cb4
movzx eax, byte [ebx*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x528caf
cmp eax, 3
je 0x528caf
cmp edi, 0x5f
je 0x528caf
xor ecx, ecx
jmp 0x528cb4
movzx eax, byte [ecx + 2]
mov ecx, dword [eax*4 + 0x5c9818]
lea eax, [eax*4 + 0x5c9818]
cmp edi, ecx
jb 0x528c70
lea eax, [eax + 4]
cmp edx, ecx
je 0x528c77
mov ecx, dword [eax]
cmp edx, ecx
jae 0x528c63
cmp dword [esp + 0x24], 0x10
jmp 0x528cc0
cmp dword [esp + 0x24], 0x10
jne case.0x5323be.14
jmp 0x528cc6
cmp edi, 0x24
je 0x528caf
cmp edi, 0x40
je 0x528caf
cmp edi, 0x60
je 0x528caf
cmp edi, 0xa0
jb 0x528ca3
cmp edi, 0xd7ff
jbe 0x528caf
cmp edi, 0xe000
jae 0x528caf
xor ecx, ecx
jmp 0x528cb4
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x24], 0xf
sete al
cmp ecx, eax
je case.0x5323be.14
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x526190
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x1c]
mov ebp, ebx
mov dword [esp + 0x3c], ebx
mov ecx, esi
test edx, edx
je 0x528dec
cmp ebx, 0xc0
jb 0x528dec
mov al, byte [esi]
test bl, 0x20
jne 0x528d2e
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x528dea
lea ecx, [esi + 1]
test bl, 0x10
jne 0x528d51
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x528de2
movzx ebp, al
lea edx, [esi + 2]
and ebp, 0x3f
test bl, 8
jne 0x528d7a
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x528dde
lea edi, [esi + 3]
test bl, 4
jne 0x528da8
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x528dde
mov eax, dword [esp + 0x3c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x1c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx ebx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x528f39
nop
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x528ef2
cmp edx, 0xc0
jb 0x528ef2
test dl, 0x20
jne 0x528e52
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x528eea
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x528e74
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x528eea
and eax, 0x3f
test dl, 8
jne 0x528e94
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x528eea
test dl, 4
jne 0x528ebd
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 0x528eea
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx ecx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x5c93a0], eax
je 0x528f35
mov edx, dword [esp + 0x1c]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x528e20
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x527342
cmp esi, ebp
jb 0x527342
jmp 0x527522
xor ebx, ebx
cmp edi, 0x74
mov edi, dword [esp + 0x14]
sete bl
mov dword [esp + 0x40], ebx
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 1]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [edi + 2]
add edi, 5
or ecx, eax
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x10]
imul ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x30]
add eax, ecx
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x50]
neg edi
sbb edi, edi
xor ebp, ebp
neg edi
dec edi
mov dword [esp + 0x20], edi
test edx, edx
je 0x529042
mov ebx, eax
nop
movzx ecx, byte [eax]
dec edx
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
lea ebp, [ecx + ecx]
mov ecx, dword [esp + 0x10]
cmp ebp, dword [esp + 0x18]
jge 0x528fd3
mov eax, dword [ecx + 0xc]
cmp dword [eax + ebp*4], 0
jge 0x528fe4
mov eax, dword [ecx + 0x24]
add eax, ebx
mov ebx, eax
test edx, edx
jg 0x528fb0
mov ebx, dword [esp + 0x40]
jmp 0x529042
mov edi, dword [eax + ebp*4 + 4]
sub edi, dword [eax + ebp*4]
mov ebx, dword [esp + 0x40]
jmp 0x52903e
xor ebx, ebx
cmp edi, 0x72
mov edi, dword [esp + 0x14]
sete bl
mov dword [esp + 0x40], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
add edi, 3
shl ecx, 8
or ecx, eax
mov dword [esp + 0x14], edi
lea ebp, [ecx + ecx]
cmp ebp, dword [esp + 0x18]
jge 0x529030
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ebp*4]
test ecx, ecx
js 0x529030
mov edi, dword [eax + ebp*4 + 4]
sub edi, ecx
jmp 0x52903e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x50]
neg edi
sbb edi, edi
neg edi
dec edi
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x14]
mov dl, byte [eax]
movzx ecx, dl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x52905e
movzx eax, byte [eax + 0x532c20]
jmp dword [eax*4 + 0x532c18]
movsx eax, byte [ecx + 0x5c88a2]
lea edx, [ecx - 0x62]
inc dword [esp + 0x14]
and edx, 1
movsx ebx, byte [ecx + 0x5c8896]
test eax, eax
mov dword [esp + 0x3c], edx
cmove eax, dword [esp + 0x58]
mov dword [esp + 0x34], eax
jmp 0x5290c8
xor eax, eax
cmp dl, 0x69
mov edx, dword [esp + 0x14]
sete al
mov dword [esp + 0x3c], 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 [esp + 0x58]
add edx, 5
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], edx
mov eax, ebx
test edi, edi
je 0x52617d
jns 0x5290dc
test ebx, ebx
je 0x52617d
mov edi, 1
cmp eax, edi
jl 0x529115
jmp 0x5290f0
push dword [esp + 0x40]
push dword [esp + 0x14]
push dword [esp + 0x28]
push esi
push ebp
call fcn.00533010
add esp, 0x14
test eax, eax
js 0x52fe25
inc edi
add esi, eax
cmp edi, ebx
jle 0x5290f0
mov edi, dword [esp + 0x34]
cmp ebx, edi
je 0x52617d
cmp dword [esp + 0x3c], 0
je 0x52fe6f
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
lea esp, [esp]
cmp ebx, dword [esp + 0x34]
jge case.0x5323be.14
push dword [esp + 0x40]
mov edi, dword [esp + 0x14]
push edi
push dword [esp + 0x28]
push esi
push ebp
call fcn.00533010
add esp, 0x14
test eax, eax
js 0x52fe4c
add esi, eax
inc ebx
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x529160
jmp 0x532998
push ebx
mov ebx, dword [esp + 0x14]
push ebx
push edi
push esi
push ebp
call fcn.00533010
add esp, 0x14
test eax, eax
js 0x52ff23
add esi, eax
mov edx, ebx
jmp 0x526181
mov ebp, dword [esp + 0x14]
mov cl, byte [ebp + 0x21]
lea ebx, [ebp + 1]
add ebp, 0x21
movzx edx, cl
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], ebp
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x529207
movzx eax, byte [eax + 0x532c30]
jmp dword [eax*4 + 0x532c28]
lea eax, [edx - 0x62]
inc ebp
mov dword [esp + 0x14], ebp
cmp eax, 8
jae 0x529226
mov ecx, eax
and ecx, 1
mov dword [esp + 0x40], ecx
jmp 0x52922e
mov dword [esp + 0x48], 1
movsx edx, byte [eax + 0x5c88f8]
movsx eax, byte [eax + 0x5c8904]
mov dword [esp + 0x20], edx
mov dword [esp + 0x38], eax
test eax, eax
jne 0x5292a7
mov dword [esp + 0x38], 0x7fffffff
jmp 0x5292a7
movzx edx, byte [ebp + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x40], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [ebp + 3]
sete al
shl edx, 8
mov dword [esp + 0x48], eax
movzx eax, byte [ebp + 2]
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 4]
or ecx, eax
cmove ecx, dword [esp + 0x58]
add ebp, 5
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], ebp
jmp 0x5292a3
mov dword [esp + 0x38], 1
mov edx, 1
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x1c]
mov ebp, 1
mov dword [esp + 0x4c], ebp
test ecx, ecx
je 0x529434
cmp edx, ebp
jl 0x529470
jmp 0x5292d0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x5293f9
test bl, 0x20
jne 0x52930a
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x5293f9
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x529335
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x5293f5
lea edx, [esi + 2]
test bl, 8
jne 0x529369
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x5293f1
lea edi, [esi + 3]
test bl, 4
jne 0x5293a9
movzx ebx, al
add esi, 4
mov eax, dword [esp + 0x3c]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x5293f1
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
cmp ebx, 0xff
jbe 0x529406
cmp edi, 0x6e
jmp 0x52941b
mov eax, dword [esp + 0x50]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [ebx + ecx], al
je case.0x5323be.14
inc ebp
mov dword [esp + 0x4c], ebp
cmp ebp, edx
jle 0x5292d0
mov ebx, dword [esp + 0x34]
jmp 0x52946c
cmp edx, 1
jl 0x529470
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52ff60
movzx edx, byte [esi]
inc esi
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je case.0x5323be.14
mov edx, dword [esp + 0x20]
inc ebp
cmp ebp, edx
jle 0x529440
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
cmp edx, eax
je 0x52617d
cmp dword [esp + 0x40], 0
jne 0x52ff90
mov ebp, esi
test ecx, ecx
je 0x529678
cmp edx, eax
jge 0x5295ea
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x5295c1
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x529580
test dl, 0x20
jne 0x5294da
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov edi, 2
jmp 0x52957c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5294fc
and edx, 0xf
mov edi, 3
shl edx, 6
or ecx, edx
jmp 0x529572
and eax, 0x3f
test dl, 8
jne 0x52951c
and edx, 7
mov edi, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x529572
test dl, 4
jne 0x529545
and edx, 3
mov edi, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x529572
and edx, edi
mov edi, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov eax, dword [esp + 0x38]
cmp edx, 0xff
jbe 0x529591
cmp dword [esp + 0x24], 0x6e
je 0x5295ea
jmp 0x5295ac
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [edx + ecx], al
je 0x5295ea
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
add esi, edi
inc edx
mov dword [esp + 0x20], edx
cmp edx, eax
jl 0x5294a0
jmp 0x5295ea
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x5295ea
cmp esi, dword [eax + 0x84]
jbe 0x5295ea
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x532511
cmp dword [esp + 0x48], 0
jne 0x52617d
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov eax, esi
dec esi
cmp eax, ebp
je case.0x5323be.14
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52964a
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x529640
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x529626
jmp 0x532998
cmp edx, eax
jge 0x5296ad
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x5296ff
movzx edx, byte [esi]
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebx], al
je 0x5296ad
mov eax, dword [esp + 0x20]
inc esi
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x38]
jl 0x529683
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebp
jb case.0x5323be.14
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
dec esi
cmp esi, ebp
jae 0x5296c4
jmp 0x532998
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x5296b1
cmp esi, dword [edx + 0x84]
jbe 0x5296b1
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x5296b1
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
lea ebx, [edi + 3]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ebx
add edi, ecx
mov dword [esp + 0x14], edi
mov cl, byte [edi]
movzx edx, cl
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x529760
movzx eax, byte [eax + 0x532c44]
jmp dword [eax*4 + 0x532c3c]
lea eax, [edx - 0x62]
inc edi
mov dword [esp + 0x14], edi
cmp eax, 8
jae 0x52977f
mov ecx, eax
and ecx, 1
mov dword [esp + 0x40], ecx
jmp 0x529787
mov dword [esp + 0x48], 1
movsx ebp, byte [eax + 0x5c88f8]
movsx eax, byte [eax + 0x5c8904]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x5297f8
mov dword [esp + 0x20], 0x7fffffff
jmp 0x5297f8
movzx ebp, byte [edi + 1]
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x40], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edi + 3]
sete al
shl ebp, 8
mov dword [esp + 0x48], eax
movzx eax, byte [edi + 2]
or ebp, eax
shl ecx, 8
movzx eax, byte [edi + 4]
or ecx, eax
cmove ecx, dword [esp + 0x58]
add edi, 5
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edi
jmp 0x5297f8
mov dword [esp + 0x20], 1
mov ebp, 1
mov edi, 1
cmp ebp, edi
jl 0x52992d
jmp 0x529810
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x529911
cmp ecx, 0xc0
jb 0x529911
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x529852
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x529911
test cl, 0x10
jne 0x529873
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 0x529911
test cl, 8
jne 0x5298a0
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 0x529911
test cl, 4
jne 0x5298d6
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 0x529911
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.00535d10
add esp, 0xc
test eax, eax
je case.0x5323be.14
inc edi
cmp edi, ebp
jle 0x529810
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x52617d
cmp dword [esp + 0x40], 0
jne 0x5301ff
mov ebx, esi
cmp ebp, eax
jge 0x529a56
mov edi, edi
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x529ae8
mov ecx, dword [esp + 0x1c]
mov edi, 1
movzx edx, byte [esi]
test ecx, ecx
je 0x529a37
cmp edx, 0xc0
jb 0x529a37
test dl, 0x20
jne 0x529993
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x529a2f
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5299b5
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x529a2b
and eax, 0x3f
test dl, 8
jne 0x5299d5
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x529a2b
test dl, 4
jne 0x5299fe
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 0x529a2b
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [esp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
push ecx
push dword [esp + 0x40]
push edx
call fcn.00535d10
add esp, 0xc
test eax, eax
je 0x529a56
inc ebp
add esi, edi
cmp ebp, dword [esp + 0x20]
jl 0x529950
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebp
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov eax, esi
dec esi
cmp eax, ebx
je case.0x5323be.14
cmp dword [esp + 0x1c], 0
je 0x529aba
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x529aba
lea ecx, [ecx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x529ab0
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebp
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x529a93
jmp 0x532998
cmp dword [edx + 0x88], 0
je 0x529a5a
cmp esi, dword [edx + 0x84]
jbe 0x529a5a
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x529a5a
test ebp, ebp
je 0x529ba0
mov eax, dword [esp + 0x14]
mov edx, 1
inc eax
mov ecx, edx
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x529b6b
test al, 0x20
jne 0x529b45
lea edx, [ecx + 1]
jmp 0x529b69
test al, 0x10
jne 0x529b50
mov edx, 3
jmp 0x529b69
test al, 8
jne 0x529b5b
mov edx, 4
jmp 0x529b69
mov edx, 5
test al, 4
je 0x529b69
mov edx, 6
mov ecx, edx
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x78]
mov eax, edi
sub eax, esi
cmp ecx, eax
jg 0x53037e
mov edi, dword [esp + 0x14]
mov cl, byte [edi]
dec edx
mov al, byte [esi]
inc edi
inc esi
mov dword [esp + 0x14], edi
cmp cl, al
jne case.0x5323be.14
test edx, edx
jg 0x529b82
mov edx, ebx
jmp 0x526189
mov eax, dword [edx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x530392
mov edi, dword [esp + 0x14]
mov al, byte [esi]
inc esi
cmp byte [edi + 1], al
jne case.0x5323be.14
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x526190
cmp esi, dword [edx + 0x78]
jae 0x530392
mov edi, dword [esp + 0x14]
test ebp, ebp
je 0x529e75
movzx ebx, byte [edi + 1]
inc edi
mov dword [esp + 0x40], 1
mov edx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], edx
cmp ebx, 0xc0
jb 0x529cd9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x529c27
mov eax, ebx
mov dword [esp + 0x40], 2
and eax, 0x1f
shl eax, 6
jmp 0x529ccb
movzx eax, byte [edi + 2]
test bl, 0x10
jne 0x529c45
and ebx, 0xf
mov dword [esp + 0x40], 3
shl ebx, 6
or ecx, ebx
jmp 0x529cc5
and eax, 0x3f
test bl, 8
jne 0x529c68
and ebx, 7
mov dword [esp + 0x40], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x529cc5
test bl, 4
jne 0x529c94
and ebx, 3
mov dword [esp + 0x40], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x529cc5
and ebx, 1
mov dword [esp + 0x40], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
shl ecx, 6
and eax, 0x3f
mov ebx, ecx
or ebx, eax
mov edx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x20], edx
cmp edx, 0x80
jae 0x529d06
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov edx, dword [eax + 0x38]
mov al, byte [edx + ebx]
cmp al, byte [ecx + edx]
jne case.0x5323be.14
mov edx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
inc esi
jmp 0x526189
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x529e22
test bl, 0x20
jne 0x529d37
movzx ecx, byte [esi]
mov eax, ebx
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
mov ebx, ecx
or ebx, eax
inc esi
jmp 0x529e22
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x529d62
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x529e22
lea edx, [esi + 2]
test bl, 8
jne 0x529d96
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x529e1a
lea edi, [esi + 3]
test bl, 4
jne 0x529dd2
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x529e1a
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], edi
cmp eax, ebx
je 0x526e00
mov eax, eax
test eax, eax
jns 0x529e3f
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
mov eax, dword [eax*8 + 0x5c995c]
add eax, edx
cmp ebx, eax
jne case.0x5323be.14
mov edx, dword [esp + 0x10]
jmp 0x526189
mov edx, dword [edx + 0x38]
movzx eax, byte [edi + 1]
movzx ecx, byte [esi]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x5323be.14
mov edx, dword [esp + 0x10]
inc esi
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x526190
mov ebx, dword [esp + 0x14]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edx, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edx
mov ecx, ebx
jmp 0x529fa4
mov dword [esp + 0x48], 1
mov ebx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x20], edx
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x30], ebp
cmp cl, 0x28
je 0x529ef2
mov dword [esp + 0x40], edx
cmp cl, 0x35
jne 0x529efa
mov dword [esp + 0x40], 1
add ebx, 3
mov dword [esp + 0x14], ebx
mov ecx, ebx
jmp 0x529fa8
mov ebx, dword [esp + 0x14]
xor edx, edx
inc ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x20], edx
mov ecx, ebx
mov dword [esp + 0x14], ebx
jmp 0x529f9f
mov ebx, dword [esp + 0x14]
mov edx, 1
inc ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x20], edx
mov ecx, ebx
mov dword [esp + 0x14], ebx
jmp 0x529f9f
mov ebx, dword [esp + 0x14]
xor edx, edx
inc ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x20], edx
mov ecx, ebx
mov dword [esp + 0x14], ebx
lea ebp, [edx + 1]
jmp 0x529fa4
mov ecx, dword [esp + 0x14]
cmp edi, 0x2e
mov ebx, edi
sbb eax, eax
inc ecx
and eax, 0xfffffff3
mov dword [esp + 0x14], ecx
add eax, 0x2e
sub ebx, eax
mov eax, ebx
and ebx, 1
mov dword [esp + 0x40], ebx
mov ebx, ecx
movsx ebp, byte [eax + 0x5c8904]
movsx edx, byte [eax + 0x5c88f8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ebp
test ebp, ebp
jne 0x529fa8
mov ebp, 0x7fffffff
mov dword [esp + 0x30], ebp
cmp dword [esp + 0x1c], 0
je 0x52a487
mov dword [esp + 0x4c], ebx
mov eax, 1
movzx ebx, byte [ebx]
mov ecx, eax
mov dword [esp + 0x38], eax
mov edx, ebx
cmp ebx, 0xc0
jb 0x52a118
test bl, 0x20
jne 0x529fff
mov eax, dword [esp + 0x14]
and ebx, 0x1f
shl ebx, 6
mov dword [esp + 0x38], 2
movzx edx, byte [eax + 1]
and edx, 0x3f
or edx, ebx
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x52a125
test bl, 0x10
jne 0x52a037
mov ecx, dword [esp + 0x14]
and ebx, 0xf
shl ebx, 6
mov dword [esp + 0x38], 3
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
add ecx, 3
mov dword [esp + 0x14], ecx
jmp 0x52a125
test bl, 8
jne 0x52a07b
mov ecx, dword [esp + 0x14]
and ebx, 7
shl ebx, 6
mov dword [esp + 0x38], 4
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x52a125
test bl, 4
jne 0x52a0c9
mov ecx, dword [esp + 0x14]
and ebx, 3
mov eax, 5
shl ebx, 6
mov dword [esp + 0x38], eax
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
mov dword [esp + 0x14], ecx
jmp 0x52a125
mov edx, dword [esp + 0x14]
and ebx, eax
shl ebx, 6
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 6
mov dword [esp + 0x38], eax
mov edx, ebx
mov ecx, eax
add dword [esp + 0x14], eax
cmp ecx, 1
jbe 0x52a491
cmp edi, 0x2e
jb 0x52a168
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
mov eax, dword [eax*8 + 0x5c995c]
add eax, edx
cmp eax, edx
je 0x52a168
lea ecx, [esp + 0x160]
push ecx
push eax
call fcn.005359b0
add esp, 8
jmp 0x52a16a
xor eax, eax
mov ecx, dword [esp + 0x20]
mov ebx, 1
mov dword [esp + 0x24], eax
cmp ecx, ebx
jl 0x52a283
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov eax, dword [eax + 0x78]
mov ebp, eax
mov dword [esp + 0x34], eax
sub ebp, edi
cmp esi, ebp
ja 0x52a1f3
mov edx, dword [esp + 0x4c]
mov ecx, esi
sub edi, 4
jb 0x52a1b2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52a1b7
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52a1a1
cmp edi, 0xfffffffc
je 0x52a1e4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52a1ef
cmp edi, 0xfffffffd
je 0x52a1e4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52a1ef
cmp edi, 0xfffffffe
je 0x52a1e4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52a1ef
cmp edi, 0xffffffff
je 0x52a1e4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52a1ef
mov edi, dword [esp + 0x38]
add esi, edi
jmp 0x52a272
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
test edi, edi
jle 0x5303be
sub eax, edi
cmp esi, eax
ja 0x5303be
lea edx, [esp + 0x160]
mov ecx, esi
sub edi, 4
jb 0x52a228
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52a22d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52a217
cmp edi, 0xfffffffc
je 0x52a26a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5303be
cmp edi, 0xfffffffd
je 0x52a26a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5303be
cmp edi, 0xfffffffe
je 0x52a26a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5303be
cmp edi, 0xffffffff
je 0x52a26a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5303be
add esi, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
inc ebx
mov eax, dword [esp + 0x34]
cmp ebx, ecx
jle 0x52a192
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
cmp ecx, ebp
je 0x52616f
cmp dword [esp + 0x40], 0
jne 0x5303c7
mov ebx, esi
mov dword [esp + 0x34], ebx
cmp ecx, ebp
jge 0x52a3c2
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
mov ebx, ebp
mov eax, dword [esp + 0x38]
sub ebx, eax
jmp 0x52a2c0
cmp esi, ebx
ja 0x52a323
mov edx, dword [esp + 0x4c]
mov edi, eax
mov ecx, esi
sub edi, 4
jb 0x52a2e6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52a2eb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52a2d1
mov eax, dword [esp + 0x38]
cmp edi, 0xfffffffc
je 0x52a31c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52a323
cmp edi, 0xfffffffd
je 0x52a318
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52a323
cmp edi, 0xfffffffe
je 0x52a318
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52a323
cmp edi, 0xffffffff
je 0x52a318
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52a323
mov eax, dword [esp + 0x38]
add esi, eax
jmp 0x52a3ab
mov edi, dword [esp + 0x24]
test edi, edi
jle 0x52a450
mov eax, ebp
sub eax, edi
cmp esi, eax
ja 0x52a450
lea edx, [esp + 0x160]
mov ecx, esi
sub edi, 4
jb 0x52a361
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x52a366
add ecx, 4
add edx, 4
sub edi, 4
jae 0x52a350
cmp edi, 0xfffffffc
je 0x52a3a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x52a450
cmp edi, 0xfffffffd
je 0x52a3a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x52a450
cmp edi, 0xfffffffe
je 0x52a3a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x52a450
cmp edi, 0xffffffff
je 0x52a3a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x52a450
add esi, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, dword [esp + 0x30]
jl 0x52a2c0
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebx
je 0x52fc7d
lea esp, [esp]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x52a421
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52a417
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x52a3e0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ebp, dword [ecx + 0x4c]
mov dword [esp + 0x1c], ebp
cmp eax, dword [ecx + 4]
jae 0x532990
mov edx, dword [esp + 0x2c]
jmp 0x526131
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52a47e
cmp esi, dword [edx + 0x78]
jb 0x52a47e
cmp esi, dword [edx + 0x84]
jbe 0x52a47e
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov ebx, dword [esp + 0x34]
jmp 0x52a3c6
movzx ebx, byte [ebx]
lea eax, [ecx + 1]
mov dword [esp + 0x14], eax
cmp edi, 0x2e
mov ecx, 1
mov edi, dword [esp + 0x20]
jb 0x52a599
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp edi, 1
jl 0x52a4e1
mov edx, dword [ecx + 0x78]
mov ecx, 1
jmp 0x52a4c0
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
cmp ebx, eax
je 0x52a4d7
cmp ebp, eax
jne case.0x5323be.14
inc ecx
inc esi
cmp ecx, edi
jle 0x52a4c0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
cmp edi, edx
je 0x52617d
cmp dword [esp + 0x40], 0
jne 0x530553
mov dword [esp + 0x3c], esi
cmp edi, edx
jge 0x52a518
mov ecx, dword [ecx + 0x78]
cmp esi, ecx
jae 0x52a56e
movzx eax, byte [esi]
cmp ebx, eax
je 0x52a512
cmp ebp, eax
jne 0x52a518
inc edi
inc esi
cmp edi, edx
jl 0x52a503
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
mov ebx, dword [esp + 0x3c]
cmp esi, ebx
je 0x52a429
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
dec esi
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x52a533
jmp 0x52a429
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52a51c
cmp esi, dword [edx + 0x84]
jbe 0x52a51c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52a51c
cmp edi, 1
jl 0x52a5be
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x5323be.14
inc ecx
cmp ecx, edi
jle 0x52a5a5
cmp edi, ebp
je 0x52617d
cmp dword [esp + 0x40], 0
jne 0x5305de
mov edx, dword [esp + 0x30]
mov ebp, esi
cmp edi, edx
jge 0x52a5f3
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x52a64c
movzx eax, byte [esi]
cmp ebx, eax
jne 0x52a5f3
inc edi
inc esi
cmp edi, edx
jl 0x52a5e2
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
mov ebx, dword [esp + 0x18]
cmp esi, ebp
je 0x52fc81
mov edi, edi
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
dec esi
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
cmp esi, ebp
jne 0x52a610
mov edi, dword [esp + 0x14]
jmp 0x52a431
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52a5f7
cmp esi, dword [edx + 0x84]
jbe 0x52a5f7
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52a5f7
cmp esi, dword [edx + 0x78]
jae 0x530392
mov eax, dword [esp + 0x14]
test ebp, ebp
je 0x52a91c
movzx edx, byte [eax + 1]
lea ecx, [eax + 2]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
cmp edx, 0xc0
jb 0x52a784
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x52a6c0
and edx, 0x1f
shl edx, 6
or edx, eax
inc ecx
jmp 0x52a77c
test dl, 0x10
jne 0x52a6e1
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 2
jmp 0x52a77c
test dl, 8
jne 0x52a70b
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 3
jmp 0x52a77c
test dl, 4
jne 0x52a741
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 4
jmp 0x52a77c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x52a89c
mov al, byte [esi]
test bl, 0x20
jne 0x52a7b3
and ebx, 0x1f
movzx eax, al
and eax, 0x3f
shl ebx, 6
inc esi
or ebx, eax
jmp 0x52a89c
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52a7dc
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x52a898
lea edx, [esi + 2]
test bl, 8
jne 0x52a810
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x52a898
lea edi, [esi + 3]
test bl, 4
jne 0x52a84c
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x52a894
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
cmp edi, 0x1f
jne 0x52a8b6
cmp edx, ebx
je case.0x5323be.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x526189
cmp edx, 0x7f
jbe 0x52a8f4
mov eax, edx
test eax, eax
jns 0x52a8c4
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x52a8df
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
mov eax, dword [eax*8 + 0x5c995c]
add eax, edx
jmp 0x52a8ff
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp edx, ebx
je case.0x5323be.14
cmp eax, ebx
je case.0x5323be.14
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x526189
movzx edx, byte [esi]
inc esi
movzx ecx, byte [eax + 1]
cmp ecx, edx
je case.0x5323be.14
cmp edi, 0x20
jne 0x52a944
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je case.0x5323be.14
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x526190
mov ebx, dword [esp + 0x14]
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov edi, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x30], edi
mov ecx, ebx
jmp 0x52aa79
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x20], ebp
cmp cl, 0x42
je 0x52a9a6
mov dword [esp + 0x40], edi
cmp cl, 0x4f
jne 0x52a9ae
mov dword [esp + 0x40], 1
add ebx, 3
mov ecx, ebx
jmp 0x52aa79
mov ebx, dword [esp + 0x14]
xor edi, edi
inc ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x30], edi
mov ecx, ebx
jmp 0x52aa71
mov ebx, dword [esp + 0x14]
mov edi, 1
inc ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x30], edi
mov ecx, ebx
jmp 0x52aa71
mov ebx, dword [esp + 0x14]
xor edi, edi
inc ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x30], edi
mov ecx, ebx
mov dword [esp + 0x20], 1
jmp 0x52aa79
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x48], 1
mov dword [esp + 0x30], edi
movzx ebp, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ebp, 8
or ebp, eax
add ebx, 3
mov dword [esp + 0x20], ebp
mov ecx, ebx
jmp 0x52aa79
mov ebx, dword [esp + 0x14]
cmp edi, 0x48
mov edx, edi
sbb eax, eax
inc ebx
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [esp + 0x40], edx
movsx edi, byte [eax + 0x5c88f8]
movsx eax, byte [eax + 0x5c8904]
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], eax
test eax, eax
jne 0x52aa79
mov dword [esp + 0x20], 0x7fffffff
movzx ebx, byte [ebx]
lea ebp, [ecx + 1]
mov eax, dword [esp + 0x1c]
mov edx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], ebp
test eax, eax
je 0x52ab74
cmp ebx, 0xc0
jb 0x52ab74
movzx ecx, byte [ebp]
and ecx, 0x3f
test bl, 0x20
jne 0x52aabf
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
or ebx, eax
inc ebp
jmp 0x52ab66
movzx eax, byte [ebp + 1]
and eax, 0x3f
test bl, 0x10
jne 0x52aae0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add ebp, 2
jmp 0x52ab66
test bl, 8
jne 0x52ab03
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 3
jmp 0x52ab66
test bl, 4
jne 0x52ab32
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 4
jmp 0x52ab66
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [ebp + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [ebp + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add ebp, 5
mov eax, dword [esp + 0x1c]
mov edx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x24], 0x48
jb 0x52afe6
test eax, eax
je 0x52abb5
cmp edx, 0x7f
jbe 0x52abb5
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
mov ecx, dword [esp + 0x10]
mov ebp, dword [eax*8 + 0x5c995c]
add ebp, edx
jmp 0x52abc0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x3c]
movzx ebp, byte [eax + ebx]
cmp dword [esp + 0x1c], 0
mov edx, 1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], edx
je 0x52ad11
cmp edi, edx
jl 0x52ad41
mov eax, dword [esp + 0x38]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x24], ebx
cmp ebx, 0xc0
jb 0x52acee
test bl, 0x20
jne 0x52ac1a
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x52acea
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x52ac40
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x52ace1
lea edx, [esi + 2]
test bl, 8
jne 0x52ac69
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x52acdd
lea edi, [esi + 3]
test bl, 4
jne 0x52ac9a
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x52acd9
mov ebp, dword [esp + 0x24]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x24], ebp
mov ebx, ebp
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x38]
cmp eax, ebx
je case.0x5323be.14
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
je case.0x5323be.14
inc edx
mov dword [esp + 0x34], edx
cmp edx, edi
jle 0x52abe4
jmp 0x52ad41
cmp edi, 1
jl 0x52ad41
mov ecx, dword [ecx + 0x78]
lea esp, [esp]
cmp esi, ecx
jae 0x52ff60
movzx eax, byte [esi]
cmp ebx, eax
je case.0x5323be.14
cmp ebp, eax
je case.0x5323be.14
inc edx
inc esi
cmp edx, edi
jle 0x52ad20
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp edi, eax
je 0x52616f
cmp dword [esp + 0x40], 0
jne 0x530694
cmp dword [esp + 0x1c], 0
mov ebx, esi
je 0x52af3c
cmp edi, eax
jge 0x52aea5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
jae 0x52af0e
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x52ae88
test dl, 0x20
jne 0x52adba
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52ae88
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52ade4
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 0x52ae84
test dl, 8
jne 0x52ae10
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 0x52ae84
test dl, 4
jne 0x52ae48
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 0x52ae84
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [esp + 0x38]
cmp ecx, edx
je 0x52aea5
cmp ebp, edx
je 0x52aea5
add esi, eax
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x20]
jl 0x52ad80
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebx
je 0x52a429
lea esp, [esp]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x52af01
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52aef7
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x52aec0
jmp 0x52a429
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52aea9
cmp esi, dword [edx + 0x84]
jbe 0x52aea9
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52aea9
cmp edi, eax
jge 0x52af67
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax + 0x78]
jmp 0x52af50
cmp esi, ecx
jae 0x52afbb
movzx eax, byte [esi]
cmp edx, eax
je 0x52af67
cmp ebp, eax
je 0x52af67
inc edi
inc esi
cmp edi, dword [esp + 0x20]
jl 0x52af50
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebx
je 0x52a429
mov edi, edi
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
dec esi
cmp esi, ebx
jne 0x52af80
jmp 0x52a429
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52af6b
cmp esi, dword [edx + 0x84]
jbe 0x52af6b
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52af6b
mov edx, 1
mov dword [esp + 0x34], edx
test eax, eax
je 0x52b143
mov ebp, dword [esp + 0x38]
cmp edi, edx
jl 0x52b174
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x52b12c
test bl, 0x20
jne 0x52b03d
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x52b128
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52b068
and ebx, 0xf
movzx edx, al
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edx
add esi, 2
shl ebx, 6
or ebx, eax
jmp 0x52b124
lea edx, [esi + 2]
test bl, 8
jne 0x52b09c
and ebx, 7
movzx edi, al
movzx eax, byte [ecx]
and edi, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, edi
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x52b120
lea edi, [esi + 3]
test bl, 4
jne 0x52b0d8
and ebx, 3
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 4
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x52b120
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
cmp ebp, ebx
je case.0x5323be.14
inc edx
mov dword [esp + 0x34], edx
cmp edx, edi
jle 0x52b007
jmp 0x52b170
cmp edi, 1
jl 0x52b1e2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.0x5323be.14
inc edx
cmp edx, edi
jle 0x52b153
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp edi, ecx
je 0x52616f
cmp dword [esp + 0x40], 0
jne 0x5308ac
mov ebx, esi
test eax, eax
je 0x52b365
cmp edi, ecx
jge 0x52b2cd
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52b337
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x52b2b6
test dl, 0x20
jne 0x52b1e8
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52b2b6
mov ebp, dword [esp + 0x38]
jmp 0x52b174
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52b212
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 0x52b2b2
test dl, 8
jne 0x52b23e
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 0x52b2b2
test dl, 4
jne 0x52b276
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 0x52b2b2
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
mov ecx, dword [esp + 0x20]
cmp ebp, edx
je 0x52b2cd
add esi, eax
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, ecx
jl 0x52b1a8
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebx
je 0x52a429
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
jne 0x52b32a
jmp 0x52b320
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52b320
mov edx, dword [esp + 0x10]
cmp esi, ebx
jne 0x52b2e4
jmp 0x52a429
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52b2d1
cmp esi, dword [edx + 0x84]
jbe 0x52b2d1
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52b2d1
mov edx, dword [esp + 0x10]
cmp edi, ecx
jge 0x52b3aa
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52b385
movzx eax, byte [esi]
cmp ebp, eax
je 0x52b3aa
inc edi
inc esi
cmp edi, dword [esp + 0x20]
jl 0x52b370
jmp 0x52b3aa
cmp dword [edx + 0x88], 0
je 0x52b3aa
cmp esi, dword [edx + 0x84]
jbe 0x52b3aa
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebx
je 0x52a429
lea ecx, [ecx]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
dec esi
cmp esi, ebx
jne 0x52b3c0
jmp 0x52a429
mov edi, dword [esp + 0x14]
mov dword [esp + 0x40], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov ebx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], ebx
mov ecx, edi
jmp 0x52b50f
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x24], 0
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
cmp cl, 0x5c
mov dword [esp + 0x30], edx
sete bl
add edi, 3
mov dword [esp + 0x40], ebx
mov ecx, edi
xor ebx, ebx
jmp 0x52b50f
mov edi, dword [esp + 0x14]
xor ebx, ebx
inc edi
mov dword [esp + 0x48], 1
mov dword [esp + 0x24], ebx
mov ecx, edi
jmp 0x52b507
mov edi, dword [esp + 0x14]
mov ebx, 1
inc edi
mov dword [esp + 0x48], 1
mov dword [esp + 0x24], ebx
mov ecx, edi
jmp 0x52b507
mov edi, dword [esp + 0x14]
xor ebx, ebx
inc edi
mov dword [esp + 0x48], 1
mov dword [esp + 0x24], ebx
mov ecx, edi
mov dword [esp + 0x30], 1
jmp 0x52b50f
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x48], 1
mov dword [esp + 0x24], ebx
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, 3
mov dword [esp + 0x30], ecx
mov ecx, edi
jmp 0x52b50f
lea ebx, [edi - 0x55]
mov edi, dword [esp + 0x14]
mov eax, ebx
inc edi
and ebx, 1
mov ecx, edi
mov dword [esp + 0x40], ebx
movsx ebx, byte [eax + 0x5c88f8]
movsx eax, byte [eax + 0x5c8904]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], eax
test eax, eax
jne 0x52b50f
mov dword [esp + 0x30], 0x7fffffff
movzx ebp, byte [edi]
lea edx, [ecx + 1]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], edx
cmp ebp, 0x10
je 0x52b52c
cmp ebp, 0xf
je 0x52b52c
or eax, 0xffffffff
jmp 0x52b54c
mov cl, byte [edx]
xor eax, eax
cmp ebp, 0xf
sete al
mov dword [esp + 0x44], eax
lea eax, [edx + 1]
movzx edx, byte [eax]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], edx
movzx eax, cl
mov dword [esp + 0x3c], eax
test ebx, ebx
jle 0x52b5d1
test eax, eax
js 0x52c378
cmp eax, 0xa
ja case.default.0x528a70
jmp dword [eax*4 + 0x532c50]
cmp dword [esp + 0x44], 0
jne case.0x5323be.14
mov ecx, 1
cmp ebx, ecx
jl 0x52b5d1
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov edx, dword [eax + 0x78]
jmp 0x52b590
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
test edi, edi
je 0x52b5cc
cmp eax, 0xc0
jb 0x52b5cc
test al, 0x20
jne 0x52b5ae
inc esi
jmp 0x52b5cc
test al, 0x10
jne 0x52b5b7
add esi, 2
jmp 0x52b5cc
test al, 8
jne 0x52b5c0
add esi, 3
jmp 0x52b5cc
test al, 4
jne 0x52b5c9
add esi, 4
jmp 0x52b5cc
add esi, 5
inc ecx
cmp ecx, ebx
jle 0x52b590
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov ecx, 1
mov dword [esp + 0x34], ecx
cmp ebx, ecx
jl 0x52b5d1
jmp 0x52b5f0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52b6e8
cmp ebx, 0xc0
jb 0x52b6e8
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x52b631
inc esi
and ebp, 0x1f
jmp 0x52b6e0
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52b651
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52b6dc
lea edx, [esi + 2]
test bl, 8
jne 0x52b676
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52b6dc
lea edi, [esi + 3]
test bl, 4
jne 0x52b6a6
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52b6dc
mov ebp, dword [esp + 0x4c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp eax, 9
je 0x52b71f
cmp eax, 5
je 0x52b71f
cmp eax, 8
je 0x52b71f
xor eax, eax
jmp 0x52b724
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, ebx
jle 0x52b5f0
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
mov dword [esp + 0x34], edx
cmp ebx, edx
jl 0x52b5d1
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52b86d
cmp ebx, 0xc0
jb 0x52b86d
mov al, byte [esi]
test bl, 0x20
jne 0x52b7a9
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x52b86d
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52b7cc
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52b865
lea edx, [esi + 2]
test bl, 8
jne 0x52b7f5
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52b861
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x52b82b
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52b861
mov ebp, dword [esp + 0x4c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x54]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp dword [eax*4 + 0x5c9328], ebx
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x34], edx
cmp edx, ebx
jle 0x52b760
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
mov dword [esp + 0x34], edx
cmp ebx, edx
jl 0x52b5d1
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52b9e3
cmp ebx, 0xc0
jb 0x52b9e3
mov al, byte [esi]
test bl, 0x20
jne 0x52b929
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x52b9e3
movzx eax, al
lea ecx, [esi + 1]
and eax, 0x3f
test bl, 0x10
jne 0x52b94c
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52b9db
lea edx, [esi + 2]
test bl, 8
jne 0x52b971
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52b9d7
lea edi, [esi + 3]
test bl, 4
jne 0x52b9a1
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52b9d7
mov ebp, dword [esp + 0x4c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x34], edx
cmp edx, ebx
jle 0x52b8e0
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
mov dword [esp + 0x34], edx
cmp ebx, edx
jl 0x52b5d1
lea esp, [esp]
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52bb55
cmp ebx, 0xc0
jb 0x52bb55
mov al, byte [esi]
test bl, 0x20
jne 0x52ba91
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x52bb4d
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52bab4
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52bb4d
lea edx, [esi + 2]
test bl, 8
jne 0x52badf
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52bb49
movzx ebp, al
lea edi, [esi + 3]
and ebp, 0x3f
test bl, 4
jne 0x52bb13
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52bb49
mov eax, dword [esp + 0x4c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9958]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x34], edx
cmp edx, ebx
jle 0x52ba50
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov ecx, 1
mov dword [esp + 0x34], ecx
cmp ebx, ecx
jl 0x52b5d1
jmp 0x52bbc0
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52bcd0
cmp ebx, 0xc0
jb 0x52bcd0
mov al, byte [esi]
test bl, 0x20
jne 0x52bc01
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x52bcc8
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52bc24
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52bcc4
lea edx, [esi + 2]
test bl, 8
jne 0x52bc52
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52bcc4
lea edi, [esi + 3]
test bl, 4
jne 0x52bc88
movzx eax, al
mov ebp, ebx
and ebp, 3
and eax, 0x3f
shl ebp, 6
add esi, 4
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52bcc4
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x4c]
and ebp, 0x3f
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x52bd09
cmp eax, 3
je 0x52bd09
xor eax, eax
jmp 0x52bd0e
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, ebx
jle 0x52bbc0
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edi, 1
cmp ebx, edi
jl 0x52b5d1
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
mov ebx, dword [eax + 0x78]
mov edi, edi
cmp esi, ebx
jae 0x52ff60
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov edx, ecx
je 0x52be4f
cmp ecx, 0xc0
jb 0x52be4f
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52bd8e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52be4d
test cl, 0x10
jne 0x52bdaf
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 0x52be4d
test cl, 8
jne 0x52bddc
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 0x52be4d
test cl, 4
jne 0x52be12
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 0x52be4d
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 edx, ecx
cmp ecx, 0x180e
ja 0x52be92
je case.0x52beae.8192
cmp ecx, 0x85
ja 0x52be7e
je case.0x52beae.8192
cmp ecx, 9
jb case.0x52beae.8203
cmp ecx, 0xd
jbe case.0x52beae.8192
cmp ecx, 0x20
jmp 0x52bec3
cmp ecx, 0xa0
je case.0x52beae.8192
cmp ecx, 0x1680
jmp 0x52bec3
cmp ecx, 0x202f
ja 0x52beb5
je case.0x52beae.8192
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x52beae.8203
movzx eax, byte [ecx + 0x532c84]
jmp dword [eax*4 + 0x532c7c]
cmp ecx, 0x205f
je case.0x52beae.8192
cmp ecx, 0x3000
je case.0x52beae.8192
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp dword [eax*4 + 0x5c9328], 6
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
jmp 0x52bf0d
cmp dword [esp + 0x44], 0
jne case.0x5323be.14
inc edi
cmp edi, ebp
jle 0x52bd50
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
mov dword [esp + 0x34], edx
cmp ebx, edx
jl 0x52b5d1
jmp 0x52bf40
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52c037
cmp ebx, 0xc0
jb 0x52c037
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x52bf89
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x52c037
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52bfa4
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x52c02f
lea edx, [esi + 2]
test bl, 8
jne 0x52bfc7
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52c02b
lea edi, [esi + 3]
test bl, 4
jne 0x52bff5
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52c02b
mov eax, dword [esp + 0x4c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x52c077
cmp eax, 3
je 0x52c077
cmp ebp, 0x5f
je 0x52c077
xor eax, eax
jmp 0x52c07c
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x34], edx
cmp edx, ebx
jle 0x52bf40
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov ebx, 1
cmp dword [esp + 0x24], ebx
jl 0x52bf16
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
lea ebx, [ebx]
cmp esi, ebp
jae 0x52ff60
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov edi, edx
je 0x52c1ab
cmp edx, 0xc0
jb 0x52c1ab
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x52c102
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x52c1a9
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x52c123
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x52c1a9
test dl, 8
jne 0x52c146
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 0x52c1a9
test dl, 4
jne 0x52c175
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 0x52c1a9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov edi, edx
mov eax, dword [esp + 0x54]
mov ecx, dword [eax*4 + 0x5c9818]
lea eax, [eax*4 + 0x5c9818]
cmp edi, ecx
jb 0x52c1ce
lea eax, [eax + 4]
cmp edx, ecx
je 0x52c1f5
mov ecx, dword [eax]
cmp edx, ecx
jae 0x52c1c1
cmp dword [esp + 0x44], 0
je case.0x5323be.14
inc ebx
cmp ebx, dword [esp + 0x24]
jle 0x52c0c0
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
cmp dword [esp + 0x44], 0
jne case.0x5323be.14
jmp 0x52c1d9
mov ecx, 1
mov dword [esp + 0x34], ecx
cmp ebx, ecx
jl 0x52b5d1
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x4c], ebx
je 0x52c320
cmp ebx, 0xc0
jb 0x52c320
test bl, 0x20
jne 0x52c25a
movzx eax, byte [esi]
and ebp, 0x1f
shl ebp, 6
and eax, 0x3f
or ebp, eax
inc esi
jmp 0x52c320
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52c27f
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52c314
lea edx, [esi + 2]
test bl, 8
jne 0x52c2a8
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52c314
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x52c2de
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52c314
mov ebp, dword [esp + 0x4c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x34]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x52c34b
cmp ebp, 0x40
je 0x52c34b
cmp ebp, 0x60
je 0x52c34b
cmp ebp, 0xa0
jb 0x52c33f
cmp ebp, 0xd7ff
jbe 0x52c34b
cmp ebp, 0xe000
jae 0x52c34b
xor eax, eax
jmp 0x52c350
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov ebx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, ebx
jle 0x52c213
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
cmp ebp, 0x16
jne 0x52c640
mov edx, dword [esp + 0x10]
mov dword [esp + 0x4c], 1
cmp ebx, 1
jl 0x52cfe0
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx ebx, byte [esi]
inc esi
mov ecx, dword [esp + 0x1c]
mov ebp, ebx
mov dword [esp + 0x34], ebx
test ecx, ecx
je 0x52c4ad
cmp ebx, 0xc0
jb 0x52c4ad
mov al, byte [esi]
test bl, 0x20
jne 0x52c3dc
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x52c4ad
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52c3ff
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52c4a1
lea edx, [esi + 2]
test bl, 8
jne 0x52c42d
movzx eax, al
mov ebp, ebx
and ebp, 7
and eax, 0x3f
shl ebp, 6
add esi, 3
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52c49d
lea edi, [esi + 3]
test bl, 4
jne 0x52c461
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52c49d
mov ebp, dword [esp + 0x34]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x5ccef0]
movzx ebx, byte [eax*8 + 0x5c995a]
cmp edi, ebp
jae 0x52c5f9
mov edi, edi
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x52c5b2
cmp edx, 0xc0
jb 0x52c5b2
test dl, 0x20
jne 0x52c512
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52c5aa
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52c534
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52c5aa
and eax, 0x3f
test dl, 8
jne 0x52c554
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52c5aa
test dl, 4
jne 0x52c57d
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 0x52c5aa
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx ecx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x5c93a0], eax
je 0x52c5f5
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
cmp esi, ebp
jb 0x52c4e0
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52c622
cmp esi, ebp
jb 0x52c622
cmp esi, dword [edx + 0x84]
jbe 0x52c622
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x4c], eax
cmp eax, ebx
jle 0x52c396
mov ebp, dword [esp + 0x20]
jmp 0x52cfe0
mov ecx, dword [esp + 0x1c]
lea eax, [ebp - 6]
test ecx, ecx
je 0x52d183
cmp eax, 0xf
ja case.default.0x528a70
jmp dword [eax*4 + 0x532cb0]
mov ebp, dword [esp + 0x24]
mov ebx, 1
cmp ebp, ebx
jl 0x52d584
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x530392
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x52c6a7
push dword [esp + 0x1c]
push edi
push eax
push ecx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne case.0x5323be.14
mov edx, dword [esp + 0x10]
jmp 0x52c6cb
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x52c6cb
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52c6cb
cmp ecx, 1
je case.0x5323be.14
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je case.0x5323be.14
cmp dword [edx + 0x88], 0
je 0x52c702
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x52c702
cmp dword [edx + 0x18], 0
jne 0x52c702
cmp dword [edi], 2
jne 0x52c702
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52c702
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x52c721
mov ecx, esi
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52c721
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52c710
inc ebx
cmp ebx, ebp
jle 0x52c670
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edi, 1
cmp ebx, edi
jl 0x52d57b
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov ebx, dword [ecx + 0x78]
cmp esi, ebx
jae 0x530668
mov edx, dword [ecx + 0x78]
inc esi
cmp esi, edx
jae 0x52c77e
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52c776
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52c765
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
inc edi
cmp edi, eax
jle 0x52c753
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja case.0x5323be.14
add esi, ebx
jmp 0x52cfe4
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
inc esi
mov eax, esi
cmp ecx, 0xc0
jb 0x52c8b1
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52c7f3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52c8af
test cl, 0x10
jne 0x52c814
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 0x52c8af
test cl, 8
jne 0x52c83e
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 0x52c8af
test cl, 4
jne 0x52c874
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 0x52c8af
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, esi
cmp ecx, 0xd
ja 0x52c8e4
je 0x52c8c2
cmp ecx, 0xa
je 0x52c8ce
lea eax, [ecx - 0xb]
jmp 0x52c8f2
cmp eax, edi
jae 0x52c8ce
cmp byte [esi], 0xa
jne 0x52c8ce
lea esi, [eax + 1]
mov eax, dword [esp + 0x10]
inc edx
cmp edx, ebx
jle 0x52c7c0
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
cmp ecx, 0x85
je 0x52c8fb
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x5323be.14
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x68], 0
jne case.0x5323be.14
jmp 0x52c8d2
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x52ff60
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52ca0d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52c951
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52ca0d
test cl, 0x10
jne 0x52c972
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 0x52ca0d
test cl, 8
jne 0x52c99c
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 0x52ca0d
test cl, 4
jne 0x52c9d2
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 0x52ca0d
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 0x52ca3f
je case.0x5323be.14
cmp ecx, 0xa0
ja 0x52ca37
je case.0x5323be.14
cmp ecx, 9
je case.0x5323be.14
cmp ecx, 0x20
jmp 0x52ca6f
cmp ecx, 0x1680
jmp 0x52ca6f
cmp ecx, 0x205f
ja 0x52ca69
je case.0x5323be.14
cmp ecx, 0x2000
jb 0x52ca75
cmp ecx, 0x200a
jbe case.0x5323be.14
cmp ecx, 0x202f
jmp 0x52ca6f
cmp ecx, 0x3000
je case.0x5323be.14
inc edx
cmp edx, ebx
jle 0x52c920
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
jmp 0x52caa0
cmp esi, edi
jae 0x52ff60
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52cb8d
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52cad1
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52cb8d
test cl, 0x10
jne 0x52caf2
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 0x52cb8d
test cl, 8
jne 0x52cb1c
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 0x52cb8d
test cl, 4
jne 0x52cb52
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 0x52cb8d
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 0x52cbb3
je 0x52cbe5
cmp ecx, 0xa0
ja 0x52cbab
je 0x52cbe5
cmp ecx, 9
je 0x52cbe5
cmp ecx, 0x20
jmp 0x52cbdf
cmp ecx, 0x1680
jmp 0x52cbdf
cmp ecx, 0x205f
ja 0x52cbd9
je 0x52cbe5
cmp ecx, 0x2000
jb case.0x5323be.14
cmp ecx, 0x200a
jbe 0x52cbe5
cmp ecx, 0x202f
jmp 0x52cbdf
cmp ecx, 0x3000
jne case.0x5323be.14
inc edx
cmp edx, ebx
jle 0x52caa0
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edi, 1
cmp ebx, edi
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x78]
jmp 0x52cc10
cmp esi, ebx
jae 0x52ff60
movzx edx, byte [esi]
inc esi
cmp edx, 0xc0
jb 0x52ccee
test dl, 0x20
jne 0x52cc41
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x52ccee
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x52cc68
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x52ccee
test dl, 8
jne 0x52cc8b
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 0x52ccee
test dl, 4
jne 0x52ccba
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 0x52ccee
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
cmp edx, 0x85
ja 0x52cd06
je case.0x5323be.14
cmp edx, 0xa
jb 0x52cd1a
cmp edx, 0xd
jmp 0x52cd14
cmp edx, 0x2028
jb 0x52cd1a
cmp edx, 0x2029
jbe case.0x5323be.14
inc edi
cmp edi, dword [esp + 0x24]
jle 0x52cc10
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52ff60
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x52ce36
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52cd77
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52ce36
test cl, 0x10
jne 0x52cd98
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 0x52ce36
test cl, 8
jne 0x52cdc5
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 0x52ce36
test cl, 4
jne 0x52cdfb
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 0x52ce36
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 0x52ce48
je 0x52ce57
lea eax, [ecx - 0xa]
cmp eax, 3
jmp 0x52ce51
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x5323be.14
inc edx
cmp edx, ebx
jle 0x52cd46
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, edi
jae 0x52ff60
movzx ecx, byte [esi]
inc esi
mov eax, ecx
cmp ecx, 0xc0
jb 0x52cf74
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x52ceb3
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x52cf72
test cl, 0x10
jne 0x52ced4
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 0x52cf72
test cl, 8
jne 0x52cf01
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 0x52cf72
test cl, 4
jne 0x52cf37
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 0x52cf72
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add esi, 5
mov eax, ecx
cmp eax, 0x80
jae 0x52cf8c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x5323be.14
inc edx
cmp edx, ebx
jle 0x52ce80
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
nop
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x5323be.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52cfb0
mov edx, eax
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
cmp ebx, edi
je 0x526181
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0x3c]
jne 0x530ad8
mov ebp, esi
mov dword [esp + 0x40], ebp
test eax, eax
js 0x52e318
cmp eax, 0xa
ja case.default.0x528a70
jmp dword [eax*4 + 0x532cf0]
mov edx, dword [esp + 0x10]
mov edi, 1
cmp ebx, edi
jl 0x52cfe4
mov ebx, dword [edx + 0x78]
lea ecx, [ecx]
cmp esi, ebx
jae 0x530392
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x52d050
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 1
jne case.0x5323be.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x52d071
mov ecx, esi
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52d071
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52d060
mov edx, dword [esp + 0x10]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x52d030
mov ebx, dword [esp + 0x24]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea esp, [esp]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x5323be.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d0a0
jmp 0x52cfde
mov edx, dword [esp + 0x10]
mov edi, 1
cmp ebx, edi
jl 0x52cfe4
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x530392
movzx ecx, byte [esi]
cmp ecx, 0x80
jae 0x52d107
mov eax, dword [edx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5323be.14
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x52d122
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52d122
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52d111
mov edx, dword [esp + 0x10]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x52d0e7
mov ebx, dword [esp + 0x24]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea ebx, [ebx]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
cmp ecx, 0x80
jae case.0x5323be.14
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d150
jmp 0x52cfde
cmp eax, 0xf
ja case.default.0x528a70
jmp dword [eax*4 + 0x532d1c]
mov edx, dword [esp + 0x24]
mov ebx, 1
cmp edx, ebx
jl 0x52d577
mov edi, dword [esp + 0x10]
jmp 0x52d1b0
mov eax, dword [edi + 0x78]
cmp esi, eax
jae 0x5324e4
mov ecx, dword [edi + 0x18]
add edi, 0x1c
test ecx, ecx
je 0x52d1e7
mov eax, dword [esp + 0x10]
push 0
push edi
push dword [eax + 0x78]
push ecx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne case.0x5323be.14
mov edx, dword [esp + 0x24]
jmp 0x52d217
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x52d217
mov ebp, dword [esp + 0x10]
mov al, byte [esi]
cmp al, byte [ebp + 0x34]
mov ebp, dword [esp + 0x20]
jne 0x52d217
cmp ecx, 1
je case.0x5323be.14
mov ecx, dword [esp + 0x10]
mov al, byte [esi + 1]
cmp al, byte [ecx + 0x35]
je case.0x5323be.14
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je 0x52d260
mov ecx, dword [esp + 0x10]
lea eax, [esi + 1]
cmp eax, dword [ecx + 0x78]
jb 0x52d25c
mov eax, ecx
cmp dword [eax + 0x18], 0
jne 0x52d260
cmp dword [edi], 2
jne 0x52d260
mov al, byte [esi]
mov edi, ecx
cmp al, byte [edi + 0x34]
jne 0x52d262
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x532511
jmp 0x52d262
mov edi, ecx
jmp 0x52d262
mov edi, eax
inc ebx
inc esi
cmp ebx, edx
jle 0x52d1b0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x530392
add esi, ebx
jmp 0x52cfe4
mov ecx, 1
cmp ebx, ecx
jl 0x52b5d1
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x5324e4
mov al, byte [esi]
inc esi
movzx eax, al
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x5323be.14
movzx eax, byte [eax + 0x532d6c]
jmp dword [eax*4 + 0x532d5c]
cmp esi, edx
jae case.0x52d2c6.10
cmp byte [esi], 0xa
jne case.0x52d2c6.10
inc esi
jmp case.0x52d2c6.10
cmp dword [edi + 0x68], 0
jne case.0x5323be.14
inc ecx
cmp ecx, ebx
jle 0x52d2a5
mov edx, edi
jmp 0x52cfe0
mov ecx, 1
cmp ebx, ecx
jl 0x52b5d1
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x5323be.14
cmp eax, 0x20
je case.0x5323be.14
cmp eax, 0xa0
je case.0x5323be.14
inc ecx
cmp ecx, ebx
jle 0x52d303
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov ecx, 1
cmp ebx, ecx
jl 0x52b5d1
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
mov edi, edi
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x52d371
cmp eax, 0x20
je 0x52d371
cmp eax, 0xa0
jne case.0x5323be.14
inc ecx
cmp ecx, ebx
jle 0x52d350
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov ecx, 1
cmp ebx, ecx
jl 0x52b5d1
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb 0x52d3b8
cmp eax, 0xd
jbe case.0x5323be.14
cmp eax, 0x85
je case.0x5323be.14
inc ecx
cmp ecx, ebx
jle 0x52d393
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov ecx, 1
cmp ebx, ecx
jl 0x52b5d1
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x78]
lea ebx, [ebx]
cmp esi, edx
jae 0x52ff60
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jb case.0x5323be.14
cmp eax, 0xd
jbe 0x52d405
cmp eax, 0x85
jne case.0x5323be.14
inc ecx
cmp ecx, ebx
jle 0x52d3e0
mov edx, dword [esp + 0x10]
jmp 0x52cfe0
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d427
jmp 0x52cfde
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d462
jmp 0x52cfde
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
lea ecx, [ecx]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d4a0
jmp 0x52cfde
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
jmp 0x52d4e0
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d4e0
jmp 0x52cfde
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d517
jmp 0x52cfde
mov edx, 1
cmp ebx, edx
jl 0x52d57b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x78]
mov edi, edi
cmp esi, edi
jae 0x52ff64
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x5323be.14
mov eax, dword [esp + 0x10]
inc edx
inc esi
cmp edx, ebx
jle 0x52d550
jmp 0x52cfde
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
jmp 0x52cfe4
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
jmp 0x52cfe4
cmp ebx, edi
jge 0x52e12d
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x52d604
cmp dword [esp + 0x1c], 0
mov eax, 1
movzx ecx, byte [esi]
je 0x52d5ed
cmp ecx, 0xc0
jb 0x52d5ed
test cl, 0x20
jne 0x52d5c7
mov eax, 2
jmp 0x52d5ed
test cl, 0x10
jne 0x52d5d3
mov eax, 3
jmp 0x52d5ed
test cl, 8
jne 0x52d5df
mov eax, 4
jmp 0x52d5ed
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esp + 0x44], 0
jne 0x52e129
inc ebx
add esi, eax
cmp ebx, edi
jl 0x52d5a0
jmp 0x52e129
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52e12d
cmp esi, dword [edx + 0x84]
jbe 0x52e12d
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52e12d
cmp ebx, edi
jge 0x52e12d
mov edi, dword [edx + 0x78]
mov edx, 1
cmp esi, edi
jae 0x52d604
cmp dword [esp + 0x1c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x52d72d
cmp eax, 0xc0
jb 0x52d72d
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x52d684
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x52d72b
test al, 0x10
jne 0x52d69e
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x52d725
test al, 8
jne 0x52d6c1
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x52d725
test al, 4
jne 0x52d6f0
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x52d725
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp eax, 9
je 0x52d764
cmp eax, 5
je 0x52d764
cmp eax, 8
je 0x52d764
xor eax, eax
jmp 0x52d769
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x52e129
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x30]
jl 0x52d645
jmp 0x52e129
cmp ebx, edi
jge 0x52e12d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x52d604
cmp dword [esp + 0x1c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x52d87c
cmp eax, 0xc0
jb 0x52d87c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x52d7d3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x52d87a
test al, 0x10
jne 0x52d7ed
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x52d874
test al, 8
jne 0x52d810
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x52d874
test al, 4
jne 0x52d83f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x52d874
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov ebp, dword [esp + 0x54]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp dword [eax*4 + 0x5c9328], ebp
mov ebp, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x44]
je 0x52e129
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x30]
jl 0x52d790
jmp 0x52e129
cmp ebx, edi
jge 0x52e12d
mov edi, dword [edx + 0x78]
jmp 0x52d8e0
cmp esi, edi
jae 0x52d604
cmp dword [esp + 0x1c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x52d9cc
cmp eax, 0xc0
jb 0x52d9cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x52d923
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x52d9ca
test al, 0x10
jne 0x52d93d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x52d9c4
test al, 8
jne 0x52d960
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x52d9c4
test al, 4
jne 0x52d98f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x52d9c4
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x44]
je 0x52e129
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x30]
jl 0x52d8e0
jmp 0x52e129
cmp ebx, edi
jge 0x52e12d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x52d604
cmp dword [esp + 0x1c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x52db0c
cmp eax, 0xc0
jb 0x52db0c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x52da63
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x52db0a
test al, 0x10
jne 0x52da7d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x52db04
test al, 8
jne 0x52daa0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x52db04
test al, 4
jne 0x52dacf
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x52db04
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9958]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x44]
je 0x52e129
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x30]
jl 0x52da20
jmp 0x52e129
cmp ebx, edi
jge 0x52e12d
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x52d604
cmp dword [esp + 0x1c], 0
mov edx, 1
movzx eax, byte [esi]
mov ecx, eax
je 0x52dc4c
cmp eax, 0xc0
jb 0x52dc4c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x52dba3
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x52dc4a
test al, 0x10
jne 0x52dbbd
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x52dc44
test al, 8
jne 0x52dbe0
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x52dc44
test al, 4
jne 0x52dc0f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x52dc44
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x52dc85
cmp eax, 3
je 0x52dc85
xor eax, eax
jmp 0x52dc8a
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x52e129
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x30]
jl 0x52db60
jmp 0x52e129
cmp ebx, edi
jge 0x52e12d
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x52de66
cmp dword [esp + 0x1c], 0
movzx edx, byte [esi]
mov ecx, edx
je 0x52dd92
cmp edx, 0xc0
jb 0x52dd92
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52dcfa
mov eax, edx
mov edi, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x52dd8e
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52dd12
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52dd88
and eax, 0x3f
test dl, 8
jne 0x52dd32
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52dd88
test dl, 4
jne 0x52dd5b
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 0x52dd88
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
cmp edx, 0x180e
ja 0x52ddd1
je case.0x52dded.8192
cmp edx, 0x85
ja 0x52ddc1
je case.0x52dded.8192
cmp edx, 9
jb case.0x52dded.8203
cmp edx, 0xd
jbe case.0x52dded.8192
cmp edx, 0x20
jmp 0x52de02
cmp edx, 0xa0
je case.0x52dded.8192
cmp edx, 0x1680
jmp 0x52de02
cmp edx, 0x202f
ja 0x52ddf4
je case.0x52dded.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x52dded.8203
movzx eax, byte [edx + 0x532df0]
jmp dword [eax*4 + 0x532de8]
cmp edx, 0x205f
je case.0x52dded.8192
cmp edx, 0x3000
je case.0x52dded.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp dword [eax*4 + 0x5c9328], 6
sete cl
cmp ecx, dword [esp + 0x44]
je 0x52e129
jmp 0x52de4c
cmp dword [esp + 0x44], 0
jne 0x52e129
mov eax, dword [esp + 0x24]
add esi, edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x30]
jl 0x52dcb1
jmp 0x52e129
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52e12d
cmp esi, dword [edx + 0x84]
jbe 0x52e12d
mov dword [edx + 0x64], edi
cmp dword [edx + 0x88], edi
jg 0x532511
jmp 0x52e12d
cmp ebx, edi
jge 0x52e12d
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x52de66
movzx eax, byte [esi]
mov edx, eax
test ecx, ecx
je 0x52df87
cmp eax, 0xc0
jb 0x52df87
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x52dede
and eax, 0x1f
mov edi, 2
shl eax, 6
jmp 0x52df85
test al, 0x10
jne 0x52def8
and eax, 0xf
mov edi, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x52df7f
test al, 8
jne 0x52df1b
and eax, 7
mov edi, 4
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52df7f
test al, 4
jne 0x52df4a
and eax, 3
mov edi, 5
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x52df7f
and eax, 1
mov edi, 6
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x52dfc7
cmp eax, 3
je 0x52dfc7
cmp edx, 0x5f
je 0x52dfc7
xor eax, eax
jmp 0x52dfcc
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x52e129
mov eax, dword [esp + 0x24]
add esi, edi
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x30]
jl 0x52dea2
jmp 0x52e129
cmp ebx, edi
jge 0x52e12d
mov ebp, dword [edx + 0x78]
nop
mov ebx, 1
cmp esi, ebp
jae 0x52e1a7
movzx edx, byte [esi]
mov edi, edx
test ecx, ecx
je 0x52e0de
cmp edx, 0xc0
jb 0x52e0de
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52e046
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x52e0da
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52e05e
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x52e0d4
and eax, 0x3f
test dl, 8
jne 0x52e07e
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52e0d4
test dl, 4
jne 0x52e0a7
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x52e0d4
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov edi, edx
mov eax, dword [esp + 0x54]
mov ecx, dword [eax*4 + 0x5c9818]
lea eax, [eax*4 + 0x5c9818]
cmp edi, ecx
jb 0x52e105
lea eax, [eax + 4]
cmp edx, ecx
je 0x52e19b
mov ecx, dword [eax]
cmp edx, ecx
jae 0x52e0f4
cmp dword [esp + 0x44], 0
je 0x52e125
mov eax, dword [esp + 0x24]
add esi, ebx
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x30]
jl 0x52e000
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
mov ebx, dword [esp + 0x18]
cmp esi, ebp
je 0x52fc81
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
dec esi
cmp dword [esp + 0x1c], eax
je 0x52e18a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52e18a
lea ecx, [ecx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52e180
mov edx, dword [esp + 0x10]
cmp esi, ebp
jne 0x52e144
mov edi, dword [esp + 0x14]
jmp 0x52a431
cmp dword [esp + 0x44], 0
jne 0x52e125
jmp 0x52e10c
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52e1cb
cmp esi, dword [edx + 0x84]
jbe 0x52e1cb
mov dword [edx + 0x64], ebx
cmp dword [edx + 0x88], ebx
jg 0x532511
mov ebp, dword [esp + 0x40]
jmp 0x52e12d
cmp ebx, edi
jge 0x52e12d
mov edi, dword [edx + 0x78]
nop
mov edx, 1
cmp esi, edi
jae 0x52d604
cmp dword [esp + 0x1c], 0
movzx eax, byte [esi]
mov ecx, eax
je 0x52e2cc
cmp eax, 0xc0
jb 0x52e2cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x52e223
and eax, 0x1f
mov edx, 2
shl eax, 6
jmp 0x52e2ca
test al, 0x10
jne 0x52e23d
and eax, 0xf
mov edx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
jmp 0x52e2c4
test al, 8
jne 0x52e260
and eax, 7
mov edx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
jmp 0x52e2c4
test al, 4
jne 0x52e28f
and eax, 3
mov edx, 5
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
jmp 0x52e2c4
and eax, 1
mov edx, 6
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
cmp ecx, 0x24
je 0x52e2f7
cmp ecx, 0x40
je 0x52e2f7
cmp ecx, 0x60
je 0x52e2f7
cmp ecx, 0xa0
jb 0x52e2eb
cmp ecx, 0xd7ff
jbe 0x52e2f7
cmp ecx, 0xe000
jae 0x52e2f7
xor eax, eax
jmp 0x52e2fc
mov eax, 1
cmp eax, dword [esp + 0x44]
je 0x52e129
inc ebx
add esi, edx
cmp ebx, dword [esp + 0x30]
jl 0x52e1e0
jmp 0x52e129
mov eax, dword [esp + 0x20]
cmp eax, 0x16
jne 0x52e642
cmp ebx, edi
jge 0x52e5e7
lea ecx, [ecx]
cmp esi, dword [edx + 0x78]
jae 0x52e5be
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
mov ebp, ebx
test ecx, ecx
je 0x52e432
cmp ebx, 0xc0
jb 0x52e432
mov al, byte [esi]
test bl, 0x20
jne 0x52e36a
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x52e42a
lea ecx, [esi + 1]
test bl, 0x10
jne 0x52e38d
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x52e426
lea edx, [esi + 2]
test bl, 8
jne 0x52e3b6
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x52e422
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x52e3ec
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x52e422
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
mov edi, esi
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
mov ebp, dword [edx + 0x78]
movzx eax, word [eax*2 + 0x5ccef0]
movzx ebx, byte [eax*8 + 0x5c995a]
cmp edi, ebp
jae 0x52e57c
movzx edx, byte [esi]
mov edi, 1
test ecx, ecx
je 0x52e535
cmp edx, 0xc0
jb 0x52e535
test dl, 0x20
jne 0x52e495
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52e52d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52e4b7
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52e52d
and eax, 0x3f
test dl, 8
jne 0x52e4d7
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52e52d
test dl, 4
jne 0x52e500
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 0x52e52d
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx ecx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x5c93a0], eax
je 0x52e578
add esi, edi
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
cmp esi, ebp
jb 0x52e463
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52e5a5
cmp esi, ebp
jb 0x52e5a5
cmp esi, dword [edx + 0x84]
jbe 0x52e5a5
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x30]
jl 0x52e330
jmp 0x52e5e3
cmp dword [edx + 0x88], 0
je 0x52e5e3
cmp esi, dword [edx + 0x84]
jbe 0x52e5e3
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov ebp, dword [esp + 0x40]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebp
je 0x52a429
lea ebx, [ebx]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ecx, dword [esp + 0x1c]
dec esi
test ecx, ecx
jne 0x52f900
movzx edx, byte [esi]
jmp 0x52f9c0
add eax, 0xfffffffa
test ecx, ecx
je 0x52f3e3
cmp eax, 0xf
ja case.default.0x528a70
jmp dword [eax*4 + 0x532e1c]
cmp edi, 0x7fffffff
jge 0x52e735
cmp ebx, edi
jge 0x52e86a
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x52e845
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x52e6a4
push dword [esp + 0x1c]
push edi
push eax
push ecx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne 0x52e86a
mov edx, dword [esp + 0x10]
jmp 0x52e6c8
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x52e6c8
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52e6c8
cmp ecx, 1
je 0x52e86a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x52e86a
cmp dword [edx + 0x88], 0
je 0x52e6ff
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x52e6ff
cmp dword [edx + 0x18], 0
jne 0x52e6ff
cmp dword [edi], 2
jne 0x52e6ff
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52e6ff
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x52e721
mov ecx, esi
lea esp, [esp]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52e721
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52e710
inc ebx
cmp ebx, dword [esp + 0x30]
jge 0x52e86a
mov edx, dword [esp + 0x10]
jmp 0x52e671
cmp ebx, edi
jge 0x52e86a
lea ecx, [ecx]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x52e845
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x52e773
push dword [esp + 0x1c]
push edi
push eax
push ecx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne 0x52e86a
mov edx, dword [esp + 0x10]
jmp 0x52e797
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x52e797
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52e797
cmp ecx, 1
je 0x52e86a
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x52e86a
cmp dword [edx + 0x88], 0
je 0x52e7ce
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x52e7ce
cmp dword [edx + 0x18], 0
jne 0x52e7ce
cmp dword [edi], 2
jne 0x52e7ce
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52e7ce
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x52e7e9
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52e7e9
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52e7d8
inc ebx
cmp ebx, dword [esp + 0x30]
jge 0x52e86a
mov edx, dword [esp + 0x10]
jmp 0x52e740
cmp edi, 0x7fffffff
jge 0x52e842
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
mov eax, dword [esp + 0x30]
lea esp, [esp]
cmp esi, edi
jae 0x52e845
mov edx, dword [edx + 0x78]
inc esi
cmp esi, edx
jae 0x52e835
mov ecx, esi
mov edi, edi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52e831
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edx
jb 0x52e820
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
inc ebx
cmp ebx, eax
jl 0x52e810
mov ecx, edx
jmp 0x52e86e
mov esi, dword [edx + 0x78]
cmp dword [edx + 0x88], 0
je 0x52e86a
cmp esi, dword [edx + 0x84]
jbe 0x52e86a
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x52617d
mov ebx, dword [esp + 0x18]
cmp esi, ebp
je 0x52fc81
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
jne 0x52e8cc
jmp 0x52e8c0
mov al, byte [esi - 1]
dec esi
and al, 0xc0
mov ecx, esi
cmp al, 0x80
je 0x52e8c0
cmp dword [esp + 0x20], 0x11
jne 0x52e8e5
cmp ecx, ebp
jbe 0x52e8e5
cmp byte [esi], 0xa
jne 0x52e8e5
cmp byte [esi - 1], 0xd
jne 0x52e8e5
lea esi, [ecx - 1]
mov ecx, dword [esp + 0x10]
cmp esi, ebp
jne 0x52e885
mov edi, dword [esp + 0x14]
jmp 0x52a431
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x52e91d
cmp dword [edx + 0x88], 0
mov esi, ecx
je 0x52e86a
cmp ecx, dword [edx + 0x84]
jmp 0x52e854
add esi, edi
jmp 0x52e86a
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
nop
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov eax, 1
cmp edx, 0xc0
jb 0x52ea34
test dl, 0x20
jne 0x52e96a
movzx eax, byte [esi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x52ea34
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x52e994
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 0x52ea34
test dl, 8
jne 0x52e9c0
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 0x52ea34
test dl, 4
jne 0x52e9f8
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 0x52ea34
and edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0xd
jne 0x52ea4a
inc esi
cmp esi, edi
jae 0x52e86a
cmp byte [esi], 0xa
jne 0x52ea85
inc esi
jmp 0x52ea85
cmp edx, 0xa
je 0x52ea83
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x68], 0
jne 0x52e86e
cmp edx, 0xb
je 0x52ea83
cmp edx, 0xc
je 0x52ea83
cmp edx, 0x85
je 0x52ea83
cmp edx, 0x2028
je 0x52ea83
cmp edx, 0x2029
jne 0x52e86e
add esi, eax
inc ebx
cmp ebx, dword [esp + 0x30]
jl 0x52e930
jmp 0x52e86a
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52eabe
cmp esi, dword [edx + 0x84]
jbe 0x52eabe
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
mov ecx, edx
jmp 0x52e86e
cmp ebx, edi
jge 0x52e86a
mov ebx, dword [edx + 0x78]
mov edi, 1
cmp esi, ebx
jae 0x52ec24
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52eb9f
test dl, 0x20
jne 0x52eb02
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52eb97
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52eb21
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52eb97
and eax, 0x3f
test dl, 8
jne 0x52eb41
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52eb97
test dl, 4
jne 0x52eb6a
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 0x52eb97
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 0x52ebc5
je 0x52ebf3
cmp edx, 0xa0
ja 0x52ebbd
je 0x52ebf3
cmp edx, 9
je 0x52ebf3
cmp edx, 0x20
jmp 0x52ebed
cmp edx, 0x1680
jmp 0x52ebed
cmp edx, 0x205f
ja 0x52ebe7
je 0x52ebf3
cmp edx, 0x2000
jb 0x52ebef
cmp edx, 0x200a
jbe 0x52ebf3
cmp edx, 0x202f
jmp 0x52ebed
cmp edx, 0x3000
je 0x52ebf3
xor ecx, ecx
jmp 0x52ebf8
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0x12
sete al
cmp ecx, eax
je 0x52e86a
mov eax, dword [esp + 0x24]
add esi, edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x30]
jl 0x52ead0
jmp 0x52e86a
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52eabe
cmp esi, dword [edx + 0x84]
jbe 0x52eabe
mov dword [edx + 0x64], edi
cmp dword [edx + 0x88], edi
jg 0x532511
mov ecx, edx
jmp 0x52e86e
cmp ebx, edi
jge 0x52e86a
mov ebx, dword [edx + 0x78]
cmp esi, ebx
jae 0x52ea95
movzx edx, byte [esi]
mov edi, 1
cmp edx, 0xc0
jb 0x52ed31
test dl, 0x20
jne 0x52ec94
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x52ed29
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52ecb3
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x52ed29
and eax, 0x3f
test dl, 8
jne 0x52ecd3
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52ed29
test dl, 4
jne 0x52ecfc
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 0x52ed29
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 0x52ed73
je 0x52ed7e
cmp edx, 0xa
jb 0x52ed45
cmp edx, 0xd
jbe 0x52ed7e
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x20], 0x14
sete al
cmp ecx, eax
je 0x52e86a
mov eax, dword [esp + 0x24]
add esi, edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x30]
jl 0x52ec62
jmp 0x52e86a
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x52ed45
mov ecx, 1
jmp 0x52ed47
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x52ee65
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52edcc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x52ee61
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52ede4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52ee5b
and eax, 0x3f
test dl, 8
jne 0x52ee04
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52ee5b
test dl, 4
jne 0x52ee2d
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 0x52ee5b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x52ee7d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
jne 0x52e86a
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x30]
jl 0x52ed90
jmp 0x52e86a
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
lea ebx, [ebx]
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x52ef75
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52eedc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x52ef71
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52eef4
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52ef6b
and eax, 0x3f
test dl, 8
jne 0x52ef14
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52ef6b
test dl, 4
jne 0x52ef3d
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 0x52ef6b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x52e86a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 4
je 0x52e86a
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x30]
jl 0x52eea0
jmp 0x52e86a
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
mov edi, edi
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x52f085
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52efec
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x52f081
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52f004
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52f07b
and eax, 0x3f
test dl, 8
jne 0x52f024
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52f07b
test dl, 4
jne 0x52f04d
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 0x52f07b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x52f09d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
jne 0x52e86a
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x30]
jl 0x52efb0
jmp 0x52e86a
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
lea ebx, [ebx]
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x52f195
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52f0fc
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x52f191
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52f114
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52f18b
and eax, 0x3f
test dl, 8
jne 0x52f134
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52f18b
test dl, 4
jne 0x52f15d
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 0x52f18b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x52e86a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 1
je 0x52e86a
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x30]
jl 0x52f0c0
jmp 0x52e86a
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
mov edi, edi
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x52f2a5
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52f20c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x52f2a1
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52f224
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52f29b
and eax, 0x3f
test dl, 8
jne 0x52f244
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52f29b
test dl, 4
jne 0x52f26d
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 0x52f29b
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x52f2bd
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
jne 0x52e86a
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x30]
jl 0x52f1d0
jmp 0x52e86a
cmp ebx, edi
jge 0x52e86a
mov edi, dword [edx + 0x78]
lea ebx, [ebx]
cmp esi, edi
jae 0x52ea95
movzx edx, byte [esi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x52f3b5
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x52f31c
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x52f3b1
movzx eax, byte [esi + 2]
test dl, 0x10
jne 0x52f334
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x52f3ab
and eax, 0x3f
test dl, 8
jne 0x52f354
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52f3ab
test dl, 4
jne 0x52f37d
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 0x52f3ab
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x52e86a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x52e86a
inc ebx
add esi, ecx
cmp ebx, dword [esp + 0x30]
jl 0x52f2e0
jmp 0x52e86a
cmp eax, 0xf
ja case.default.0x528a70
jmp dword [eax*4 + 0x532e5c]
cmp ebx, edi
jge 0x52f742
jmp 0x52f400
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x52f63b
mov ecx, dword [edx + 0x18]
lea edi, [edx + 0x1c]
test ecx, ecx
je 0x52f431
push 0
push edi
push eax
push ecx
push esi
call fcn.005356d0
mov edx, dword [esp + 0x24]
add esp, 0x14
test eax, eax
jne 0x52f742
jmp 0x52f455
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x52f455
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52f455
cmp ecx, 1
je 0x52f742
mov al, byte [esi + 1]
cmp al, byte [edx + 0x35]
je 0x52f742
cmp dword [edx + 0x88], 0
je 0x52f48c
lea eax, [esi + 1]
cmp eax, dword [edx + 0x78]
jb 0x52f48c
cmp dword [edx + 0x18], 0
jne 0x52f48c
cmp dword [edi], 2
jne 0x52f48c
mov al, byte [esi]
cmp al, byte [edx + 0x34]
jne 0x52f48c
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
inc ebx
inc esi
cmp ebx, dword [esp + 0x30]
jl 0x52f400
jmp 0x52f742
mov ecx, dword [edx + 0x78]
sub edi, ebx
mov eax, ecx
sub eax, esi
cmp edi, eax
jbe 0x52f4de
cmp dword [edx + 0x88], 0
mov esi, ecx
je 0x52f742
cmp ecx, dword [edx + 0x84]
jbe 0x52f742
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52f742
add esi, edi
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52f63b
mov al, byte [esi]
cmp al, 0xd
jne 0x52f50e
inc esi
cmp esi, ecx
jae 0x52f742
cmp byte [esi], 0xa
jne 0x52f52d
jmp 0x52f52c
cmp al, 0xa
je 0x52f52c
cmp dword [edx + 0x68], 0
jne 0x52f742
cmp al, 0xb
je 0x52f52c
cmp al, 0xc
je 0x52f52c
cmp al, 0x85
jne 0x52f742
inc esi
inc ebx
cmp ebx, edi
jl 0x52f4f0
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52f63b
mov al, byte [esi]
cmp al, 9
je 0x52f742
cmp al, 0x20
je 0x52f742
cmp al, 0xa0
je 0x52f742
inc ebx
inc esi
cmp ebx, edi
jl 0x52f542
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov ecx, dword [edx + 0x78]
lea ebx, [ebx]
cmp esi, ecx
jae 0x52f63b
mov al, byte [esi]
cmp al, 9
je 0x52f59a
cmp al, 0x20
je 0x52f59a
cmp al, 0xa0
jne 0x52f742
inc ebx
inc esi
cmp ebx, edi
jl 0x52f580
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52f63b
mov al, byte [esi]
cmp al, 0xa
jb 0x52f5ce
cmp al, 0xd
jbe 0x52f742
cmp al, 0x85
je 0x52f742
inc ebx
inc esi
cmp ebx, edi
jl 0x52f5b0
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x52f63b
mov al, byte [esi]
cmp al, 0xa
jb 0x52f742
cmp al, 0xd
jbe 0x52f5fe
cmp al, 0x85
jne 0x52f742
inc ebx
inc esi
cmp ebx, edi
jl 0x52f5e4
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x52f637
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne 0x52f73e
inc ebx
inc esi
cmp ebx, edi
jl 0x52f614
jmp 0x52f73e
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x88], 0
je 0x52f742
cmp esi, dword [edx + 0x84]
jbe 0x52f742
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jg 0x532511
jmp 0x52f742
cmp ebx, edi
jge 0x52f742
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x52f637
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
je 0x52f73e
inc ebx
inc esi
cmp ebx, edi
jl 0x52f678
jmp 0x52f73e
cmp ebx, edi
jge 0x52f742
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x52f637
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne 0x52f73e
inc ebx
inc esi
cmp ebx, edi
jl 0x52f6a6
jmp 0x52f73e
cmp ebx, edi
jge 0x52f742
mov edx, dword [edx + 0x78]
lea ecx, [ecx]
cmp esi, edx
jae 0x52f637
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je 0x52f73e
inc ebx
inc esi
cmp ebx, edi
jl 0x52f6d0
jmp 0x52f73e
cmp ebx, edi
jge 0x52f742
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x52f637
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne 0x52f73e
inc ebx
inc esi
cmp ebx, edi
jl 0x52f6f7
jmp 0x52f73e
cmp ebx, edi
jge 0x52f742
mov edx, dword [edx + 0x78]
mov edi, edi
cmp esi, edx
jae 0x52f637
mov eax, dword [esp + 0x10]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je 0x52f73e
inc ebx
inc esi
cmp ebx, edi
jl 0x52f720
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x48], 0
jne 0x526181
cmp esi, ebp
je 0x52a429
mov ebx, dword [esp + 0x18]
lea esp, [esp]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
dec esi
cmp dword [esp + 0x20], 0x11
jne 0x52f7a2
cmp esi, ebp
jbe 0x52f7a4
cmp byte [esi], 0xa
jne 0x52f7a2
cmp byte [esi - 1], 0xd
jne 0x52f7a2
dec esi
cmp esi, ebp
mov edx, dword [esp + 0x10]
jne 0x52f760
mov edi, dword [esp + 0x14]
jmp 0x52a431
mov eax, dword [esp + 0x188]
inc eax
cmp byte [edi], 0x7a
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push ebx
push edx
jne 0x52f7f1
lea eax, [edi + 3]
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ebx, dword [esp + 0x20]
mov edi, ebx
mov dword [esp + 0x14], edi
jmp 0x52a42d
push dword [esp + 0x34]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x52a431
cmp dword [esp + 0x24], 0x8c
jne 0x52a42d
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push ebp
push dword [esp + 0x38]
push edi
push esi
call fcn.00526040
add esp, 0x1c
jmp 0x532998
mov al, byte [edi]
cmp al, 0x7b
je 0x52fdaa
mov ebp, dword [esp + 0x28]
cmp al, 0x7a
mov eax, dword [esp + 0x188]
jne 0x52f8ac
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edi + 3]
push edx
push ecx
push ebp
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov al, byte [ebx]
cmp al, 0x81
je 0x52fd62
cmp al, 0x88
jae 0x52fd3d
mov edi, ebx
mov dword [esp + 0x14], edi
jmp 0x52a42d
inc eax
push eax
push dword [esp + 0x30]
push edx
push ecx
push ebp
push ebx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
jne 0x52f8db
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0xb4], ebx
jne 0x532616
jmp 0x52f8e7
test edi, edi
jne 0x532616
mov ecx, dword [esp + 0x10]
cmp byte [ebx], 0x81
je 0x52fd7b
mov edi, dword [esp + 0x14]
add edi, 3
mov dword [esp + 0x14], edi
jmp 0x52a42d
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x52f912
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x52f908
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x52f9c0
test dl, 0x20
jne 0x52f932
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x52f9b8
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52f94c
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x52f9b4
and eax, 0x3f
test dl, 8
jne 0x52f967
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x52f9b4
test dl, 4
jne 0x52f98b
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 0x52f9b4
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov ecx, dword [esp + 0x1c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx ebx, byte [eax*8 + 0x5c995a]
cmp esi, ebp
je 0x52a429
lea edi, [esi - 1]
test ecx, ecx
jne 0x52f9fb
movzx edx, byte [edi]
jmp 0x52fab7
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x52fa0d
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x52fa03
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x52fab7
test dl, 0x20
jne 0x52fa2d
movzx eax, byte [edi + 1]
and edx, 0x1f
jmp 0x52faaf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x52fa47
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x52faaf
and eax, 0x3f
test dl, 8
jne 0x52fa62
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x52faaf
test dl, 4
jne 0x52fa86
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 0x52faaf
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
mov ecx, ebx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx edx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [edx*4 + 0x5c93a0], eax
je 0x52faf9
mov ecx, dword [esp + 0x1c]
mov esi, edi
mov ebx, edx
jmp 0x52f9e4
mov edx, dword [esp + 0x10]
jmp 0x52e600
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x34], edx
lea ebx, [edx + edx]
mov dword [esp + 0x4c], ebx
cmp ebx, dword [ecx + 0x14]
jge 0x52fb70
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + ebx*4]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + ebx*4 + 4]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x10]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x58], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov ebx, dword [edx + 0x90]
mov ebp, dword [edx + 0xac]
mov dword [ecx], eax
jmp 0x532524
mov ecx, dword [esp + 0x10]
jmp 0x52fb70
cmp edi, 0x88
jae 0x52fba7
cmp edi, 0x81
je 0x52fba7
cmp dword [ecx + 0x6c], 0
mov edi, dword [esp + 0x14]
jne 0x52fbb5
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edi], 0x77
jne 0x52fc68
mov ecx, dword [esp + 0x10]
jmp 0x52fbb5
mov edi, dword [esp + 0x14]
mov dword [ecx + 0x98], 2
mov eax, dword [esp + 0x188]
mov ebx, dword [ecx + 0xac]
inc eax
mov ebp, dword [ecx + 0x90]
push eax
push dword [esp + 0x30]
movzx eax, byte [edi]
push ecx
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, edi
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc20
jne 0x52fc27
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 0x10]
add eax, edx
cmp dword [ecx + 0x7c], eax
jae 0x532616
cmp byte [edx], 0x77
je 0x52fc33
cmp byte [eax], 0x77
jne 0x532616
jmp 0x52fc33
test edi, edi
jne 0x53261d
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [ecx + 0xac], ebx
cmp byte [edx], 0x77
jne case.0x5323be.14
mov edi, dword [esp + 0x24]
mov dword [ecx + 0x90], ebp
jmp 0x52fb70
movzx eax, byte [edi]
movzx eax, byte [eax + 0x5c9210]
add edi, eax
mov dword [esp + 0x14], edi
jmp 0x52a42d
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp 0x52a431
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push ebx
mov ebx, dword [esp + 0x24]
push dword [esp + 0x38]
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx eax, byte [eax + 0x5c9210]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 2]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1f
jmp 0x532998
sub eax, 1
je case.0x5323be.14
mov eax, edi
jmp 0x532998
mov eax, 0xffffffe6
jmp 0x532998
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0xe8]
cmp eax, ecx
je 0x532616
push eax
call dword [0x634304]
add esp, 4
mov eax, edi
jmp 0x532998
mov eax, 0xfffffffa
jmp 0x532998
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x80], esi
mov dword [eax + 0x7c], ecx
mov eax, dword [esp + 0x50]
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push ebp
push ebx
push esi
call fcn.00526040
add esp, 0x1c
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push ebp
push ebx
jmp 0x52fd96
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
push ecx
push dword [esp + 0x24]
add eax, 3
push ebp
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x52fdf1
jmp 0x532998
mov eax, dword [esp + 0x28]
mov dword [edx + 0x7c], eax
mov eax, 0xfffffc1a
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], ecx
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
lea eax, [edi + 3]
push edx
push ecx
push dword [esp + 0x38]
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov eax, dword [esp + 0x10]
mov dword [eax + 0xb4], ebx
mov eax, 0xfffffc1b
jmp 0x532998
mov eax, dword [esp + 0x18]
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 0x7c], eax
mov eax, dword [esp + 0x50]
jmp 0x532998
cmp eax, 0xfffffffe
mov eax, dword [esp + 0x10]
jne 0x52fe31
mov esi, dword [eax + 0x78]
cmp dword [eax + 0x88], 0
je case.0x5323be.14
cmp esi, dword [eax + 0x78]
jb case.0x5323be.14
jmp 0x52ff71
cmp eax, 0xfffffffe
jne 0x52fe54
mov esi, dword [edi + 0x78]
cmp dword [edi + 0x88], 0
je case.0x5323be.14
cmp esi, dword [edi + 0x78]
jb case.0x5323be.14
jmp 0x5324f1
mov dword [esp + 0x3c], esi
cmp ebx, edi
jge 0x52fee2
jmp 0x52fe80
push dword [esp + 0x40]
push dword [esp + 0x14]
push dword [esp + 0x28]
push esi
push ebp
call fcn.00533010
add esp, 0x14
test eax, eax
js 0x52fea3
inc ebx
add esi, eax
cmp ebx, edi
jl 0x52fe80
jmp 0x52fed4
cmp eax, 0xfffffffe
jne 0x52fed4
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x52fed4
mov eax, dword [ecx + 0x78]
cmp eax, dword [ecx + 0x84]
jbe 0x52fed4
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x532511
mov ebx, dword [esp + 0x3c]
cmp esi, ebx
jb case.0x5323be.14
jmp 0x52fee6
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
sub esi, dword [esp + 0x20]
cmp esi, ebx
jae 0x52fee6
jmp 0x532998
cmp eax, 0xfffffffe
jne 0x52ff2b
mov esi, dword [ebx + 0x78]
cmp dword [ebx + 0x88], 0
je case.0x5323be.14
cmp esi, dword [ebx + 0x78]
jb case.0x5323be.14
cmp esi, dword [ebx + 0x84]
jbe case.0x5323be.14
mov dword [ebx + 0x64], 1
cmp dword [ebx + 0x88], 1
jmp 0x53250b
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x5323be.14
cmp esi, dword [eax + 0x84]
jbe case.0x5323be.14
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jmp 0x53250b
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
test ecx, ecx
je 0x53018c
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
lea esp, [esp]
mov edx, dword [esp + 0x20]
cmp edx, dword [esp + 0x38]
jge case.0x5323be.14
cmp esi, dword [ebp + 0x78]
jae 0x530160
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x3c], ebx
cmp ebx, 0xc0
jb 0x5300ff
test bl, 0x20
jne 0x530014
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x5300ff
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x53003f
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x5300ff
lea edx, [esi + 2]
test bl, 8
jne 0x530073
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x5300fb
lea edi, [esi + 3]
test bl, 4
jne 0x5300b3
movzx ebx, al
add esi, 4
mov eax, dword [esp + 0x3c]
and ebx, 0x3f
and eax, 3
shl eax, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
jmp 0x5300fb
movzx ebp, al
lea ebx, [esi + 4]
mov eax, dword [esp + 0x3c]
and ebp, 0x3f
movzx ebx, byte [ebx]
and eax, 1
shl eax, 6
and ebx, 0x3f
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
shl ebp, 6
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
cmp ebx, 0xff
jbe 0x53010e
cmp dword [esp + 0x24], 0x6e
jmp 0x530123
mov eax, dword [esp + 0x50]
mov ecx, ebx
and ecx, 7
shr ebx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [ebx + ecx], al
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc edx
inc eax
mov dword [esp + 0x20], edx
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x52ffd0
jmp 0x532998
cmp dword [ebp + 0x88], 0
je case.0x5323be.14
cmp esi, dword [ebp + 0x84]
jbe case.0x5323be.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x53250b
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x38]
jge case.0x5323be.14
cmp esi, dword [ebp + 0x78]
jae 0x530160
movzx edx, byte [esi]
inc esi
mov eax, dword [esp + 0x50]
mov ecx, edx
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [edx + ecx], al
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5301a2
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
nop
cmp ebp, dword [esp + 0x20]
jge case.0x5323be.14
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5324e4
movzx ecx, byte [esi]
inc esi
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x530338
cmp ecx, 0xc0
jb 0x530338
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x53027c
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x530338
test cl, 0x10
jne 0x53029d
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 0x530338
test cl, 8
jne 0x5302c7
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 0x530338
test cl, 4
jne 0x5302fd
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 0x530338
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.00535d10
add esp, 0xc
test eax, eax
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebp
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530230
jmp 0x532998
cmp dword [ebx + 0x88], 0
je case.0x5323be.14
cmp esi, edi
jmp 0x52ff3b
cmp dword [edx + 0x88], 0
je case.0x5323be.14
cmp esi, dword [edx + 0x84]
jbe case.0x5323be.14
mov dword [edx + 0x64], 1
cmp dword [edx + 0x88], 1
jmp 0x53250b
mov eax, dword [esp + 0x10]
jmp 0x52fe31
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x10]
inc eax
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
jmp 0x530400
cmp dword [esp + 0x20], ebp
jge case.0x5323be.14
mov ebx, dword [ebx + 0x78]
mov eax, ebx
mov ebp, dword [esp + 0x38]
sub eax, ebp
cmp esi, eax
ja 0x530479
mov edx, dword [esp + 0x4c]
mov edi, ebp
mov ecx, esi
sub edi, 4
jb 0x530437
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x530440
add ecx, 4
add edx, 4
sub edi, 4
jae 0x530426
cmp edi, 0xfffffffc
je 0x5304f5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x530479
cmp edi, 0xfffffffd
je 0x5304f5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x530479
cmp edi, 0xfffffffe
je 0x5304f5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x530479
cmp edi, 0xffffffff
je 0x5304f5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x5304f5
mov ebp, dword [esp + 0x24]
mov ecx, ebx
test ebp, ebp
jle 0x530535
mov eax, ebx
sub eax, ebp
cmp esi, eax
ja 0x530535
mov edi, ebp
lea edx, [esp + 0x160]
mov ecx, esi
sub edi, 4
jb 0x5304b4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5304b9
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5304a3
cmp edi, 0xfffffffc
je 0x5304ed
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5304e6
cmp edi, 0xfffffffd
je 0x5304ed
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5304e6
cmp edi, 0xfffffffe
je 0x5304ed
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5304e6
cmp edi, 0xffffffff
je 0x5304ed
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x5304ed
sbb eax, eax
or eax, 1
jmp 0x5304ef
xor eax, eax
mov ecx, ebx
test eax, eax
jne 0x530535
mov eax, dword [esp + 0x188]
add esi, ebp
mov ebx, dword [esp + 0x10]
inc eax
inc dword [esp + 0x20]
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov ebp, dword [esp + 0x4c]
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530400
jmp 0x532998
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x5323be.14
cmp esi, ecx
jb case.0x5323be.14
jmp 0x52ff71
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x30]
jge case.0x5323be.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx eax, byte [esi]
cmp ebx, eax
je 0x5305aa
cmp ebp, eax
jne case.0x5323be.14
mov eax, dword [esp + 0x188]
inc esi
inc eax
inc ecx
push eax
push dword [esp + 0x30]
mov dword [esp + 0x28], ecx
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530580
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edi, edi
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
jge case.0x5323be.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ecx
inc eax
mov dword [esp + 0x20], ecx
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530610
jmp 0x532998
cmp dword [ecx + 0x88], 0
je case.0x5323be.14
cmp esi, dword [ecx + 0x84]
jbe case.0x5323be.14
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jmp 0x53250b
mov eax, dword [esp + 0x188]
inc eax
cmp dword [esp + 0x1c], 0
push eax
push dword [esp + 0x30]
je 0x530828
mov ebp, dword [esp + 0x18]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jge case.0x5323be.14
cmp esi, dword [ebp + 0x78]
jae 0x530160
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x4c], ebx
cmp ebx, 0xc0
jb 0x5307dd
test bl, 0x20
jne 0x530714
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x5307d9
mov al, byte [esi]
lea ecx, [esi + 1]
movzx eax, al
and eax, 0x3f
test bl, 0x10
jne 0x53073a
and ebx, 0xf
add esi, 2
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x5307d4
lea edx, [esi + 2]
test bl, 8
jne 0x530760
and ebx, 7
add esi, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x5307d4
lea edi, [esi + 3]
test bl, 4
jne 0x530791
and ebx, 3
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x5307d4
mov ebp, dword [esp + 0x4c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edx]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [edi]
shl ebp, 6
and eax, 0x3f
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x4c], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x10]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x38], ebx
je case.0x5323be.14
cmp dword [esp + 0x3c], ebx
je case.0x5323be.14
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5306d0
jmp 0x532998
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ebx, dword [esp + 0x30]
nop
cmp ebx, dword [esp + 0x20]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx eax, byte [esi]
cmp dword [esp + 0x38], eax
je case.0x5323be.14
cmp ebp, eax
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc esi
inc eax
inc ebx
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530850
jmp 0x532998
test eax, eax
mov eax, dword [esp + 0x188]
je 0x530a59
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
jmp 0x5308f0
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x20]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx ebx, byte [esi]
inc esi
mov dword [esp + 0x58], ebx
cmp ebx, 0xc0
jb 0x530a1a
test bl, 0x20
jne 0x530938
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x530a16
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x53095e
and ebx, 0xf
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 2
movzx eax, byte [ecx]
shl ebx, 6
jmp 0x530a0d
lea edx, [esi + 2]
test bl, 8
jne 0x53098d
and ebx, 7
movzx eax, al
and eax, 0x3f
shl ebx, 6
or ebx, eax
add esi, 3
movzx eax, byte [ecx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
shl ebx, 6
jmp 0x530a0d
mov ebp, dword [esp + 0x58]
lea edi, [esi + 3]
test bl, 4
jne 0x5309c8
movzx ebx, al
and ebp, 3
movzx eax, byte [ecx]
and ebx, 0x3f
shl ebp, 6
and eax, 0x3f
or ebx, ebp
add esi, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
shl ebx, 6
jmp 0x530a09
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
lea ebx, [esi + 4]
movzx eax, byte [ecx]
add esi, 5
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
shl ebp, 6
mov dword [esp + 0x58], ebp
mov ebx, ebp
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
or ebx, eax
mov eax, dword [esp + 0x30]
cmp ebp, ebx
je case.0x5323be.14
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5308f0
jmp 0x532998
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ebx, dword [esp + 0x30]
cmp ebx, dword [esp + 0x20]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx eax, byte [esi]
inc esi
cmp ebp, eax
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530a86
jmp 0x532998
test eax, eax
js 0x531b41
cmp eax, 0xa
ja case.default.0x528a70
jmp dword [eax*4 + 0x532e9c]
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebp
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov edi, edi
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx eax, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
je 0x530b6e
cmp eax, 0xc0
jb 0x530b6e
test al, 0x20
jne 0x530b50
inc esi
jmp 0x530b6e
test al, 0x10
jne 0x530b59
add esi, 2
jmp 0x530b6e
test al, 8
jne 0x530b62
add esi, 3
jmp 0x530b6e
test al, 4
jne 0x530b6b
add esi, 4
jmp 0x530b6e
add esi, 5
cmp dword [esp + 0x44], 0
jne case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ecx
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebp
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530b20
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x530cdf
cmp ebx, 0xc0
jb 0x530cdf
mov al, byte [esi]
test bl, 0x20
jne 0x530c25
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x530cdf
movzx eax, al
lea ecx, [esi + 1]
and eax, 0x3f
test bl, 0x10
jne 0x530c48
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x530cd3
lea edx, [esi + 2]
test bl, 8
jne 0x530c6d
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x530cd3
lea edi, [esi + 3]
test bl, 4
jne 0x530c9d
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x530cd3
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp eax, 9
je 0x530d16
cmp eax, 5
je 0x530d16
cmp eax, 8
je 0x530d16
xor eax, eax
jmp 0x530d1b
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530bd2
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
lea ecx, [ecx]
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x530e92
cmp ebx, 0xc0
jb 0x530e92
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x530ddb
inc esi
and ebp, 0x1f
jmp 0x530e8a
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x530dfb
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x530e8a
lea edx, [esi + 2]
test bl, 8
jne 0x530e20
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x530e86
lea edi, [esi + 3]
test bl, 4
jne 0x530e50
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x530e86
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ebx, dword [esp + 0x54]
mov eax, ebp
shr eax, 7
and ebp, 0x7f
xor ecx, ecx
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp dword [eax*4 + 0x5c9328], ebx
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530d90
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
jmp 0x530f40
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x531042
cmp ebx, 0xc0
jb 0x531042
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x530f8b
inc esi
and ebp, 0x1f
jmp 0x53103a
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x530fab
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x53103a
lea edx, [esi + 2]
test bl, 8
jne 0x530fd0
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x531036
lea edi, [esi + 3]
test bl, 4
jne 0x531000
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x531036
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x530f40
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x5311e3
cmp ebx, 0xc0
jb 0x5311e3
mov al, byte [esi]
movzx eax, al
test bl, 0x20
jne 0x53112c
inc esi
and ebp, 0x1f
jmp 0x5311db
and eax, 0x3f
lea ecx, [esi + 1]
test bl, 0x10
jne 0x53114c
mov ebp, ebx
add esi, 2
and ebp, 0xf
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
jmp 0x5311db
lea edx, [esi + 2]
test bl, 8
jne 0x531171
mov ebp, ebx
add esi, 3
and ebp, 7
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x5311d7
lea edi, [esi + 3]
test bl, 4
jne 0x5311a1
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x5311d7
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
xor ecx, ecx
shr eax, 7
and ebp, 0x7f
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9958]
cmp eax, dword [esp + 0x54]
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5310e1
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x531391
cmp ebx, 0xc0
jb 0x531391
mov al, byte [esi]
test bl, 0x20
jne 0x5312d5
and ebx, 0x1f
movzx ebp, al
and ebp, 0x3f
shl ebx, 6
inc esi
or ebp, ebx
jmp 0x531391
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5312f8
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x531385
movzx ebp, al
lea edx, [esi + 2]
and ebp, 0x3f
test bl, 8
jne 0x531321
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x531385
lea edi, [esi + 3]
test bl, 4
jne 0x53134f
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x531385
mov eax, dword [esp + 0x3c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x5313ca
cmp eax, 3
je 0x5313ca
xor eax, eax
jmp 0x5313cf
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x531282
jmp 0x532998
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebp
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edi, dword [esp + 0x10]
cmp esi, dword [edi + 0x78]
jae 0x5324e4
movzx edx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ecx, edx
je 0x53153c
cmp edx, 0xc0
jb 0x53153c
movzx ecx, byte [esi]
and ecx, 0x3f
test dl, 0x20
jne 0x531493
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc esi
jmp 0x53153a
movzx eax, byte [esi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x5314b4
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x53153a
test dl, 8
jne 0x5314d7
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 0x53153a
test dl, 4
jne 0x531506
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 0x53153a
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov ecx, edx
cmp edx, 0x180e
ja 0x53157b
je case.0x531597.8192
cmp edx, 0x85
ja 0x53156b
je case.0x531597.8192
cmp edx, 9
jb case.0x531597.8203
cmp edx, 0xd
jbe case.0x531597.8192
cmp edx, 0x20
jmp 0x5315ac
cmp edx, 0xa0
je case.0x531597.8192
cmp edx, 0x1680
jmp 0x5315ac
cmp edx, 0x202f
ja 0x53159e
je case.0x531597.8192
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x531597.8203
movzx eax, byte [edx + 0x532ed0]
jmp dword [eax*4 + 0x532ec8]
cmp edx, 0x205f
je case.0x531597.8192
cmp edx, 0x3000
je case.0x531597.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
cmp dword [eax*4 + 0x5c9328], 6
sete cl
cmp ecx, dword [esp + 0x44]
je case.0x5323be.14
jmp 0x5315f6
cmp dword [esp + 0x44], 0
jne case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x24]
push dword [esp + 0x38]
push ebp
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x531442
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 0x78]
jae 0x530392
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x531754
cmp ebx, 0xc0
jb 0x531754
mov al, byte [esi]
movzx ebp, al
and ebp, 0x3f
test bl, 0x20
jne 0x5316a6
and ebx, 0x1f
inc esi
shl ebx, 6
or ebp, ebx
jmp 0x531754
lea ecx, [esi + 1]
test bl, 0x10
jne 0x5316c1
movzx eax, byte [ecx]
and ebx, 0xf
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x53174c
lea edx, [esi + 2]
test bl, 8
jne 0x5316e4
movzx eax, byte [ecx]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x531748
lea edi, [esi + 3]
test bl, 4
jne 0x531712
movzx eax, byte [ecx]
and ebx, 3
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x531748
mov eax, dword [esp + 0x3c]
lea ebx, [esi + 4]
and eax, 1
add esi, 5
shl eax, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x5cacf0]
mov eax, ebp
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5ccef0]
movzx eax, byte [eax*8 + 0x5c9959]
mov eax, dword [eax*4 + 0x5c9328]
cmp eax, 1
je 0x531794
cmp eax, 3
je 0x531794
cmp ebp, 0x5f
je 0x531794
xor eax, eax
jmp 0x531799
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push edx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x531653
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov ebp, dword [esp + 0x10]
nop
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
cmp esi, dword [ebp + 0x78]
jae 0x530160
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov edi, ecx
je 0x531917
cmp ecx, 0xc0
jb 0x531917
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x531859
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x531915
test cl, 0x10
jne 0x53187a
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 0x531915
test cl, 8
jne 0x5318a4
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 0x531915
test cl, 4
jne 0x5318da
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 0x531915
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 edi, ecx
mov eax, dword [esp + 0x54]
mov edx, dword [eax*4 + 0x5c9818]
lea eax, [eax*4 + 0x5c9818]
cmp edi, edx
jb 0x53193d
lea ecx, [ecx]
lea eax, [eax + 4]
cmp ecx, edx
je 0x53197b
mov edx, dword [eax]
cmp ecx, edx
jae 0x531930
cmp dword [esp + 0x44], 0
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x531810
jmp 0x532998
cmp dword [esp + 0x44], 0
jne case.0x5323be.14
jmp 0x531948
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0x78]
jae 0x530668
movzx ebx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0
mov ebp, ebx
mov dword [esp + 0x3c], ebx
je 0x531acc
cmp ebx, 0xc0
jb 0x531acc
test bl, 0x20
jne 0x531a06
movzx eax, byte [esi]
and ebp, 0x1f
shl ebp, 6
and eax, 0x3f
or ebp, eax
inc esi
jmp 0x531acc
mov al, byte [esi]
lea ecx, [esi + 1]
test bl, 0x10
jne 0x531a2b
mov ebp, ebx
movzx eax, al
and ebp, 0xf
and eax, 0x3f
shl ebp, 6
add esi, 2
or ebp, eax
movzx eax, byte [ecx]
jmp 0x531ac0
lea edx, [esi + 2]
test bl, 8
jne 0x531a54
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x531ac0
movzx eax, al
lea edi, [esi + 3]
and eax, 0x3f
test bl, 4
jne 0x531a8a
mov ebp, ebx
add esi, 4
and ebp, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x531ac0
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
add esi, 5
shl ebp, 6
or ebp, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl ebp, 6
or ebp, eax
cmp ebp, 0x24
je 0x531af7
cmp ebp, 0x40
je 0x531af7
cmp ebp, 0x60
je 0x531af7
cmp ebp, 0xa0
jb 0x531aeb
cmp ebp, 0xd7ff
jbe 0x531af7
cmp ebp, 0xe000
jae 0x531af7
xor eax, eax
jmp 0x531afc
mov eax, 1
cmp eax, dword [esp + 0x44]
je case.0x5323be.14
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5319b5
jmp 0x532998
mov eax, dword [esp + 0x188]
inc eax
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
cmp ebp, 0x16
jne 0x531e4a
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
jmp 0x531b80
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 0x78]
jae 0x52ff64
movzx ebx, byte [esi]
inc esi
mov edx, dword [esp + 0x1c]
mov ebp, ebx
mov dword [esp + 0x3c], ebx
mov ecx, esi
test edx, edx
je 0x531c96
cmp ebx, 0xc0
jb 0x531c96
mov al, byte [esi]
test bl, 0x20
jne 0x531bce
inc esi
movzx eax, al
and ebp, 0x1f
jmp 0x531c8c
lea ecx, [esi + 1]
test bl, 0x10
jne 0x531bef
movzx ebp, al
and ebx, 0xf
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
add esi, 2
or ebp, ebx
jmp 0x531c8c
lea edx, [esi + 2]
test bl, 8
jne 0x531c18
movzx ebp, al
and ebx, 7
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 3
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
jmp 0x531c88
lea edi, [esi + 3]
test bl, 4
jne 0x531c4c
movzx ebp, al
and ebx, 3
movzx eax, byte [ecx]
and ebp, 0x3f
shl ebx, 6
and eax, 0x3f
or ebp, ebx
add esi, 4
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
jmp 0x531c88
mov ebp, dword [esp + 0x3c]
lea ebx, [esi + 4]
and ebp, 1
movzx eax, al
and eax, 0x3f
shl ebp, 6
or ebp, eax
add esi, 5
movzx eax, byte [ecx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebp, 6
or ebp, eax
movzx eax, byte [ebx]
mov edx, dword [esp + 0x1c]
and eax, 0x3f
shl ebp, 6
or ebp, eax
mov ecx, esi
mov eax, ebp
and ebp, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, ebp
movzx eax, word [eax*2 + 0x5ccef0]
movzx ebx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x10]
mov ebp, dword [eax + 0x78]
cmp ecx, ebp
jae 0x531de2
lea esp, [esp]
test edx, edx
mov edi, 1
movzx edx, byte [esi]
je 0x531d9f
cmp edx, 0xc0
jb 0x531d9f
test dl, 0x20
jne 0x531d02
movzx eax, byte [esi + 1]
and edx, 0x1f
mov edi, 2
jmp 0x531d97
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x531d21
and edx, 0xf
mov edi, 3
shl edx, 6
or edx, ecx
jmp 0x531d97
and eax, 0x3f
test dl, 8
jne 0x531d41
and edx, 7
mov edi, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x531d97
test dl, 4
jne 0x531d6a
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 0x531d97
and edx, edi
mov edi, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x5cacf0]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5ccef0]
movzx ecx, byte [eax*8 + 0x5c995a]
mov eax, dword [esp + 0x50]
shl eax, cl
test dword [ebx*4 + 0x5c93a0], eax
je 0x531de2
mov edx, dword [esp + 0x1c]
add esi, edi
mov ebx, ecx
cmp esi, ebp
jb 0x531cd0
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x88], 0
je 0x531e0f
cmp esi, ebp
jb 0x531e0f
cmp esi, dword [ecx + 0x84]
jbe 0x531e0f
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x88], 1
jg 0x532511
mov eax, dword [esp + 0x188]
mov ebx, dword [esp + 0x24]
inc eax
push eax
push dword [esp + 0x30]
inc ebx
push ecx
push dword [esp + 0x24]
mov dword [esp + 0x34], ebx
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x531b80
jmp 0x532998
test ecx, ecx
je 0x5322cb
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x5324e4
cmp ebp, 0xc
jne 0x531ecb
mov edx, dword [edi + 0x18]
test edx, edx
je 0x531ea6
push dword [esp + 0x1c]
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne case.0x5323be.14
jmp 0x531ecb
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x531ecb
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x531ecb
cmp edx, 1
je case.0x5323be.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x5323be.14
movzx ecx, byte [esi]
inc esi
mov edx, esi
mov eax, ecx
cmp ecx, 0xc0
jb 0x531fb8
movzx eax, byte [esi]
and eax, 0x3f
test cl, 0x20
jne 0x531ef8
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc esi
jmp 0x531fb4
test cl, 0x10
jne 0x531f19
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 0x531fb4
test cl, 8
jne 0x531f43
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 0x531fb4
test cl, 4
jne 0x531f79
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 0x531fb4
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 edx, esi
mov eax, ecx
lea edi, [ebp - 6]
cmp edi, 0xf
ja case.default.0x528a70
jmp dword [edi*4 + 0x532efc]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x88], 0
je case.0x531fc4.13
cmp edx, dword [eax + 0x78]
jb case.0x531fc4.13
cmp dword [eax + 0x18], 0
jne case.0x531fc4.13
cmp dword [eax + 0x1c], 2
jne case.0x531fc4.13
movzx eax, byte [eax + 0x34]
cmp ecx, eax
jne case.0x531fc4.13
mov eax, dword [esp + 0x10]
mov dword [eax + 0x64], 1
cmp dword [eax + 0x88], 1
jg 0x532511
jmp case.0x531fc4.13
cmp ecx, 0xd
ja 0x532055
je 0x532037
cmp ecx, 0xa
je case.0x531fc4.13
lea eax, [ecx - 0xb]
jmp 0x532063
mov eax, dword [esp + 0x10]
cmp edx, dword [eax + 0x78]
jae case.0x531fc4.13
cmp byte [esi], 0xa
jne case.0x531fc4.13
lea esi, [edx + 1]
jmp case.0x531fc4.13
cmp ecx, 0x85
je 0x53206c
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x5323be.14
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x68], 0
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x180e
ja 0x5320b7
je case.0x5323be.14
cmp ecx, 0xa0
ja 0x5320ac
je case.0x5323be.14
cmp ecx, 9
je case.0x5323be.14
cmp ecx, 0x20
jmp 0x53228f
cmp ecx, 0x1680
jmp 0x53228f
cmp ecx, 0x205f
ja 0x5320e8
je case.0x5323be.14
cmp ecx, 0x2000
jb case.0x531fc4.13
cmp ecx, 0x200a
jbe case.0x5323be.14
cmp ecx, 0x202f
jmp 0x53228f
cmp ecx, 0x3000
jmp 0x53228f
cmp ecx, 0x180e
ja 0x532137
je case.0x531fc4.13
cmp ecx, 0xa0
ja 0x532126
je case.0x531fc4.13
cmp ecx, 9
je case.0x531fc4.13
cmp ecx, 0x20
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x1680
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x205f
ja 0x53216e
je case.0x531fc4.13
cmp ecx, 0x2000
jb case.0x5323be.14
cmp ecx, 0x200a
jbe case.0x531fc4.13
cmp ecx, 0x202f
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x3000
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x85
ja 0x5321a4
je case.0x5323be.14
cmp ecx, 0xa
jb case.0x531fc4.13
cmp ecx, 0xd
jbe case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x2028
jb case.0x531fc4.13
cmp ecx, 0x2029
jbe case.0x5323be.14
jmp case.0x531fc4.13
cmp ecx, 0x85
ja 0x5321e0
je case.0x531fc4.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x5323be.14
jmp case.0x531fc4.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x5323be.14
jmp case.0x531fc4.13
cmp eax, 0x100
jae case.0x531fc4.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp eax, 0x100
jae case.0x5323be.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 4
jmp 0x53228f
cmp eax, 0x100
jae case.0x531fc4.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp eax, 0x100
jae case.0x5323be.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jmp 0x53228f
cmp eax, 0x100
jae case.0x531fc4.13
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5323be.14
jmp case.0x531fc4.13
cmp eax, 0x100
jae case.0x5323be.14
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x531e64
jmp 0x532998
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
lea ecx, [ecx]
cmp ebx, dword [esp + 0x30]
jge case.0x5323be.14
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x78]
cmp esi, ecx
jae 0x5324e4
cmp ebp, 0xc
jne 0x532345
mov edx, dword [edi + 0x18]
test edx, edx
je 0x532320
push 0
lea eax, [edi + 0x1c]
push eax
push ecx
push edx
push esi
call fcn.005356d0
add esp, 0x14
test eax, eax
jne case.0x5323be.14
jmp 0x532345
mov edx, dword [edi + 0x1c]
sub ecx, edx
cmp esi, ecx
ja 0x532345
mov al, byte [esi]
cmp al, byte [edi + 0x34]
jne 0x532345
cmp edx, 1
je case.0x5323be.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x35]
je case.0x5323be.14
movzx ecx, byte [esi]
lea eax, [ebp - 6]
inc esi
cmp eax, 0xf
ja case.default.0x528a70
jmp dword [eax*4 + 0x532f3c]
cmp dword [edi + 0x88], 0
je case.0x532355.13
cmp esi, dword [edi + 0x78]
jb case.0x532355.13
cmp dword [edi + 0x18], 0
jne case.0x532355.13
cmp dword [edi + 0x1c], 2
jne case.0x532355.13
movzx eax, byte [edi + 0x34]
cmp ecx, eax
jne case.0x532355.13
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jg 0x532511
jmp case.0x532355.13
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x5323be.14
movzx eax, byte [ecx + 0x532f8c]
jmp dword [eax*4 + 0x532f7c]
cmp esi, dword [edi + 0x78]
jae case.0x532355.13
cmp byte [esi], 0xa
jne case.0x532355.13
inc esi
jmp case.0x532355.13
cmp dword [edi + 0x68], 0
jne case.0x5323be.14
jmp case.0x532355.13
cmp ecx, 9
je case.0x5323be.14
cmp ecx, 0x20
je case.0x5323be.14
cmp ecx, 0xa0
jmp 0x5324a1
cmp ecx, 9
je case.0x532355.13
cmp ecx, 0x20
je case.0x532355.13
cmp ecx, 0xa0
jne case.0x5323be.14
jmp case.0x532355.13
cmp ecx, 0xa
jb case.0x532355.13
cmp ecx, 0xd
jbe case.0x5323be.14
cmp ecx, 0x85
jmp 0x5324a1
cmp ecx, 0xa
jb case.0x5323be.14
cmp ecx, 0xd
jbe case.0x532355.13
cmp ecx, 0x85
jne case.0x5323be.14
jmp case.0x532355.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jne case.0x5323be.14
jmp case.0x532355.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 4
jmp 0x5324a1
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x5323be.14
jmp case.0x532355.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jmp 0x5324a1
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5323be.14
jmp case.0x532355.13
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x5323be.14
mov eax, dword [esp + 0x188]
inc ebx
inc eax
push eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x24]
push dword [esp + 0x38]
push dword [esp + 0x28]
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x5322e0
jmp 0x532998
mov eax, 0xfffffff2
jmp 0x532998
cmp dword [edi + 0x88], 0
je case.0x5323be.14
cmp esi, dword [edi + 0x84]
jbe case.0x5323be.14
mov dword [edi + 0x64], 1
cmp dword [edi + 0x88], 1
jle case.0x5323be.14
mov eax, 0xfffffff4
jmp 0x532998
mov edi, dword [esp + 0x24]
cmp edi, 0x88
jb 0x532536
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, ecx
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1b
je 0x5325e4
cmp edi, 0xfffffc20
jne 0x5325aa
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x7c], eax
jae 0x532616
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x77
je 0x5325a6
cmp byte [eax], 0x77
jne 0x532616
xor edi, edi
jmp 0x5325b2
test edi, edi
jne 0x532616
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xac], ebp
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x77
je 0x532520
jmp 0x5325e8
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov dword [eax + edx*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x5c]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x34]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4], edx
mov eax, edi
jmp 0x532998
cmp edi, 0xfffffc1b
jne 0x532616
mov edx, dword [esp + 0x14]
mov al, byte [edx]
cmp al, 0x81
je 0x532656
cmp al, 0x77
jne 0x532647
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x532633
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xb4], edx
jne 0x532616
xor edi, edi
mov eax, edi
jmp 0x532998
mov edi, dword [esp + 0x14]
lea ebx, [edi + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x188]
movzx ecx, byte [edi + 1]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [edi]
push edx
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x5326c3
cmp edi, 0xfffffc19
jne 0x5326dd
mov edx, dword [esp + 0x10]
cmp dword [edx + 0xac], 0
jne 0x5326e1
mov dword [edx + 0xac], ebx
mov eax, edi
jmp 0x532998
mov edx, dword [esp + 0x10]
cmp edi, 0xfffffc1f
jne 0x532616
mov eax, dword [edx + 0x7c]
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x532710
test cl, cl
je 0x53270c
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x532710
add ebx, 2
add eax, 2
test cl, cl
jne 0x5326f0
xor eax, eax
jmp 0x532715
sbb eax, eax
or eax, 1
test eax, eax
jne 0x532616
mov dword [edx + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x532998
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x5c9210]
add eax, ecx
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov eax, 0xfffffc1c
jmp 0x532998
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x5c9210]
add eax, ecx
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x53281a
jmp 0x532998
mov edi, dword [esp + 0x14]
lea ebx, [edi + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x188]
movzx ecx, byte [edi + 1]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [edi]
push edx
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, edi
add ecx, eax
push ecx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x5327ff
cmp edi, 0xfffffc19
jne 0x532812
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xac], 0
jne 0x532812
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x532616
mov eax, 0xfffffc1d
jmp 0x532998
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ecx]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x5c9210]
add eax, ecx
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x532616
mov eax, dword [esp + 0x10]
mov dword [eax + 0x7c], esi
mov eax, 0xfffffc1e
jmp 0x532998
mov eax, dword [esp + 0x188]
mov ebp, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ebp]
push edx
push ebx
push dword [esp + 0x38]
movzx eax, byte [eax + 0x5c9210]
add eax, ebp
push eax
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x53291d
jmp 0x532998
mov ebp, dword [esp + 0x14]
lea ebx, [ebp + 2]
mov dword [edx + 0xb0], ebx
mov dword [edx + 0xac], 0
mov eax, dword [esp + 0x188]
movzx ecx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x30]
movzx eax, byte [ebp]
push edx
push dword [esp + 0x24]
movzx eax, byte [eax + 0x5c9210]
push dword [esp + 0x38]
add eax, ebp
add ecx, eax
push ecx
push esi
call fcn.00526040
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x532902
cmp edi, 0xfffffc19
jne 0x532915
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xac], 0
jne 0x532915
mov dword [eax + 0xac], ebx
test edi, edi
jne 0x532616
mov eax, dword [esp + 0x10]
mov dword [eax + 0x7c], ebp
mov eax, 0xfffffc20
jmp 0x532998
mov ecx, dword [esp + 0x28]
cmp esi, ecx
jne 0x532965
cmp edi, 0x9f
je 0x532965
cmp dword [edx + 0xa4], 0
jne 0x532965
cmp dword [edx + 0x5c], 0
jne case.0x5323be.14
cmp dword [edx + 0x60], 0
je 0x532965
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp ecx, eax
je case.0x5323be.14
mov dword [edx + 0x80], esi
test edi, edi
mov eax, 0xfffffc19
mov dword [edx + 0x8c], ebx
cmove eax, dword [esp + 0x50]
mov dword [edx + 0x7c], ecx
jmp 0x532998
mov eax, 0xfffffffb
jmp 0x532998
mov eax, 0xffffffeb
jmp 0x532998
inc eax
mov dword [ecx], eax
mov eax, 0xfffffff8
mov ecx, dword [esp + 0x168]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005395e6
add esp, 0x15c
ret