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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x560bae
mov esi, dword [esi]
test esi, esi
je 0x56e851
mov edi, 0xfffffff8
jmp 0x56a459
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x560bca
mov esi, dword [esi]
test esi, esi
je 0x56e85e
mov edi, 0xffffffeb
jmp 0x56a459
cmp dword [ebp + 0x98], 2
jne 0x560c01
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x560c01
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x560c34.98
movzx eax, byte [edx + 0x56ea6c]
jmp dword [eax*4 + 0x56e920]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x56e0b5
push 0x134
call dword [0x7bbe5c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x56e0af
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e105
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e0ff
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e123
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e11d
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x56e141
push 0x134
call dword [0x7bbe5c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x56e13b
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e156
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e150
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x560d8e
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x6f10c0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x560c01
mov edi, dword [esi + 4]
test edi, edi
jne 0x56e174
push 0x134
call dword [0x7bbe5c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x56e16e
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e189
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e183
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x56e1a7
push 0x134
call dword [0x7bbe5c]
mov edi, eax
add esp, 4
test edi, edi
jne 0x56e1a1
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x56b998
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x560c34.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x56a4fb
mov dword [esi + 0x54], ebx
jmp 0x56169f
mov dword [esi + 0x54], ebx
jmp 0x5616c3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x561008
mov edi, dword [0x7c3918]
test edi, edi
je 0x560ff4
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x560fae
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x560fe3
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
jns 0x560ff4
mov esi, dword [esi]
test esi, esi
je 0x56a93c
jmp 0x56a459
movzx eax, byte [0x6f1136]
add dword [esi + 0xc], eax
movzx eax, byte [0x6f1136]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x56102e.146
movzx eax, byte [eax + 0x56eb28]
jmp dword [eax*4 + 0x56eb10]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x56102e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x561067
cmp edx, dword [edi + 4]
je 0x561067
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x56a793
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x56a793
cmp dword [ebp + 0xa4], ebx
je case.0x56102e.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x56102e.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x56a793
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x5610b0
jmp 0x56a793
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x561114
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x561114
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x56102e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x56102e.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x56a793
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x561169
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x561178
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x561147
jmp 0x56a793
mov dword [esi + 0x58], 1
jmp 0x56a793
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e1bc
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e1b6
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x561214
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x560bf6
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x560bf6
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x561263
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x560bf6
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x5612b6
cmp edx, 0x9f
je 0x5612b6
cmp dword [ebp + 0xa4], ebx
jne 0x5612b6
cmp dword [ebp + 0x5c], ebx
jne 0x5612a5
cmp dword [ebp + 0x60], ebx
je 0x5612b6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x5612b6
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x56a93c
jmp 0x56a459
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x56130f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x56a88d
mov dword [esi + 0x58], ebx
jmp 0x56a88d
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x56133b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x56a9db
mov dword [esi + 0x58], ebx
jmp 0x56a9db
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x5613a2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x561388
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x567b86.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x561384
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x561378
test edx, edx
jg 0x561360
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x560bf6
mov dword [ebp + 0x84], eax
jmp 0x560bf6
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x561388
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a460
mov edi, dword [0x7c3918]
test edi, edi
je 0x5614ac
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x561466
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x56149b
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
jns 0x5614ac
mov esi, dword [esi]
test esi, esi
je 0x56a93c
jmp 0x56a459
add dword [esi + 0xc], 6
jmp 0x560bfa
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x5614d6
xor edx, edx
jmp 0x5614e3
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x561503
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x5614fd
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x561564
mov ecx, dword [ecx]
test ecx, ecx
jne 0x5614f0
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x561578
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x56aac4
mov esi, dword [esi]
test esi, esi
je 0x56e882
mov edi, 0xffffffe6
jmp 0x56a459
shl eax, 2
push eax
call dword [0x7bbe54]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x56153e
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x5615a1
jmp 0x560c01
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e1f7
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e1f1
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x561600
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e215
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e20f
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x561653
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x560c01
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x56169f
cmp eax, 0x8b
jne 0x5616c3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x5616e0
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x56b5ad
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x56175d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e5a7
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e59d
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x5617b8
cmp al, 0x81
je 0x5617b8
mov dword [esi + 0x38], ebx
jmp 0x5617c9
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x5617d6
cmp al, 0x80
jbe 0x5617da
cmp al, 0x82
jne 0x561806
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x56e8b6
mov edi, 1
jmp 0x56a459
cmp al, 0x85
je 0x56181a
cmp al, 0x8a
je 0x56181a
cmp al, 0x86
je 0x56181a
cmp al, 0x8b
jne 0x5618e1
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x561856
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x561856
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x5617ec
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x561885
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5618e1
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x5618a5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x5618a5
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x5618e1
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x561917
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x56e88f
mov edi, 0xfffffc1a
jmp 0x56a459
cmp cl, 0x78
je 0x561990
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x561990
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x56195e
test ecx, ecx
jne 0x56e236
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e230
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test ecx, ecx
jne 0x56e257
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e251
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x56abf7
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e275
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e26f
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
cmp dword [ebp + 0x44], ebx
je case.0x560c34.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x560c34.1
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x561ab8
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
cmp dword [ebp + 0x44], ebx
je 0x561a2a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x561a2a
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x562474
cmp ecx, dword [ebp + 0x78]
je 0x561a90
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x561a68
cmp ecx, edx
jbe 0x561a90
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00570ae0
add esp, 0x14
test eax, eax
jne 0x562474
jmp 0x561a90
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x561a90
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x561a90
cmp edi, 1
je 0x562474
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x562474
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a459
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x5619f5
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x560c01
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x561b7a
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x561af5
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x562474
jmp 0x561b19
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x561b19
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x561b19
cmp edx, 1
je 0x562474
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x562474
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x567b86.14
cmp dword [ebp + 0x18], ebx
jne case.0x567b86.14
cmp dword [edi], 2
jne case.0x567b86.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x567b86.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x567b86.14
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a459
cmp dword [ebp + 0x48], ebx
jne 0x5619fb
cmp dword [ebp + 0x88], ebx
je 0x562474
cmp ecx, dword [ebp + 0x84]
jbe 0x562474
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x562474
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a459
cmp dword [ebp + 0x48], ebx
jne 0x5619fb
cmp dword [ebp + 0x58], ebx
je case.0x560c34.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5619fb
cmp dword [ebp + 0x88], ebx
je 0x561ab8
cmp eax, dword [ebp + 0x84]
jbe 0x561ab8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x561ab8
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a459
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x561c85
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x561c4d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x561c75
jmp 0x561b19
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x561b19
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x561b19
cmp edx, 1
je 0x561c75
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x561b19
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x561b19
cmp dword [ebp + 0x88], ebx
je 0x562474
cmp ecx, dword [ebp + 0x84]
jbe 0x562474
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x562474
jmp 0x561b66
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x561f87
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x561cd5
mov dword [esi + 0x5c], ebx
jmp 0x561e0e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x561cea
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x561ce0
cmp edx, dword [ebp + 0x84]
jae 0x561cf8
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x561dac
test bl, 0x20
jne 0x561d20
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x561dac
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x561d3a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x561da2
and eax, 0x3f
test bl, 8
jne 0x561d55
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x561da2
test bl, 4
jne 0x561d79
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x561da2
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x561e47
cmp ebx, 0x5f
jne 0x561dc4
mov dword [esi + 0x5c], 1
jmp 0x561e0e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x561de6
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x561e58
cmp eax, 3
je 0x561e58
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x561e5f
cmp dword [ebp + 0x88], 0
je 0x561e3b
cmp edx, dword [ebp + 0x84]
jbe 0x561e3b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
mov dword [esi + 0x54], 0
jmp 0x5620c5
cmp ebx, 0x100
jae 0x561e09
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x561e09
mov eax, 1
jmp 0x561e0b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x561f09
test bl, 0x20
jne 0x561e7f
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x561f01
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x561e99
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x561f01
and eax, 0x3f
test bl, 8
jne 0x561eb4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x561f01
test bl, 4
jne 0x561ed8
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 0x561f01
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x561f6c
cmp ebx, 0x5f
jne 0x561f20
mov dword [esi + 0x54], 1
jmp 0x5620c5
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x561f42
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x561f7d
cmp eax, 3
je 0x561f7d
xor eax, eax
jmp 0x5620c2
cmp ebx, 0x100
jae 0x561f65
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x561f65
mov eax, 1
jmp 0x5620c2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x561f97
mov dword [esi + 0x5c], ebx
jmp 0x562032
cmp eax, dword [ebp + 0x84]
ja 0x561fa6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x56201e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x561fc0
mov dword [esi + 0x5c], 1
jmp 0x562032
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ecx, 0x8000007f
jns 0x561fe2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x562010
cmp eax, 3
je 0x562010
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x56202f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x56202f
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x562073
cmp dword [ebp + 0x88], ebx
je 0x56206e
cmp eax, dword [ebp + 0x84]
jbe 0x56206e
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x56206e
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a460
mov dword [esi + 0x54], ebx
jmp 0x5620c5
cmp dword [ebp + 0x54], ebx
je 0x5620b2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x562089
mov dword [esi + 0x54], 1
jmp 0x5620c5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ecx, 0x8000007f
jns 0x5620ab
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x561f44
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x5620e0
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x5620e8
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x560c01
jmp 0x5619fb
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x56212d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x562158
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x5619fb
jmp 0x562158
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x562158
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x562158
cmp edx, 1
je 0x5619fb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x5619fb
cmp dword [ebp + 0x88], ebx
je case.0x560c34.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x560c34.13
cmp dword [ebp + 0x18], ebx
jne case.0x560c34.13
cmp dword [ebp + 0x1c], 2
jne case.0x560c34.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x560c34.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5621b6
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
cmp eax, dword [ebp + 0x84]
jbe case.0x567b86.14
jmp 0x561b52
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x561ab8
cmp eax, dword [ebp + 0x78]
jae 0x561ab8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x561ab8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x5621d2
inc dword [esi + 0xc]
jmp 0x560c01
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x562199
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x560c01
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x56222d
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
cmp edi, dword [ebp + 0x84]
jbe case.0x567b86.14
jmp 0x561b52
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x562329
cmp ebx, 0xc0
jb 0x562329
test bl, 0x20
jne 0x56226a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562326
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562294
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x562329
mov edx, dword [esi + 8]
test bl, 8
jne 0x5622ba
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56231d
test bl, 4
jne 0x5622e9
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56231d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x562474
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x562474
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a460
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x56245b
cmp ebx, 0xc0
jb 0x56245b
test bl, 0x20
jne 0x56239c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562458
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5623c6
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56245b
mov edx, dword [esi + 8]
test bl, 8
jne 0x5623ec
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56244f
test bl, 4
jne 0x56241b
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56244f
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x5613bd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x5613bd
inc dword [esi + 0xc]
jmp 0x560bfa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x562584
cmp ebx, 0xc0
jb 0x562584
test bl, 0x20
jne 0x5624c5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562581
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5624ef
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x562584
mov edx, dword [esi + 8]
test bl, 8
jne 0x562515
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562578
test bl, 4
jne 0x562544
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562578
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x562474
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x56233c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5626a4
cmp ebx, 0xc0
jb 0x5626a4
test bl, 0x20
jne 0x5625e5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5626a1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56260f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5626a4
mov edx, dword [esi + 8]
test bl, 8
jne 0x562635
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562698
test bl, 4
jne 0x562664
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562698
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x5613bd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x5613bd
inc dword [esi + 0xc]
jmp 0x560bfa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5627cd
cmp ebx, 0xc0
jb 0x5627cd
test bl, 0x20
jne 0x56270e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5627ca
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562738
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5627cd
mov edx, dword [esi + 8]
test bl, 8
jne 0x56275e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5627c1
test bl, 4
jne 0x56278d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5627c1
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x562474
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x56233c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x5628ed
cmp ebx, 0xc0
jb 0x5628ed
test bl, 0x20
jne 0x56282e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5628ea
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562858
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x5628ed
mov edx, dword [esi + 8]
test bl, 8
jne 0x56287e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5628e1
test bl, 4
jne 0x5628ad
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5628e1
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x5613bd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x5613bd
inc dword [esi + 0xc]
jmp 0x560bfa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x562a16
cmp ebx, 0xc0
jb 0x562a16
test bl, 0x20
jne 0x562957
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562a13
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562981
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x562a16
mov edx, dword [esi + 8]
test bl, 8
jne 0x5629a7
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562a0a
test bl, 4
jne 0x5629d6
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562a0a
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x562a8f
je 0x562a31
cmp ebx, 0xa
je 0x562474
jbe 0x562342
cmp ebx, 0xc
jmp 0x562aa9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x562a7a
cmp dword [ebp + 0x88], 0
je 0x562474
cmp eax, dword [ebp + 0x84]
jbe 0x562474
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x562474
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a460
cmp byte [eax], 0xa
jne 0x562474
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x560bfa
cmp ebx, 0x85
je 0x562aaf
cmp ebx, 0x2027
jbe 0x562342
cmp ebx, 0x2029
ja 0x562342
cmp dword [ebp + 0x68], 0
jmp 0x56233c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x562bc0
cmp ebx, 0xc0
jb 0x562bc0
test bl, 0x20
jne 0x562b01
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562bbd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562b2b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x562bc0
mov edx, dword [esi + 8]
test bl, 8
jne 0x562b51
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562bb4
test bl, 4
jne 0x562b80
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562bb4
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x562bf8
je 0x5613bd
cmp ebx, 0xa0
ja 0x562bed
je 0x5613bd
cmp ebx, 9
je 0x5613bd
cmp ebx, 0x20
jmp 0x56246e
cmp ebx, 0x1680
jmp 0x56246e
cmp ebx, 0x205f
ja 0x562c29
je 0x5613bd
cmp ebx, 0x2000
jb 0x562474
cmp ebx, 0x200a
jbe 0x5613bd
cmp ebx, 0x202f
jmp 0x56246e
cmp ebx, 0x3000
je 0x5613bd
inc dword [esi + 0xc]
jmp 0x560bfa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x562d45
cmp ebx, 0xc0
jb 0x562d45
test bl, 0x20
jne 0x562c86
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562d42
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562cb0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x562d45
mov edx, dword [esi + 8]
test bl, 8
jne 0x562cd6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562d39
test bl, 4
jne 0x562d05
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562d39
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x562d7d
je 0x562474
cmp ebx, 0xa0
ja 0x562d72
je 0x562474
cmp ebx, 9
je 0x562474
cmp ebx, 0x20
jmp 0x56233c
cmp ebx, 0x1680
jmp 0x56233c
cmp ebx, 0x205f
ja 0x562dae
je 0x562474
cmp ebx, 0x2000
jb 0x562342
cmp ebx, 0x200a
jbe 0x562474
cmp ebx, 0x202f
jmp 0x56233c
cmp ebx, 0x3000
jmp 0x56233c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x562ec1
cmp ebx, 0xc0
jb 0x562ec1
test bl, 0x20
jne 0x562e02
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x562ebe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562e2c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x562ec1
mov edx, dword [esi + 8]
test bl, 8
jne 0x562e52
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562eb5
test bl, 4
jne 0x562e81
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562eb5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x562ee9
je 0x562342
cmp ebx, 0xa
jb 0x562474
cmp ebx, 0xd
jbe 0x562342
inc dword [esi + 0xc]
jmp 0x560bfa
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x562474
jmp 0x562342
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x563005
cmp ebx, 0xc0
jb 0x563005
test bl, 0x20
jne 0x562f46
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x563002
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x562f70
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x563005
mov edx, dword [esi + 8]
test bl, 8
jne 0x562f96
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x562ff9
test bl, 4
jne 0x562fc5
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x562ff9
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x56302a
je 0x562474
cmp ebx, 0xa
jb 0x5613bd
cmp ebx, 0xd
jbe 0x562474
jmp 0x5613bd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x5613bd
inc dword [esi + 0xc]
jmp 0x560bfa
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x56313d
cmp ebx, 0xc0
jb 0x56313d
test bl, 0x20
jne 0x563089
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56313a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5630b1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x56313d
mov edx, dword [esi + 8]
test bl, 8
jne 0x5630d7
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x56313a
test bl, 4
jne 0x563106
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x56313a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x563160
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x6f4c48]
cmp eax, 0xa
ja case.default.0x56317a
jmp dword [eax*4 + 0x56eb3c]
cmp dword [esi + 0x9c], 0xf
jne 0x560bf6
jmp 0x5619fb
mov al, byte [edx*8 + 0x6f13c9]
cmp al, 9
je 0x5631aa
cmp al, 5
je 0x5631aa
cmp al, 8
je 0x5631aa
xor ecx, ecx
jmp 0x5631af
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x560bf6
jmp 0x5619fb
movzx ecx, byte [edx*8 + 0x6f13c9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x6f11d8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x560bf6
jmp 0x5619fb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x6f13c9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x560bf6
jmp 0x5619fb
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x6f13c8]
jmp 0x56320b
movzx eax, byte [edx*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x5631aa
cmp eax, 3
je 0x5631aa
xor ecx, ecx
jmp 0x5631af
cmp ebx, 0x180e
ja 0x5632a3
je case.0x56317a.0
cmp ebx, 0x85
ja 0x56328f
je case.0x56317a.0
cmp ebx, 9
jb case.0x5632c3.8203
cmp ebx, 0xd
jbe case.0x56317a.0
cmp ebx, 0x20
jmp 0x5632dc
cmp ebx, 0xa0
je case.0x56317a.0
cmp ebx, 0x1680
jmp 0x5632dc
cmp ebx, 0x202f
ja 0x5632ca
je case.0x56317a.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x5632c3.8203
movzx eax, byte [ebx + 0x56eb70]
jmp dword [eax*4 + 0x56eb68]
cmp ebx, 0x205f
je case.0x56317a.0
cmp ebx, 0x3000
je case.0x56317a.0
movzx eax, byte [edx*8 + 0x6f13c9]
xor ecx, ecx
cmp dword [eax*4 + 0x6f11d8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x563217
movzx eax, byte [edx*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x5631aa
cmp eax, 3
je 0x5631aa
cmp ebx, 0x5f
je 0x5631aa
xor ecx, ecx
jmp 0x5631af
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x6f1288]
lea eax, [eax*4 + 0x6f1288]
cmp ebx, ecx
jb 0x56335d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x56336f
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x563350
cmp dword [esi + 0x9c], 0x10
jne 0x560bf6
jmp 0x5619fb
cmp dword [esi + 0x9c], 0x10
je 0x560bf6
jmp 0x5619fb
cmp ebx, 0x24
je 0x5631aa
cmp ebx, 0x40
je 0x5631aa
cmp ebx, 0x60
je 0x5631aa
cmp ebx, 0xa0
jb 0x5633b0
cmp ebx, 0xd7ff
jbe 0x5631aa
cmp ebx, 0xe000
jae 0x5631aa
xor ecx, ecx
jmp 0x5631af
mov esi, dword [esi]
test esi, esi
je case.default.0x56a474
mov edi, 0xfffffff2
jmp 0x56a459
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x5634e2
cmp ebx, 0xc0
jb 0x5634e2
test bl, 0x20
jne 0x563420
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x5634df
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56344f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x5634e2
mov edx, dword [esi + 8]
test bl, 8
jne 0x563475
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x5634d8
test bl, 4
jne 0x5634a4
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x5634d8
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x563504
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x563696
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x56362e
cmp ebx, 0xc0
jb 0x56362e
test bl, 0x20
jne 0x563565
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x563626
test bl, 0x10
jne 0x56358a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x563626
test bl, 8
jne 0x5635b8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x563626
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x5635f2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x563626
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x563650
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx ecx, byte [eax*8 + 0x6f13ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x6f1250], eax
je 0x563696
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x563530
cmp dword [ebp + 0x88], 0
je 0x562474
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x562474
cmp eax, dword [ebp + 0x84]
jbe 0x562474
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x562474
jmp 0x561b66
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x5637c4
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x563754
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x56375d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x563730
jmp 0x5637c4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x5637c4
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x5637b4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x5637b4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x5637be
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x5637df
movzx eax, byte [eax + 0x56eba4]
jmp dword [eax*4 + 0x56eb9c]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x6f0718]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x6f0724]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x56386d
mov dword [esi + 0x8c], VariantClear
jmp 0x56386d
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x563869
mov dword [esi + 0x8c], VariantClear
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x560c01
jns 0x563891
cmp dword [esi + 0x90], 0
je 0x560c01
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x5638cf
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0056f0a0
add esp, 0x14
test eax, eax
js 0x563901
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x5638a0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x560c01
cmp dword [esp + 0x80], 0
je 0x56392a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x56ad12
cmp eax, 0xfffffffe
jne 0x56390c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x567b86.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x567b86.14
jmp 0x5621a5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x563940
cmp edi, dword [esi + 0x8c]
jge 0x56ad61
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0056f0a0
add esp, 0x14
test eax, eax
js 0x563975
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x563940
cmp eax, 0xfffffffe
jne 0x56ad61
cmp dword [ebp + 0x88], 0
je 0x56ad61
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x56ad61
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x56ad61
jmp 0x561b66
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0056f0a0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x563a39
cmp eax, 0xfffffffe
jne 0x5639e5
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x56b33d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x56b33d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56b33d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x56b33d.14
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x56a464
add dword [esi + 8], eax
jmp 0x560bfa
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x563a67
movzx eax, byte [eax + 0x56ebb4]
jmp dword [eax*4 + 0x56ebac]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x563a8a
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x563a95
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x6f0718]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x6f0724]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x563b2c
mov dword [esi + 0x8c], VariantClear
jmp 0x563b2c
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x563b12
mov dword [esi + 0x8c], VariantClear
add dword [esi + 0xc], 5
jmp 0x563b2c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x563c8c
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x563ce1
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x563c3c
test bl, 0x20
jne 0x563b8a
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x563c39
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x563bb1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x563c37
test bl, 8
jne 0x563bd4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x563c37
test bl, 4
jne 0x563c03
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x563c37
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x563c4d
cmp dword [esi + 0x9c], 0x6e
jmp 0x563c62
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x563b50
jmp 0x563cd3
cmp dword [ebp + 0x88], 0
je case.0x567b86.14
mov eax, dword [esi + 8]
jmp 0x5621a5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x563cda
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x563c77
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x563ca0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x560bfa
test ebx, ebx
je 0x563d0a
test edx, edx
jne 0x56df77
mov dword [esi + 0x84], eax
jmp 0x56adfb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x563ec2
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x563eaf
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x563e87
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x563e36
test bl, 0x20
jne 0x563d7b
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x563e36
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x563da3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x563e2c
and eax, 0x3f
test bl, 8
jne 0x563dc9
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x563e2c
test bl, 4
jne 0x563df8
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x563e2c
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x563e47
cmp dword [esi + 0x9c], 0x6e
jmp 0x563e5c
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x563eaf
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x563d31
jmp 0x563eaf
cmp dword [ebp + 0x88], 0
je 0x563eaf
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x563eaf
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56bdbc
jmp 0x560bfa
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x563f3a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x563f12
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x563f3a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x563ed1
jmp 0x563f3a
cmp dword [ebp + 0x88], 0
je 0x563f3a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x563f3a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56ae3b
jmp 0x560bfa
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x563f85
movzx eax, byte [eax + 0x56ebc8]
jmp dword [eax*4 + 0x56ebc0]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x563fa8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x563fb3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x6f0718]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x6f0724]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x56404a
mov dword [esi + 0x8c], VariantClear
jmp 0x56404a
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x564030
mov dword [esi + 0x8c], VariantClear
add dword [esi + 0xc], 5
jmp 0x56404a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x564185
jmp 0x564060
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x56415a
cmp edx, 0xc0
jb 0x56415a
test dl, 0x20
jne 0x5640a8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x564157
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5640cf
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x564155
test dl, 8
jne 0x5640f2
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x564155
test dl, 4
jne 0x564121
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x564155
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.00570320
add esp, 0xc
test eax, eax
je case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x564060
jmp 0x56418c
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x560c01
cmp dword [esp + 0x84], 0
jne 0x56df88
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x56431d
jmp 0x5641d0
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x5642f3
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x5642bb
cmp edx, 0xc0
jb 0x5642bb
test dl, 0x20
jne 0x56421c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x5642bb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x56423b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x5642b1
and eax, 0x3f
test dl, 8
jne 0x56425b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x5642b1
test dl, 4
jne 0x564284
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x5642b1
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.00570320
add esp, 0xc
test eax, eax
je 0x56431d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x5641d0
jmp 0x56431d
cmp dword [ebp + 0x88], 0
je 0x564316
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x564316
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x561b66
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x560c01
jmp 0x56bbd1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x564509
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x564490
test al, 0x20
jne 0x564390
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x564490
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x5643ca
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x564490
test al, 8
jne 0x564406
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x564490
test al, 4
mov eax, dword [esi + 0x80]
jne 0x56444b
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x564490
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x5644c9
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
cmp edx, edi
jb case.0x567b86.14
cmp edx, dword [ebp + 0x84]
jbe case.0x567b86.14
jmp 0x561b52
test ecx, ecx
jle 0x5644fe
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x567b86.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x5644d0
dec dword [esi + 0x88]
jmp 0x560bfa
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x564556
cmp dword [ebp + 0x88], ebx
je 0x5613bd
cmp edi, dword [ebp + 0x84]
jbe 0x5613bd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x5613bd
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a460
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x56486b
jmp 0x5619fb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x562210
cmp dword [esp + 0x8c], ebx
je 0x56484c
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x5646db
test al, 0x20
jne 0x5645db
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x5646db
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x564615
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x5646db
test al, 8
jne 0x564651
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x5646db
test al, 4
mov eax, dword [esi + 0x80]
jne 0x564696
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x5646db
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x564709
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x5619fb
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x560bfa
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x5647eb
test bl, 0x20
jne 0x564739
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x5647e8
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x564760
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5647e6
test bl, 8
jne 0x564783
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5647e6
test bl, 4
jne 0x5647b2
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5647e6
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x560bfa
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x564825
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
mov eax, dword [eax*8 + 0x6f13cc]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x560c01
jmp 0x5619fb
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x5619fb
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x560bfa
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x56499d
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x5648d4
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x5648df
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x56499d
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], VariantClear
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x5649a4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], VariantClear
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x5649a4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x5649a4
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x6f0718]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x6f0724]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x56499d
mov dword [esi + 0x8c], VariantClear
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x564e18
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x564aeb
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x564a01
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x564aeb
test bl, 0x10
jne 0x564a36
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x564aeb
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x564a74
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x564aeb
test bl, 4
jne 0x564aad
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x564aeb
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x564e27
cmp dword [esi + 0x9c], 0x2e
jb 0x564b5c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x564b33
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
mov ecx, dword [eax*8 + 0x6f13cc]
add ecx, edi
cmp ecx, edi
je 0x564b5c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.005702c0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x564b63
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x564c96
jmp 0x564b80
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x564c04
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x564bb8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x564bc1
add ecx, 4
add edx, 4
sub edi, 4
jae 0x564ba7
cmp edi, 0xfffffffc
je 0x564c78
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x564bfa
cmp edi, 0xfffffffd
je 0x564c78
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x564bfa
cmp edi, 0xfffffffe
je 0x564c78
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x564bfa
cmp edi, 0xffffffff
je 0x564c78
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x564c78
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x56390c
sub ecx, ebx
cmp edi, ecx
ja 0x56390c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x564c36
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x564c3b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x564c25
cmp edi, 0xfffffffc
je 0x564c78
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x56390c
cmp edi, 0xfffffffd
je 0x564c78
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x56390c
cmp edi, 0xfffffffe
je 0x564c78
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x56390c
cmp edi, 0xffffffff
je 0x564c78
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x56390c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x564b80
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x560c01
cmp dword [esp + 0x84], 0
jne 0x56df99
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x564e05
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x564d5c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x564d18
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x564d21
add ecx, 4
add edx, 4
sub edi, 4
jae 0x564d07
cmp edi, 0xfffffffc
je 0x564db8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x564d52
cmp edi, 0xfffffffd
je 0x564db8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x564d52
cmp edi, 0xfffffffe
je 0x564db8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x564d52
cmp edi, 0xffffffff
je 0x564db8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x564db8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x564dd8
sub ecx, ebx
cmp edi, ecx
ja 0x564dd8
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x564d86
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x564d8b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x564d75
cmp edi, 0xfffffffc
je 0x564db8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x564dd8
cmp edi, 0xfffffffd
je 0x564db8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x564dd8
cmp edi, 0xfffffffe
je 0x564db8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x564dd8
cmp edi, 0xffffffff
je 0x564db8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x564dd8
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x564ce0
jmp 0x564e05
cmp dword [ebp + 0x88], 0
je 0x564e05
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x564e05
cmp eax, dword [ebp + 0x84]
jbe 0x564e05
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56bf7c
jmp 0x560bfa
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x564f1f
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x564e84
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x563c77
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x564e77
cmp dword [esi + 0x94], ecx
jne case.0x567b86.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x564e54
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x560bfa
cmp dword [esp + 0x84], 0
je 0x564eab
mov dword [esi + 0x84], eax
jmp 0x56aedb
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x564f12
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x564eea
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x564edb
cmp dword [esi + 0x94], ecx
jne 0x564f12
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x564ec0
jmp 0x564f12
cmp dword [ebp + 0x88], 0
je 0x564f12
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x564f12
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
test edi, edi
je 0x56af1b
jmp 0x560bfa
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x564f5a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x564f30
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x560c01
cmp dword [esp + 0x84], 0
je 0x564f88
mov dword [esi + 0x84], eax
jmp 0x56afa8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x564fec
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x564fc4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x564fec
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x564fa0
jmp 0x564fec
cmp dword [ebp + 0x88], 0
je 0x564fec
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x564fec
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56afe8
jmp 0x560c01
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x565024
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x567b86.14
jmp 0x561b52
test edi, edi
je 0x56529c
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x565125
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x565062
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x565122
test bl, 0x10
jne 0x565083
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x565122
test bl, 8
jne 0x5650ae
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x565125
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x5650e7
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x565122
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x565218
test dl, 0x20
jne 0x56515f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x56520e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x565186
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x56520c
test dl, 8
jne 0x5651a9
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x56520c
test dl, 4
jne 0x5651d8
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x56520c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x565235
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x560c01
jmp 0x5619fb
cmp ebx, 0x7f
jbe 0x565272
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x56525d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
mov ecx, dword [eax*8 + 0x6f13cc]
add ecx, ebx
jmp 0x565279
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x5619fb
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x560c01
jmp 0x5619fb
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x567b86.14
cmp dword [esi + 0x9c], 0x20
jne 0x56486b
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x567b86.14
add dword [esi + 0xc], 2
jmp 0x560bfa
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x565436
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x56533b
cmp al, 0x4f
je 0x56533b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x565436
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x565436
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], VariantClear
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x565436
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], VariantClear
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x565436
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x565436
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x565436
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x6f0718]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x6f0724]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x565436
mov dword [esi + 0x8c], VariantClear
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x565591
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x565591
test al, 0x20
jne 0x565488
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x565591
test al, 0x10
jne 0x5654bb
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x565591
test al, 8
jne 0x5654fd
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x565591
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x565548
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x56558a
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x5659b5
test edx, edx
je 0x5655ec
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x5655ec
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x5655d0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
mov eax, dword [eax*8 + 0x6f13cc]
add eax, edi
jmp 0x5655f9
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x565740
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x56578b
jmp 0x565620
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x565719
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x56565a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x565716
test cl, 0x10
jne 0x56567b
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x565716
test cl, 8
jne 0x5656a5
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x565716
test cl, 4
jne 0x5656db
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x565716
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x567b86.14
cmp dword [esi + 0x94], ecx
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x565620
jmp 0x565784
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x565784
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x563c77
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x567b86.14
cmp dword [esi + 0x94], ecx
je case.0x567b86.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x565750
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x560bfa
test ebx, ebx
je 0x5657b4
test edx, edx
jne 0x56dfaa
mov dword [esi + 0x84], eax
jmp 0x56b07f
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x56593d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x56592a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x565902
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5658de
test dl, 0x20
jne 0x565812
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x5658de
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x56583c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x5658dc
test dl, 8
jne 0x565868
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x5658dc
test dl, 4
jne 0x5658a0
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x5658dc
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x56592a
cmp dword [esi + 0x94], edx
je 0x56592a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x5657d4
jmp 0x56592a
cmp dword [ebp + 0x88], 0
je 0x56592a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x56592a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56c15c
jmp 0x560bfa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x5659a2
jmp 0x565950
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56597a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x5659a2
cmp dword [esi + 0x94], ecx
je 0x5659a2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x565950
jmp 0x5659a2
cmp dword [ebp + 0x88], 0
je 0x5659a2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x5659a2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56b0bf
jmp 0x560bfa
test edx, edx
je 0x565ad7
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x565b15
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x565abc
test dl, 0x20
jne 0x565a0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x565ab9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x565a31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x565ab7
test dl, 8
jne 0x565a54
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x565ab7
test dl, 4
jne 0x565a83
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x565ab7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5659d0
jmp 0x565b0e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x565b15
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x565ae4
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x560bfa
cmp dword [esp + 0x84], 0
je 0x565b44
test edx, edx
jne 0x56dfbf
mov dword [esi + 0x84], eax
jmp 0x56b14c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x565cc8
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x565cb5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x565c8d
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x565c71
test dl, 0x20
jne 0x565ba2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x565c71
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x565bcc
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x565c6f
test dl, 8
jne 0x565bfb
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x565c6f
test dl, 4
jne 0x565c33
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x565c6f
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x565cb5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x565b64
jmp 0x565cb5
cmp dword [ebp + 0x88], 0
je 0x565cb5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x565cb5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56c320
jmp 0x560bfa
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x565d22
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x565cfa
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x565d22
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x565cd6
jmp 0x565d22
cmp dword [ebp + 0x88], 0
je 0x565d22
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x565d22
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56b18c
jmp 0x560bfa
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x565e74
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x565e74
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], VariantClear
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x565e74
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], VariantClear
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x565e74
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x565e74
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x565e74
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x6f06c3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x6f06cf]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x565e74
mov dword [esi + 0x8c], VariantClear
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x565e96
cmp ecx, 0xf
je 0x565e96
mov dword [esi + 0x60], 0xffffffff
jmp 0x565eb9
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x567e5b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x566c68
cmp eax, 0xa
ja case.default.0x56317a
jmp dword [eax*4 + 0x56ebd4]
cmp dword [esi + 0x68], ebx
jne 0x5619fb
mov edx, 1
cmp ecx, edx
jl 0x567e5b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x565f3f
cmp ecx, 0xc0
jb 0x565f3f
test cl, 0x20
jne 0x565f1b
inc eax
jmp 0x565f3c
test cl, 0x10
jne 0x565f25
add eax, 2
jmp 0x565f3c
test cl, 8
jne 0x565f2f
add eax, 3
jmp 0x565f3c
test cl, 4
jne 0x565f39
add eax, 4
jmp 0x565f3c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x565ef8
jmp 0x567e5b
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
mov eax, dword [esi + 8]
jmp 0x5621a5
mov edi, 1
cmp ecx, edi
jl 0x567e5b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x56606a
cmp ebx, 0xc0
jb 0x56606a
test bl, 0x20
jne 0x565fb8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x566067
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x565fdf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x566065
test bl, 8
jne 0x566002
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x566065
test bl, 4
jne 0x566031
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x566065
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56608c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp eax, 9
je 0x5660b1
cmp eax, 5
je 0x5660b1
cmp eax, 8
je 0x5660b1
xor eax, eax
jmp 0x5660b6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x565f70
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e5b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x5661d8
cmp ebx, 0xc0
jb 0x5661d8
test bl, 0x20
jne 0x566128
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x5661d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56614f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x5661d5
test bl, 8
jne 0x566172
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x5661d5
test bl, 4
jne 0x5661a1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x5661d5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x5661fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5660e0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e5b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x56633b
cmp ebx, 0xc0
jb 0x56633b
test bl, 0x20
jne 0x56628b
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x566338
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5662b2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x566338
test bl, 8
jne 0x5662d5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x566338
test bl, 4
jne 0x566304
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x566338
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56635d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x566243
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e5b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x566498
cmp ebx, 0xc0
jb 0x566498
test bl, 0x20
jne 0x5663e8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x566495
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56640f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x566495
test bl, 8
jne 0x566432
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x566495
test bl, 4
jne 0x566461
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x566495
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x5664ba
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5663a0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e5b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x5665fa
cmp ebx, 0xc0
jb 0x5665fa
test bl, 0x20
jne 0x566548
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x5665f7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56656f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5665f5
test bl, 8
jne 0x566592
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x5665f5
test bl, 4
jne 0x5665c1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x5665f5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56661c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x566643
cmp eax, 3
je 0x566643
xor eax, eax
jmp 0x566648
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x566500
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e5b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x56676a
cmp ebx, 0xc0
jb 0x56676a
test bl, 0x20
jne 0x5666b8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x566767
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5666df
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x566765
test bl, 8
jne 0x566702
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x566765
test bl, 4
jne 0x566731
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x566765
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x5667ad
je case.0x5667c9.8192
cmp ebx, 0x85
ja 0x566799
je case.0x5667c9.8192
cmp ebx, 9
jb case.0x5667c9.8203
cmp ebx, 0xd
jbe case.0x5667c9.8192
cmp ebx, 0x20
jmp 0x5667de
cmp ebx, 0xa0
je case.0x5667c9.8192
cmp ebx, 0x1680
jmp 0x5667de
cmp ebx, 0x202f
ja 0x5667d0
je case.0x5667c9.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x5667c9.8203
movzx eax, byte [eax + 0x56ec08]
jmp dword [eax*4 + 0x56ec00]
cmp ebx, 0x205f
je case.0x5667c9.8192
cmp ebx, 0x3000
je case.0x5667c9.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x566802
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp dword [eax*4 + 0x6f11d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x567b86.14
jmp 0x566836
cmp dword [esi + 0x68], 0
jne case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x566670
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e5b
jmp 0x566860
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x566958
cmp ebx, 0xc0
jb 0x566958
test bl, 0x20
jne 0x5668a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x566955
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x5668cf
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x566955
test bl, 8
jne 0x5668f2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x566955
test bl, 4
jne 0x566921
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x566955
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x56697b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x5669a7
cmp eax, 3
je 0x5669a7
cmp ebx, 0x5f
je 0x5669a7
xor eax, eax
jmp 0x5669ac
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x567b86.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x566860
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e5b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x566acc
cmp edx, 0xc0
jb 0x566acc
test dl, 0x20
jne 0x566a1c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x566ac9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x566a43
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x566ac9
test dl, 8
jne 0x566a66
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x566ac9
test dl, 4
jne 0x566a95
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x566ac9
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x6f1288]
lea eax, [eax*4 + 0x6f1288]
cmp edx, ecx
jb 0x566aee
lea eax, [eax + 4]
cmp edx, ecx
je 0x566b0a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x566ae1
cmp dword [esi + 0x68], 0
je case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5669d4
jmp 0x567e5b
cmp dword [esi + 0x68], 0
jne case.0x567b86.14
jmp 0x566af8
mov ebx, 1
cmp ecx, ebx
jl 0x567e5b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x566c1d
cmp edx, 0xc0
jb 0x566c1d
test dl, 0x20
jne 0x566b6b
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x566c1a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x566b92
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x566c18
test dl, 8
jne 0x566bb5
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x566c18
test dl, 4
jne 0x566be4
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x566c18
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x566c48
cmp edx, 0x40
je 0x566c48
cmp edx, 0x60
je 0x566c48
cmp edx, 0xa0
jb 0x566c3c
cmp edx, 0xd7ff
jbe 0x566c48
cmp edx, 0xe000
jae 0x566c48
xor eax, eax
jmp 0x566c4d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x566b23
jmp 0x567e5b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x566f93
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x567e5b
jmp 0x566c90
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x563c77
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x566d90
cmp ebx, 0xc0
jb 0x566d90
test bl, 0x20
jne 0x566cd9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x566d8d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x566d00
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x566d86
test bl, 8
jne 0x566d23
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x566d86
test bl, 4
jne 0x566d52
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x566d86
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x566db2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13ca]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x566f4d
jmp 0x566de0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x566ede
cmp ebx, 0xc0
jb 0x566ede
test bl, 0x20
jne 0x566e15
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x566ed6
test bl, 0x10
jne 0x566e3a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x566ed6
test bl, 8
jne 0x566e68
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x566ed6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x566ea2
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x566ed6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x566f00
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx ecx, byte [eax*8 + 0x6f13ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x6f1250], eax
je 0x566f46
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x566de0
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x566f7a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x566f7a
cmp eax, dword [ebp + 0x84]
jbe 0x566f7a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x566c90
jmp 0x567e5b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x567a5f
cmp eax, 0xf
ja case.0x569fa7.9
jmp dword [eax*4 + 0x56ec34]
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x563c77
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x566ff7
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne case.0x567b86.14
jmp 0x56701b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x56701b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56701b
cmp edx, 1
je case.0x567b86.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x567b86.14
cmp dword [ebp + 0x88], 0
je 0x567056
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x567056
cmp dword [ebp + 0x18], 0
jne 0x567056
cmp dword [edi], 2
jne 0x567056
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x567056
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x567072
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x567072
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x567061
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x566fc2
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x565f4d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x5670c8
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5670c8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5670b0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x567094
jmp 0x567e5b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x5619fb
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x5671ec
test dl, 0x20
jne 0x56713a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5671e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x567161
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x5671e7
test dl, 8
jne 0x567184
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x5671e7
test dl, 4
jne 0x5671b3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x5671e7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x567210
je 0x5671fd
cmp edx, 0xa
je 0x567231
lea eax, [edx - 0xb]
jmp 0x56721e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x567231
cmp byte [eax], 0xa
jne 0x567231
inc eax
mov dword [esi + 8], eax
jmp 0x567231
cmp edx, 0x85
je 0x567227
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x567b86.14
cmp dword [ebp + 0x68], 0
jne case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x567100
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x56733c
test dl, 0x20
jne 0x56728a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x567339
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5672b1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x567337
test dl, 8
jne 0x5672d4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x567337
test dl, 4
jne 0x567303
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x567337
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x56736e
je case.0x567b86.14
cmp edx, 0xa0
ja 0x567366
je case.0x567b86.14
cmp edx, 9
je case.0x567b86.14
cmp edx, 0x20
jmp 0x56739e
cmp edx, 0x1680
jmp 0x56739e
cmp edx, 0x205f
ja 0x567398
je case.0x567b86.14
cmp edx, 0x2000
jb 0x5673a4
cmp edx, 0x200a
jbe case.0x567b86.14
cmp edx, 0x202f
jmp 0x56739e
cmp edx, 0x3000
je case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x567250
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x5674af
test dl, 0x20
jne 0x5673fd
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5674ac
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x567424
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x5674aa
test dl, 8
jne 0x567447
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x5674aa
test dl, 4
jne 0x567476
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x5674aa
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x5674d5
je 0x567507
cmp edx, 0xa0
ja 0x5674cd
je 0x567507
cmp edx, 9
je 0x567507
cmp edx, 0x20
jmp 0x567501
cmp edx, 0x1680
jmp 0x567501
cmp edx, 0x205f
ja 0x5674fb
je 0x567507
cmp edx, 0x2000
jb case.0x567b86.14
cmp edx, 0x200a
jbe 0x567507
cmp edx, 0x202f
jmp 0x567501
cmp edx, 0x3000
jne case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5673c3
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
jmp 0x567530
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x56761c
test dl, 0x20
jne 0x56756a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x567619
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x567591
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x567617
test dl, 8
jne 0x5675b4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x567617
test dl, 4
jne 0x5675e3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x567617
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x567634
je case.0x567b86.14
cmp edx, 0xa
jb 0x567648
cmp edx, 0xd
jmp 0x567642
cmp edx, 0x2028
jb 0x567648
cmp edx, 0x2029
jbe case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x567530
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
jmp 0x567670
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x56775c
test dl, 0x20
jne 0x5676aa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x567759
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5676d1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x567757
test dl, 8
jne 0x5676f4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x567757
test dl, 4
jne 0x567723
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x567757
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x56776e
je 0x56777d
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x567777
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x567670
jmp 0x567e5b
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x563c77
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x56788c
test dl, 0x20
jne 0x5677da
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x567889
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x567801
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x567887
test dl, 8
jne 0x567824
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x567887
test dl, 4
jne 0x567853
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x567887
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x5678a1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x567b86.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5677a0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x565f4d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x567b86.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x567b86.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x5678c0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x565f4d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x567933
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x567b86.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x567958
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x567958
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x567940
inc edi
cmp edi, dword [esi + 0x90]
jle 0x567910
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x565f4d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x567b86.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x567b86.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567973
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x565f4d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x5679e3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x567b86.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x567a08
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x567a08
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5679f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5679c0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x565f4d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x567b86.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x567b86.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567a23
jmp 0x567e5b
cmp eax, 0xf
ja case.0x569fa7.9
jmp dword [eax*4 + 0x56ec74]
mov ebx, 1
cmp ecx, ebx
jl 0x567e62
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x563c77
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x567ab0
push 0
push edi
push eax
push edx
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne case.0x567b86.14
jmp 0x567ad4
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x567ad4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x567ad4
cmp edx, 1
je case.0x567b86.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x567b86.14
cmp dword [ebp + 0x88], 0
je 0x567b0f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x567b0f
cmp dword [ebp + 0x18], 0
jne 0x567b0f
cmp dword [edi], 2
jne 0x567b0f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x567b0f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x567a80
jmp 0x567e5b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x5670e6
cmp dword [ebp + 0x88], ebx
je case.0x567b86.14
cmp edx, dword [ebp + 0x84]
jbe case.0x567b86.14
jmp 0x561b52
mov edx, 1
cmp ecx, edx
jl 0x567e5b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x565f4d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x567b86.14
movzx eax, byte [eax + 0x56ecc4]
jmp dword [eax*4 + 0x56ecb4]
cmp ecx, dword [ebp + 0x78]
jae case.0x567b86.10
cmp byte [ecx], 0xa
jne case.0x567b86.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x567b86.10
cmp dword [ebp + 0x68], ebx
jne case.0x567b86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x567b60
jmp 0x567e5b
mov edx, 1
cmp ecx, edx
jl 0x567e5b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x567b86.14
cmp ecx, 0x20
je case.0x567b86.14
cmp ecx, 0xa0
je case.0x567b86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x567bc3
jmp 0x567e5b
mov edx, 1
cmp ecx, edx
jl 0x567e5b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x567c39
cmp ecx, 0x20
je 0x567c39
cmp ecx, 0xa0
jne case.0x567b86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x567c10
jmp 0x567e5b
mov edx, 1
cmp ecx, edx
jl 0x567e5b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x567c81
cmp ecx, 0xd
jle case.0x567b86.14
cmp ecx, 0x85
je case.0x567b86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x567c54
jmp 0x567e5b
mov edx, 1
cmp ecx, edx
jl 0x567e5b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x567b86.14
cmp ecx, 0xd
jle 0x567ccd
cmp ecx, 0x85
jne case.0x567b86.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x567ca0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
jmp 0x567cf0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x567b86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567cf0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x567b86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567d30
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x567b86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567d70
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x567b86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567db0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
jmp 0x567df0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x567b86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567df0
jmp 0x567e5b
mov edi, 1
cmp ecx, edi
jl 0x567e62
jmp 0x567e30
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565f4d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x567b86.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x567e30
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x560bfa
cmp dword [esp + 0x84], 0
je 0x567ec2
mov eax, dword [esi + 0x60]
test eax, eax
js 0x567ea5
cmp eax, 0xa
ja case.0x569fa7.9
jmp dword [eax*4 + 0x56ed40]
mov esi, dword [esi]
test esi, esi
je case.default.0x56a474
mov edi, 0xfffffff2
jmp 0x56a460
cmp dword [esi + 0x7c], 0x16
je 0x56e093
test edx, edx
jne 0x56e07e
mov dword [esi + 0x84], ecx
jmp 0x56b2f5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x568efb
cmp eax, 0xa
ja case.0x569fa7.9
jmp dword [eax*4 + 0x56ed6c]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x568ee8
mov ebx, dword [esp + 0x8c]
jmp 0x567f00
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x567f6b
movzx ecx, byte [edx]
test ebx, ebx
je 0x567f4e
cmp ecx, 0xc0
jb 0x567f4e
test cl, 0x20
jne 0x567f28
mov eax, 2
jmp 0x567f4e
test cl, 0x10
jne 0x567f34
mov eax, 3
jmp 0x567f4e
test cl, 8
jne 0x567f40
mov eax, 4
jmp 0x567f4e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x568ee8
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x567f00
jmp 0x568ee8
cmp dword [ebp + 0x88], 0
je 0x568ee8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x568ee8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x568ee8
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x56a460
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56812e
movzx ebx, byte [edi]
test edx, edx
je 0x5680ac
cmp ebx, 0xc0
jb 0x5680ac
test bl, 0x20
jne 0x56800e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x5680a4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x56802d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x5680a4
and eax, 0x3f
test bl, 8
jne 0x56804d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x5680a4
test bl, 4
jne 0x568076
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x5680a4
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x5680ce
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp eax, 9
je 0x5680f3
cmp eax, 5
je 0x5680f3
cmp eax, 8
je 0x5680f3
xor eax, eax
jmp 0x5680f8
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x568ee8
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x567fd0
jmp 0x568ee8
cmp dword [ebp + 0x88], 0
je 0x568ee8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x568ee8
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x568ee8
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a460
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
jmp 0x568190
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x568312
movzx ebx, byte [edi]
test edx, edx
je 0x568293
cmp ebx, 0xc0
jb 0x568293
test bl, 0x20
jne 0x5681da
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x56828b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x568202
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x56828b
and eax, 0x3f
test bl, 8
jne 0x568228
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x56828b
test bl, 4
jne 0x568257
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x56828b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x5682b5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x568ee8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x568190
jmp 0x568ee8
cmp dword [ebp + 0x88], 0
je 0x568ee8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x568ee8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x568153
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x568312
movzx ebx, byte [edi]
test edx, edx
je 0x56845f
cmp ebx, 0xc0
jb 0x56845f
test bl, 0x20
jne 0x5683a6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x568457
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x5683ce
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x568457
and eax, 0x3f
test bl, 8
jne 0x5683f4
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x568457
test bl, 4
jne 0x568423
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x568457
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x568481
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x568ee8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x568360
jmp 0x568ee8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x568312
movzx ebx, byte [edi]
test edx, edx
je 0x5685f3
cmp ebx, 0xc0
jb 0x5685f3
test bl, 0x20
jne 0x56853a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x5685eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x568562
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x5685eb
and eax, 0x3f
test bl, 8
jne 0x568588
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x5685eb
test bl, 4
jne 0x5685b7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x5685eb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x568615
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x568ee8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x5684f0
jmp 0x568ee8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56812e
movzx ebx, byte [edi]
test edx, edx
je 0x568763
cmp ebx, 0xc0
jb 0x568763
test bl, 0x20
jne 0x5686c2
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x56875b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x5686e4
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x56875b
and eax, 0x3f
test bl, 8
jne 0x568704
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x56875b
test bl, 4
jne 0x56872d
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x56875b
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x568785
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x5687ac
cmp eax, 3
je 0x5687ac
xor eax, eax
jmp 0x5687b1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x568ee8
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x568684
jmp 0x568ee8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x568312
movzx ebx, byte [edi]
test edx, edx
je 0x56890d
cmp ebx, 0xc0
jb 0x56890d
test bl, 0x20
jne 0x568852
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x56890d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x56887a
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x568903
and eax, 0x3f
test bl, 8
jne 0x5688a0
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x568903
test bl, 4
jne 0x5688cf
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x568903
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x568950
je case.0x568970.8192
cmp ebx, 0x85
ja 0x56893c
je case.0x568970.8192
cmp ebx, 9
jb case.0x568970.8203
cmp ebx, 0xd
jbe case.0x568970.8192
cmp ebx, 0x20
jmp 0x568985
cmp ebx, 0xa0
je case.0x568970.8192
cmp ebx, 0x1680
jmp 0x568985
cmp ebx, 0x202f
ja 0x568977
je case.0x568970.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x568970.8203
movzx eax, byte [eax + 0x56eda0]
jmp dword [eax*4 + 0x56ed98]
cmp ebx, 0x205f
je case.0x568970.8192
cmp ebx, 0x3000
je case.0x568970.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x5689a9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp dword [eax*4 + 0x6f11d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x568ee8
mov edx, dword [esp + 0x8c]
jmp 0x5689e4
cmp dword [esi + 0x68], 0
jne 0x568ee8
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x568800
jmp 0x568ee8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x568312
movzx ebx, byte [edi]
test edx, edx
je 0x568b33
cmp ebx, 0xc0
jb 0x568b33
test bl, 0x20
jne 0x568a7a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x568b2b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x568aa2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x568b2b
and eax, 0x3f
test bl, 8
jne 0x568ac8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x568b2b
test bl, 4
jne 0x568af7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x568b2b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x568b56
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x568b82
cmp eax, 3
je 0x568b82
cmp ebx, 0x5f
je 0x568b82
xor eax, eax
jmp 0x568b87
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x568ee8
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x568a30
jmp 0x568ee8
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x568ee8
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x568d1f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x568cc1
cmp edx, 0xc0
jb 0x568cc1
test dl, 0x20
jne 0x568c24
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x568cb9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x568c43
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x568cb9
and eax, 0x3f
test dl, 8
jne 0x568c63
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x568cb9
test dl, 4
jne 0x568c8c
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x568cb9
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x6f1288]
lea eax, [eax*4 + 0x6f1288]
cmp edx, ecx
jb 0x568ce3
lea eax, [eax + 4]
cmp edx, ecx
je 0x568d13
mov ecx, dword [eax]
cmp edx, ecx
jae 0x568cd6
cmp dword [esi + 0x68], 0
je 0x568ee8
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x568be0
jmp 0x568ee8
cmp dword [esi + 0x68], 0
jne 0x568ee8
jmp 0x568ced
cmp dword [ebp + 0x88], 0
je 0x568ee8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x568ee8
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x568ee8
jmp 0x561b66
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x568ee8
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x568ec0
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x568e77
cmp edx, 0xc0
jb 0x568e77
test dl, 0x20
jne 0x568dad
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x568e77
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x568dd7
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x568e77
test dl, 8
jne 0x568e03
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x568e77
test dl, 4
jne 0x568e3b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x568e77
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0x24
je 0x568ea2
cmp edx, 0x40
je 0x568ea2
cmp edx, 0x60
je 0x568ea2
cmp edx, 0xa0
jb 0x568e96
cmp edx, 0xd7ff
jbe 0x568ea2
cmp edx, 0xe000
jae 0x568ea2
xor ecx, ecx
jmp 0x568ea7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x568ee8
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x568d61
jmp 0x568ee8
cmp dword [ebp + 0x88], 0
je 0x568ee8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x568ee8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
je 0x56d39c
jmp 0x560bfa
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x569297
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x569248
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x569220
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x569020
cmp ebx, 0xc0
jb 0x569020
test bl, 0x20
jne 0x568f69
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x56901d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x568f90
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x569016
test bl, 8
jne 0x568fb3
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x569016
test bl, 4
jne 0x568fe2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x569016
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x569042
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13ca]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x5691dd
jmp 0x569070
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x56916e
cmp ebx, 0xc0
jb 0x56916e
test bl, 0x20
jne 0x5690a5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x569166
test bl, 0x10
jne 0x5690ca
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x569166
test bl, 8
jne 0x5690f8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x569166
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x569132
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x569166
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x569190
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx ecx, byte [eax*8 + 0x6f13ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x6f1250], eax
je 0x5691d6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x569070
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x56920a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x56920a
cmp eax, dword [ebp + 0x84]
jbe 0x56920a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x568f20
jmp 0x569248
cmp dword [ebp + 0x88], 0
je 0x569248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x569248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
cmp dword [esp + 0x80], 0
jne 0x560bfa
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e7c5
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e7bb
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
add eax, 0xfffffffa
test edx, edx
je 0x569f9e
cmp eax, 0xf
ja case.0x569fa7.9
jmp dword [eax*4 + 0x56edcc]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x569386
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x5692f9
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x569f8b
jmp 0x56931d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x56931d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56931d
cmp edx, 1
je 0x569f8b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x569f8b
cmp dword [ebp + 0x88], 0
je 0x569358
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x569358
cmp dword [ebp + 0x18], 0
jne 0x569358
cmp dword [edi], 2
jne 0x569358
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x569358
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x569374
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x569374
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x569363
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x5692c4
jmp 0x569f8b
cmp dword [ebp + 0x88], 0
je 0x569f8b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x569f8b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x569f8b
jmp 0x561b66
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x569418
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x569f8b
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x569386
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x56940a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56940a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5693f2
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x5693e0
jmp 0x569f8b
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x569f8b
cmp eax, dword [ebp + 0x84]
jbe 0x569f8b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x569f8b
jmp 0x568159
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x56949f
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x569f8b
cmp edx, dword [ebp + 0x84]
jbe 0x569f8b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x569f8b
jmp 0x561b66
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x569386
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5695ca
test dl, 0x20
jne 0x5694fe
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x5695ca
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x569528
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x5695c8
test dl, 8
jne 0x569554
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x5695c8
test dl, 4
jne 0x56958c
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x5695c8
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x5695e6
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x569f8b
cmp byte [eax], 0xa
jne 0x569620
inc eax
jmp 0x56961d
cmp edx, 0xa
je 0x56961b
cmp dword [ebp + 0x68], 0
jne 0x569f8b
cmp edx, 0xb
je 0x56961b
cmp edx, 0xc
je 0x56961b
cmp edx, 0x85
je 0x56961b
cmp edx, 0x2028
je 0x56961b
cmp edx, 0x2029
jne 0x569f8b
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x5694c0
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x569718
test dl, 0x20
jne 0x56967a
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x569710
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569699
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x569710
and eax, 0x3f
test dl, 8
jne 0x5696b9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x569710
test dl, 4
jne 0x5696e2
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x569710
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x56973e
je 0x56976c
cmp edx, 0xa0
ja 0x569736
je 0x56976c
cmp edx, 9
je 0x56976c
cmp edx, 0x20
jmp 0x569766
cmp edx, 0x1680
jmp 0x569766
cmp edx, 0x205f
ja 0x569760
je 0x56976c
cmp edx, 0x2000
jb 0x569768
cmp edx, 0x200a
jbe 0x56976c
cmp edx, 0x202f
jmp 0x569766
cmp edx, 0x3000
je 0x56976c
xor edx, edx
jmp 0x569771
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569644
jmp 0x569f8b
cmp dword [ebp + 0x88], 0
je 0x569f8b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x569f8b
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x569f8b
jmp 0x561b66
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5698b0
test dl, 0x20
jne 0x569812
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5698a8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569831
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5698a8
and eax, 0x3f
test dl, 8
jne 0x569851
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5698a8
test dl, 4
jne 0x56987a
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x5698a8
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x5698ef
je 0x5698fa
cmp edx, 0xa
jb 0x5698c4
cmp edx, 0xd
jbe 0x5698fa
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x5697e0
jmp 0x569f8b
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x5698c4
mov edx, 1
jmp 0x5698c6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x5699e7
test dl, 0x20
jne 0x569949
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x5699df
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569968
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5699df
and eax, 0x3f
test dl, 8
jne 0x569988
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5699df
test dl, 4
jne 0x5699b1
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x5699df
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x5699fc
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569913
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
jmp 0x569a30
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x569b04
test dl, 0x20
jne 0x569a66
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x569afc
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569a85
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x569afc
and eax, 0x3f
test dl, 8
jne 0x569aa5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x569afc
test dl, 4
jne 0x569ace
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x569afc
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x569f8b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569a30
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
jmp 0x569b50
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x569c24
test dl, 0x20
jne 0x569b86
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x569c1c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569ba5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x569c1c
and eax, 0x3f
test dl, 8
jne 0x569bc5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x569c1c
test dl, 4
jne 0x569bee
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x569c1c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x569c39
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569b50
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x569d37
test dl, 0x20
jne 0x569c99
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x569d2f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569cb8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x569d2f
and eax, 0x3f
test dl, 8
jne 0x569cd8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x569d2f
test dl, 4
jne 0x569d01
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x569d2f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x569f8b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569c63
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x569e54
test dl, 0x20
jne 0x569db6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x569e4c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569dd5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x569e4c
and eax, 0x3f
test dl, 8
jne 0x569df5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x569e4c
test dl, 4
jne 0x569e1e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x569e4c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x569e69
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569d80
jmp 0x569f8b
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x569f8b
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x56979a
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x569f67
test dl, 0x20
jne 0x569ec9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x569f5f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x569ee8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x569f5f
and eax, 0x3f
test dl, 8
jne 0x569f08
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x569f5f
test dl, 4
jne 0x569f31
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x569f5f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x569f8b
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x569f8b
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x569e93
cmp dword [esp + 0x80], 0
je 0x56c858
jmp 0x560bfa
cmp eax, 0xf
ja case.0x569fa7.9
jmp dword [eax*4 + 0x56ee0c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x56a437
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x56a064
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x569ff0
push 0
push edi
push eax
push edx
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x56a437
jmp 0x56a014
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x56a014
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56a014
cmp edx, 1
je 0x56a437
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x56a437
cmp dword [ebp + 0x88], 0
je 0x56a04f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x56a04f
cmp dword [ebp + 0x18], 0
jne 0x56a04f
cmp dword [edi], 2
jne 0x56a04f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x56a04f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x569fc0
jmp 0x56a437
cmp dword [ebp + 0x88], 0
je 0x56a437
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x56a437
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x56a437
jmp 0x561b66
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x56a0e8
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x56a437
cmp edx, dword [ebp + 0x84]
jbe 0x56a437
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x56a437
jmp 0x561b66
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x56a437
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x56a437
jmp 0x56a110
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x56a064
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x56a13b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x56a437
cmp byte [eax], 0xa
jne 0x56a165
inc eax
jmp 0x56a162
cmp eax, 0xa
je 0x56a15f
cmp dword [ebp + 0x68], 0
jne 0x56a437
cmp eax, 0xb
je 0x56a15f
cmp eax, 0xc
je 0x56a15f
cmp eax, 0x85
jne 0x56a437
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x56a110
jmp 0x56a437
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x56a437
jmp 0x56a190
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x56a064
mov al, byte [ecx]
cmp al, 9
je 0x56a437
cmp al, 0x20
je 0x56a437
cmp al, 0xa0
je 0x56a437
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x56a190
jmp 0x56a437
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x56a437
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x56a064
mov al, byte [ecx]
cmp al, 9
je 0x56a1fe
cmp al, 0x20
je 0x56a1fe
cmp al, 0xa0
jne 0x56a437
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x56a1e0
jmp 0x56a437
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x56a437
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x56a064
mov al, byte [ecx]
cmp al, 0xa
jb 0x56a246
cmp al, 0xd
jbe 0x56a437
cmp al, 0x85
je 0x56a437
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x56a224
jmp 0x56a437
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x56a437
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x56a064
mov al, byte [ecx]
cmp al, 0xa
jb 0x56a437
cmp al, 0xd
jbe 0x56a292
cmp al, 0x85
jne 0x56a437
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x56a270
jmp 0x56a437
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x56a437
jmp 0x56a2c0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x56a064
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x56a437
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x56a2c0
jmp 0x56a437
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x56a437
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x56a064
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x56a437
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x56a302
jmp 0x56a437
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x56a437
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x56a064
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x56a437
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x56a344
jmp 0x56a437
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x56a437
jmp 0x56a390
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x56a064
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x56a437
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x56a390
jmp 0x56a437
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x56a437
jmp 0x56a3d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x56a064
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x56a437
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x56a3d0
jmp 0x56a437
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x56a437
jmp 0x56a410
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x56a064
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x56a437
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x56a410
cmp dword [esp + 0x80], 0
je 0x56b49a
jmp 0x560bfa
mov esi, dword [esi]
test esi, esi
je 0x56e911
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x56a474
jmp dword [eax*4 + 0x56ee4c]
cmp edi, 0xfffffc1b
je 0x56a546
cmp edi, 0xfffffc20
jne 0x56a4c3
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x56a474.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56a4bf
cmp byte [ecx], 0x77
jne case.0x56a474.49
xor edi, edi
jmp 0x56a4cb
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x56a546
cmp dword [esi + 0x9c], 0x88
jb 0x56a511
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e29a
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e290
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x56a93c
mov edx, dword [esp + 0x8c]
jmp 0x56a464
cmp edi, 0xfffffc20
jne 0x56a603
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x56a651
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56a5ce
cmp byte [ecx], 0x77
jne 0x56a651
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56a667
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a464
test edi, edi
je 0x56a5ce
cmp edi, 0xfffffc1b
jne 0x56a651
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x56a643
cmp al, 0x77
jne 0x56a634
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x56a620
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x56a93c
mov edx, dword [esp + 0x8c]
jmp 0x56a464
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x56a6b9
cmp eax, 0x81
je 0x56a6b9
cmp dword [ebp + 0x6c], 0
jne 0x56a6c3
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x56a6c3
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x6f10c0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x560b80
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e2bc
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e2b2
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
cmp edi, 1
jne 0x56a783
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x56a720
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x56a733
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x56a769
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x56a750
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x6f10c0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x56102e.145
test edi, edi
je 0x56a793
cmp edi, 0xfffffc20
jne case.0x56a474.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x56a7a9
movzx eax, byte [edx + 0x6f10c0]
jmp 0x56a7ac
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x56a7c9
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x560c01
cmp dword [esi + 0x9c], 0x8c
jne 0x560b80
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e2de
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e2d4
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
cmp edi, 1
je 0x56a8c2
cmp edi, 0xfffffc19
je 0x56a8c2
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x56a86a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x56a474.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56a872
cmp byte [ecx], 0x77
jmp 0x56a86c
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x56a8c8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e2f7
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e2ed
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x56a8e1
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a464
cmp dword [esi + 0x58], 0
je 0x56df1e
mov esi, dword [esi]
test esi, esi
je 0x56e8b6
mov edi, 1
jmp 0x56a464
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x56a9ad
je 0x56a946
cmp edi, 0xfffffc19
je 0x56b1e3
cmp edi, 0xfffffc1b
jle case.0x56a474.49
cmp edi, 0xfffffc1f
jle 0x56a96e
mov esi, dword [esi]
test esi, esi
jne 0x56a464
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x56a96e
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56a9c0
cmp byte [ecx], 0x77
je 0x56a9c0
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x56a971
cmp dword [esi + 0x58], 0
je 0x56abf7
mov esi, dword [esi]
test esi, esi
je 0x56e8b6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x56a464
mov eax, edi
sub eax, 0
je 0x56a9c0
dec eax
je 0x56b1e3
jmp case.0x56a474.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x56a988
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e30d
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e303
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x56df4c
cmp edi, 0xfffffc19
je 0x56df4c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x56aa79
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x5619fb
push ecx
call dword [0x7bbe58]
add esp, 4
jmp 0x5619fb
test edi, edi
je 0x56aaa3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x56aa94
push ecx
call dword [0x7bbe58]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x56a93c
jmp 0x56a459
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x56ab09
cmp dword [esi + 0x58], 0
je 0x56aad4
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e353
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e349
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x56aa59
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x56ab63
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e3a1
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e397
mov esi, dword [esi]
test esi, esi
je 0x56e86b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x56a464
cmp al, 0x88
jb 0x56e0a4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e3c3
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e3b9
mov esi, dword [esi]
test esi, esi
je 0x56e86b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x56e8c3
mov edi, 0xfffffc1b
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
mov edx, dword [esi + 0x2c]
jmp 0x56abe0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x56abe0
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x560bfa
test edi, edi
je 0x562474
jmp case.0x56a474.49
test edi, edi
je 0x56abaf
jmp case.0x56a474.49
cmp edi, 0xfffffc1b
jne 0x56ac2b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x56ac2d
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x56ba1b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e3e5
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e3db
mov esi, dword [esi]
test esi, esi
je 0x56e86b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56aca0
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0056f0a0
add esp, 0x14
test eax, eax
jns 0x56ad07
cmp eax, 0xfffffffe
jne 0x56acc9
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x56c7e1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x56c7e1
cmp eax, dword [ebp + 0x84]
jbe 0x56c7e1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x563a1e
jmp 0x56c7e1
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e40a
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e400
mov esi, dword [esi]
test esi, esi
je 0x56e86b
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x567b86.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e423
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e419
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56adc7
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56c8c6
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je 0x56c7e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e43c
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e432
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x5619fb
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e455
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e44b
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56aea1
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56c8c6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x56aed1
cmp dword [esi + 0x94], ecx
je 0x56aed1
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a464
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e46e
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e464
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
dec dword [esi + 8]
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e487
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e47d
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56af81
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56c8c6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x56c7e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e4a0
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e496
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
dec dword [esi + 8]
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e4b9
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e4af
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56b04e
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56c8c6
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x56b1e3
cmp dword [esi + 0x94], ecx
je 0x56b1e3
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e4d2
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e4c8
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e4eb
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e4e1
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56b125
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56c8c6
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x56c7e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e501
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e4f7
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e517
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e50d
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56b1f4
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a464
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x56b23b
cmp dword [ebp + 0x88], 0
je 0x56b223
cmp ecx, dword [ebp + 0x84]
jbe 0x56b223
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x563a1e
mov esi, dword [esi]
test esi, esi
je 0x56e878
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x56a464
cmp dword [esi + 0x7c], 0xc
jne 0x56b262
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x56b284
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x56b2a1
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x56b27d.15
jmp dword [eax*4 + 0x56ef58]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x56b262
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56b262
cmp edi, 1
je 0x56b2a1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x56b262
mov esi, dword [esi]
test esi, esi
je 0x56e878
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x56a464
cmp dword [ebp + 0x88], 0
je case.0x56b27d.13
cmp edx, dword [ebp + 0x78]
jb case.0x56b27d.13
cmp dword [ebp + 0x18], 0
jne case.0x56b27d.13
cmp dword [ebp + 0x1c], 2
jne case.0x56b27d.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x56b27d.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x563a1e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e52d
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e523
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x56b33d.14
movzx eax, byte [ecx + 0x56efa8]
jmp dword [eax*4 + 0x56ef98]
cmp edx, dword [ebp + 0x78]
jae case.0x56b27d.13
cmp byte [edx], 0xa
jne case.0x56b27d.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x56b27d.13
cmp dword [ebp + 0x68], 0
je case.0x56b27d.13
jmp case.0x56b33d.14
cmp ecx, 9
je case.0x56b33d.14
cmp ecx, 0x20
je case.0x56b33d.14
cmp ecx, 0xa0
jmp 0x56b43a
cmp ecx, 9
je case.0x56b27d.13
cmp ecx, 0x20
je case.0x56b27d.13
cmp ecx, 0xa0
je case.0x56b27d.13
jmp case.0x56b33d.14
cmp ecx, 0xa
jb case.0x56b27d.13
cmp ecx, 0xd
jbe case.0x56b33d.14
cmp ecx, 0x85
jmp 0x56b43a
cmp ecx, 0xa
jb case.0x56b33d.14
cmp ecx, 0xd
jbe case.0x56b27d.13
cmp ecx, 0x85
je case.0x56b27d.13
jmp case.0x56b33d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x56b27d.13
jmp case.0x56b33d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x56b43a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x56b27d.13
jmp case.0x56b33d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x56b43a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x56b27d.13
mov esi, dword [esi]
test esi, esi
je 0x56e878
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x56a464
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x56b27d.13
mov esi, dword [esi]
test esi, esi
je 0x56e878
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x56a464
mov esi, dword [esi]
test esi, esi
je case.default.0x56a474
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x56b49a
cmp eax, dword [esi + 0x30]
jbe 0x56b49a
cmp byte [eax], 0xa
jne 0x56b49a
cmp byte [eax - 1], 0xd
jne 0x56b49a
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e543
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e539
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
cmp edi, 0xfffffc1a
jne 0x56b531
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x56b529
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x56b510
jmp 0x56b588
mov dword [esi + 8], eax
jmp 0x56b5ad
cmp edi, 0xfffffc20
jne 0x56b565
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x56a474.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56b56d
cmp byte [ecx], 0x77
jmp 0x56b567
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x56b5a1
cmp dword [esi + 0x5c], 0
jne 0x56abf7
cmp dword [esi + 0x54], 0
jne 0x56abf7
jmp 0x56c7e1
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x56b5c3
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x56e585
push 0x134
call dword [0x7bbe5c]
mov edx, eax
add esp, 4
test edx, edx
jne 0x56e57b
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
mov esi, dword [esi]
test edi, edi
jne 0x56a934
test esi, esi
je 0x56e8dd
mov edi, 0xfffffc1c
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x56e8f7
mov edi, 0xfffffc1e
jmp 0x56a464
cmp edi, 1
je 0x56b643
cmp edi, 0xfffffc19
jne 0x56b65d
cmp dword [ebp + 0xac], 0
jne 0x56b65d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x56a651
cmp edi, 0xfffffc1f
jne 0x56a651
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x56b692
test dl, dl
je 0x56b68e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x56b692
add eax, 2
add ecx, 2
test dl, dl
jne 0x56b672
xor eax, eax
jmp 0x56b697
sbb eax, eax
or eax, 1
test eax, eax
jne 0x56a651
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x56e8f7
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x56a464
cmp edi, 1
je 0x56b6cd
cmp edi, 0xfffffc19
jne case.0x56a474.51
cmp dword [ebp + 0xac], 0
jne case.0x56a474.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x56a934
test esi, esi
je 0x56e8d0
mov edi, 0xfffffc1d
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x56e904
mov edi, 0xfffffc1f
jmp 0x56a464
cmp edi, 1
je 0x56b730
cmp edi, 0xfffffc19
jne case.0x56a474.54
cmp dword [ebp + 0xac], 0
jne case.0x56a474.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x56e8ea
mov edi, 0xfffffc20
jmp 0x56a464
cmp edi, 0xfffffc1a
jne 0x56b7d1
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x56b7c9
mov edx, dword [esi + 0xc]
jmp 0x56b7b0
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x56b7b0
jmp 0x56b838
mov dword [esi + 8], eax
jmp 0x561732
cmp edi, 0xfffffc20
jne 0x56b805
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x56a474.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56b80d
cmp byte [ecx], 0x77
jmp 0x56b807
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x561732
cmp dword [esi + 0x5c], 0
jne 0x56b878
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x560bf6
cmp dword [esi + 0x5c], 0
jne 0x560bf6
jmp 0x56c7e1
cmp edi, 1
jne 0x56b934
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x56b8b1
cmp al, 0x77
jne 0x56c7e1
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x56b8b1
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x560bf6
cmp ecx, dword [esi + 0x38]
je 0x560bf6
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x56b9cd
test ecx, ecx
jne 0x56e5ee
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e5e4
mov esi, dword [esi]
test esi, esi
je 0x56e86b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x56a464
cmp edi, 0xfffffc20
jne 0x56b968
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x56a474.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56b970
cmp byte [ecx], 0x77
jmp 0x56b96a
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x56b8a0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e5c9
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e5bf
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test ecx, ecx
jne 0x56e613
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e609
mov esi, dword [esi]
test esi, esi
je 0x56e86b
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x56a464
test edi, edi
je 0x56e0a4
jmp case.0x56a474.49
test edi, edi
jne case.0x56a474.49
add dword [esi + 0xc], 3
jmp 0x560b80
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56ba49
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56bb4a
cmp ebx, 0xc0
jb 0x56bb4a
test bl, 0x20
jne 0x56ba8b
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56bb47
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56bab5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56bb4a
mov edx, dword [esi + 8]
test bl, 8
jne 0x56badb
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56bb3e
test bl, 4
jne 0x56bb0a
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56bb3e
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.00570320
add esp, 0xc
test eax, eax
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e635
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e62b
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x56c7e1
cmp dword [esp + 0x8c], edi
je 0x56bbd1
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x56bbd1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x56bbc5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e64e
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e644
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56bc2b
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x56bd20
test bl, 0x20
jne 0x56bc65
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56bd1d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56bc8f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56bd20
mov edx, dword [esi + 8]
test bl, 8
jne 0x56bcb8
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56bd1b
test bl, 4
jne 0x56bce7
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56bd1b
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x56bd36
cmp dword [esi + 0x9c], 0x6e
jne 0x56bd53
jmp 0x5619fb
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e667
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e65d
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x5619fb
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x56bdbc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x56bdb0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e680
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e676
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56be16
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x56be85
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x56be45
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x56be4a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x56be34
cmp edi, 0xfffffffc
je 0x56be77
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x56be82
cmp edi, 0xfffffffd
je 0x56be77
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x56be82
cmp edi, 0xfffffffe
je 0x56be77
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x56be82
cmp edi, 0xffffffff
je 0x56be77
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x56be82
mov eax, dword [esi + 0x88]
jmp 0x56bef0
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x56bf30
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x56bf30
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x56beb7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x56bebc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x56bea6
cmp edi, 0xfffffffc
je 0x56beed
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x56bf30
cmp edi, 0xfffffffd
je 0x56beed
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x56bf30
cmp edi, 0xfffffffe
je 0x56beed
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x56bf30
cmp edi, 0xffffffff
je 0x56beed
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x56bf30
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e699
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e68f
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
cmp dword [ebp + 0x88], 0
je case.0x567b86.14
cmp ebx, dword [ebp + 0x78]
jb case.0x567b86.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x567b86.14
jmp 0x561b52
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56bf7c
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56bf70
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e6b2
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e6a8
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56bfe2
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x56c0e2
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x56c01c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x56c0df
test dl, 0x10
jne 0x56c03e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x56c0e2
mov ecx, dword [esi + 8]
test dl, 8
jne 0x56c06e
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x56c0df
test dl, 4
jne 0x56c0a4
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x56c0df
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x56b2a1
cmp dword [esi + 0x94], edx
je 0x56b2a1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56c129
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56ad35
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x56e54d
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56c15c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56c150
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e6cb
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e6c1
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56c1c2
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x56c2b7
test bl, 0x20
jne 0x56c1fc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56c2b4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56c226
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56c2b7
mov edx, dword [esi + 8]
test bl, 8
jne 0x56c24f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56c2b2
test bl, 4
jne 0x56c27e
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56c2b2
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e6e4
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e6da
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56c320
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56c314
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e6fd
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e6f3
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56c386
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x56c3c2
cmp dword [ebp + 0x88], 0
je 0x56c7e1
cmp ecx, dword [ebp + 0x84]
jbe 0x56c7e1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x563a1e
jmp 0x56c7e1
cmp dword [esi + 0x7c], 0xc
jne 0x56c414
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x56c3ef
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00570990
add esp, 0x14
test eax, eax
jne 0x56c7e1
jmp 0x56c414
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x56c414
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56c414
cmp edi, 1
je 0x56c7e1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x56c7e1
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x56c4fc
test dl, 0x20
jne 0x56c447
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x56c4f9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x56c46e
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x56c4f7
test dl, 8
jne 0x56c494
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x56c4f7
test dl, 4
jne 0x56c4c3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x56c4f7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x56c50b.15
jmp dword [eax*4 + 0x56f024]
cmp dword [ebp + 0x88], 0
je case.0x56c50b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x56c50b.13
cmp dword [ebp + 0x18], 0
jne case.0x56c50b.13
cmp dword [ebp + 0x1c], 2
jne case.0x56c50b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x56c50b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x56c50b.13
jmp 0x563a1e
cmp edx, 0xd
ja 0x56c58e
je 0x56c57b
cmp edx, 0xa
je case.0x56c50b.13
jbe 0x56c7e1
cmp edx, 0xc
jmp 0x56c5a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x56c50b.13
cmp byte [eax], 0xa
jne case.0x56c50b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x56c50b.13
cmp edx, 0x85
je 0x56c5ae
cmp edx, 0x2027
jbe 0x56c7e1
cmp edx, 0x2029
ja 0x56c7e1
cmp dword [ebp + 0x68], 0
je case.0x56c50b.13
jmp 0x56c7e1
cmp edx, 0x180e
ja 0x56c62d
je 0x56c7e1
cmp edx, 0xa0
ja 0x56c625
je 0x56c7e1
cmp edx, 9
je 0x56c7e1
cmp edx, 0x20
je 0x56c7e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56c616
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56ad35
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x56e54d
cmp edx, 0x1680
jmp 0x56c5e1
cmp edx, 0x205f
ja 0x56c657
je 0x56c7e1
cmp edx, 0x2000
jb case.0x56c50b.13
cmp edx, 0x200a
jbe 0x56c7e1
cmp edx, 0x202f
jmp 0x56c5e1
cmp edx, 0x3000
jmp 0x56c7db
cmp edx, 0x180e
ja 0x56c694
je case.0x56c50b.13
cmp edx, 0xa0
ja 0x56c68c
je case.0x56c50b.13
cmp edx, 9
je case.0x56c50b.13
cmp edx, 0x20
jmp 0x56c6c8
cmp edx, 0x1680
jmp 0x56c6c8
cmp edx, 0x205f
ja 0x56c6c2
je case.0x56c50b.13
cmp edx, 0x2000
jb 0x56c7e1
cmp edx, 0x200a
jbe case.0x56c50b.13
cmp edx, 0x202f
jmp 0x56c6c8
cmp edx, 0x3000
je case.0x56c50b.13
jmp 0x56c7e1
cmp edx, 0x85
ja 0x56c6f8
je 0x56c7e1
cmp edx, 0xa
jb case.0x56c50b.13
cmp edx, 0xd
jbe 0x56c7e1
jmp case.0x56c50b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x56c50b.13
jmp 0x56c7e1
cmp edx, 0x85
ja 0x56c728
je case.0x56c50b.13
cmp edx, 0xa
jb 0x56c7e1
cmp edx, 0xd
jmp 0x56c731
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x56c50b.13
jmp 0x56c7e1
cmp edx, 0x100
jae case.0x56c50b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x56c50b.13
jmp 0x56c7e1
cmp edx, 0x100
jae 0x56c7e1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x56c7db
cmp edx, 0x100
jae case.0x56c50b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x56c50b.13
jmp 0x56c7e1
cmp edx, 0x100
jae 0x56c7e1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x56c7db
cmp edx, 0x100
jae case.0x56c50b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x56c50b.13
mov esi, dword [esi]
test esi, esi
je 0x56e878
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x56a464
cmp edx, 0x100
jae 0x56c7e1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x56c50b.13
mov esi, dword [esi]
test esi, esi
je 0x56e878
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x56a464
mov esi, dword [esi]
test esi, esi
je case.default.0x56a474
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x56a464
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56c83c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56c830
cmp dword [esi + 0x7c], 0x11
jne 0x56c858
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x56c858
cmp byte [eax], 0xa
jne 0x56c858
dec eax
cmp byte [eax], 0xd
jne 0x56c858
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e716
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e70c
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56c8be
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x56c8de
cmp dword [ebp + 0x88], 0
je 0x56b1e3
cmp eax, dword [ebp + 0x84]
jmp 0x56d039
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x56c91d
cmp ecx, 0xc0
jb 0x56c91d
test cl, 0x20
jne 0x56c8f9
inc eax
jmp 0x56c91a
test cl, 0x10
jne 0x56c903
add eax, 2
jmp 0x56c91a
test cl, 8
jne 0x56c90d
add eax, 3
jmp 0x56c91a
test cl, 4
jne 0x56c917
add eax, 4
jmp 0x56c91a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x56c934
mov esi, dword [esi]
test esi, esi
je 0x56e878
xor edi, edi
jmp 0x56a464
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56c963
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56ad35
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x56e54d
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56c997
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56ca91
cmp ebx, 0xc0
jb 0x56ca91
test bl, 0x20
jne 0x56c9d9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56ca8e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56ca03
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56ca91
mov edx, dword [esi + 8]
test bl, 8
jne 0x56ca29
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56ca8c
test bl, 4
jne 0x56ca58
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56ca8c
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56cab3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp eax, 9
je 0x56cad8
cmp eax, 5
je 0x56cad8
cmp eax, 8
je 0x56cad8
xor eax, eax
jmp 0x56cadd
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e72f
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e725
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56cb46
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56cc3c
cmp ebx, 0xc0
jb 0x56cc3c
test bl, 0x20
jne 0x56cb88
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56cc39
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56cbb0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x56cc3c
mov edx, dword [esi + 8]
test bl, 8
jne 0x56cbd6
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x56cc39
test bl, 4
jne 0x56cc05
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x56cc39
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56cc5e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e748
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e73e
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56cce8
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56cdde
cmp ebx, 0xc0
jb 0x56cdde
test bl, 0x20
jne 0x56cd2a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56cddb
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56cd52
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x56cdde
mov edx, dword [esi + 8]
test bl, 8
jne 0x56cd78
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x56cddb
test bl, 4
jne 0x56cda7
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x56cddb
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56ce00
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e761
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e757
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56ce83
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56cf79
cmp ebx, 0xc0
jb 0x56cf79
test bl, 0x20
jne 0x56cec5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56cf76
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56ceed
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x56cf79
mov edx, dword [esi + 8]
test bl, 8
jne 0x56cf13
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x56cf76
test bl, 4
jne 0x56cf42
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x56cf76
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56cf9b
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e77a
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e770
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56d01e
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x56d067
cmp dword [ebp + 0x88], 0
je 0x56b1e3
cmp edi, dword [ebp + 0x84]
jbe 0x56b1e3
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x56b1e3
mov esi, dword [esi]
test esi, esi
je 0x56e89c
mov edi, 0xfffffff4
jmp 0x56a464
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56d155
cmp ebx, 0xc0
jb 0x56d155
test bl, 0x20
jne 0x56d09d
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56d152
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56d0c7
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56d155
mov edx, dword [esi + 8]
test bl, 8
jne 0x56d0ed
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56d150
test bl, 4
jne 0x56d11c
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56d150
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56d177
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13ca]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56d308
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x56d2a7
cmp ebx, 0xc0
jb 0x56d2a7
test bl, 0x20
jne 0x56d1db
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x56d29f
test bl, 0x10
jne 0x56d200
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x56d29f
test bl, 8
jne 0x56d231
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x56d29f
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x56d26b
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x56d29f
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56d2c9
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx ecx, byte [eax*8 + 0x6f13ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x6f1250], eax
je 0x56d308
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x56d1a0
cmp dword [ebp + 0x88], 0
je 0x56d335
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x56d335
cmp eax, dword [ebp + 0x84]
jbe 0x56d335
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x561b66
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e793
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e789
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x56d39c
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56d39c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56d390
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x560b80
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e7ac
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e7a2
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x56d3f7
movzx ebx, byte [ecx]
jmp 0x56d4e5
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56d40c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56d400
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x56d4e5
test bl, 0x20
jne 0x56d42f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x56d4dd
test bl, 0x10
jne 0x56d44f
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x56d4dd
test bl, 8
jne 0x56d478
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x56d4dd
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x56d4ad
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x56d4dd
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56d507
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13ca]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x560b80
dec edi
cmp dword [esp + 0x8c], 0
jne 0x56d53f
movzx ebx, byte [edi]
jmp 0x56d5fe
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x56d551
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x56d547
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x56d5fe
test bl, 0x20
jne 0x56d571
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x56d5f6
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x56d58e
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x56d5f6
and eax, 0x3f
test bl, 8
jne 0x56d5a9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x56d5f6
test bl, 4
jne 0x56d5cd
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x56d5f6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56d620
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx edx, byte [eax*8 + 0x6f13ca]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x6f1250], eax
je 0x569256
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x56d520
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56d681
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56d77b
cmp ebx, 0xc0
jb 0x56d77b
test bl, 0x20
jne 0x56d6c3
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56d778
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56d6ed
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56d77b
mov edx, dword [esi + 8]
test bl, 8
jne 0x56d713
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56d776
test bl, 4
jne 0x56d742
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56d776
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56d79d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x56d7c4
cmp eax, 3
je 0x56d7c4
xor eax, eax
jmp 0x56d7c9
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e7de
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e7d4
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56d832
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56d933
cmp ebx, 0xc0
jb 0x56d933
test bl, 0x20
jne 0x56d874
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56d930
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56d89e
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56d933
mov edx, dword [esi + 8]
test bl, 8
jne 0x56d8c4
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56d927
test bl, 4
jne 0x56d8f3
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56d927
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x56d95e
cmp ebx, 0x40
je 0x56d95e
cmp ebx, 0x60
je 0x56d95e
cmp ebx, 0xa0
jb 0x56d952
cmp ebx, 0xd7ff
jbe 0x56d95e
cmp ebx, 0xe000
jae 0x56d95e
xor eax, eax
jmp 0x56d963
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x562342
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e7f7
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e7ed
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56d9cc
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56dacd
cmp ebx, 0xc0
jb 0x56dacd
test bl, 0x20
jne 0x56da0e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56daca
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56da38
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x56dacd
mov edx, dword [esi + 8]
test bl, 8
jne 0x56da5e
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x56dac1
test bl, 4
jne 0x56da8d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x56dac1
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x56db10
je case.0x56db30.8192
cmp ebx, 0x85
ja 0x56dafc
je case.0x56db30.8192
cmp ebx, 9
jb case.0x56db30.8203
cmp ebx, 0xd
jbe case.0x56db30.8192
cmp ebx, 0x20
jmp 0x56db45
cmp ebx, 0xa0
je case.0x56db30.8192
cmp ebx, 0x1680
jmp 0x56db45
cmp ebx, 0x202f
ja 0x56db37
je case.0x56db30.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x56db30.8203
movzx eax, byte [eax + 0x56f06c]
jmp dword [eax*4 + 0x56f064]
cmp ebx, 0x205f
je case.0x56db30.8192
cmp ebx, 0x3000
je case.0x56db30.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x6f2a48]
shl eax, 7
and ebx, 0x8000007f
jns 0x56db69
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
cmp dword [eax*4 + 0x6f11d8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x56db9c
jmp 0x5619fb
cmp dword [esi + 0x68], 0
jne 0x562342
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e810
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e806
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56dbfc
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56dcf2
cmp ebx, 0xc0
jb 0x56dcf2
test bl, 0x20
jne 0x56dc3e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56dcef
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56dc66
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x56dcf2
mov edx, dword [esi + 8]
test bl, 8
jne 0x56dc8c
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x56dcef
test bl, 4
jne 0x56dcbb
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x56dcef
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x6f2a48]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x56dd15
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6f4c48]
movzx eax, byte [eax*8 + 0x6f13c9]
mov eax, dword [eax*4 + 0x6f11d8]
cmp eax, 1
je 0x56dd41
cmp eax, 3
je 0x56dd41
cmp ebx, 0x5f
je 0x56dd41
xor eax, eax
jmp 0x56dd46
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x5619fb
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e829
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e81f
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
test edi, edi
jne case.0x56a474.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x56ddaf
mov esi, dword [esi]
test esi, esi
je 0x56e878
jmp 0x56a464
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56d026
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x56deac
cmp ebx, 0xc0
jb 0x56deac
test bl, 0x20
jne 0x56ddf1
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x56dea9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x56de19
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x56deac
mov edx, dword [esi + 8]
test bl, 8
jne 0x56de3f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x56dea2
test bl, 4
jne 0x56de6e
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x56dea2
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x6f1288]
lea eax, [eax*4 + 0x6f1288]
cmp ebx, ecx
jb 0x56dece
lea eax, [eax + 4]
cmp ebx, ecx
je 0x56df13
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x56dec1
cmp dword [esi + 0x68], 0
je 0x562342
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56e842
push 0x134
call dword [0x7bbe5c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56e838
mov esi, dword [esi]
test esi, esi
je 0x56e86b
lea edi, [eax - 6]
jmp 0x56a459
cmp dword [esi + 0x68], 0
je 0x56ded8
jmp 0x562342
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x56df21
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x560bfa
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x56df63
push ecx
call dword [0x7bbe58]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x560bfa
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56bd59
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56bb65
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56befb
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x56c100
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56c2c9
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x56c93a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56caec
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56cc8e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56ce29
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56cfc4
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56d7d8
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56dba2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56dd55
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56dede
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56d972
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x56c5ed
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x56d33b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x560b80
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x6f10c0]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x560b70
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x56e0bf
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x56e0bf
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x56e0bf
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x560b70
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x56e556
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x56e556
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x56e556
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x56e556
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x56e556
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x56e317
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x560b70
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x6f10c0]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x560b70
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x56e556
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x56e556
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x56e556
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x560b70
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x56e366
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x56e556
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x56e556
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x56e556
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x56e54d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x56e54d
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret