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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0xa8]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0xb8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
nop
mov edx, dword [ebp]
mov ebx, dword [ebp + 0x4c]
mov dword [esp + 0x28], ebx
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, dword [ebp + 4]
jb 0x55553b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563012
mov edi, 0xfffffff8
jmp 0x55f104
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x555559
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563022
mov edi, 0xffffffeb
jmp 0x55f104
cmp dword [ebp + 0x98], 2
jne 0x555583
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
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], ebx
mov cl, byte [eax]
movzx eax, cl
mov dword [esi + 0x9c], eax
cmp cl, 0xa1
ja case.0x5555af.98
movzx eax, byte [eax + 0x56325c]
jmp dword [eax*4 + 0x563110]
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 0x5555ed
push 0x134
call dword [0x6b6368]
mov edi, eax
add esp, 4
test edi, edi
je 0x562db8
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 edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x63b368]
add eax, edx
add ecx, eax
mov dword [edi + 0xc], ecx
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 0x555500
mov edx, dword [esi + 4]
test edx, edx
jne 0x55565c
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
mov edx, dword [esi + 4]
test edx, edx
jne 0x555699
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
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 0x5556e8
push 0x134
call dword [0x6b6368]
mov edi, eax
add esp, 4
test edi, edi
je 0x562db8
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x5555f7
mov edx, dword [esi + 4]
test edx, edx
jne 0x55571c
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x55575d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x63b368]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x555583
mov edi, dword [esi + 4]
test edi, edi
jne 0x555782
push 0x134
call dword [0x6b6368]
mov edi, eax
add esp, 4
test edi, edi
je 0x562db8
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x5555f7
mov edx, dword [esi + 4]
test edx, edx
jne 0x5557b6
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
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 0x555805
push 0x134
call dword [0x6b6368]
mov edi, eax
add esp, 4
test edi, edi
je 0x562db8
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x5555f7
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 0x560769
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.0x5555af.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 0x55f1a3
mov dword [esi + 0x54], ebx
jmp 0x55608f
mov dword [esi + 0x54], ebx
jmp 0x5560b3
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
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0xc], eax
cmp byte [eax], 0x76
jne 0x5559d1
mov edi, dword [0x6b86f8]
test edi, edi
je 0x5559bd
mov dword [esp + 0x34], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x40], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x4c], 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 + 0x5c], 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 + 0x60], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x34]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x56145a
jns 0x5559bd
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x55f244
jmp 0x55f100
movzx eax, byte [0x63b3de]
add dword [esi + 0xc], eax
movzx eax, byte [0x63b3de]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ebx, dword [esi + 0xc]
movzx ecx, byte [ebx]
mov dword [esp + 0x2c], ecx
lea eax, [ecx - 0x8d]
cmp eax, 0x10
ja case.0x5559f4.146
movzx eax, byte [eax + 0x563318]
jmp dword [eax*4 + 0x563300]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x5559f4.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x555ad2
cmp ecx, dword [edx + 4]
je 0x555ad2
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x55f47d
movzx ecx, byte [ecx + 0x63b368]
jmp 0x55f480
cmp dword [ebp + 0xa4], 0
je case.0x5559f4.145
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 1]
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebx + 2]
or ecx, eax
mov eax, dword [ebp + 0x30]
imul ecx, dword [ebp + 0x24]
add eax, ecx
test edi, edi
je 0x555a2c
mov ebx, eax
movzx edx, byte [eax + 1]
dec edi
movzx eax, byte [eax]
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
mov ecx, dword [eax + 4]
xor eax, eax
cmp edx, ecx
sete al
mov dword [esi + 0x58], eax
je 0x555a2c
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x555a78
jmp 0x555a2c
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x555a27
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x555a27
mov eax, 1
jmp 0x555a29
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ebx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
je case.0x5559f4.145
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 0x555b2f
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x555b2f
mov eax, 1
jmp 0x555b31
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x555a2c
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x555b05
jmp 0x555a2c
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x555b7b
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
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]
jmp 0x55f6f1
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 0x555be8
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x555583
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 edx, dword [esi + 0x98]
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jl 0x555bdf
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x555c3f
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x555c30
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x555583
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x555c8a
cmp cl, 0x9f
je 0x555c8a
cmp dword [ebp + 0xa4], ebx
jne 0x555c8a
cmp dword [ebp + 0x5c], ebx
jne case.default.0x56145a
cmp dword [ebp + 0x60], ebx
je 0x555c8a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x56145a
mov dword [ebp + 0x80], edi
mov edi, 0xfffffc19
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, 1
cmp dword [esi + 0x9c], ebx
cmove edi, eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x55f244
jmp 0x55f100
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x555ce7
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x55f568
mov dword [esi + 0x58], ebx
jmp 0x55f568
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x555d13
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x55f6b2
mov dword [esi + 0x58], ebx
jmp 0x55f6b2
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x555d62
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x555d80
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x56005a.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x555d5c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x555d50
test edx, edx
jg 0x555d35
jmp 0x555d80
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x74]
jb case.0x56005a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x555bdf
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x555583
mov edi, dword [0x6b86f8]
test edi, edi
je 0x555e83
mov dword [esp + 0x68], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 0x74]
mov dword [esp + 0x74], ecx
mov eax, dword [ebp + 0x78]
sub eax, ecx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x10]
sub eax, ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 8]
sub eax, ecx
mov dword [esp + 0x80], 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 + 0x90], 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 + 0x94], ecx
mov ecx, 0xffffffff
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff
cmove eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x68]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jg case.default.0x56145a
jns 0x555e83
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x55f244
jmp 0x55f100
add dword [esi + 0xc], 6
jmp 0x555583
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 0x555ead
xor edx, edx
jmp 0x555eba
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 0x555ed9
cmp edx, dword [ecx + 4]
jne 0x555ed1
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x555f16
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x555ec4
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 0x555f2c
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x555f44
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563032
mov edi, 0xffffffe6
jmp 0x55f100
shl eax, 2
push eax
call dword [0x6b6360]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x562db8
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.00541db0
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x55f7d8
mov edx, dword [esi + 0xc]
nop dword [eax]
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 0x555f70
jmp 0x555583
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x555fb8
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
nop word [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x555fe0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55601e
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
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 eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0x2c], eax
cmp byte [edx], 0x77
je 0x556040
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x555583
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x55608f
cmp eax, 0x8b
jne 0x5560b3
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 0x5560d0
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 0x560326
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 0x55614d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x556176
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 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 0x5561b2
cmp al, 0x81
je 0x5561b2
mov dword [esi + 0x38], ebx
jmp 0x5561c3
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 0x5561d0
cmp al, 0x80
jbe 0x5561d4
cmp al, 0x82
jne 0x5561f1
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
jmp 0x55f682
cmp al, 0x85
je 0x556205
cmp al, 0x8a
je 0x556205
cmp al, 0x86
je 0x556205
cmp al, 0x8b
jne 0x5562db
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 0x55624a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x55624a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x55f682
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 0x556279
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x5562db
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x55629f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x55629f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x556290
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 0x5562db
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x556313
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 eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563042
mov edi, 0xfffffc1a
jmp 0x55f100
cmp cl, 0x78
je 0x5563a3
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x5563a3
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x556369
test ecx, ecx
jne 0x55634e
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
test ecx, ecx
jne 0x55638b
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x557ce2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5563d4
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
cmp dword [ebp + 0x44], ebx
je case.0x5555af.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x56145a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x5574a6.10
jmp case.default.0x56145a
cmp dword [ebp + 0x44], ebx
je 0x556422
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x56145a
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x5574a6.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x56145a
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x55646d
cmp ecx, edi
jbe 0x556462
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.00565640
add esp, 0x14
test eax, eax
je 0x556462
mov eax, 1
jmp 0x556464
xor eax, eax
test eax, eax
jne case.0x5574a6.10
jmp case.default.0x56145a
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x56145a
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x56145a
cmp edx, 1
je case.0x5574a6.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x5574a6.10
jmp case.default.0x56145a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x5574a6.10
jmp case.default.0x56145a
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x555583
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x556564
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x5564f2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.005654b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x5574a6.10
jmp 0x556513
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55650f
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55650f
cmp edi, 1
je case.0x5574a6.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x5574a6.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56005a.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x56005a.14
cmp dword [ebp + 0x18], 0
jne case.0x56005a.14
cmp dword [ebp + 0x1c], 2
jne case.0x56005a.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x56005a.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x562e1a
jmp case.0x56005a.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x56145a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x5574a6.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x5574a6.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x5574a6.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x55f104
cmp dword [ebp + 0x48], ebx
jne case.default.0x56145a
cmp dword [ebp + 0x58], ebx
je case.0x5555af.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x5574b2
jmp case.default.0x56145a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x55656d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x5565fe
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005654b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x55662c
jmp 0x55661b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55662c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55662c
cmp edi, 1
je 0x55661b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x55662c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x55656d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x56145a
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x56145a
cmp dword [ebp + 0x18], ebx
jne case.default.0x56145a
cmp dword [ebp + 0x1c], 2
jne case.default.0x56145a
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x56145a
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x56145a
jmp 0x556597
cmp dword [esp + 0x28], ebx
je 0x556934
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x556696
mov dword [esi + 0x5c], ebx
jmp 0x5567c1
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x5566ae
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x5566a2
cmp ecx, dword [ebp + 0x84]
jae 0x5566bc
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x556773
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x5566ea
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x55676b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x5566fd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x556765
and eax, 0x3f
test bl, 8
jne 0x556718
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x556765
test bl, 4
jne 0x55673c
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 0x556765
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp dword [ebp + 0x54], 0
mov edx, ebx
je 0x5567f7
cmp edx, 0x5f
jne 0x556789
mov dword [esi + 0x5c], 1
jmp 0x5567c1
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x63d130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x556808
cmp eax, 3
je 0x556808
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x55680f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x5567eb
cmp edi, dword [ebp + 0x84]
jbe 0x5567eb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
mov dword [esi + 0x54], 0
jmp 0x556a4f
cmp edi, 0x100
jae 0x5567bc
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x5567bc
mov eax, 1
jmp 0x5567be
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x5568c6
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55683d
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x5568be
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x556850
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x5568b8
and eax, 0x3f
test dl, 8
jne 0x55686b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5568b8
test dl, 4
jne 0x55688f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x5568b8
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp dword [ebp + 0x54], 0
mov edi, edx
je 0x556919
cmp edi, 0x5f
jne 0x5568df
mov dword [esi + 0x54], 1
jmp 0x556a4f
shr eax, 7
movzx eax, byte [eax + 0x63d130]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x55692a
cmp eax, 3
je 0x55692a
xor eax, eax
jmp 0x556a4c
cmp ebx, 0x100
jae 0x556912
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x556912
mov eax, 1
jmp 0x556a4c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x556944
mov dword [esi + 0x5c], ebx
jmp 0x5569ce
cmp eax, dword [ebp + 0x84]
ja 0x556953
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x5569be
cmp ecx, 0x5f
jne 0x55696d
mov dword [esi + 0x5c], 1
jmp 0x5569ce
mov eax, ecx
test eax, eax
jns 0x556976
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x63d130]
shl eax, 7
and ecx, 0x8000007f
jns 0x556990
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x5569b7
cmp eax, 3
je 0x5569b7
xor eax, eax
jmp 0x5569cb
mov eax, 1
jmp 0x5569cb
mov eax, dword [ebp + 0x40]
movzx eax, byte [ecx + eax]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5569fd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x5569f8
cmp eax, dword [ebp + 0x84]
jbe 0x5569f8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x556597
mov dword [esi + 0x54], ebx
jmp 0x556a4f
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x556a3f
cmp ecx, 0x5f
jne 0x556a13
mov dword [esi + 0x54], 1
jmp 0x556a4f
mov eax, ecx
test eax, eax
jns 0x556a1c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x63d130]
shl eax, 7
and ecx, 0x8000007f
jns 0x5568ef
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x5568ef
mov eax, 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 0x556a6a
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x556a72
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x555583
jmp case.default.0x56145a
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x556ab9
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x556aae
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.005654b0
add esp, 0x14
test eax, eax
je 0x556aae
mov eax, 1
jmp 0x556ab0
xor eax, eax
test eax, eax
je 0x556ae4
jmp case.default.0x56145a
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x556ae4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x556ae4
cmp edx, 1
je case.default.0x56145a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x56145a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5555af.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x5555af.13
cmp dword [ebp + 0x18], ebx
jne case.0x5555af.13
cmp dword [ebp + 0x1c], 2
jne case.0x5555af.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x5555af.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x556597
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x556b52
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x56145a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x56145a
jmp 0x556597
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x5574a6.10
cmp ecx, dword [ebp + 0x78]
jae case.0x5574a6.10
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x5574a6.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x556b70
inc dword [esi + 0xc]
jmp 0x555583
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x556bb4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x56145a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x56145a
jmp 0x556667
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x555583
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x556be1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x556ccb
cmp edx, 0xc0
jb 0x556ccb
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x556c1f
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x556cc6
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x556c40
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x556cc6
test dl, 8
jne 0x556c63
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 0x556cc6
test dl, 4
jne 0x556c92
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 0x556cc6
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, edx
cmp eax, 0x100
jae case.0x5574a6.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x5574a6.10
jmp case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x556d09
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edx, dword [ebp + 0x84]
jmp 0x556b37
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x556e06
cmp ecx, 0xc0
jb 0x556e06
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x556d45
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x556e01
test cl, 0x10
jne 0x556d66
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 0x556e01
test cl, 8
jne 0x556d90
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 0x556e01
test cl, 4
jne 0x556dc6
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 0x556e01
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
mov eax, ecx
cmp eax, 0xff
ja case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x5574a6.10
jmp case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x556e44
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x556f4c
cmp edx, 0xc0
jb 0x556f4c
test dl, 0x20
jne 0x556e80
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x556f47
test dl, 0x10
jne 0x556ea7
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x556f47
test dl, 8
jne 0x556ed7
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x556f47
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x556f13
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 0x556f47
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, edx
cmp eax, 0x100
jae case.0x5574a6.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x5574a6.10
jmp case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x556f8a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edx, dword [ebp + 0x84]
jmp 0x556b37
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x557087
cmp ecx, 0xc0
jb 0x557087
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x556fc6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x557082
test cl, 0x10
jne 0x556fe7
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 0x557082
test cl, 8
jne 0x557011
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 0x557082
test cl, 4
jne 0x557047
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 0x557082
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
mov eax, ecx
cmp eax, 0xff
ja case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x5574a6.10
jmp case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x5570c5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x5571cd
cmp edx, 0xc0
jb 0x5571cd
test dl, 0x20
jne 0x557101
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5571c8
test dl, 0x10
jne 0x557128
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x5571c8
test dl, 8
jne 0x557158
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x5571c8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x557194
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 0x5571c8
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, edx
cmp eax, 0x100
jae case.0x5574a6.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x5574a6.10
jmp case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x55720b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edx, dword [ebp + 0x84]
jmp 0x556b37
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x557308
cmp ecx, 0xc0
jb 0x557308
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x557247
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x557303
test cl, 0x10
jne 0x557268
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 0x557303
test cl, 8
jne 0x557292
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 0x557303
test cl, 4
jne 0x5572c8
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 0x557303
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
mov eax, ecx
cmp eax, 0xff
ja case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5574a6.10
jmp case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x557346
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edi
mov dword [esi + 8], edi
mov ebx, edx
mov ecx, edx
mov dword [esp + 0x20], edi
je 0x557486
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x557486
test dl, 0x20
jne 0x557396
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x55748a
test dl, 0x10
jne 0x5573c6
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x55748a
test dl, 8
jne 0x557402
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x55748a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x557447
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]
mov dword [esi + 8], eax
mov ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x55748a
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 ebx, edx
mov ecx, edx
mov edi, eax
jmp 0x55748a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x5574e9
cmp ecx, 0x85
je case.0x5574a6.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56145a
jmp dword [edx*4 + 0x56332c]
cmp edi, dword [ebp + 0x78]
jb 0x5574d4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5574a6.10
cmp eax, dword [ebp + 0x84]
jbe case.0x5574a6.10
cmp ecx, 1
jmp 0x55658a
cmp byte [eax], 0xa
jne case.0x5574a6.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x555583
sub edx, 0x2028
je case.0x5574a6.11
sub edx, 1
jne case.default.0x56145a
cmp dword [ebp + 0x68], 0
je case.0x5574a6.10
jmp case.default.0x56145a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x55752a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ebx, edx
mov dword [esi + 8], edi
mov eax, edx
mov dword [esp + 0x20], edx
mov ecx, edx
je 0x557645
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x557645
test dl, 0x20
jne 0x557571
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x557638
test dl, 0x10
jne 0x557598
movzx eax, byte [edi]
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x557638
test dl, 8
jne 0x5575c8
movzx eax, byte [edi]
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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 0x557638
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x557604
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 0x557638
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 ebx, edx
mov dword [esp + 0x20], edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x20], 0x2000
mov edi, edx
ja 0x5576ab
cmp ebx, 0x2000
je case.default.0x56145a
cmp edx, 0xa0
ja 0x55768b
cmp edi, 0xa0
je case.default.0x56145a
cmp edx, 9
je case.default.0x56145a
cmp edx, 0x20
je case.default.0x56145a
inc dword [esi + 0xc]
jmp 0x555583
cmp edx, 0x1680
je case.default.0x56145a
cmp edx, 0x180e
je case.default.0x56145a
inc dword [esi + 0xc]
jmp 0x555583
cmp eax, 0x3000
ja case.0x5574a6.10
cmp ecx, 0x3000
je case.default.0x56145a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x5574a6.10
movzx eax, byte [edx + 0x563344]
jmp dword [eax*4 + 0x56333c]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x557700
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edx, dword [ebp + 0x84]
jmp 0x556b37
movzx ecx, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ebx, ecx
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x20], ecx
mov edi, ecx
je 0x557810
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x557810
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x557747
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x557803
test cl, 0x10
jne 0x557768
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 0x557803
test cl, 8
jne 0x557792
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 0x557803
test cl, 4
jne 0x5577c8
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 0x557803
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
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x20], 0x2000
mov edx, ecx
ja 0x557870
cmp ebx, 0x2000
je case.0x5574a6.10
cmp ecx, 0xa0
ja 0x557853
cmp edx, 0xa0
je case.0x5574a6.10
cmp ecx, 9
je case.0x5574a6.10
cmp ecx, 0x20
je case.0x5574a6.10
jmp case.default.0x56145a
cmp ecx, 0x1680
je case.0x5574a6.10
cmp ecx, 0x180e
je case.0x5574a6.10
jmp case.default.0x56145a
cmp eax, 0x3000
ja case.default.0x56145a
cmp edi, 0x3000
je case.0x5574a6.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x56145a
movzx eax, byte [ecx + 0x5633ac]
jmp dword [eax*4 + 0x5633a4]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x5578c5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x5579dd
cmp edx, 0xc0
jb 0x5579dd
test dl, 0x20
jne 0x557905
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x5579d6
test dl, 0x10
jne 0x55792c
movzx ecx, byte [edi]
and edx, 0xf
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x5579d6
test dl, 8
jne 0x55795f
movzx ecx, byte [edi]
and edx, 7
movzx eax, byte [edi + 1]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
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 0x5579d6
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x55799b
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 [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 0x5579d6
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 [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 ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x557a03
cmp eax, 0x85
je case.0x56005a.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x5574a6.10
jmp dword [edx*4 + 0x56340c]
sub edx, 0x2028
je case.0x56005a.14
sub edx, 1
jne case.0x5574a6.10
jmp case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x557a3e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
test ebx, ebx
je 0x557b30
cmp edx, 0xc0
jb 0x557b30
test dl, 0x20
jne 0x557a7c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x557b29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x557aa3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x557b29
test dl, 8
jne 0x557ac6
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 0x557b29
test dl, 4
jne 0x557af5
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 0x557b29
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 ecx, edx
mov eax, edx
cmp ecx, 0x85
ja 0x557b56
cmp eax, 0x85
je case.0x5574a6.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x56005a.14
jmp dword [edx*4 + 0x56341c]
sub edx, 0x2028
je case.0x5574a6.10
sub edx, 1
je case.0x5574a6.10
jmp case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x557b91
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov ebx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
je 0x557ca4
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x557ca4
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x557bea
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x557c91
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x557c0b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x557c91
test dl, 8
jne 0x557c2e
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 0x557c91
test dl, 4
jne 0x557c5d
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 0x557c91
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 ecx, edx
mov dword [esi + 8], eax
mov ebx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ecx
mov edi, dword [esi + 0xc]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x63d130]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x63f330]
cmp ecx, 0xa
ja case.0x5613d8.15
jmp dword [ecx*4 + 0x56342c]
cmp dword [esi + 0x9c], 0xf
je case.default.0x56145a
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x555583
mov al, byte [ebx*8 + 0x63bab1]
cmp al, 9
je 0x557d04
cmp al, 5
je 0x557d04
cmp al, 8
je 0x557d04
xor ecx, ecx
jmp 0x557d09
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x557ce2
jmp case.default.0x56145a
movzx ecx, byte [ebx*8 + 0x63bab1]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x63b480]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x557ce2
jmp case.default.0x56145a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x63bab1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x557ce2
jmp case.default.0x56145a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x63bab0]
jmp 0x557d57
movzx eax, byte [ebx*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x557d04
cmp eax, 3
je 0x557d04
xor ecx, ecx
jmp 0x557d09
cmp edx, 0x20
ja 0x557dc3
je case.0x557cce.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x557e3f.8203
jmp dword [edx*4 + 0x563458]
cmp edx, 0x2000
ja 0x557e1f
je case.0x557cce.0
cmp edx, 0x1680
ja 0x557e17
je case.0x557cce.0
sub edx, 0x85
je case.0x557cce.0
sub edx, 0x1b
je case.0x557cce.0
movzx eax, byte [ebx*8 + 0x63bab1]
xor ecx, ecx
cmp dword [eax*4 + 0x63b480], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x557d63
cmp edx, 0x180e
jmp 0x557dee
cmp edx, 0x3000
ja case.0x557e3f.8203
je case.0x557cce.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x557e3f.8203
movzx eax, byte [edx + 0x563474]
jmp dword [eax*4 + 0x56346c]
movzx eax, byte [ebx*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x557d04
cmp eax, 3
je 0x557d04
cmp edx, 0x5f
je 0x557d04
xor ecx, ecx
jmp 0x557d09
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x63b970]
cmp ecx, dword [eax]
jb 0x557e9d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x557eaf
mov ecx, dword [eax]
cmp edx, ecx
jae 0x557e90
cmp dword [esi + 0x9c], 0x10
jne 0x557ce2
jmp case.default.0x56145a
cmp dword [esi + 0x9c], 0x10
je 0x557ce2
jmp case.default.0x56145a
cmp dword [esp + 0x24], 0x24
je 0x557d04
cmp dword [esp + 0x1c], 0x40
je 0x557d04
cmp edx, 0x60
je 0x557d04
cmp edx, 0xa0
jb 0x557ef4
cmp edx, 0xd7ff
jbe 0x557d04
cmp edx, 0xe000
jae 0x557d04
xor ecx, ecx
jmp 0x557d09
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x557f28
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edx, dword [ebp + 0x84]
jmp 0x556b37
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x10], edx
je 0x558015
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x558015
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x557f6b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x55800a
test al, 0x10
jne 0x557f83
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x558004
test al, 8
jne 0x557fa4
and eax, 7
lea edi, [edx + 3]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x558004
test al, 4
jne 0x557fd1
and eax, 3
lea edi, [edx + 4]
shl eax, 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]
jmp 0x558004
and eax, 1
lea edi, [edx + 5]
shl eax, 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]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab2]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], edx
jae 0x558185
mov dword [esp + 0x10], edx
nop dword [eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x55812c
cmp edx, 0xc0
jb 0x55812c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x558091
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x558128
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x5580ac
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x558122
and eax, 0x3f
test dl, 8
jne 0x5580cc
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x558122
test dl, 4
jne 0x5580f5
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 0x558122
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x63d130]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx ecx, byte [eax*8 + 0x63bab2]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x63b4f8], eax
mov ebp, dword [esp + 0xb0]
je 0x558185
add edi, ebx
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x10], edx
cmp edi, edx
jb 0x558050
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5574a6.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x5574a6.10
jmp 0x5574c0
mov edx, dword [esi + 0xc]
xor eax, eax
cmp cl, 0x74
sete al
movzx ebx, byte [edx + 3]
movzx edi, byte [edx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [edx + 4]
shl ebx, 8
or ebx, eax
shl edi, 8
movzx eax, byte [edx + 2]
or edi, eax
lea eax, [edx + 5]
imul edi, dword [ebp + 0x24]
add edi, 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
je 0x558298
mov edx, edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
dec ebx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [esi + 0x14]
jge 0x55822a
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x55823b
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x10], edi
mov edx, edi
test ebx, ebx
jg 0x558201
jmp 0x558298
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x558292
xor eax, eax
cmp cl, 0x72
sete al
mov dword [esp + 0x30], 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 eax, dword [esi + 0x98]
cmp eax, dword [esi + 0x14]
jge 0x558288
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x558288
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x558292
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
add ecx, 0xffffff9e
cmp ecx, 7
ja case.default.0x5582b3
movzx eax, byte [ecx + 0x5634dc]
jmp dword [eax*4 + 0x5634d4]
lea eax, [edx + 1]
mov ebx, ecx
mov dword [esi + 0xc], eax
and ebx, 1
movsx eax, byte [ecx + 0x63a9c0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x63a9cc]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x558338
mov dword [esi + 0x8c], closesocket
jmp 0x558338
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x10], 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 0x558334
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x555583
jns 0x558355
cmp dword [esi + 0x90], 0
je 0x555583
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x55839a
mov ebx, 1
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00564050
add esp, 0x14
test eax, eax
js 0x5583b8
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x558367
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x10], 0
je 0x5583e3
mov dword [esi + 0x84], eax
jmp 0x55fa53
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x5583c7
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x78]
jb case.default.0x56145a
jmp 0x556b31
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x55fa9f
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00564050
add esp, 0x14
test eax, eax
js 0x558426
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x5583ef
cmp eax, 0xfffffffe
jne 0x55fa9f
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x55fa9f
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x55fa9f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x55fa9f
jmp 0x556597
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00564050
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x5584bf
cmp ecx, 0xfffffffe
jne 0x558494
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x56145a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x56145a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x56145a
jmp 0x556667
add dword [esi + 8], ecx
jmp 0x555583
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
lea eax, [edx + 0x21]
mov dword [esi + 0xc], eax
mov bl, byte [eax]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x5584ef
movzx eax, byte [ecx + 0x5634ec]
jmp dword [eax*4 + 0x5634e4]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x55850c
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x558514
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x63a9c0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x63a9cc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x5585a9
mov dword [esi + 0x8c], closesocket
jmp 0x5585a9
movzx ecx, byte [edx + 0x22]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 0x23]
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 0x55858f
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x5585a9
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ecx, dword [esp + 0x28]
mov ebx, 1
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x558723
cmp dword [esi + 0x90], ebx
jl 0x55876b
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x5586e3
test bl, 0x20
jne 0x558617
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x5586e3
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x558645
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x5586e3
test bl, 8
jne 0x558672
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]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x5586e3
test bl, 4
jne 0x5586a8
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]
mov dword [esi + 8], eax
mov ecx, ebx
mov eax, ebx
jmp 0x5586e3
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 dword [esi + 8], eax
mov ebx, ecx
mov eax, ecx
cmp eax, 0xff
jbe 0x5586f3
cmp dword [esi + 0x9c], 0x6e
jmp 0x558706
mov eax, dword [esi + 0x28]
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.default.0x56145a
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esi + 0x90]
jle 0x5585d0
jmp 0x558767
cmp dword [esi + 0x90], ebx
jl 0x55876b
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
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.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x558730
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x558797
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x560b67
jmp 0x55fb4c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x55897c
cmp eax, dword [esi + 0x8c]
jge 0x55896c
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55894a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x5588f5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x558815
mov eax, ebx
mov dword [esp + 0x1c], 2
and eax, 0x1f
mov ebx, ecx
shl eax, 6
or ebx, eax
mov eax, 2
mov ecx, ebx
mov edx, ebx
jmp 0x5588fa
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x558844
and ebx, 0xf
mov dword [esp + 0x1c], 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, 3
mov ecx, ebx
mov edx, ebx
jmp 0x5588fa
test bl, 8
jne 0x558878
and ebx, 7
mov dword [esp + 0x1c], 4
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
mov eax, 4
mov ecx, ebx
mov edx, ebx
jmp 0x5588fa
test bl, 4
jne 0x5588b5
and ebx, 3
mov dword [esp + 0x1c], 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]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, 5
mov ecx, ebx
mov edx, ebx
jmp 0x5588fa
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, 6
mov ecx, ebx
mov dword [esp + 0x1c], eax
mov edx, ebx
jmp 0x5588fa
mov eax, 1
cmp edx, 0xff
jbe 0x55890d
cmp dword [esi + 0x9c], 0x6e
je 0x55896c
jmp 0x55892e
mov eax, dword [esp + 0x1c]
and ecx, 7
mov dword [esp + 0x1c], eax
mov edx, 1
mov eax, dword [esi + 0x28]
shr ebx, 3
shl edx, cl
test byte [ebx + eax], dl
je 0x55896c
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x5587c0
jmp 0x55896c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55896c
cmp edi, dword [ebp + 0x84]
jbe 0x55896c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x560bd1
cmp eax, dword [esi + 0x8c]
jge 0x5589e1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x5589bf
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 0x5589e1
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x558984
jmp 0x5589e1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x5589e1
cmp ebx, dword [ebp + 0x84]
jbe 0x5589e1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x55fb8f
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
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
mov bl, byte [edx]
movzx ecx, bl
add ecx, 0xffffff9e
cmp ecx, 0xb
ja case.default.0x558a27
movzx eax, byte [ecx + 0x563500]
jmp dword [eax*4 + 0x5634f8]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x558a44
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x558a4c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x63a9c0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x63a9cc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x558ae1
mov dword [esi + 0x8c], closesocket
jmp 0x558ae1
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
mov dword [esp + 0x20], eax
xor eax, eax
cmp bl, 0x6d
sete al
shl ecx, 8
mov dword [esp + 0x24], 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 0x558ac7
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x558ae1
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov eax, dword [esi + 0x90]
mov ebx, 1
mov ecx, eax
cmp eax, ebx
jl 0x558c20
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x558bf7
cmp edx, 0xc0
jb 0x558bf7
test dl, 0x20
jne 0x558b47
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x558bf4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x558b6e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x558bf4
test dl, 8
jne 0x558b91
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 0x558bf4
test dl, 4
jne 0x558bc0
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 0x558bf4
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
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.00565b20
add esp, 0xc
test eax, eax
je case.default.0x56145a
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x558b00
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x558c3e
mov dword [esi + 0x84], eax
jmp 0x560942
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x558d91
nop word [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558d6f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x558d41
cmp edx, 0xc0
jb 0x558d41
test dl, 0x20
jne 0x558ca1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x558d39
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x558cc3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x558d39
and eax, 0x3f
test dl, 8
jne 0x558ce3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x558d39
test dl, 4
jne 0x558d0c
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 0x558d39
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
push dword [esp + 0x28]
push dword [esi + 0x28]
push edx
call fcn.00565b20
add esp, 0xc
test eax, eax
je 0x558d91
mov eax, dword [esp + 0x10]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x558c60
jmp 0x558d91
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x558d91
cmp edi, dword [ebp + 0x84]
jbe 0x558d91
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x5609b4
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x558f5d
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x558ee8
test bl, 0x20
jne 0x558dfb
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x558ee8
test bl, 0x10
jne 0x558e30
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x558ee8
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x558e71
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 0x558ee8
test bl, 4
jne 0x558eaa
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 0x558ee8
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 edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x558f1d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edx, edi
jb case.default.0x56145a
cmp edx, dword [ebp + 0x84]
jmp 0x556b37
test ecx, ecx
jle 0x558f4f
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.default.0x56145a
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x558f21
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x555583
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x558f99
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x56005a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x562e1a
jmp case.0x56005a.14
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 0x5592b7
jmp case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x558fd5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp edi, dword [ebp + 0x84]
jmp 0x556b37
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x559298
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x55911c
test bl, 0x20
jne 0x55902f
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x55911c
test bl, 0x10
jne 0x559064
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x55911c
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x5590a5
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 0x55911c
test bl, 4
jne 0x5590de
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 0x55911c
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 + 8]
mov edi, dword [esi + 0x80]
movzx ecx, byte [eax]
cmp edi, 0x80
jae 0x55914a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x56145a
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x555583
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x55923d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x559179
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x559238
test cl, 0x10
jne 0x55919a
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 0x559238
test cl, 8
jne 0x5591c7
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 0x559238
test cl, 4
jne 0x5591fd
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 0x559238
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
mov edi, ecx
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edx, dword [esi + 0x80]
cmp edx, ecx
je 0x555583
mov eax, edx
test eax, eax
jns 0x55925d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x63d130]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x559278
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x63f330]
mov eax, dword [eax*8 + 0x63bab4]
add eax, edx
cmp edi, eax
je 0x555583
jmp case.default.0x56145a
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 case.0x56005a.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x555583
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 0x5593d5
mov dword [esp + 0x24], 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 0x55931a
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x559322
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x5593d5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x5593d5
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x5593d5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x5593d5
mov edx, dword [esi + 0xc]
cmp cl, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x2e
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x63a9c0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x63a9cc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x5593d5
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x559829
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 0x55951e
test bl, 0x20
jne 0x559431
mov eax, dword [esi + 0xc]
and ebx, 0x1f
shl ebx, 6
movzx eax, byte [eax + 1]
and eax, 0x3f
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x55951e
test bl, 0x10
jne 0x559466
mov eax, dword [esi + 0xc]
and ebx, 0xf
shl ebx, 6
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
and ecx, 0x3f
or ecx, ebx
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x55951e
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
and edx, 0x3f
and eax, 0x3f
test bl, 8
jne 0x5594a7
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 0x55951e
test bl, 4
jne 0x5594e0
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 0x55951e
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 0x55983a
cmp dword [esi + 0x9c], 0x2e
jb 0x559590
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x55954c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x63d130]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x559567
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x63f330]
mov ecx, dword [eax*8 + 0x63bab4]
add ecx, edx
cmp ecx, edx
je 0x559590
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.005657e0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x559597
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x10], 1
cmp eax, 1
jl 0x5596a4
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 0x55961e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x5595e1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5595e6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5595d0
cmp edi, 0xfffffffc
je 0x559613
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x55961b
cmp edi, 0xfffffffd
je 0x559613
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x55961b
cmp edi, 0xfffffffe
je 0x559613
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x55961b
cmp edi, 0xffffffff
je 0x559613
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x55961b
mov eax, dword [esi + 0x88]
jmp 0x559686
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x5596c2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x5596c2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x559651
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x559656
add ecx, 4
add edx, 4
sub edi, 4
jae 0x559640
cmp edi, 0xfffffffc
je 0x559683
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5596c2
cmp edi, 0xfffffffd
je 0x559683
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5596c2
cmp edi, 0xfffffffe
je 0x559683
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5596c2
cmp edi, 0xffffffff
je 0x559683
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5596c2
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x10]
add eax, ebx
inc edx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], edx
cmp edx, eax
jle 0x5595b0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x5596e4
mov dword [esi + 0x84], eax
jmp 0x560d41
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x56145a
cmp ebx, dword [ebp + 0x84]
jmp 0x556b37
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jge 0x559819
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 0x55976e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x559731
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x559736
add ecx, 4
add edx, 4
sub edi, 4
jae 0x559720
cmp edi, 0xfffffffc
je 0x559763
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x55976b
cmp edi, 0xfffffffd
je 0x559763
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x55976b
cmp edi, 0xfffffffe
je 0x559763
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x55976b
cmp edi, 0xffffffff
je 0x559763
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x55976b
mov eax, dword [esi + 0x88]
jmp 0x5597d6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x5597f2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x5597f2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x5597a1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5597a6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x559790
cmp edi, 0xfffffffc
je 0x5597d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5597f2
cmp edi, 0xfffffffd
je 0x5597d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5597f2
cmp edi, 0xfffffffe
je 0x5597d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5597f2
cmp edi, 0xffffffff
je 0x5597d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5597f2
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x10]
add eax, ebx
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x559700
jmp 0x559819
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x559819
cmp ebx, dword [ebp + 0x78]
jb 0x559819
cmp ebx, dword [ebp + 0x84]
jbe 0x559819
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x560ded
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x55983e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x559938
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, edi
jl 0x5598a4
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fb05
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x559893
cmp dword [esi + 0x94], ecx
jne case.0x56005a.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x559870
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x5598c2
mov dword [esi + 0x84], eax
jmp 0x55fc39
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x559928
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x559906
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x5598f5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x559928
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x5598d8
jmp 0x559928
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x559928
cmp eax, dword [ebp + 0x84]
jbe 0x559928
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x562e1a
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x55fc7c
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x55996f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x55998d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x56145a
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x559945
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x5599a6
mov dword [esi + 0x84], eax
jmp 0x55fd01
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp ebx, dword [ebp + 0x84]
jmp 0x556b37
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x559a06
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5599e4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x559a06
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5599c0
jmp 0x559a06
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x559a06
cmp ecx, dword [ebp + 0x84]
jbe 0x559a06
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x55fd44
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x559cdf
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x559b24
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x559a65
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x559b21
test bl, 0x10
jne 0x559a86
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x559b21
test bl, 8
jne 0x559ab0
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x559b21
test bl, 4
jne 0x559ae6
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 0x559b21
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 ecx, [eax + 1]
mov dword [esi + 8], ecx
mov edi, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x559c65
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x559b70
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x559c69
test dl, 0x10
jne 0x559b9e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x559c69
test dl, 8
jne 0x559bd8
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x559c69
test dl, 4
jne 0x559c1b
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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]
mov dword [esi + 8], eax
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x559c69
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 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
mov ecx, edx
mov edi, edx
mov dword [esp + 0x1c], edx
mov eax, edx
jmp 0x559c69
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x9c], 0x1f
jne 0x559c7f
cmp ebx, eax
jne 0x555583
jmp case.default.0x56145a
cmp ebx, 0x7f
jbe 0x559cbd
mov eax, ebx
test eax, eax
jns 0x559c8d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x63d130]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x559ca8
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x63f330]
mov eax, dword [eax*8 + 0x63bab4]
add eax, ebx
jmp 0x559cca
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x56145a
cmp eax, edi
jne 0x555583
jmp case.default.0x56145a
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x56005a.14
cmp dword [esi + 0x9c], 0x20
jne 0x5592b7
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x56005a.14
add dword [esi + 0xc], 2
jmp 0x555583
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 0x559e64
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 0x559d78
cmp al, 0x4f
je 0x559d78
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x559e64
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x559e64
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x559e64
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x559e64
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x559e64
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 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 0x559e64
mov edx, dword [esi + 0xc]
cmp cl, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx ebx, byte [edx]
add eax, 0x48
sub ebx, eax
lea eax, [edx + 1]
mov ecx, ebx
mov dword [esi + 0xc], eax
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [ecx + 0x63a9c0]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x63a9cc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x559e64
mov dword [esi + 0x8c], closesocket
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x28]
inc edx
mov dword [esi + 0xc], edx
test eax, eax
je 0x559f95
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x559f95
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x559eb6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x559f91
test cl, 0x10
jne 0x559ede
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x559f91
test cl, 8
jne 0x559f12
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x559f91
test cl, 4
jne 0x559f4f
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 4
jmp 0x559f91
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 5
mov eax, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x48
jb 0x55a381
test eax, eax
je 0x559ff5
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x559ff5
mov eax, edx
test eax, eax
jns 0x559fba
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x63d130]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x559fd5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x63f330]
mov eax, dword [eax*8 + 0x63bab4]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x55a018
cmp dword [esp + 0x28], 0
mov edi, 1
mov ecx, dword [esi + 0x80]
mov eax, dword [ebp + 0x3c]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
je 0x55a156
cmp dword [esi + 0x90], 1
jl 0x55a194
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x55a12f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x55a06e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55a12a
test cl, 0x10
jne 0x55a08f
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 0x55a12a
test cl, 8
jne 0x55a0b9
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 0x55a12a
test cl, 4
jne 0x55a0ef
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 0x55a12a
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
mov eax, ecx
cmp dword [esi + 0x80], ecx
je case.default.0x56145a
cmp dword [esi + 0x94], eax
je case.default.0x56145a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x55a030
jmp 0x55a194
cmp dword [esi + 0x90], edi
jl 0x55a194
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x56145a
cmp dword [esi + 0x94], ecx
je case.default.0x56145a
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55a160
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x555583
test ebx, ebx
je 0x55a1c0
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x560f78
jmp 0x55fdee
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x55a317
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x55a307
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55a2e5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x55a2c0
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55a224
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x55a2bc
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55a23f
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x55a2b6
and eax, 0x3f
test dl, 8
jne 0x55a25f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55a2b6
test dl, 4
jne 0x55a288
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 0x55a2b6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp dword [esi + 0x80], edx
je 0x55a307
cmp dword [esi + 0x94], eax
je 0x55a307
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x55a1e4
jmp 0x55a307
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55a307
cmp edi, dword [ebp + 0x84]
jbe 0x55a307
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x560fdc
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x55a371
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55a34f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x55a371
cmp dword [esi + 0x94], ecx
je 0x55a371
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x55a325
jmp 0x55a371
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x55a371
cmp eax, dword [ebp + 0x84]
jbe 0x55a371
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x562e1a
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x55fe31
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x55a4d9
cmp dword [esi + 0x90], edi
jl 0x55a50f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x55a4ba
mov cl, byte [eax]
test bl, 0x20
jne 0x55a3db
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x55a4b2
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x55a3ff
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x55a4b2
test bl, 8
jne 0x55a43a
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x55a4ba
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x55a478
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x55a4ae
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
mov edi, dword [esp + 0x10]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x56145a
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x90]
jle 0x55a3a2
jmp 0x55a50b
cmp dword [esi + 0x90], edi
jl 0x55a50f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x55998d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x56145a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x55a4e1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x55a53b
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x56117f
jmp 0x55feb6
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x55a68e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x55a67e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55a65c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x55a63b
test dl, 0x20
jne 0x55a596
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x55a633
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x55a5b8
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x55a62f
and eax, 0x3f
test dl, 8
jne 0x55a5d8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55a62f
test dl, 4
jne 0x55a601
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 0x55a62f
and edx, 1
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]
mov ecx, dword [esp + 0x10]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp dword [esi + 0x80], edx
je 0x55a67e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x55a560
jmp 0x55a67e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55a67e
cmp edi, dword [ebp + 0x84]
jbe 0x55a67e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x5611de
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x55a6e6
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55a6c4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x55a6e6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x55a6a0
jmp 0x55a6e6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55a6e6
cmp ecx, dword [ebp + 0x84]
jbe 0x55a6e6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x562e1a
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x55fef9
mov eax, dword [esi + 0xc]
mov dword [esp + 0x20], 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 0x55a827
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 + 0x20], edx
mov dword [esi + 0xc], eax
jmp 0x55a827
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x55a827
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x55a827
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x55a827
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], 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 0x55a827
mov ecx, dword [esi + 0xc]
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
add ebx, 0xffffffab
mov dword [esi + 0xc], eax
mov edx, ebx
and ebx, 1
mov dword [esp + 0x20], ebx
movsx eax, byte [edx + 0x63a9c0]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x63a9cc]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x55a827
mov dword [esi + 0x8c], closesocket
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 0x55a849
cmp ecx, 0xf
je 0x55a849
mov dword [esi + 0x60], 0xffffffff
jmp 0x55a86d
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
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x55aa7a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x55b774
cmp eax, 0xa
ja case.0x5613d8.15
jmp dword [eax*4 + 0x56350c]
cmp dword [esi + 0x68], 0
jne case.default.0x56145a
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x55aa7e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55ff65
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x55a8fe
cmp edx, 0xc0
jb 0x55a8fe
test dl, 0x20
jne 0x55a8dc
lea eax, [ecx + 2]
jmp 0x55a8fb
test dl, 0x10
jne 0x55a8e6
lea eax, [ecx + 3]
jmp 0x55a8fb
test dl, 8
jne 0x55a8f0
lea eax, [ecx + 4]
jmp 0x55a8fb
lea eax, [ecx + 5]
test dl, 4
je 0x55a8fb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x55a8b1
jmp 0x55aa7e
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x55aa2a
cmp eax, 0xc0
jb 0x55aa2a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x55a969
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55aa25
test al, 0x10
jne 0x55a989
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x55aa25
test al, 8
jne 0x55a9b5
and eax, 7
shl eax, 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 0x55aa25
test al, 4
jne 0x55a9ea
and eax, 3
shl eax, 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 0x55aa25
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp eax, 9
je 0x55aa5f
cmp eax, 5
je 0x55aa5f
cmp eax, 8
je 0x55aa5f
xor eax, eax
jmp 0x55aa64
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55a920
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x555583
cmp dword [esp + 0x20], 0
je 0x55caeb
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x55cace
cmp ecx, 0xa
ja case.0x5613d8.15
jmp dword [ecx*4 + 0x563538]
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x55abdf
cmp eax, 0xc0
jb 0x55abdf
test al, 0x20
jne 0x55ab09
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55abda
test al, 0x10
jne 0x55ab2f
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x55abda
test al, 8
jne 0x55ab61
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x55abda
test al, 4
movzx eax, byte [edx]
jne 0x55ab9c
and ecx, 3
and eax, 0x3f
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 0x55abda
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55aac0
jmp 0x55aa7a
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
nop dword [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x55ad5f
cmp eax, 0xc0
jb 0x55ad5f
test al, 0x20
jne 0x55ac89
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55ad5a
test al, 0x10
jne 0x55acaf
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x55ad5a
test al, 8
jne 0x55ace1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x55ad5a
test al, 4
movzx eax, byte [edx]
jne 0x55ad1c
and ecx, 3
and eax, 0x3f
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 0x55ad5a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55ac40
jmp 0x55aa7a
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x55aed0
cmp eax, 0xc0
jb 0x55aed0
test al, 0x20
jne 0x55adfa
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55aecb
test al, 0x10
jne 0x55ae20
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x55aecb
test al, 8
jne 0x55ae52
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x55aecb
test al, 4
movzx eax, byte [edx]
jne 0x55ae8d
and ecx, 3
and eax, 0x3f
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 0x55aecb
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55adb1
jmp 0x55aa7a
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
je 0x55b041
cmp eax, 0xc0
jb 0x55b041
test al, 0x20
jne 0x55af6b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55b03c
test al, 0x10
jne 0x55af91
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x55b03c
test al, 8
jne 0x55afc3
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x55b03c
test al, 4
movzx eax, byte [edx]
jne 0x55affe
and ecx, 3
and eax, 0x3f
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 0x55b03c
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x55b078
cmp eax, 3
je 0x55b078
xor eax, eax
jmp 0x55b07d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55af22
jmp 0x55aa7a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x55aa7a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
cmp dword [esp + 0x28], 0
lea edx, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edx
mov eax, ecx
mov dword [esp + 0x1c], ecx
mov edi, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
je 0x55b1da
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x55b1da
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x55b10d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55b1c9
test cl, 0x10
jne 0x55b12e
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 0x55b1c9
test cl, 8
jne 0x55b158
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 0x55b1c9
test cl, 4
jne 0x55b18e
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 0x55b1c9
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
mov edi, ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
mov ebx, ecx
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 0x20
mov edx, ecx
ja 0x55b1fb
cmp eax, 0x20
je case.0x55b2d0.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x55b2d0.8203
jmp dword [eax*4 + 0x563564]
cmp edx, 0x2000
ja 0x55b2a8
cmp edi, 0x2000
je case.0x55b2d0.8193
cmp ecx, 0x1680
ja 0x55b2a0
je case.0x55b2d0.8193
mov eax, ecx
sub eax, 0x85
je case.0x55b2d0.8193
sub eax, 0x1b
je case.0x55b2d0.8193
mov eax, ecx
test eax, eax
jns 0x55b244
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x63d130]
shl eax, 7
and ecx, 0x8000007f
jns 0x55b25e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp dword [eax*4 + 0x63b480], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56145a
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x55b0b0
jmp 0x55aa7a
cmp ecx, 0x180e
jmp 0x55b235
cmp ebx, 0x3000
ja case.0x55b2d0.8203
cmp dword [esp + 0x18], 0x3000
je case.0x55b2d0.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x55b2d0.8203
movzx eax, byte [eax + 0x563580]
jmp dword [eax*4 + 0x563578]
cmp dword [esi + 0x68], 0
jne case.default.0x56145a
jmp 0x55b286
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x55aa7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x55b3ff
cmp eax, 0xc0
jb 0x55b3ff
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x55b33f
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55b3f8
test al, 0x10
jne 0x55b35f
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x55b3f8
test al, 8
jne 0x55b388
and eax, 7
shl eax, 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 0x55b3f8
test al, 4
jne 0x55b3bd
and eax, 3
shl eax, 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 0x55b3f8
and eax, 1
shl eax, 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
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x55b43b
cmp eax, 3
je 0x55b43b
cmp ebx, 0x5f
je 0x55b43b
xor eax, eax
jmp 0x55b440
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56145a
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x55b2f4
jmp 0x55aa7a
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x55b569
cmp edx, 0xc0
jb 0x55b569
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x55b4bd
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x55b564
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x55b4de
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x55b564
test dl, 8
jne 0x55b501
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 0x55b564
test dl, 4
jne 0x55b530
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 0x55b564
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 ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x63b970]
lea eax, [eax*4 + 0x63b970]
jb 0x55b58d
mov ecx, dword [eax]
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x55b5a9
mov ecx, dword [eax]
cmp edx, ecx
jae 0x55b580
cmp dword [esi + 0x68], 0
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55b470
jmp 0x55aa7a
cmp dword [esi + 0x68], 0
jne case.default.0x56145a
jmp 0x55b597
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x55aa7a
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx ecx, byte [eax]
mov dword [esi + 8], edi
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x10], ecx
mov ebx, ecx
je 0x55b71d
mov dword [esp + 0x10], ecx
cmp ecx, 0xc0
jb 0x55b71d
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x55b630
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edi + 1]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x55b721
test cl, 0x10
jne 0x55b65c
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x55b721
test cl, 8
jne 0x55b694
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x55b721
test cl, 4
jne 0x55b6d5
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, edx
mov ebx, edx
mov edi, edx
jmp 0x55b721
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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, edx
mov ebx, edx
mov edi, edx
jmp 0x55b721
mov edi, dword [esp + 0x10]
cmp edx, 0x24
je 0x55b74c
cmp eax, 0x40
je 0x55b74c
cmp ebx, 0x60
je 0x55b74c
cmp edi, 0xa0
jb 0x55b740
cmp ecx, 0xd7ff
jbe 0x55b74c
cmp ecx, 0xe000
jae 0x55b74c
xor eax, eax
jmp 0x55b751
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56145a
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x55b5d0
jmp 0x55aa7a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x55ba6b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x55aa7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x556b23
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x10], edi
je 0x55b89c
mov dword [esp + 0x10], edi
cmp eax, 0xc0
jb 0x55b89c
test al, 0x20
jne 0x55b7dc
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x55b88b
test al, 0x10
jne 0x55b7fc
mov ecx, eax
lea edx, [edi + 2]
movzx eax, byte [edi]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x55b88b
test al, 8
jne 0x55b825
mov ecx, eax
lea edx, [edi + 3]
movzx eax, byte [edi]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x55b88b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x55b858
and eax, 3
lea edx, [edi + 4]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
jmp 0x55b88b
and eax, 1
lea edx, [edi + 5]
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x10], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x63d130]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab2]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x10], eax
jae 0x55ba2b
mov edi, edx
mov dword [esp + 0x10], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x55b9b9
cmp edx, 0xc0
jb 0x55b9b9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55b921
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55b9b5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55b939
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x55b9af
and eax, 0x3f
test dl, 8
jne 0x55b959
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55b9af
test dl, 4
jne 0x55b982
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 0x55b9af
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x1c]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x14], edi
movzx eax, byte [edx + 0x63d130]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx ecx, byte [eax*8 + 0x63bab2]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x63b4f8], eax
mov ebp, dword [esp + 0xb0]
je 0x55ba23
lea edx, [ebx + edi]
mov dword [esp + 0x1c], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x10], eax
cmp edx, eax
jb 0x55b8e0
jmp 0x55ba2b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x55ba51
cmp edx, eax
jb 0x55ba51
cmp ecx, dword [ebp + 0x84]
jbe 0x55ba51
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x560dac
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x55b791
jmp 0x55aa7a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x55c630
cmp eax, 0xf
ja case.0x5613d8.15
jmp dword [eax*4 + 0x5635e0]
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x556b23
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55bad9
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005654b0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x55bacd
mov eax, 1
jmp 0x55bacf
xor eax, eax
test eax, eax
jne case.default.0x56145a
jmp 0x55bb00
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55bafe
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55bafe
cmp edi, 1
je case.default.0x56145a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x56145a
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x55bb36
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x55bb36
test ecx, ecx
jne 0x55bb36
cmp dword [ebp + 0x1c], 2
jne 0x55bb36
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x55bb36
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x560dac
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55bb52
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55bb52
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x55bb41
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55ba97
jmp 0x55aa7a
mov edi, 1
cmp ecx, edi
jl 0x55aa7e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x55fb05
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x55bba8
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55bba8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x55bb90
inc edi
cmp edi, dword [esi + 0x90]
jle 0x55bb74
jmp 0x55aa7e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x56005a.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x55aa7e
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x55aa7e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp ecx, 0xc0
jb 0x55bce7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x55bc22
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x55bcde
test cl, 0x10
jne 0x55bc43
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 2
jmp 0x55bcde
test cl, 8
jne 0x55bc6d
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 3
jmp 0x55bcde
test cl, 4
jne 0x55bca3
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 4
jmp 0x55bcde
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
add edx, 5
mov dword [esi + 8], edx
mov edi, ecx
mov eax, ecx
mov ebx, edx
cmp edi, 0x85
ja 0x55bd1b
cmp eax, 0x85
je case.0x55bd02.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x56145a
jmp dword [ecx*4 + 0x563620]
cmp ebx, dword [ebp + 0x78]
jae case.0x55bd02.10
cmp byte [edx], 0xa
jne case.0x55bd02.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x55bd02.10
sub ecx, 0x2028
je case.0x55bd02.11
sub ecx, 1
jne case.default.0x56145a
cmp dword [ebp + 0x68], 0
jne case.default.0x56145a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x55bbe2
jmp 0x55aa7a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x55aa7e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x55be70
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x55bda7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55be63
test cl, 0x10
jne 0x55bdc8
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 0x55be63
test cl, 8
jne 0x55bdf2
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 0x55be63
test cl, 4
jne 0x55be28
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 0x55be63
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
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x55bedc
cmp ebx, 0x2000
je case.default.0x56145a
cmp ecx, 0xa0
ja 0x55bec2
je case.default.0x56145a
cmp ecx, 9
je case.default.0x56145a
cmp ecx, 0x20
je case.default.0x56145a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x55bd61
jmp 0x55aa7a
cmp edx, 0x1680
je case.default.0x56145a
cmp ecx, 0x180e
je case.default.0x56145a
jmp case.0x55bf01.8203
cmp eax, 0x3000
ja case.0x55bf01.8203
cmp edi, 0x3000
je case.default.0x56145a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x55bf01.8203
movzx eax, byte [ecx + 0x563638]
jmp dword [eax*4 + 0x563630]
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x55aa7e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x55c02f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x55bf66
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55c022
test cl, 0x10
jne 0x55bf87
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 0x55c022
test cl, 8
jne 0x55bfb1
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 0x55c022
test cl, 4
jne 0x55bfe7
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 0x55c022
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
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov eax, ecx
mov edi, ecx
cmp dword [esp + 0x18], 0x2000
mov edx, ecx
ja 0x55c08b
cmp ebx, 0x2000
je case.0x55c0b4.8193
cmp ecx, 0xa0
ja 0x55c075
je case.0x55c0b4.8193
cmp ecx, 9
je case.0x55c0b4.8193
cmp ecx, 0x20
jne case.default.0x56145a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x55bf20
jmp 0x55aa7a
cmp edx, 0x1680
je case.0x55c0b4.8193
cmp ecx, 0x180e
jne case.default.0x56145a
jmp case.0x55c0b4.8193
cmp eax, 0x3000
ja case.default.0x56145a
cmp edi, 0x3000
je case.0x55c0b4.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x56145a
movzx eax, byte [ecx + 0x5636a0]
jmp dword [eax*4 + 0x563698]
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x55c1d3
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x55c110
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x55c1cc
test cl, 0x10
jne 0x55c131
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 0x55c1cc
test cl, 8
jne 0x55c15b
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 0x55c1cc
test cl, 4
jne 0x55c191
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 0x55c1cc
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
mov edi, ecx
mov eax, ecx
cmp eax, 0x85
ja 0x55c1f5
cmp edi, 0x85
je case.default.0x56145a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x55c1ee
jmp dword [ecx*4 + 0x563700]
sub ecx, 0x2028
je case.default.0x56145a
sub ecx, 1
je case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55c0d0
jmp 0x55aa7a
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x55c320
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x55c272
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x55c319
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x55c293
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x55c319
test dl, 8
jne 0x55c2b6
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 0x55c319
test dl, 4
jne 0x55c2e5
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 0x55c319
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 ecx, edx
mov eax, edx
cmp eax, 0x85
ja 0x55c342
cmp ecx, 0x85
je case.0x55c33b.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56145a
jmp dword [edx*4 + 0x563710]
sub edx, 0x2028
je case.0x55c33b.10
sub edx, 1
jne case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55c230
jmp 0x55aa7a
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x556b95
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x55c45e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x55c3b2
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x55c459
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x55c3d3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x55c459
test dl, 8
jne 0x55c3f6
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 0x55c459
test dl, 4
jne 0x55c425
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 0x55c459
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, edx
cmp eax, 0x80
jae 0x55c472
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x56145a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55c372
jmp 0x55aa7a
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55ff65
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x56005a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c492
jmp 0x55aa7e
mov edi, 1
cmp ecx, edi
jl 0x55aa7e
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x55ff65
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x55c503
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x56005a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x55c528
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55c528
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x55c510
inc edi
cmp edi, dword [esi + 0x90]
jle 0x55c4e0
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55ff65
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x56005a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c544
jmp 0x55aa7e
mov edi, 1
cmp ecx, edi
jl 0x55aa7e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x55ff65
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x55c5b3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x56005a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x55c5d8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55c5d8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x55c5c0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x55c590
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55ff65
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x56005a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c5f4
jmp 0x55aa7e
cmp eax, 0xf
ja case.0x5613d8.15
jmp dword [eax*4 + 0x563720]
mov ebx, 1
cmp ecx, ebx
jl 0x55aa7a
nop dword [eax]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x556cf0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55c690
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.005654b0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x55c684
mov eax, 1
jmp 0x55c686
xor eax, eax
test eax, eax
jne case.default.0x56145a
jmp 0x55c6b7
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x55c6b7
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x55c6b7
cmp edi, 1
je case.default.0x56145a
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x56145a
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x55c6ee
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x55c6ee
cmp dword [ebp + 0x18], 0
jne 0x55c6ee
cmp dword [ebp + 0x1c], 2
jne 0x55c6ee
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x55c6ee
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x560dac
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x55c650
jmp 0x55aa7a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x55bbc6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
mov edx, 1
cmp ecx, edx
jl 0x55aa7e
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55ff65
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x56005a.14
movzx eax, byte [eax + 0x563770]
jmp dword [eax*4 + 0x563760]
cmp ecx, dword [ebp + 0x78]
jae case.0x55c768.10
cmp byte [ecx], 0xa
jne case.0x55c768.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x55c768.10
cmp dword [ebp + 0x68], 0
jne case.0x56005a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x55c740
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edx, 1
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fb05
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x56005a.14
cmp ecx, 0x20
je case.0x56005a.14
cmp ecx, 0xa0
je case.0x56005a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x55c7b0
jmp 0x55aa7e
mov edx, 1
cmp ecx, edx
jl 0x55aa7e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fb05
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x55c829
cmp ecx, 0x20
je 0x55c829
cmp ecx, 0xa0
jne case.0x56005a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x55c800
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edx, 1
mov edi, edx
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fb05
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x55c876.11
movzx eax, byte [eax + 0x5637f4]
mov edx, edi
jmp dword [eax*4 + 0x5637ec]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x55c850
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edx, 1
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fb05
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x56005a.14
movzx eax, byte [eax + 0x563878]
jmp dword [eax*4 + 0x563870]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x55c8a0
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55c713
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x56005a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c8f0
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55c713
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x56005a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c930
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55c713
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x56005a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c970
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55c713
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x56005a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c9b0
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55c713
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x56005a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55c9f0
jmp 0x55aa7e
cmp ecx, 1
jl 0x55aa7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55c713
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x56005a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x55ca30
jmp 0x55aa7e
mov dword [esi + 0x84], eax
jmp 0x561846
mov dword [esi + 0x84], eax
jmp 0x561a14
mov dword [esi + 0x84], eax
jmp 0x561bda
mov dword [esi + 0x84], eax
jmp 0x561d98
mov dword [esi + 0x84], eax
jmp 0x561f56
mov dword [esi + 0x84], eax
jmp 0x56273d
mov dword [esi + 0x84], eax
jmp 0x562b57
mov dword [esi + 0x84], eax
jmp 0x562d95
mov dword [esi + 0x84], eax
jmp 0x562f76
mov dword [esi + 0x84], eax
jmp 0x562920
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x56228b
test ebx, ebx
jne 0x5614cb
jmp 0x560164
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x55da53
cmp eax, 0xa
ja case.0x5613d8.15
jmp dword [eax*4 + 0x5638f4]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x55cb82
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55cb92
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x55cb6e
cmp ecx, 0xc0
jb 0x55cb6e
test cl, 0x20
jne 0x55cb48
mov eax, 2
jmp 0x55cb6e
test cl, 0x10
jne 0x55cb54
mov eax, 3
jmp 0x55cb6e
test cl, 8
jne 0x55cb60
mov eax, 4
jmp 0x55cb6e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x55cb82
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55cb20
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x5622ee
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55cb82
cmp edx, dword [ebp + 0x84]
jbe 0x55cb82
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x55cb82
jmp 0x562e1a
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop word [eax + eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x55cd27
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x55ccc4
cmp eax, 0xc0
jb 0x55ccc4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x55cc19
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x55ccc0
test al, 0x10
jne 0x55cc33
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x55ccba
test al, 8
jne 0x55cc56
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x55ccba
test al, 4
jne 0x55cc85
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x55ccba
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp eax, 9
je 0x55ccf9
cmp eax, 5
je 0x55ccf9
cmp eax, 8
je 0x55ccf9
xor eax, eax
jmp 0x55ccfe
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x55cb82
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55cbd0
jmp 0x55cb82
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55cb82
cmp edx, dword [ebp + 0x84]
jbe 0x55cb82
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x55cb82
jmp 0x556597
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55cebe
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x55ce64
cmp eax, 0xc0
jb 0x55ce64
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x55cdb9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x55ce60
test al, 0x10
jne 0x55cdd3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x55ce5a
test al, 8
jne 0x55cdf6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x55ce5a
test al, 4
jne 0x55ce25
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x55ce5a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x55cb82
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55cd70
jmp 0x55cb82
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55cb82
cmp edx, dword [ebp + 0x84]
jbe 0x55cb82
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x55cb82
jmp 0x556597
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55cebe
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x55cff3
cmp eax, 0xc0
jb 0x55cff3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x55cf48
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x55cfef
test al, 0x10
jne 0x55cf62
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x55cfe9
test al, 8
jne 0x55cf85
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x55cfe9
test al, 4
jne 0x55cfb4
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x55cfe9
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x55cb82
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55cf03
jmp 0x55cb82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55cebe
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x55d154
cmp eax, 0xc0
jb 0x55d154
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x55d0a9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x55d150
test al, 0x10
jne 0x55d0c3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x55d14a
test al, 8
jne 0x55d0e6
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x55d14a
test al, 4
jne 0x55d115
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x55d14a
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x55cb82
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55d060
jmp 0x55cb82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop dword [eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x55cd27
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x55d2b4
cmp eax, 0xc0
jb 0x55d2b4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x55d209
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x55d2b0
test al, 0x10
jne 0x55d223
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x55d2aa
test al, 8
jne 0x55d246
and eax, 7
mov ebx, 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x55d2aa
test al, 4
jne 0x55d275
and eax, 3
mov ebx, 5
shl eax, 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]
jmp 0x55d2aa
and eax, 1
mov ebx, 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x55d2eb
cmp eax, 3
je 0x55d2eb
xor eax, eax
jmp 0x55d2f0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x55cb82
lea eax, [ebx + edx]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55d1c0
jmp 0x55cb82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x55d559
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
je 0x55d449
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x55d449
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55d395
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x55d439
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55d3b3
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x55d433
and eax, 0x3f
test dl, 8
jne 0x55d3d6
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55d433
test dl, 4
jne 0x55d402
and edx, 3
mov dword [esp + 0x18], 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 0x55d433
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x1c], edx
mov ebx, edx
cmp dword [esp + 0x10], 0x20
ja 0x55d468
cmp eax, 0x20
je case.0x55d546.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x55d546.8203
jmp dword [eax*4 + 0x563920]
cmp edx, 0x2000
ja 0x55d51e
cmp ecx, 0x2000
je case.0x55d546.8193
cmp edx, 0x1680
ja 0x55d516
je case.0x55d546.8193
mov eax, edx
sub eax, 0x85
je case.0x55d546.8193
sub eax, 0x1b
je case.0x55d546.8193
mov eax, edx
test eax, eax
jns 0x55d4b1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x63d130]
shl eax, 7
and edx, 0x8000007f
jns 0x55d4cb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp dword [eax*4 + 0x63b480], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x55cb82
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55d330
jmp 0x55cb82
cmp edx, 0x180e
jmp 0x55d4a2
cmp ebx, 0x3000
ja case.0x55d546.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x55d546.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x55d546.8203
movzx eax, byte [eax + 0x56393c]
jmp dword [eax*4 + 0x563934]
cmp dword [esi + 0x68], 0
jne 0x55cb82
jmp 0x55d4f3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55cb82
cmp edi, dword [ebp + 0x84]
jmp 0x55ced2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop dword [eax + eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x55cebe
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x55d69a
cmp eax, 0xc0
jb 0x55d69a
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x55d5e1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x55d694
test al, 0x10
jne 0x55d5fe
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x55d68e
test al, 8
jne 0x55d624
and eax, 7
mov dword [esp + 0x18], 4
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x55d68e
test al, 4
jne 0x55d656
and eax, 3
mov dword [esp + 0x18], 5
shl eax, 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]
jmp 0x55d68e
and eax, 1
mov dword [esp + 0x18], 6
shl eax, 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
movzx eax, byte [edx + 5]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x55d6d6
cmp eax, 3
je 0x55d6d6
cmp ebx, 0x5f
je 0x55d6d6
xor eax, eax
jmp 0x55d6db
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x55cb82
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55d590
jmp 0x55cb82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
nop dword [eax]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x55d863
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x55d808
cmp edx, 0xc0
jb 0x55d808
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55d76d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55d804
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55d788
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x55d7fe
and eax, 0x3f
test dl, 8
jne 0x55d7a8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55d7fe
test dl, 4
jne 0x55d7d1
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 0x55d7fe
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x63b970]
lea eax, [eax*4 + 0x63b970]
jb 0x55d82d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x55d857
mov ecx, dword [eax]
cmp edx, ecx
jae 0x55d820
cmp dword [esi + 0x68], 0
je 0x55cb82
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55d720
jmp 0x55cb82
cmp dword [esi + 0x68], 0
jne 0x55cb82
jmp 0x55d837
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55cb82
cmp edi, dword [ebp + 0x84]
jmp 0x55cd3b
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55cb82
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x55da2d
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
je 0x55d9cf
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x55d9cf
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55d8fb
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x55d9cf
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x55d92b
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x55d9cf
test dl, 8
jne 0x55d960
and edx, 7
mov dword [esp + 0x18], 4
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
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
jmp 0x55d9cf
test dl, 4
jne 0x55d98c
and edx, 3
mov dword [esp + 0x18], 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 0x55d9bd
and edx, 1
mov dword [esp + 0x18], 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, edx
mov dword [esp + 0x10], eax
mov ebx, eax
mov ecx, eax
cmp eax, 0x24
je 0x55d9fc
cmp ecx, 0x40
je 0x55d9fc
cmp ebx, 0x60
je 0x55d9fc
cmp dword [esp + 0x10], 0xa0
jb 0x55d9f0
cmp edx, 0xd7ff
jbe 0x55d9fc
cmp edx, 0xe000
jae 0x55d9fc
xor eax, eax
jmp 0x55da01
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x55cb82
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55d892
jmp 0x55cb82
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55cb82
cmp edi, dword [ebp + 0x84]
jbe 0x55cb82
mov dword [ebp + 0x64], 1
jmp 0x55cd44
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x55ddc9
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55dd7a
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55dd58
cmp dword [esp + 0x28], 0
lea edi, [ecx + 1]
movzx eax, byte [ecx]
mov edx, edi
mov dword [esi + 8], edi
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x18], edi
je 0x55db8a
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x55db8a
test al, 0x20
jne 0x55dacb
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x55db79
test al, 0x10
jne 0x55dae9
movzx eax, byte [edi]
lea edx, [edi + 2]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
jmp 0x55db79
test al, 8
jne 0x55db10
movzx eax, byte [edi]
lea edx, [edi + 3]
and ecx, 7
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
jmp 0x55db79
test al, 4
movzx eax, byte [edi]
jne 0x55db43
and ecx, 3
lea edx, [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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]
jmp 0x55db79
and ecx, 1
lea edx, [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
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
mov dword [esi + 8], edx
mov ebx, ecx
mov dword [esp + 0x18], edx
shr ecx, 7
and ebx, 0x7f
movzx eax, byte [ecx + 0x63d130]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab2]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x55dd1b
mov edi, edx
mov dword [esp + 0x18], eax
nop word [eax + eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x55dca9
cmp edx, 0xc0
jb 0x55dca9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55dc11
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55dca5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55dc29
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x55dc9f
and eax, 0x3f
test dl, 8
jne 0x55dc49
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55dc9f
test dl, 4
jne 0x55dc72
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 0x55dc9f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x10]
and ecx, 0x7f
shr edx, 7
mov dword [esp + 0x1c], edi
movzx eax, byte [edx + 0x63d130]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx ecx, byte [eax*8 + 0x63bab2]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x63b4f8], eax
mov ebp, dword [esp + 0xb0]
je 0x55dd13
lea edx, [ebx + edi]
mov dword [esp + 0x10], ecx
mov dword [esi + 8], edx
mov edi, edx
mov eax, dword [ebp + 0x78]
mov ecx, edx
mov dword [esp + 0x18], eax
cmp edx, eax
jb 0x55dbd0
jmp 0x55dd1b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x55dd41
cmp edx, eax
jb 0x55dd41
cmp ecx, dword [ebp + 0x84]
jbe 0x55dd41
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x560dac
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55da80
jmp 0x55dd7a
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55dd7a
cmp ecx, dword [ebp + 0x84]
jbe 0x55dd7a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x556597
cmp dword [esp + 0x24], 0
jne 0x555583
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55ddba
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x560213
add eax, 0xfffffffa
test ebx, ebx
je 0x55ebdf
cmp eax, 0xf
ja case.0x5613d8.15
jmp dword [eax*4 + 0x56399c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x55ebcf
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x55dec3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55de38
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005654b0
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x55de2c
mov eax, 1
jmp 0x55de2e
xor eax, eax
test eax, eax
jne 0x55ebcf
jmp 0x55de5f
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55de5d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55de5d
cmp edi, 1
je 0x55ebcf
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x55ebcf
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x55de95
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x55de95
test ecx, ecx
jne 0x55de95
cmp dword [ebp + 0x1c], 2
jne 0x55de95
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x55de95
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x560dac
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55deb1
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55deb1
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x55dea0
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x55ddf6
jmp 0x55ebcf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55ebcf
cmp ecx, dword [ebp + 0x84]
jbe 0x55ebcf
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x55ebcf
jmp 0x556597
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x55df48
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x55ebcf
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x55df4e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x55df3a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55df3a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x55df22
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x55df10
jmp 0x55ebcf
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x55ebcf
cmp eax, dword [ebp + 0x84]
jbe 0x55ebcf
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x55ebcf
jmp 0x562e1a
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 0x55dfc9
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55ebcf
cmp edx, dword [ebp + 0x84]
jbe 0x55ebcf
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x55ebcf
jmp 0x562e1a
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x55ebcf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55ebcf
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x55e0ee
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e03e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x55e0e2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55e05c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x55e0dc
and eax, 0x3f
test dl, 8
jne 0x55e07f
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e0dc
test dl, 4
jne 0x55e0ab
and edx, 3
mov dword [esp + 0x18], 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 0x55e0dc
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov dword [esp + 0x10], edx
mov eax, edx
mov ebx, edx
cmp ecx, 0xd
jne 0x55e10a
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x55ebcf
cmp byte [eax], 0xa
jne 0x55e14a
inc eax
jmp 0x55e147
cmp eax, 0xa
je 0x55e141
cmp dword [ebp + 0x68], 0
jne 0x55ebcf
cmp ebx, 0xb
je 0x55e141
cmp dword [esp + 0x10], 0xc
je 0x55e141
cmp edx, 0x85
je 0x55e141
cmp edx, 0x2028
je 0x55e141
cmp edx, 0x2029
jne 0x55ebcf
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55dff0
jmp 0x55ebcf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55ebcf
cmp edi, dword [ebp + 0x84]
jmp 0x55ded7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55ebcf
nop dword [eax]
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x55e29a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e1ea
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x55e28e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55e208
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x55e288
and eax, 0x3f
test dl, 8
jne 0x55e22b
and edx, 7
mov dword [esp + 0x18], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e288
test dl, 4
jne 0x55e257
and edx, 3
mov dword [esp + 0x18], 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 0x55e288
and edx, 1
mov dword [esp + 0x18], 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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp dword [esp + 0x10], 0x2000
ja 0x55e30a
cmp ebx, 0x2000
je case.0x55e32b.8193
cmp edx, 0xa0
ja 0x55e2fa
je case.0x55e32b.8193
cmp edx, 9
je case.0x55e32b.8193
cmp edx, 0x20
je case.0x55e32b.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x55ebcf
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55e1a0
jmp 0x55ebcf
cmp edx, 0x1680
je case.0x55e32b.8193
cmp edx, 0x180e
jmp 0x55e2c2
cmp eax, 0x3000
ja case.0x55e32b.8203
cmp ecx, 0x3000
je case.0x55e32b.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x55e32b.8203
movzx eax, byte [edx + 0x5639e4]
jmp dword [eax*4 + 0x5639dc]
mov ecx, 1
jmp 0x55e2c6
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55ebcf
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x55e491
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x55e42c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e392
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x55e426
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55e3aa
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x55e420
and eax, 0x3f
test dl, 8
jne 0x55e3ca
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e420
test dl, 4
jne 0x55e3f3
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 0x55e420
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
mov ecx, edx
cmp eax, 0x85
ja 0x55e44a
cmp ecx, 0x85
je case.0x55e443.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x55e443
jmp dword [edx*4 + 0x563a44]
sub edx, 0x2028
je case.0x55e443.10
sub edx, 1
je case.0x55e443.10
xor ecx, ecx
jmp 0x55e460
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x55ebcf
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55e350
jmp 0x55ebcf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55ebcf
cmp edi, dword [ebp + 0x84]
jbe 0x55ebcf
mov dword [ebp + 0x64], ebx
jmp 0x55dee4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55ebcf
nop dword [eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x55e5c3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e514
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55e5bd
test dl, 0x10
jne 0x55e52f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x55e5b7
test dl, 8
jne 0x55e553
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e5b7
test dl, 4
jne 0x55e583
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x55e5b7
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x55e5da
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x55ebcf
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55e4d0
jmp 0x55ebcf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x55ebcf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x55e6e9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e650
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x55e6e5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55e668
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x55e6df
and eax, 0x3f
test dl, 8
jne 0x55e688
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e6df
test dl, 4
jne 0x55e6b1
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 0x55e6df
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x55ebcf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x55ebcf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x55e610
jmp 0x55ebcf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55ebcf
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x55e823
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e774
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55e81d
test dl, 0x10
jne 0x55e78f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x55e817
test dl, 8
jne 0x55e7b3
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e817
test dl, 4
jne 0x55e7e3
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x55e817
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x55e83a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x55ebcf
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55e730
jmp 0x55ebcf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x55ebcf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x55e949
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e8b0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x55e945
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55e8c8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x55e93f
and eax, 0x3f
test dl, 8
jne 0x55e8e8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55e93f
test dl, 4
jne 0x55e911
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 0x55e93f
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x55ebcf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x55ebcf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x55e870
jmp 0x55ebcf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x55ebcf
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x55ea83
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55e9d4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55ea7d
test dl, 0x10
jne 0x55e9ef
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x55ea77
test dl, 8
jne 0x55ea13
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55ea77
test dl, 4
jne 0x55ea43
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ebx, 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 0x55ea77
and edx, eax
mov ebx, 6
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, ebx
mov ecx, edx
cmp ecx, 0x100
jae 0x55ea9a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x55ebcf
mov eax, ebx
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x55e990
jmp 0x55ebcf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x55ebcf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x55e164
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x55ebac
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55eb10
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x55eba8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55eb2b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x55eba2
and eax, 0x3f
test dl, 8
jne 0x55eb4b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55eba2
test dl, 4
jne 0x55eb74
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 0x55eba2
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov eax, edx
cmp eax, 0x100
jae 0x55ebcf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x55ebcf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x55ead0
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x561755
cmp eax, 0xf
ja case.0x5613d8.15
jmp dword [eax*4 + 0x563a54]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x55eec0.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x55ecbb
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55ec48
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.005654b0
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x55ec3c
mov eax, 1
jmp 0x55ec3e
xor eax, eax
test eax, eax
jne case.0x55eec0.10
jmp 0x55ec6f
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x55ec6f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x55ec6f
cmp edi, 1
je case.0x55eec0.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x55eec0.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x55eca6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x55eca6
cmp dword [ebp + 0x18], 0
jne 0x55eca6
cmp dword [ebp + 0x1c], 2
jne 0x55eca6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x55eca6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x560dac
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x55ec01
jmp case.0x55eec0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x55eec0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x55eec0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x55eec0.10
jmp 0x556597
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 0x55ed36
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x55eec0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x55eec0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x55eec0.10
jmp 0x562e1a
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x55eec0.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x55eec0.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55edb2
mov al, byte [ecx]
cmp al, 0xd
jne 0x55ed78
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x55eec0.10
cmp byte [eax], 0xa
jne 0x55eda4
inc eax
jmp 0x55eda1
cmp al, 0xa
je 0x55ed9e
cmp dword [ebp + 0x68], 0
jne case.0x55eec0.10
cmp al, 0xb
je 0x55ed9e
cmp al, 0xc
je 0x55ed9e
cmp al, 0x85
jne case.0x55eec0.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x55ed53
jmp case.0x55eec0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x55eec0.10
cmp ecx, dword [ebp + 0x84]
jmp 0x55ed1b
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x55eec0.10
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55ee17
mov cl, byte [eax]
cmp cl, 9
je case.0x55eec0.10
cmp cl, 0x20
je case.0x55eec0.10
cmp cl, 0xa0
je case.0x55eec0.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x55ede0
jmp case.0x55eec0.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x55eec0.10
cmp eax, dword [ebp + 0x84]
jbe case.0x55eec0.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x55eec0.10
jmp 0x562e1a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x55eec0.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55ee17
mov cl, byte [eax]
cmp cl, 9
je 0x55ee79
cmp cl, 0x20
je 0x55ee79
cmp cl, 0xa0
jne case.0x55eec0.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x55ee58
jmp case.0x55eec0.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x55eec0.10
mov edi, ecx
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55ed07
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x55eec0.11
movzx eax, byte [eax + 0x563a9c]
mov ecx, edi
jmp dword [eax*4 + 0x563a94]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x55eea0
jmp case.0x55eec0.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x55eec0.10
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55edb2
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x55eec0.10
movzx eax, byte [eax + 0x563b20]
jmp dword [eax*4 + 0x563b18]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x55eef0
jmp case.0x55eec0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x55eec0.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55ed07
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x55eec0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55ef40
jmp case.0x55eec0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x55eec0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55ed07
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x55eec0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55ef82
jmp case.0x55eec0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x55eec0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55ed07
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x55eec0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55efc4
jmp case.0x55eec0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x55eec0.10
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55ed07
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x55eec0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55f010
jmp case.0x55eec0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x55eec0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55ed07
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x55eec0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55f052
jmp case.0x55eec0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x55eec0.10
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x55f0b5
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x55eec0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x55f090
jmp case.0x55eec0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x55eec0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x55eec0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x562e1a
cmp dword [esp + 0x24], 0
jne 0x555583
jmp 0x5601d4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630ff
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x55f114
jmp dword [eax*4 + 0x563b9c]
cmp edi, 0xfffffc1b
je 0x55f1fe
cmp edi, 0xfffffc20
jne 0x55f169
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x55f62c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x55f162
cmp byte [ecx], 0x77
jne case.default.0x55f62c
xor edi, edi
jmp 0x55f171
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x55f1fe
cmp dword [esi + 0x9c], 0x88
jb 0x55f1bd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x55f1e6
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
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 eax, dword [esi]
mov esi, eax
test eax, eax
jne 0x55f104
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x55f31a
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x55f374
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x55f290
cmp byte [ecx], 0x77
jne 0x55f374
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne case.0x56005a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x55f385
cmp eax, 0x81
je 0x55f385
cmp dword [ebp + 0x6c], 0
jne 0x55f38f
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 0x55f38f
movzx eax, byte [edx]
movzx eax, byte [eax + 0x63b368]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x555510
test edi, edi
je 0x55f290
cmp edi, 0xfffffc1b
jne 0x55f374
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x81
je 0x55f369
cmp byte [eax], 0x77
mov ebx, eax
jne 0x55f358
mov edx, eax
nop dword [eax + eax]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov ebx, eax
mov edx, eax
cmp byte [eax], 0x77
je 0x55f340
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, ebx
sub eax, ecx
xor ecx, ecx
cmp dword [ebp + 0xb4], eax
cmove edi, ecx
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x55f244
jmp 0x55f100
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 0x55f3cd
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
cmp edi, 1
jne 0x55f464
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x55f400
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x55f417
inc edx
mov dword [esi + 0xc], edx
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
jne 0x55f449
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 0x55f432
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x63b368]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x555a2c
test edi, edi
je 0x555a2c
cmp edi, 0xfffffc20
je 0x555a2c
jmp case.default.0x55f62c
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x55f49c
cmp byte [eax - 3], 0x77
jne 0x555583
cmp dword [esi + 0x9c], 0x8c
jne 0x555510
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f4df
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x560213
cmp edi, 1
je 0x55f5a0
cmp edi, 0xfffffc19
je 0x55f5a0
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x55f546
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x55f62c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x55f54e
cmp byte [ecx], 0x77
jmp 0x55f548
test edi, edi
jne case.default.0x55f62c
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
jne 0x55f5a6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f591
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x55f6e5
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x56005a.14
cmp dword [esi + 0x58], 0
jne 0x55f682
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x55f5c0
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x555583
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x55f60f
je case.0x55f62c.995
cmp edi, 0xfffffc19
jmp 0x55f71c
test edi, edi
jg 0x55f717
je 0x55f698
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x55f62c
jmp dword [eax*4 + 0x563ca8]
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x55f62c.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x55f698
cmp byte [ecx], 0x77
je 0x55f698
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 0x55f661
cmp dword [esi + 0x58], 0
je 0x55f927
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563052
mov edi, 1
jmp 0x55f100
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
jne 0x55f678
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f6db
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x555500
mov eax, edi
sub eax, 1
je case.0x56005a.14
jmp case.default.0x55f62c
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.00541db0
mov eax, dword [esi + 0x4c]
lea ecx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ecx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x562fa9
cmp edi, 0xfffffc19
je 0x562fa9
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x55f790
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x56005a.14
push ecx
call dword [0x6b6364]
add esp, 4
jmp case.0x56005a.14
test edi, edi
je 0x55f7b4
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x55f62c
push ecx
call dword [0x6b6364]
add esp, 4
jmp case.default.0x55f62c
mov dword [ebp + 0xa4], ecx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x55f859
cmp dword [esi + 0x58], 0
je 0x55f7ec
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x55f815
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 + 0x63b368]
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 0x555500
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x55f770
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x55f8b5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f89d
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], edi
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 0x56021c
cmp al, 0x88
jb 0x562fd8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f8e6
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
test edi, edi
jne case.default.0x55f62c
mov edx, dword [esi + 0x2c]
nop dword [eax]
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 0x55f910
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x555583
test edi, edi
je case.0x5574a6.10
jmp case.default.0x55f62c
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563062
mov edi, 0xfffffc1b
jmp 0x55f104
cmp edi, 0xfffffc1b
jne 0x55f980
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x55f982
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x560806
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f9bd
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00564050
add esp, 0x14
test eax, eax
jns 0x55fa48
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x55fa26
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edi, dword [ebp + 0x78]
jb case.0x56005a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x558f7e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fa7c
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 8]
sub eax, dword [esi + 0x88]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x56145a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fad4
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x55fb24
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56005a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56005a.14
jmp 0x55654f
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 case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fb75
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x56145a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fbc4
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x55fc14
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56005a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56005a.14
jmp 0x55654f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x55fc2f
cmp dword [esi + 0x94], ecx
jne case.0x56005a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fc62
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x560213
dec dword [esi + 8]
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fcb1
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558f6a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fd2a
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x560213
dec dword [esi + 8]
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fd79
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x55fdc9
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56005a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56005a.14
jmp 0x55654f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x56005a.14
cmp dword [esi + 0x94], ecx
je case.0x56005a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fe17
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fe66
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558f6a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55fedf
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55ff2e
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x55ff7e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x558f7e
cmp dword [esi + 0x7c], 0xc
jne 0x55ffd9
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55ffac
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005654b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x55ffd9
jmp case.0x56005a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55ffd9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55ffd9
cmp edi, 1
je case.0x56005a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x56005a.14
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.0x5613d8.15
jmp dword [eax*4 + 0x563cb8]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x55fff4.13
cmp edx, dword [ebp + 0x78]
jb case.0x55fff4.13
cmp dword [ebp + 0x18], 0
jne case.0x55fff4.13
cmp dword [ebp + 0x1c], 2
jne case.0x55fff4.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x55fff4.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x55fff4.13
jmp 0x562e1a
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x56005a.14
movzx eax, byte [ecx + 0x563d08]
jmp dword [eax*4 + 0x563cf8]
cmp edx, dword [ebp + 0x78]
jae case.0x55fff4.13
cmp byte [edx], 0xa
jne case.0x55fff4.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x55fff4.13
cmp dword [ebp + 0x68], 0
je case.0x55fff4.13
jmp case.0x56005a.14
cmp ecx, 9
je case.0x56005a.14
cmp ecx, 0x20
je case.0x56005a.14
cmp ecx, 0xa0
jne case.0x55fff4.13
jmp case.0x56005a.14
cmp ecx, 9
je case.0x55fff4.13
cmp ecx, 0x20
je case.0x55fff4.13
cmp ecx, 0xa0
je case.0x55fff4.13
jmp case.0x56005a.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x55fff4.13
movzx eax, byte [ecx + 0x563d8c]
jmp dword [eax*4 + 0x563d84]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x56005a.14
movzx eax, byte [ecx + 0x563e10]
jmp dword [eax*4 + 0x563e08]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x55fff4.13
jmp case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x55fff4.13
jmp case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x55fff4.13
jmp case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x55fff4.13
jmp case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x55fff4.13
jmp case.0x56005a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56018d
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x5601d4
cmp eax, dword [esi + 0x30]
jbe 0x5601d4
cmp byte [eax], 0xa
jne 0x5601d4
dec eax
cmp byte [eax], 0xd
jne 0x5601d4
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x560209
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x555500
cmp edi, 0xfffffc1a
jne 0x5602a1
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 0x560299
mov edx, dword [esi + 0xc]
nop word [eax + eax]
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 0x560280
jmp 0x560301
mov dword [esi + 8], eax
jmp 0x560326
cmp edi, 0xfffffc20
jne 0x5602db
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x55f62c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x5602e3
cmp byte [ecx], 0x77
jmp 0x5602dd
test edi, edi
jne case.default.0x55f62c
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 0x56031a
cmp dword [esi + 0x5c], 0
jne 0x55f927
cmp dword [esi + 0x54], 0
jne 0x55f927
jmp case.0x56005a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x560340
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x560369
push 0x134
call dword [0x6b6368]
mov edx, eax
add esp, 4
test edx, edx
je 0x562db8
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 0x55f828
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x560497
jmp 0x55f23c
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x55f23c
test eax, eax
je 0x563072
mov edi, 0xfffffc1c
jmp 0x55f104
test edi, edi
je 0x560441
jmp case.default.0x55f62c
cmp edi, 1
je 0x5603d2
cmp edi, 0xfffffc19
jne 0x5603f0
cmp dword [ebp + 0xac], 0
jne 0x5603f0
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x55f62c
cmp edi, 0xfffffc1f
jne case.default.0x55f62c
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x560434
test dl, dl
je 0x56042d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x560434
add eax, 2
add ecx, 2
test dl, dl
jne 0x560405
xor eax, eax
jmp 0x560439
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x55f62c
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x563082
mov edi, 0xfffffc1e
jmp 0x55f104
cmp edi, 1
je 0x560472
cmp edi, 0xfffffc19
jne 0x56048b
cmp dword [ebp + 0xac], 0
jne 0x56048b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x55f23c
test eax, eax
je 0x563092
mov edi, 0xfffffc1d
jmp 0x55f104
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630a2
mov edi, 0xfffffc1f
jmp 0x55f104
cmp edi, 1
je 0x5604e5
cmp edi, 0xfffffc19
jne case.0x55f114.54
cmp dword [ebp + 0xac], 0
jne case.0x55f114.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630b2
mov edi, 0xfffffc20
jmp 0x55f104
cmp edi, 0xfffffc1a
jne 0x560587
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 0x56057f
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 0x560563
jmp 0x5605f3
mov dword [esi + 8], eax
jmp 0x556122
cmp edi, 0xfffffc20
jne 0x5605c1
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x55f62c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x5605c9
cmp byte [ecx], 0x77
jmp 0x5605c3
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [esi + 0xc], eax
cmp byte [eax], 0x77
je 0x556122
cmp dword [esi + 0x5c], 0
jne 0x560633
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 0x555bdf
cmp dword [esi + 0x5c], 0
jne 0x555bdf
jmp case.0x56005a.14
cmp edi, 1
jne 0x5606fd
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x560670
cmp al, 0x77
jne case.0x56005a.14
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], eax
cmp byte [edx], 0x77
je 0x560670
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov edi, dword [esi + 0xc]
mov al, byte [edi]
cmp al, 0x78
je 0x557ce2
cmp ecx, dword [esi + 0x38]
je 0x557ce2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x5607ad
test ecx, ecx
jne 0x5606e2
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
cmp edi, 0xfffffc20
jne 0x560737
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.default.0x55f62c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56073f
cmp byte [ecx], 0x77
jmp 0x560739
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x56065b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x560792
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
test ecx, ecx
jne 0x5607d3
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
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 0x56021c
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x555510
test edi, edi
jne case.default.0x55f62c
add dword [esi + 0xc], 3
jmp 0x555510
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558f6a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x560927
cmp edx, 0xc0
jb 0x560927
test dl, 0x20
jne 0x56086f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x560924
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x56089a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x560924
test dl, 8
jne 0x5608c1
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 0x560924
test dl, 4
jne 0x5608f0
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 0x560924
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
push ebx
push dword [esi + 0x28]
push edx
call fcn.00565b20
add esp, 0xc
test eax, eax
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56096b
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x56005a.14
test ebx, ebx
je 0x5609b4
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x5609b4
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x5609a8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5609dd
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x560a27
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x558f7e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x560b23
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x560a5d
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x560b1c
test bl, 0x10
jne 0x560a7e
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 2]
jmp 0x560b1c
test bl, 8
jne 0x560aab
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 3]
jmp 0x560b1c
test bl, 4
jne 0x560ae1
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 0x560b1c
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 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 + 8], eax
mov edi, ebx
mov eax, ebx
cmp eax, 0xff
jbe 0x560b4a
cmp dword [esi + 0x9c], 0x6e
jne 0x560b61
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630e2
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x55f104
mov edx, dword [esi + 0x28]
and edi, 7
shr ebx, 3
mov eax, 1
mov ecx, edi
shl eax, cl
test byte [ebx + edx], al
jmp 0x560b31
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x560b90
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x56145a
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x560bd1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x560bc5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x560bfa
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
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 0x560cb5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x560c65
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x560c6a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x560c50
cmp edi, 0xfffffffc
je 0x560ca7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x560cb2
cmp edi, 0xfffffffd
je 0x560ca7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x560cb2
cmp edi, 0xfffffffe
je 0x560ca7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x560cb2
cmp edi, 0xffffffff
je 0x560ca7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x560cb2
mov eax, dword [esi + 0x88]
jmp 0x560d36
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x560d79
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x560d79
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x560cf5
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x560cfa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x560ce0
cmp edi, 0xfffffffc
je 0x560d33
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x560d79
cmp edi, 0xfffffffd
je 0x560d33
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x560d79
cmp edi, 0xfffffffe
je 0x560d33
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x560d79
cmp edi, 0xffffffff
je 0x560d33
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x560d79
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 0x560d6a
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x560213
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56145a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x56145a
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x56145a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x56145a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x55f104
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x560ded
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x560de1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x560e22
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558f6a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x560f5a
test dl, 0x20
jne 0x560e90
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x560f5a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x560ec0
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x560f5a
test dl, 8
jne 0x560eeb
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]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x560f5a
test dl, 4
jne 0x560f1f
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]
mov dword [esi + 8], eax
mov eax, edx
jmp 0x560f5a
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 dword [esi + 8], eax
mov edx, ecx
mov eax, ecx
cmp dword [esi + 0x80], edx
je case.0x56005a.14
cmp dword [esi + 0x94], eax
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x560fa1
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x560fdc
nop dword [eax + eax]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x560fd0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x561011
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x561061
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56005a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56005a.14
jmp 0x55654f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x56116d
mov cl, byte [eax]
test bl, 0x20
jne 0x561092
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x561165
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x5610b6
add eax, 2
movzx ecx, cl
and ebx, 0xf
mov dword [esi + 8], eax
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, dl
jmp 0x561165
test bl, 8
jne 0x5610f1
mov bl, byte [eax + 2]
add eax, 3
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
movzx ecx, cl
and eax, 7
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx ebx, bl
shl ecx, 6
and ebx, 0x3f
movzx eax, dl
and eax, 0x3f
or ecx, eax
shl ecx, 6
or ebx, ecx
jmp 0x56116d
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x56112f
add eax, 4
and ebx, 0x3f
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 3
shl eax, 6
or edi, eax
movzx eax, dl
shl edi, 6
and eax, 0x3f
or edi, eax
movzx eax, ch
shl edi, 6
or ebx, edi
jmp 0x561165
mov dh, byte [eax + 4]
and ebx, 0x3f
add eax, 5
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
and eax, 1
shl eax, 6
or edi, eax
movzx eax, dl
and eax, 0x3f
shl edi, 6
or edi, eax
movzx eax, ch
shl edi, 6
and eax, 0x3f
or ebx, edi
shl ebx, 6
or ebx, eax
movzx eax, dh
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [esi + 0x80], ebx
je case.default.0x56145a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5611a8
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5611de
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x5611d2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x561213
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x56125f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x558f7e
cmp dword [esi + 0x7c], 0xc
jne 0x5612b2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x561289
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.005654b0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x5612b2
jmp case.0x56005a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x5612b2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x5612b2
cmp edi, 1
je case.0x56005a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x56005a.14
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edi
mov ebx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x5613c9
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x561303
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x5613ae
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x561328
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x5613ae
test dl, 8
jne 0x56134b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 3
jmp 0x5613ae
test dl, 4
jne 0x56137a
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 4
jmp 0x5613ae
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add edi, 5
mov ecx, edx
mov dword [esi + 8], edi
mov dword [esp + 0x14], edi
mov ebx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x5613d8.15
jmp dword [eax*4 + 0x563e8c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5613d8.13
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x78]
jb case.0x5613d8.13
cmp dword [ebp + 0x18], 0
jne case.0x5613d8.13
cmp dword [ebp + 0x1c], 2
jne case.0x5613d8.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x5613d8.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x5613d8.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x55f104
cmp edx, 0x85
ja 0x561473
je case.0x56145a.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56145a
jmp dword [edx*4 + 0x563ecc]
cmp edi, dword [ebp + 0x78]
jae case.0x5613d8.13
cmp byte [edi], 0xa
jne case.0x5613d8.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x5613d8.13
sub edx, 0x2028
je case.0x56145a.11
sub edx, 1
jne case.default.0x56145a
cmp dword [ebp + 0x68], 0
je case.0x5613d8.13
jmp case.default.0x56145a
cmp edx, 0x2000
ja 0x561517
je case.default.0x56145a
cmp edx, 0xa0
ja 0x561503
je case.default.0x56145a
cmp edx, 9
je case.default.0x56145a
cmp edx, 0x20
je case.default.0x56145a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5614f4
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x560213
cmp edx, 0x1680
je case.default.0x56145a
cmp edx, 0x180e
jmp 0x5614bf
cmp edx, 0x3000
ja case.0x5613d8.13
je case.default.0x56145a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x5613d8.13
movzx eax, byte [edx + 0x563ee4]
jmp dword [eax*4 + 0x563edc]
cmp edx, 0x2000
ja 0x56158e
je case.0x5613d8.13
cmp edx, 0xa0
ja 0x561571
je case.0x5613d8.13
cmp edx, 9
je case.0x5613d8.13
cmp edx, 0x20
je case.0x5613d8.13
jmp case.default.0x56145a
cmp edx, 0x1680
je case.0x5613d8.13
cmp edx, 0x180e
je case.0x5613d8.13
jmp case.default.0x56145a
cmp edx, 0x3000
ja case.default.0x56145a
je case.0x5613d8.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x56145a
movzx eax, byte [edx + 0x563f4c]
jmp dword [eax*4 + 0x563f44]
cmp edx, 0x85
ja 0x5615de
je case.default.0x56145a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x5613d8.13
jmp dword [edx*4 + 0x563fac]
sub edx, 0x2028
je case.default.0x56145a
sub edx, 1
jne case.0x5613d8.13
jmp case.default.0x56145a
cmp edx, 0x85
ja 0x561619
je case.0x5613d8.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56145a
jmp dword [edx*4 + 0x563fbc]
sub edx, 0x2028
je case.0x5613d8.13
sub edx, 1
je case.0x5613d8.13
jmp case.default.0x56145a
cmp ecx, 0x100
jae case.0x5613d8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x5613d8.13
jmp case.default.0x56145a
cmp ebx, 0x100
jae case.default.0x56145a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x5613d8.13
jmp case.default.0x56145a
cmp dword [esp + 0x18], 0x100
jae case.0x5613d8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x5613d8.13
jmp case.default.0x56145a
cmp dword [esp + 0x10], 0x100
jae case.default.0x56145a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x5613d8.13
jmp case.default.0x56145a
cmp dword [esp + 0x1c], 0x100
jae case.0x5613d8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x5613d8.13
jmp case.default.0x56145a
cmp dword [esp + 0x20], 0x100
jae case.default.0x56145a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x5613d8.13
jmp case.default.0x56145a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x55f114
mov edi, 0xfffffff2
jmp 0x55f100
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56172c
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x561720
cmp dword [esi + 0x7c], 0x11
jne 0x561755
cmp ecx, dword [esi + 0x30]
jbe 0x561755
cmp byte [ecx], 0xa
jne 0x561755
dec ecx
cmp byte [ecx], 0xd
jne 0x561755
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56178a
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5617da
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56005a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56005a.14
jmp 0x55654f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x561836
cmp ecx, 0xc0
jb 0x561836
test cl, 0x20
jne 0x5617fd
lea eax, [edx + 1]
jmp 0x561833
test cl, 0x10
jne 0x56180e
add eax, 3
jmp 0x561833
test cl, 8
jne 0x56181f
add eax, 4
jmp 0x561833
test cl, 4
jne 0x561830
add eax, 5
jmp 0x561833
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56186f
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x5618b9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x5619bc
cmp eax, 0xc0
jb 0x5619bc
test al, 0x20
jne 0x5618f5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5619b7
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x56191b
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5619b7
test al, 8
jne 0x561947
and eax, 7
shl eax, 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 0x5619b7
test al, 4
jne 0x56197c
and eax, 3
shl eax, 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 0x5619b7
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp eax, 9
je 0x561a00
cmp eax, 5
je 0x561a00
cmp eax, 8
je 0x561a00
xor eax, eax
jmp 0x561a05
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x561a3d
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x561a87
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x561b9a
cmp eax, 0xc0
jb 0x561b9a
test al, 0x20
jne 0x561ac3
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x561b95
test al, 0x10
jne 0x561aeb
mov ecx, eax
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x561b95
test al, 8
jne 0x561b1f
mov ecx, eax
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x561b95
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x561b5a
and eax, 3
shl eax, 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 0x561b95
and eax, 1
shl eax, 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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x561c03
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x561c4d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x561d5f
cmp eax, 0xc0
jb 0x561d5f
test al, 0x20
jne 0x561c89
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x561d5a
test al, 0x10
jne 0x561caf
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x561d5a
test al, 8
jne 0x561ce1
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x561d5a
test al, 4
movzx eax, byte [edx]
jne 0x561d1c
and ecx, 3
and eax, 0x3f
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 0x561d5a
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x561dc1
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x561e0b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x561f1d
cmp eax, 0xc0
jb 0x561f1d
test al, 0x20
jne 0x561e47
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x561f18
test al, 0x10
jne 0x561e6d
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
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 0x561f18
test al, 8
jne 0x561e9f
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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 0x561f18
test al, 4
movzx eax, byte [edx]
jne 0x561eda
and ecx, 3
and eax, 0x3f
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 0x561f18
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x561f7f
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x561fc9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov ebx, eax
mov edi, edx
mov dword [esp + 0x14], edx
je 0x5620ca
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x5620ca
test al, 0x20
jne 0x56200a
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x5620b9
test al, 0x10
jne 0x56202a
mov ecx, eax
lea edi, [edx + 2]
movzx eax, byte [edx]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x5620b9
test al, 8
jne 0x562053
mov ecx, eax
lea edi, [edx + 3]
movzx eax, byte [edx]
and ecx, 7
and eax, 0x3f
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]
jmp 0x5620b9
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x562086
and eax, 3
lea edi, [edx + 4]
shl eax, 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]
jmp 0x5620b9
and eax, 1
lea edi, [edx + 5]
shl eax, 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
mov dword [esi + 8], edi
mov ebx, ecx
mov dword [esp + 0x14], edi
mov edx, dword [ebp + 0x78]
and ebx, 0x7f
shr ecx, 7
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab2]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], edx
jae 0x562246
mov dword [esp + 0x14], edx
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x5621e9
cmp edx, 0xc0
jb 0x5621e9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x562146
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x5621e5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x562165
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x5621df
and eax, 0x3f
test dl, 8
jne 0x562189
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5621df
test dl, 4
jne 0x5621b2
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 0x5621df
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]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
mov ebp, dword [esp + 0x18]
and ecx, 0x7f
shr edx, 7
movzx eax, byte [edx + 0x63d130]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx ecx, byte [eax*8 + 0x63bab2]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x63b4f8], eax
mov ebp, dword [esp + 0xb0]
je 0x562246
add edi, ebx
mov dword [esp + 0x18], ecx
mov dword [esi + 8], edi
mov edx, dword [ebp + 0x78]
mov dword [esp + 0x14], edx
cmp edi, edx
jb 0x562101
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x562285
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x562285
cmp eax, dword [ebp + 0x84]
jbe 0x562285
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x562285
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x55f104
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5622b4
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x5622ee
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5622ee
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x5622e2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x555510
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x562323
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x562351
movzx edx, byte [edi]
jmp 0x56242d
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x56236c
nop dword [eax]
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x562360
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x56242f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x56239f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x56242b
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x5623b9
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x562425
and eax, 0x3f
test dl, 8
jne 0x5623d8
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x562425
test dl, 4
jne 0x5623fc
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x562425
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x63d130]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx ebx, byte [eax*8 + 0x63bab2]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x555510
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x562474
movzx edx, byte [edi]
jmp 0x562550
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x562492
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x562482
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x562552
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x5624c2
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x56254e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x5624dc
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x562548
and eax, 0x3f
test dl, 8
jne 0x5624fb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x562548
test dl, 4
jne 0x56251f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x562548
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, edx
shr edx, 7
and ecx, 0x7f
movzx eax, byte [edx + 0x63d130]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x63f330]
movzx edx, byte [eax*8 + 0x63bab2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x63b4f8], eax
je 0x55dd85
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x562451
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x5625d3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x5626e7
cmp eax, 0xc0
jb 0x5626e7
test al, 0x20
jne 0x56260f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5626e2
test al, 0x10
jne 0x562635
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x5626e2
test al, 8
jne 0x562667
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
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 0x5626e2
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x5626a4
and ecx, 3
and eax, 0x3f
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 0x5626e2
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x562729
cmp eax, 3
je 0x562729
xor eax, eax
jmp 0x56272e
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x562766
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558f6a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov ecx, edx
mov dword [esi + 8], edi
mov eax, edx
mov ebx, edx
mov dword [esp + 0x14], edx
je 0x5628ca
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x5628ca
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x5627ef
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x5628ce
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x56281b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x5628ce
test dl, 8
jne 0x56284c
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]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x5628ce
test dl, 4
jne 0x562886
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]
mov ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x5628ce
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 ecx, edx
mov dword [esi + 8], eax
mov eax, ecx
mov ebx, ecx
mov edi, ecx
jmp 0x5628ce
mov edi, dword [esp + 0x14]
cmp ecx, 0x24
je 0x56290c
cmp eax, 0x40
je 0x56290c
cmp ebx, 0x60
je 0x56290c
cmp edi, 0xa0
jb 0x5628f9
cmp edx, 0xd7ff
jbe 0x56290c
cmp edx, 0xe000
jae 0x56290c
xor eax, eax
jmp 0x562911
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56145a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x562949
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x560213
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x558f6a
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x28], 0
mov eax, edx
mov dword [esi + 8], edi
mov ecx, edx
mov dword [esp + 0x14], edx
mov ebx, edx
mov dword [esp + 0x18], edx
je 0x562a93
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x562a93
test dl, 0x20
jne 0x5629d1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x562a82
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x5629fc
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x562a82
test dl, 8
jne 0x562a1f
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 0x562a82
test dl, 4
jne 0x562a4e
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 0x562a82
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 ecx, edx
mov dword [esp + 0x14], edx
mov eax, edx
mov ebx, edx
mov dword [esp + 0x18], edx
cmp dword [esp + 0x14], 0x20
mov edi, edx
ja 0x562ab8
cmp eax, 0x20
je case.0x562bc6.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x562bc6.8203
jmp dword [eax*4 + 0x563fcc]
cmp edx, 0x2000
ja 0x562b9a
cmp ecx, 0x2000
je case.0x562bc6.8193
cmp edi, 0x1680
ja 0x562b8f
cmp edx, 0x1680
je case.0x562bc6.8193
mov eax, edx
sub eax, 0x85
je case.0x562bc6.8193
sub eax, 0x1b
je case.0x562bc6.8193
mov eax, edx
test eax, eax
jns 0x562b0b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x63d130]
shl eax, 7
and edx, 0x8000007f
jns 0x562b29
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
cmp dword [eax*4 + 0x63b480], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56145a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x562b80
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x562db8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x560213
cmp edx, 0x180e
jmp 0x562af8
cmp ebx, 0x3000
ja case.0x562bc6.8203
cmp dword [esp + 0x18], 0x3000
je case.0x562bc6.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x562bc6.8203
movzx eax, byte [eax + 0x563fe8]
jmp dword [eax*4 + 0x563fe0]
cmp dword [esi + 0x68], 0
je 0x562b51
jmp case.default.0x56145a
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x562c1b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edx, dword [ebp + 0x84]
jmp 0x558f7e
movzx eax, byte [edx]
inc edx
cmp dword [esp + 0x28], 0
mov ecx, eax
mov dword [esi + 8], edx
mov edi, eax
mov ebx, eax
je 0x562d36
cmp eax, 0xc0
jb 0x562d36
test al, 0x20
jne 0x562c5c
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x562d2f
test al, 0x10
jne 0x562c82
movzx ecx, byte [edx]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x562d2f
test al, 8
jne 0x562cb4
movzx ecx, byte [edx]
and eax, 7
shl eax, 6
and ecx, 0x3f
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 0x562d2f
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x562cf1
and ecx, 3
and eax, 0x3f
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 0x562d2f
and ecx, 1
and eax, 0x3f
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
mov edi, ecx
mov ebx, ecx
shr ecx, 7
and edi, 0x7f
movzx eax, byte [ecx + 0x63d130]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x63f330]
movzx eax, byte [eax*8 + 0x63bab1]
mov eax, dword [eax*4 + 0x63b480]
cmp eax, 1
je 0x562d81
cmp eax, 3
je 0x562d81
cmp ebx, 0x5f
je 0x562d81
xor eax, eax
jmp 0x562d86
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56145a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x562fea
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x562fe0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630ef
mov edi, 0xfffffffa
jmp 0x55f100
test edi, edi
jne case.default.0x55f62c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56005a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x562e30
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56005a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x56005a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x56005a.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630d2
mov edi, 0xfffffff4
jmp 0x55f104
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x562f20
cmp edx, 0xc0
jb 0x562f20
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x562e70
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x562f1b
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x562e95
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x562f1b
test dl, 8
jne 0x562eb8
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 0x562f1b
test dl, 4
jne 0x562ee7
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 0x562f1b
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 ecx, edx
mov eax, dword [esi + 0x64]
cmp ecx, dword [eax*4 + 0x63b970]
lea eax, [eax*4 + 0x63b970]
jb 0x562f4d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x562f6a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x562f40
cmp dword [esi + 0x68], 0
jne 0x562f70
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630e2
xor edi, edi
jmp 0x55f104
cmp dword [esi + 0x68], 0
jne case.0x56005a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x563003
push 0x134
call dword [0x6b6368]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x562ff9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x5630ef
lea edi, [ecx - 6]
jmp 0x55f104
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x562fc4
push ecx
call dword [0x6b6364]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x555583
mov dword [esi + 0xc], ecx
jmp 0x555510
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x560213
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x560213
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x8c
ret