Function at 0x55e7b0
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 0x55e83b
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c312
mov edi, 0xfffffff8
jmp 0x568404
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x55e859
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c322
mov edi, 0xffffffeb
jmp 0x568404
cmp dword [ebp + 0x98], 2
jne 0x55e883
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.0x55e8af.98
movzx eax, byte [eax + 0x56c55c]
jmp dword [eax*4 + 0x56c410]
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 0x55e8ed
push 0x134
call dword [0x6f6c2c]
mov edi, eax
add esp, 4
test edi, edi
je 0x56c0b8
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 + 0x67a7c8]
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 0x55e800
mov edx, dword [esi + 4]
test edx, edx
jne 0x55e95c
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
mov edx, dword [esi + 4]
test edx, edx
jne 0x55e999
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
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 0x55e9e8
push 0x134
call dword [0x6f6c2c]
mov edi, eax
add esp, 4
test edi, edi
je 0x56c0b8
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x55e8f7
mov edx, dword [esi + 4]
test edx, edx
jne 0x55ea1c
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, dword [ebp + 0x2c]
ja 0x55ea5d
mov edx, dword [esi + 0xc]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x67a7c8]
add eax, edx
add ecx, eax
mov dword [esi + 0xc], ecx
jmp 0x55e883
mov edi, dword [esi + 4]
test edi, edi
jne 0x55ea82
push 0x134
call dword [0x6f6c2c]
mov edi, eax
add esp, 4
test edi, edi
je 0x56c0b8
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x55e8f7
mov edx, dword [esi + 4]
test edx, edx
jne 0x55eab6
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
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 0x55eb05
push 0x134
call dword [0x6f6c2c]
mov edi, eax
add esp, 4
test edi, edi
je 0x56c0b8
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x55e8f7
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 0x569a69
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.0x55e8af.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 0x5684a3
mov dword [esi + 0x54], ebx
jmp 0x55f38f
mov dword [esi + 0x54], ebx
jmp 0x55f3b3
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 0x55ecd1
mov edi, dword [0x6fb54c]
test edi, edi
je 0x55ecbd
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.0x56a75a
jns 0x55ecbd
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x568544
jmp 0x568400
movzx eax, byte [0x67a83e]
add dword [esi + 0xc], eax
movzx eax, byte [0x67a83e]
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.0x55ecf4.146
movzx eax, byte [eax + 0x56c618]
jmp dword [eax*4 + 0x56c600]
mov edx, dword [ebp + 0xa4]
test edx, edx
je case.0x55ecf4.145
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je 0x55edd2
cmp ecx, dword [edx + 4]
je 0x55edd2
xor eax, eax
mov dword [esi + 0x58], eax
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x58], 0
je 0x56877d
movzx ecx, byte [ecx + 0x67a7c8]
jmp 0x568780
cmp dword [ebp + 0xa4], 0
je case.0x55ecf4.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 0x55ed2c
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 0x55ed2c
mov eax, dword [ebp + 0x24]
add eax, ebx
mov ebx, eax
test edi, edi
jg 0x55ed78
jmp 0x55ed2c
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 0x55ed27
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x55ed27
mov eax, 1
jmp 0x55ed29
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.0x55ecf4.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 0x55ee2f
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x55ee2f
mov eax, 1
jmp 0x55ee31
xor eax, eax
mov dword [esi + 0x58], eax
test eax, eax
jne 0x55ed2c
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x55ee05
jmp 0x55ed2c
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55ee7b
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x5689f1
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 0x55eee8
or eax, 0x10000
mov dword [ebp + 0x90], eax
add dword [esi + 0xc], 3
jmp 0x55e883
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 0x55eedf
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x55ef3f
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x55ef30
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
add dword [esi + 0xc], 3
jmp 0x55e883
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x10]
cmp edi, edx
jne 0x55ef8a
cmp cl, 0x9f
je 0x55ef8a
cmp dword [ebp + 0xa4], ebx
jne 0x55ef8a
cmp dword [ebp + 0x5c], ebx
jne case.default.0x56a75a
cmp dword [ebp + 0x60], ebx
je 0x55ef8a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp edx, eax
je case.default.0x56a75a
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 0x568544
jmp 0x568400
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x55efe7
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x568868
mov dword [esi + 0x58], ebx
jmp 0x568868
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x55f013
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x5689b2
mov dword [esi + 0x58], ebx
jmp 0x5689b2
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x55f062
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jbe 0x55f080
mov ecx, dword [esi + 8]
dec edx
dec ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x74]
jb case.0x56935a.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x55f05c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x55f050
test edx, edx
jg 0x55f035
jmp 0x55f080
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.0x56935a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x55eedf
mov dword [ebp + 0x84], eax
add dword [esi + 0xc], 3
jmp 0x55e883
mov edi, dword [0x6fb54c]
test edi, edi
je 0x55f183
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.0x56a75a
jns 0x55f183
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x568544
jmp 0x568400
add dword [esi + 0xc], 6
jmp 0x55e883
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 0x55f1ad
xor edx, edx
jmp 0x55f1ba
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 0x55f1d9
cmp edx, dword [ecx + 4]
jne 0x55f1d1
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x55f216
mov eax, dword [ecx]
mov ecx, eax
test eax, eax
jne 0x55f1c4
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 0x55f22c
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
jmp 0x55f244
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c332
mov edi, 0xffffffe6
jmp 0x568400
shl eax, 2
push eax
call dword [0x6f6c24]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x56c0b8
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call fcn.00541970
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x568ad8
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 0x55f270
jmp 0x55e883
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f2b8
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
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 0x55f2e0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f31e
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
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 0x55f340
add eax, 3
mov dword [esi + 0xc], eax
jmp 0x55e883
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 0x55f38f
cmp eax, 0x8b
jne 0x55f3b3
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 0x55f3d0
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 0x569626
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 0x55f44d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x55f476
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
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 0x55f4b2
cmp al, 0x81
je 0x55f4b2
mov dword [esi + 0x38], ebx
jmp 0x55f4c3
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 0x55f4d0
cmp al, 0x80
jbe 0x55f4d4
cmp al, 0x82
jne 0x55f4f1
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 0x568982
cmp al, 0x85
je 0x55f505
cmp al, 0x8a
je 0x55f505
cmp al, 0x86
je 0x55f505
cmp al, 0x8b
jne 0x55f5db
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 0x55f54a
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x55f54a
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
jmp 0x568982
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 0x55f579
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x55f5db
mov ecx, dword [esi + 0x14]
cmp edx, ecx
jle 0x55f59f
mov eax, dword [ebp + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + edx*4]
cmp ecx, edx
jae 0x55f59f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x55f590
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 0x55f5db
add eax, 2
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0xc]
mov cl, byte [edi]
cmp cl, 0x7b
jne 0x55f613
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 0x56c342
mov edi, 0xfffffc1a
jmp 0x568400
cmp cl, 0x78
je 0x55f6a3
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x55f6a3
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x55f669
test ecx, ecx
jne 0x55f64e
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
test ecx, ecx
jne 0x55f68b
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x560fe2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x55f6d4
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
cmp dword [ebp + 0x44], ebx
je case.0x55e8af.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x56a75a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.0x5607a6.10
jmp case.default.0x56a75a
cmp dword [ebp + 0x44], ebx
je 0x55f722
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je case.default.0x56a75a
mov ecx, dword [esi + 8]
mov edi, dword [ebp + 0x74]
cmp ecx, edi
je case.0x5607a6.10
cmp ecx, dword [ebp + 0x78]
je case.default.0x56a75a
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x55f76d
cmp ecx, edi
jbe 0x55f762
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push edx
push ecx
call fcn.0056f3d0
add esp, 0x14
test eax, eax
je 0x55f762
mov eax, 1
jmp 0x55f764
xor eax, eax
test eax, eax
jne case.0x5607a6.10
jmp case.default.0x56a75a
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edi]
cmp ecx, eax
jb case.default.0x56a75a
mov eax, ecx
sub eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.default.0x56a75a
cmp edx, 1
je case.0x5607a6.10
sub ecx, edx
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x5607a6.10
jmp case.default.0x56a75a
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
je case.0x5607a6.10
jmp case.default.0x56a75a
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x55e883
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x55f864
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55f7f2
mov ebx, dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push ebx
push eax
push edx
push edi
push ecx
call fcn.0056f240
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne case.0x5607a6.10
jmp 0x55f813
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55f80f
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55f80f
cmp edi, 1
je case.0x5607a6.10
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x5607a6.10
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56935a.14
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.0x56935a.14
cmp dword [ebp + 0x18], 0
jne case.0x56935a.14
cmp dword [ebp + 0x1c], 2
jne case.0x56935a.14
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x56935a.14
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x56c11a
jmp case.0x56935a.14
cmp dword [ebp + 0x48], ebx
jne case.default.0x56a75a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x5607a6.10
cmp ecx, dword [ebp + 0x84]
jbe case.0x5607a6.10
cmp eax, 1
mov dword [ebp + 0x64], 1
jle case.0x5607a6.10
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x568404
cmp dword [ebp + 0x48], ebx
jne case.default.0x56a75a
cmp dword [ebp + 0x58], ebx
je case.0x55e8af.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x5607b2
jmp case.default.0x56a75a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x55f86d
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x55f8fe
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0056f240
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x55f92c
jmp 0x55f91b
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x55f92c
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55f92c
cmp edi, 1
je 0x55f91b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x55f92c
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x1c]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x55f86d
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x56a75a
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb case.default.0x56a75a
cmp dword [ebp + 0x18], ebx
jne case.default.0x56a75a
cmp dword [ebp + 0x1c], 2
jne case.default.0x56a75a
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.default.0x56a75a
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.default.0x56a75a
jmp 0x55f897
cmp dword [esp + 0x28], ebx
je 0x55fc34
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x55f996
mov dword [esi + 0x5c], ebx
jmp 0x55fac1
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
jne 0x55f9ae
mov al, byte [edx - 1]
dec edx
and al, 0xc0
mov ecx, edx
cmp al, 0x80
je 0x55f9a2
cmp ecx, dword [ebp + 0x84]
jae 0x55f9bc
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
mov eax, ebx
mov ecx, ebx
mov edi, ebx
cmp ebx, 0xc0
jb 0x55fa73
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x55f9ea
and eax, 0x1f
mov ebx, ecx
shl eax, 6
jmp 0x55fa6b
movzx eax, byte [edx + 2]
test bl, 0x10
jne 0x55f9fd
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x55fa65
and eax, 0x3f
test bl, 8
jne 0x55fa18
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x55fa65
test bl, 4
jne 0x55fa3c
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 0x55fa65
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 0x55faf7
cmp edx, 0x5f
jne 0x55fa89
mov dword [esi + 0x5c], 1
jmp 0x55fac1
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x67c150]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x55fb08
cmp eax, 3
je 0x55fb08
xor eax, eax
mov dword [esi + 0x5c], eax
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x55fb0f
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x55faeb
cmp edi, dword [ebp + 0x84]
jbe 0x55faeb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
mov dword [esi + 0x54], 0
jmp 0x55fd4f
cmp edi, 0x100
jae 0x55fabc
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x55fabc
mov eax, 1
jmp 0x55fabe
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x55fbc6
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x55fb3d
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x55fbbe
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x55fb50
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x55fbb8
and eax, 0x3f
test dl, 8
jne 0x55fb6b
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x55fbb8
test dl, 4
jne 0x55fb8f
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 0x55fbb8
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 0x55fc19
cmp edi, 0x5f
jne 0x55fbdf
mov dword [esi + 0x54], 1
jmp 0x55fd4f
shr eax, 7
movzx eax, byte [eax + 0x67c150]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x55fc2a
cmp eax, 3
je 0x55fc2a
xor eax, eax
jmp 0x55fd4c
cmp ebx, 0x100
jae 0x55fc12
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x55fc12
mov eax, 1
jmp 0x55fd4c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x55fc44
mov dword [esi + 0x5c], ebx
jmp 0x55fcce
cmp eax, dword [ebp + 0x84]
ja 0x55fc53
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
movzx ecx, byte [eax - 1]
cmp dword [ebp + 0x54], ebx
je 0x55fcbe
cmp ecx, 0x5f
jne 0x55fc6d
mov dword [esi + 0x5c], 1
jmp 0x55fcce
mov eax, ecx
test eax, eax
jns 0x55fc76
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x67c150]
shl eax, 7
and ecx, 0x8000007f
jns 0x55fc90
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x55fcb7
cmp eax, 3
je 0x55fcb7
xor eax, eax
jmp 0x55fccb
mov eax, 1
jmp 0x55fccb
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 0x55fcfd
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x55fcf8
cmp eax, dword [ebp + 0x84]
jbe 0x55fcf8
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x55f897
mov dword [esi + 0x54], ebx
jmp 0x55fd4f
movzx ecx, byte [eax]
cmp dword [ebp + 0x54], ebx
je 0x55fd3f
cmp ecx, 0x5f
jne 0x55fd13
mov dword [esi + 0x54], 1
jmp 0x55fd4f
mov eax, ecx
test eax, eax
jns 0x55fd1c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x67c150]
shl eax, 7
and ecx, 0x8000007f
jns 0x55fbef
dec ecx
or ecx, 0xffffff80
inc ecx
jmp 0x55fbef
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 0x55fd6a
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x55fd72
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
test ecx, ecx
je 0x55e883
jmp case.default.0x56a75a
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x55fdb9
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x55fdae
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0056f240
add esp, 0x14
test eax, eax
je 0x55fdae
mov eax, 1
jmp 0x55fdb0
xor eax, eax
test eax, eax
je 0x55fde4
jmp case.default.0x56a75a
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x55fde4
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x55fde4
cmp edx, 1
je case.default.0x56a75a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x56a75a
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x55e8af.13
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
dec eax
cmp edx, eax
jne case.0x55e8af.13
cmp dword [ebp + 0x18], ebx
jne case.0x55e8af.13
cmp dword [ebp + 0x1c], 2
jne case.0x55e8af.13
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne case.0x55e8af.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x55f897
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x55fe52
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp ecx, dword [ebp + 0x84]
jbe case.default.0x56a75a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x56a75a
jmp 0x55f897
inc ecx
mov dword [esi + 8], ecx
cmp dword [esp + 0x28], ebx
je case.0x5607a6.10
cmp ecx, dword [ebp + 0x78]
jae case.0x5607a6.10
nop dword [eax]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne case.0x5607a6.10
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x55fe70
inc dword [esi + 0xc]
jmp 0x55e883
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x55feb4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x56a75a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x56a75a
jmp 0x55f967
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x55e883
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x55fee1
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x55ffcb
cmp edx, 0xc0
jb 0x55ffcb
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x55ff1f
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x55ffc6
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x55ff40
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x55ffc6
test dl, 8
jne 0x55ff63
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 0x55ffc6
test dl, 4
jne 0x55ff92
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 0x55ffc6
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.0x5607a6.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x5607a6.10
jmp case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x560009
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edx, dword [ebp + 0x84]
jmp 0x55fe37
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x560106
cmp ecx, 0xc0
jb 0x560106
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x560045
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x560101
test cl, 0x10
jne 0x560066
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 0x560101
test cl, 8
jne 0x560090
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 0x560101
test cl, 4
jne 0x5600c6
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 0x560101
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.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x5607a6.10
jmp case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x560144
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x56024c
cmp edx, 0xc0
jb 0x56024c
test dl, 0x20
jne 0x560180
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x560247
test dl, 0x10
jne 0x5601a7
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 0x560247
test dl, 8
jne 0x5601d7
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 0x560247
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x560213
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 0x560247
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.0x5607a6.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x5607a6.10
jmp case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56028a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edx, dword [ebp + 0x84]
jmp 0x55fe37
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x560387
cmp ecx, 0xc0
jb 0x560387
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5602c6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x560382
test cl, 0x10
jne 0x5602e7
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 0x560382
test cl, 8
jne 0x560311
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 0x560382
test cl, 4
jne 0x560347
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 0x560382
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.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x5607a6.10
jmp case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x5603c5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
movzx edx, byte [edi]
inc edi
mov ebx, dword [esp + 0x28]
mov eax, edx
mov dword [esi + 8], edi
test ebx, ebx
je 0x5604cd
cmp edx, 0xc0
jb 0x5604cd
test dl, 0x20
jne 0x560401
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x5604c8
test dl, 0x10
jne 0x560428
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 0x5604c8
test dl, 8
jne 0x560458
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 0x5604c8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x560494
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 0x5604c8
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.0x5607a6.10
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x5607a6.10
jmp case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56050b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edx, dword [ebp + 0x84]
jmp 0x55fe37
movzx ecx, byte [edx]
inc edx
mov ebx, dword [esp + 0x28]
mov eax, ecx
mov dword [esi + 8], edx
test ebx, ebx
je 0x560608
cmp ecx, 0xc0
jb 0x560608
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x560547
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x560603
test cl, 0x10
jne 0x560568
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 0x560603
test cl, 8
jne 0x560592
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 0x560603
test cl, 4
jne 0x5605c8
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 0x560603
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.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5607a6.10
jmp case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x560646
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
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 0x560786
mov dword [esp + 0x20], edi
cmp edx, 0xc0
jb 0x560786
test dl, 0x20
jne 0x560696
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 0x56078a
test dl, 0x10
jne 0x5606c6
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 0x56078a
test dl, 8
jne 0x560702
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 0x56078a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x560747
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 0x56078a
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 0x56078a
mov edi, dword [esp + 0x20]
cmp ebx, 0x85
ja 0x5607e9
cmp ecx, 0x85
je case.0x5607a6.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56a75a
jmp dword [edx*4 + 0x56c62c]
cmp edi, dword [ebp + 0x78]
jb 0x5607d4
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5607a6.10
cmp eax, dword [ebp + 0x84]
jbe case.0x5607a6.10
cmp ecx, 1
jmp 0x55f88a
cmp byte [eax], 0xa
jne case.0x5607a6.10
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x55e883
sub edx, 0x2028
je case.0x5607a6.11
sub edx, 1
jne case.default.0x56a75a
cmp dword [ebp + 0x68], 0
je case.0x5607a6.10
jmp case.default.0x56a75a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x56082a
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
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 0x560945
mov dword [esp + 0x20], edx
cmp edx, 0xc0
jb 0x560945
test dl, 0x20
jne 0x560871
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x560938
test dl, 0x10
jne 0x560898
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 0x560938
test dl, 8
jne 0x5608c8
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 0x560938
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x560904
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 0x560938
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 0x5609ab
cmp ebx, 0x2000
je case.default.0x56a75a
cmp edx, 0xa0
ja 0x56098b
cmp edi, 0xa0
je case.default.0x56a75a
cmp edx, 9
je case.default.0x56a75a
cmp edx, 0x20
je case.default.0x56a75a
inc dword [esi + 0xc]
jmp 0x55e883
cmp edx, 0x1680
je case.default.0x56a75a
cmp edx, 0x180e
je case.default.0x56a75a
inc dword [esi + 0xc]
jmp 0x55e883
cmp eax, 0x3000
ja case.0x5607a6.10
cmp ecx, 0x3000
je case.default.0x56a75a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x5607a6.10
movzx eax, byte [edx + 0x56c644]
jmp dword [eax*4 + 0x56c63c]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x560a00
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edx, dword [ebp + 0x84]
jmp 0x55fe37
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 0x560b10
mov dword [esp + 0x20], ecx
cmp ecx, 0xc0
jb 0x560b10
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x560a47
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x560b03
test cl, 0x10
jne 0x560a68
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 0x560b03
test cl, 8
jne 0x560a92
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 0x560b03
test cl, 4
jne 0x560ac8
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 0x560b03
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 0x560b70
cmp ebx, 0x2000
je case.0x5607a6.10
cmp ecx, 0xa0
ja 0x560b53
cmp edx, 0xa0
je case.0x5607a6.10
cmp ecx, 9
je case.0x5607a6.10
cmp ecx, 0x20
je case.0x5607a6.10
jmp case.default.0x56a75a
cmp ecx, 0x1680
je case.0x5607a6.10
cmp ecx, 0x180e
je case.0x5607a6.10
jmp case.default.0x56a75a
cmp eax, 0x3000
ja case.default.0x56a75a
cmp edi, 0x3000
je case.0x5607a6.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x56a75a
movzx eax, byte [ecx + 0x56c6ac]
jmp dword [eax*4 + 0x56c6a4]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x560bc5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
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 0x560cdd
cmp edx, 0xc0
jb 0x560cdd
test dl, 0x20
jne 0x560c05
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
mov edx, ecx
or edx, eax
lea eax, [edi + 1]
jmp 0x560cd6
test dl, 0x10
jne 0x560c2c
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 0x560cd6
test dl, 8
jne 0x560c5f
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 0x560cd6
movzx eax, byte [edi]
and eax, 0x3f
test dl, 4
jne 0x560c9b
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 0x560cd6
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 0x560d03
cmp eax, 0x85
je case.0x56935a.14
add edx, 0xfffffff6
cmp edx, 3
ja case.0x5607a6.10
jmp dword [edx*4 + 0x56c70c]
sub edx, 0x2028
je case.0x56935a.14
sub edx, 1
jne case.0x5607a6.10
jmp case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x560d3e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
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 0x560e30
cmp edx, 0xc0
jb 0x560e30
test dl, 0x20
jne 0x560d7c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x560e29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x560da3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x560e29
test dl, 8
jne 0x560dc6
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 0x560e29
test dl, 4
jne 0x560df5
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 0x560e29
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 0x560e56
cmp eax, 0x85
je case.0x5607a6.10
add edx, 0xfffffff6
cmp edx, 3
ja case.0x56935a.14
jmp dword [edx*4 + 0x56c71c]
sub edx, 0x2028
je case.0x5607a6.10
sub edx, 1
je case.0x5607a6.10
jmp case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x560e91
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
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 0x560fa4
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x560fa4
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x560eea
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x560f91
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x560f0b
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x560f91
test dl, 8
jne 0x560f2e
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 0x560f91
test dl, 4
jne 0x560f5d
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 0x560f91
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 + 0x67c150]
movzx ecx, byte [edi + 1]
shl eax, 7
add eax, ebx
movzx ebx, word [eax*2 + 0x67e350]
cmp ecx, 0xa
ja case.0x56a6d8.15
jmp dword [ecx*4 + 0x56c72c]
cmp dword [esi + 0x9c], 0xf
je case.default.0x56a75a
lea eax, [edi + 3]
mov dword [esi + 0xc], eax
jmp 0x55e883
mov al, byte [ebx*8 + 0x67aad1]
cmp al, 9
je 0x561004
cmp al, 5
je 0x561004
cmp al, 8
je 0x561004
xor ecx, ecx
jmp 0x561009
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x560fe2
jmp case.default.0x56a75a
movzx ecx, byte [ebx*8 + 0x67aad1]
xor edx, edx
movzx eax, byte [edi + 2]
cmp eax, dword [ecx*4 + 0x67a8e0]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x560fe2
jmp case.default.0x56a75a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x67aad1]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x560fe2
jmp case.default.0x56a75a
mov al, byte [edi + 2]
xor ecx, ecx
cmp al, byte [ebx*8 + 0x67aad0]
jmp 0x561057
movzx eax, byte [ebx*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x561004
cmp eax, 3
je 0x561004
xor ecx, ecx
jmp 0x561009
cmp edx, 0x20
ja 0x5610c3
je case.0x560fce.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x56113f.8203
jmp dword [edx*4 + 0x56c758]
cmp edx, 0x2000
ja 0x56111f
je case.0x560fce.0
cmp edx, 0x1680
ja 0x561117
je case.0x560fce.0
sub edx, 0x85
je case.0x560fce.0
sub edx, 0x1b
je case.0x560fce.0
movzx eax, byte [ebx*8 + 0x67aad1]
xor ecx, ecx
cmp dword [eax*4 + 0x67a8e0], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x561063
cmp edx, 0x180e
jmp 0x5610ee
cmp edx, 0x3000
ja case.0x56113f.8203
je case.0x560fce.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x56113f.8203
movzx eax, byte [edx + 0x56c774]
jmp dword [eax*4 + 0x56c76c]
movzx eax, byte [ebx*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x561004
cmp eax, 3
je 0x561004
cmp edx, 0x5f
je 0x561004
xor ecx, ecx
jmp 0x561009
movzx eax, byte [edi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax*4 + 0x67a990]
cmp ecx, dword [eax]
jb 0x56119d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x5611af
mov ecx, dword [eax]
cmp edx, ecx
jae 0x561190
cmp dword [esi + 0x9c], 0x10
jne 0x560fe2
jmp case.default.0x56a75a
cmp dword [esi + 0x9c], 0x10
je 0x560fe2
jmp case.default.0x56a75a
cmp dword [esp + 0x24], 0x24
je 0x561004
cmp dword [esp + 0x1c], 0x40
je 0x561004
cmp edx, 0x60
je 0x561004
cmp edx, 0xa0
jb 0x5611f4
cmp edx, 0xd7ff
jbe 0x561004
cmp edx, 0xe000
jae 0x561004
xor ecx, ecx
jmp 0x561009
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x561228
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edx, dword [ebp + 0x84]
jmp 0x55fe37
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 0x561315
mov dword [esp + 0x10], edx
cmp eax, 0xc0
jb 0x561315
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x56126b
and eax, 0x1f
lea edi, [edx + 1]
shl eax, 6
jmp 0x56130a
test al, 0x10
jne 0x561283
and eax, 0xf
lea edi, [edx + 2]
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 1]
jmp 0x561304
test al, 8
jne 0x5612a4
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 0x561304
test al, 4
jne 0x5612d1
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 0x561304
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 + 0x67c150]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad2]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x10], edx
jae 0x561485
mov dword [esp + 0x10], edx
nop dword [eax]
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x56142c
cmp edx, 0xc0
jb 0x56142c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x561391
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x561428
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x5613ac
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x561422
and eax, 0x3f
test dl, 8
jne 0x5613cc
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x561422
test dl, 4
jne 0x5613f5
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 0x561422
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 + 0x67c150]
mov edx, dword [esp + 0x10]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx ecx, byte [eax*8 + 0x67aad2]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x67a958], eax
mov ebp, dword [esp + 0xb0]
je 0x561485
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 0x561350
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5607a6.10
mov eax, dword [esi + 8]
cmp eax, edx
jb case.0x5607a6.10
jmp 0x5607c0
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 0x561598
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 0x56152a
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x10]
mov edi, dword [eax + ecx*8]
test edi, edi
jns 0x56153b
mov edi, dword [ebp + 0x24]
add edi, edx
mov dword [esp + 0x10], edi
mov edx, edi
test ebx, ebx
jg 0x561501
jmp 0x561598
mov eax, dword [eax + ecx*8 + 4]
sub eax, edi
jmp 0x561592
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 0x561588
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
test edx, edx
js 0x561588
mov eax, dword [ecx + eax*4 + 4]
sub eax, edx
jmp 0x561592
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.0x5615b3
movzx eax, byte [ecx + 0x56c7dc]
jmp dword [eax*4 + 0x56c7d4]
lea eax, [edx + 1]
mov ebx, ecx
mov dword [esi + 0xc], eax
and ebx, 1
movsx eax, byte [ecx + 0x679e20]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x679e2c]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x561638
mov dword [esi + 0x8c], closesocket
jmp 0x561638
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 0x561634
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x55e883
jns 0x561655
cmp dword [esi + 0x90], 0
je 0x55e883
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x56169a
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.0056d350
add esp, 0x14
test eax, eax
js 0x5616b8
add eax, edi
inc ebx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp ebx, eax
jle 0x561667
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x10], 0
je 0x5616e3
mov dword [esi + 0x84], eax
jmp 0x568d53
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x5616c7
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x78]
jb case.default.0x56a75a
jmp 0x55fe31
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
mov eax, edi
cmp eax, dword [esi + 0x8c]
jge 0x568d9f
push dword [esp + 0x30]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0056d350
add esp, 0x14
test eax, eax
js 0x561726
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x5616ef
cmp eax, 0xfffffffe
jne 0x568d9f
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x568d9f
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x568d9f
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x568d9f
jmp 0x55f897
push dword [esp + 0x30]
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0056d350
mov ecx, eax
add esp, 0x14
mov dword [esi + 0x88], ecx
test ecx, ecx
jns 0x5617bf
cmp ecx, 0xfffffffe
jne 0x561794
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.default.0x56a75a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.default.0x56a75a
cmp eax, dword [ebp + 0x84]
jbe case.default.0x56a75a
jmp 0x55f967
add dword [esi + 8], ecx
jmp 0x55e883
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.0x5617ef
movzx eax, byte [ecx + 0x56c7ec]
jmp dword [eax*4 + 0x56c7e4]
lea eax, [edx + 0x22]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x56180c
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x561814
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x679e20]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x679e2c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x5618a9
mov dword [esi + 0x8c], closesocket
jmp 0x5618a9
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 0x56188f
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x5618a9
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 0x561a23
cmp dword [esi + 0x90], ebx
jl 0x561a6b
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov ecx, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x5619e3
test bl, 0x20
jne 0x561917
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 0x5619e3
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x561945
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 0x5619e3
test bl, 8
jne 0x561972
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 0x5619e3
test bl, 4
jne 0x5619a8
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 0x5619e3
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 0x5619f3
cmp dword [esi + 0x9c], 0x6e
jmp 0x561a06
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.0x56a75a
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esi + 0x90]
jle 0x5618d0
jmp 0x561a67
cmp dword [esi + 0x90], ebx
jl 0x561a6b
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
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.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x561a30
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x561a97
mov dword [esi + 0x84], eax
test ecx, ecx
jne 0x569e67
jmp 0x568e4c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x561c7c
cmp eax, dword [esi + 0x8c]
jge 0x561c6c
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x561c4a
movzx ebx, byte [edi]
mov dword [esp + 0x1c], 1
mov ecx, ebx
mov edx, ebx
cmp ebx, 0xc0
jb 0x561bf5
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x20
jne 0x561b15
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 0x561bfa
movzx eax, byte [edi + 2]
and eax, 0x3f
test bl, 0x10
jne 0x561b44
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 0x561bfa
test bl, 8
jne 0x561b78
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 0x561bfa
test bl, 4
jne 0x561bb5
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 0x561bfa
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 0x561bfa
mov eax, 1
cmp edx, 0xff
jbe 0x561c0d
cmp dword [esi + 0x9c], 0x6e
je 0x561c6c
jmp 0x561c2e
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 0x561c6c
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 0x561ac0
jmp 0x561c6c
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x561c6c
cmp edi, dword [ebp + 0x84]
jbe 0x561c6c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x569ed1
cmp eax, dword [esi + 0x8c]
jge 0x561ce1
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x561cbf
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 0x561ce1
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 0x561c84
jmp 0x561ce1
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x561ce1
cmp ebx, dword [ebp + 0x84]
jbe 0x561ce1
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x568e8f
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.0x561d27
movzx eax, byte [ecx + 0x56c800]
jmp dword [eax*4 + 0x56c7f8]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x561d44
mov eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
jmp 0x561d4c
mov dword [esp + 0x24], 1
movsx eax, byte [ecx + 0x679e20]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x679e2c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x561de1
mov dword [esi + 0x8c], closesocket
jmp 0x561de1
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 0x561dc7
mov dword [esi + 0x8c], closesocket
add dword [esi + 0xc], 5
jmp 0x561de1
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 0x561f20
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
je 0x561ef7
cmp edx, 0xc0
jb 0x561ef7
test dl, 0x20
jne 0x561e47
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x561ef4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x561e6e
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x561ef4
test dl, 8
jne 0x561e91
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 0x561ef4
test dl, 4
jne 0x561ec0
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 0x561ef4
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.0056eb20
add esp, 0xc
test eax, eax
je case.default.0x56a75a
mov eax, dword [esi + 0x90]
inc ebx
cmp ebx, eax
jle 0x561e00
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x561f3e
mov dword [esi + 0x84], eax
jmp 0x569c42
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 0x562091
nop word [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56206f
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
je 0x562041
cmp edx, 0xc0
jb 0x562041
test dl, 0x20
jne 0x561fa1
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x562039
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x561fc3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x562039
and eax, 0x3f
test dl, 8
jne 0x561fe3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x562039
test dl, 4
jne 0x56200c
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 0x562039
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.0056eb20
add esp, 0xc
test eax, eax
je 0x562091
mov eax, dword [esp + 0x10]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x8c]
jl 0x561f60
jmp 0x562091
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x562091
cmp edi, dword [ebp + 0x84]
jbe 0x562091
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x569cb4
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x56225d
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 0x5621e8
test bl, 0x20
jne 0x5620fb
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 0x5621e8
test bl, 0x10
jne 0x562130
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 0x5621e8
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 0x562171
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 0x5621e8
test bl, 4
jne 0x5621aa
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 0x5621e8
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 0x56221d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edx, edi
jb case.default.0x56a75a
cmp edx, dword [ebp + 0x84]
jmp 0x55fe37
test ecx, ecx
jle 0x56224f
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.0x56a75a
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x562221
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
jmp 0x55e883
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x562299
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x56935a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x56c11a
jmp case.0x56935a.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 0x5625b7
jmp case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x5622d5
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp edi, dword [ebp + 0x84]
jmp 0x55fe37
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x562598
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 0x56241c
test bl, 0x20
jne 0x56232f
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 0x56241c
test bl, 0x10
jne 0x562364
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 0x56241c
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 0x5623a5
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 0x56241c
test bl, 4
jne 0x5623de
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 0x56241c
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 0x56244a
mov edx, dword [ebp + 0x38]
mov al, byte [edx + edi]
cmp al, byte [ecx + edx]
jne case.default.0x56a75a
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x55e883
lea edx, [eax + 1]
mov edi, ecx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x56253d
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x562479
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x562538
test cl, 0x10
jne 0x56249a
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 0x562538
test cl, 8
jne 0x5624c7
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 0x562538
test cl, 4
jne 0x5624fd
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 0x562538
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 0x55e883
mov eax, edx
test eax, eax
jns 0x56255d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x67c150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x562578
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x67e350]
mov eax, dword [eax*8 + 0x67aad4]
add eax, edx
cmp edi, eax
je 0x55e883
jmp case.default.0x56a75a
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.0x56935a.14
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x55e883
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 0x5626d5
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 0x56261a
mov dword [esp + 0x20], ebx
cmp al, 0x35
jne 0x562622
mov dword [esp + 0x20], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x5626d5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x5626d5
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x5626d5
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x5626d5
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 + 0x679e20]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x679e2c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x5626d5
mov dword [esi + 0x8c], closesocket
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x562b29
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 0x56281e
test bl, 0x20
jne 0x562731
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 0x56281e
test bl, 0x10
jne 0x562766
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 0x56281e
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 0x5627a7
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 0x56281e
test bl, 4
jne 0x5627e0
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 0x56281e
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 0x562b3a
cmp dword [esi + 0x9c], 0x2e
jb 0x562890
mov edx, dword [esi + 0x80]
mov eax, edx
test eax, eax
jns 0x56284c
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x67c150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x562867
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x67e350]
mov ecx, dword [eax*8 + 0x67aad4]
add ecx, edx
cmp ecx, edx
je 0x562890
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0056eac0
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x562897
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x90]
mov ecx, eax
mov dword [esp + 0x10], 1
cmp eax, 1
jl 0x5629a4
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 0x56291e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x5628e1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5628e6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x5628d0
cmp edi, 0xfffffffc
je 0x562913
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x56291b
cmp edi, 0xfffffffd
je 0x562913
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x56291b
cmp edi, 0xfffffffe
je 0x562913
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x56291b
cmp edi, 0xffffffff
je 0x562913
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x56291b
mov eax, dword [esi + 0x88]
jmp 0x562986
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x5629c2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x5629c2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x562951
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x562956
add ecx, 4
add edx, 4
sub edi, 4
jae 0x562940
cmp edi, 0xfffffffc
je 0x562983
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5629c2
cmp edi, 0xfffffffd
je 0x562983
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5629c2
cmp edi, 0xfffffffe
je 0x562983
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5629c2
cmp edi, 0xffffffff
je 0x562983
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x5629c2
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 0x5628b0
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x5629e4
mov dword [esi + 0x84], eax
jmp 0x56a041
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x56a75a
cmp ebx, dword [ebp + 0x84]
jmp 0x55fe37
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 0x562b19
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 0x562a6e
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x562a31
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x562a36
add ecx, 4
add edx, 4
sub edi, 4
jae 0x562a20
cmp edi, 0xfffffffc
je 0x562a63
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x562a6b
cmp edi, 0xfffffffd
je 0x562a63
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x562a6b
cmp edi, 0xfffffffe
je 0x562a63
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x562a6b
cmp edi, 0xffffffff
je 0x562a63
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x562a6b
mov eax, dword [esi + 0x88]
jmp 0x562ad6
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x562af2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x562af2
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x562aa1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x562aa6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x562a90
cmp edi, 0xfffffffc
je 0x562ad3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x562af2
cmp edi, 0xfffffffd
je 0x562ad3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x562af2
cmp edi, 0xfffffffe
je 0x562ad3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x562af2
cmp edi, 0xffffffff
je 0x562ad3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x562af2
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 0x562a00
jmp 0x562b19
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x562b19
cmp ebx, dword [ebp + 0x78]
jb 0x562b19
cmp ebx, dword [ebp + 0x84]
jbe 0x562b19
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x56a0ed
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
jmp 0x562b3e
mov ebx, dword [esp + 0x28]
cmp dword [esi + 0x9c], 0x2e
mov edi, 1
jb 0x562c38
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 0x562ba4
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568e05
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x562b93
cmp dword [esi + 0x94], ecx
jne case.0x56935a.14
inc eax
inc edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x90]
cmp edi, eax
jle 0x562b70
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x562bc2
mov dword [esi + 0x84], eax
jmp 0x568f39
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge 0x562c28
mov edi, ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x562c06
movzx edx, byte [eax]
cmp dword [esi + 0x80], edx
je 0x562bf5
mov ecx, edi
cmp dword [esi + 0x94], edx
jne 0x562c28
inc eax
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x562bd8
jmp 0x562c28
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x562c28
cmp eax, dword [ebp + 0x84]
jbe 0x562c28
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x56c11a
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x568f7c
mov eax, dword [esi + 0x90]
mov ecx, eax
cmp eax, 1
jl 0x562c6f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x562c8d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
jne case.default.0x56a75a
mov eax, dword [esi + 0x90]
inc edi
cmp edi, eax
jle 0x562c45
mov ecx, eax
cmp ecx, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x562ca6
mov dword [esi + 0x84], eax
jmp 0x569001
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp ebx, dword [ebp + 0x84]
jmp 0x55fe37
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x562d06
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x562ce4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x562d06
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x562cc0
jmp 0x562d06
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x562d06
cmp ecx, dword [ebp + 0x84]
jbe 0x562d06
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x569044
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x562fdf
inc eax
mov dword [esi + 0xc], eax
movzx ebx, byte [eax]
lea ecx, [eax + 1]
mov dword [esi + 0xc], ecx
cmp ebx, 0xc0
jb 0x562e24
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x562d65
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x562e21
test bl, 0x10
jne 0x562d86
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 0x562e21
test bl, 8
jne 0x562db0
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 0x562e21
test bl, 4
jne 0x562de6
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 0x562e21
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 0x562f65
movzx eax, byte [ecx]
and eax, 0x3f
test dl, 0x20
jne 0x562e70
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 0x562f69
test dl, 0x10
jne 0x562e9e
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 0x562f69
test dl, 8
jne 0x562ed8
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 0x562f69
test dl, 4
jne 0x562f1b
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 0x562f69
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 0x562f69
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x9c], 0x1f
jne 0x562f7f
cmp ebx, eax
jne 0x55e883
jmp case.default.0x56a75a
cmp ebx, 0x7f
jbe 0x562fbd
mov eax, ebx
test eax, eax
jns 0x562f8d
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x67c150]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x562fa8
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x67e350]
mov eax, dword [eax*8 + 0x67aad4]
add eax, ebx
jmp 0x562fca
mov eax, dword [ebp + 0x3c]
mov edx, ecx
mov edi, dword [esp + 0x1c]
movzx eax, byte [eax + ebx]
cmp ebx, edx
je case.default.0x56a75a
cmp eax, edi
jne 0x55e883
jmp case.default.0x56a75a
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
movzx edi, byte [ecx]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x56935a.14
cmp dword [esi + 0x9c], 0x20
jne 0x5625b7
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x56935a.14
add dword [esi + 0xc], 2
jmp 0x55e883
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 0x563164
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 0x563078
cmp al, 0x4f
je 0x563078
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x563164
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x20], ebx
mov dword [esi + 0xc], eax
jmp 0x563164
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x563164
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x563164
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x563164
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 0x563164
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 + 0x679e20]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x679e2c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x563164
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 0x563295
mov ecx, dword [esi + 0x80]
cmp ecx, 0xc0
jb 0x563295
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5631b6
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x563291
test cl, 0x10
jne 0x5631de
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 0x563291
test cl, 8
jne 0x563212
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 0x563291
test cl, 4
jne 0x56324f
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 0x563291
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 0x563681
test eax, eax
je 0x5632f5
mov edx, dword [esi + 0x80]
cmp edx, 0x7f
jbe 0x5632f5
mov eax, edx
test eax, eax
jns 0x5632ba
add eax, 0x7f
sar eax, 7
movzx ecx, byte [eax + 0x67c150]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x5632d5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov edi, 1
movzx eax, word [ecx*2 + 0x67e350]
mov eax, dword [eax*8 + 0x67aad4]
add eax, edx
mov dword [esi + 0x94], eax
jmp 0x563318
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 0x563456
cmp dword [esi + 0x90], 1
jl 0x563494
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
cmp ecx, 0xc0
jb 0x56342f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x56336e
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56342a
test cl, 0x10
jne 0x56338f
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 0x56342a
test cl, 8
jne 0x5633b9
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 0x56342a
test cl, 4
jne 0x5633ef
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 0x56342a
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.0x56a75a
cmp dword [esi + 0x94], eax
je case.default.0x56a75a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x563330
jmp 0x563494
cmp dword [esi + 0x90], edi
jl 0x563494
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.default.0x56a75a
cmp dword [esi + 0x94], ecx
je case.default.0x56a75a
inc eax
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x563460
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x55e883
test ebx, ebx
je 0x5634c0
cmp dword [esp + 0x28], 0
mov dword [esi + 0x84], eax
jne 0x56a278
jmp 0x5690ee
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x563617
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x563607
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x5635e5
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x5635c0
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x563524
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x5635bc
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x56353f
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5635b6
and eax, 0x3f
test dl, 8
jne 0x56355f
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5635b6
test dl, 4
jne 0x563588
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 0x5635b6
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 0x563607
cmp dword [esi + 0x94], eax
je 0x563607
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x5634e4
jmp 0x563607
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x563607
cmp edi, dword [ebp + 0x84]
jbe 0x563607
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x56a2dc
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x563671
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x56364f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x563671
cmp dword [esi + 0x94], ecx
je 0x563671
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x563625
jmp 0x563671
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x563671
cmp eax, dword [ebp + 0x84]
jbe 0x563671
mov dword [ebp + 0x64], 1
cmp ecx, 1
jg 0x56c11a
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x569131
mov ebx, dword [esp + 0x28]
mov edi, 1
mov dword [esp + 0x10], edi
test ebx, ebx
je 0x5637d9
cmp dword [esi + 0x90], edi
jl 0x56380f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x1c], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x5637ba
mov cl, byte [eax]
test bl, 0x20
jne 0x5636db
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x5637b2
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x5636ff
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 0x5637b2
test bl, 8
jne 0x56373a
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 0x5637ba
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x563778
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 0x5637ae
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.0x56a75a
inc edi
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x90]
jle 0x5636a2
jmp 0x56380b
cmp dword [esi + 0x90], edi
jl 0x56380f
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x562c8d
movzx edx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.default.0x56a75a
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5637e1
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x56383b
mov dword [esi + 0x84], eax
test ebx, ebx
jne 0x56a47f
jmp 0x5691b6
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test ebx, ebx
je 0x56398e
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jge 0x56397e
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56395c
movzx edx, byte [edi]
mov ebx, 1
cmp edx, 0xc0
jb 0x56393b
test dl, 0x20
jne 0x563896
movzx eax, byte [edi + 1]
mov ebx, 2
and edx, 0x1f
jmp 0x563933
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x5638b8
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x56392f
and eax, 0x3f
test dl, 8
jne 0x5638d8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x56392f
test dl, 4
jne 0x563901
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 0x56392f
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 0x56397e
lea eax, [ebx + edi]
inc ecx
mov dword [esi + 8], eax
mov dword [esp + 0x10], ecx
cmp ecx, dword [esi + 0x8c]
jl 0x563860
jmp 0x56397e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x56397e
cmp edi, dword [ebp + 0x84]
jbe 0x56397e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x56a4de
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x5639e6
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5639c4
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x5639e6
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5639a0
jmp 0x5639e6
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x5639e6
cmp ecx, dword [ebp + 0x84]
jbe 0x5639e6
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x56c11a
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x5691f9
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 0x563b27
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 0x563b27
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x563b27
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], closesocket
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x563b27
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x24], 1
jmp 0x563b27
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 0x563b27
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 + 0x679e20]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x679e2c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x563b27
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 0x563b49
cmp ecx, 0xf
je 0x563b49
mov dword [esi + 0x60], 0xffffffff
jmp 0x563b6d
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 0x563d7a
mov eax, dword [esi + 0x60]
test eax, eax
js 0x564a74
cmp eax, 0xa
ja case.0x56a6d8.15
jmp dword [eax*4 + 0x56c80c]
cmp dword [esi + 0x68], 0
jne case.default.0x56a75a
mov ebx, dword [esp + 0x28]
mov edi, 1
cmp ecx, edi
jl 0x563d7e
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x569265
movzx edx, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
test ebx, ebx
je 0x563bfe
cmp edx, 0xc0
jb 0x563bfe
test dl, 0x20
jne 0x563bdc
lea eax, [ecx + 2]
jmp 0x563bfb
test dl, 0x10
jne 0x563be6
lea eax, [ecx + 3]
jmp 0x563bfb
test dl, 8
jne 0x563bf0
lea eax, [ecx + 4]
jmp 0x563bfb
lea eax, [ecx + 5]
test dl, 4
je 0x563bfb
lea eax, [ecx + 6]
mov dword [esi + 8], eax
inc edi
cmp edi, dword [esi + 0x90]
jle 0x563bb1
jmp 0x563d7e
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x563d2a
cmp eax, 0xc0
jb 0x563d2a
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x563c69
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x563d25
test al, 0x10
jne 0x563c89
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 0x563d25
test al, 8
jne 0x563cb5
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 0x563d25
test al, 4
jne 0x563cea
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 0x563d25
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp eax, 9
je 0x563d5f
cmp eax, 5
je 0x563d5f
cmp eax, 8
je 0x563d5f
xor eax, eax
jmp 0x563d64
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x563c20
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x55e883
cmp dword [esp + 0x20], 0
je 0x565deb
mov ecx, dword [esi + 0x60]
test ecx, ecx
js 0x565dce
cmp ecx, 0xa
ja case.0x56a6d8.15
jmp dword [ecx*4 + 0x56c838]
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x563edf
cmp eax, 0xc0
jb 0x563edf
test al, 0x20
jne 0x563e09
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x563eda
test al, 0x10
jne 0x563e2f
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 0x563eda
test al, 8
jne 0x563e61
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 0x563eda
test al, 4
movzx eax, byte [edx]
jne 0x563e9c
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 0x563eda
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x563dc0
jmp 0x563d7a
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
nop dword [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x56405f
cmp eax, 0xc0
jb 0x56405f
test al, 0x20
jne 0x563f89
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56405a
test al, 0x10
jne 0x563faf
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 0x56405a
test al, 8
jne 0x563fe1
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 0x56405a
test al, 4
movzx eax, byte [edx]
jne 0x56401c
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 0x56405a
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x563f40
jmp 0x563d7a
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x5641d0
cmp eax, 0xc0
jb 0x5641d0
test al, 0x20
jne 0x5640fa
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5641cb
test al, 0x10
jne 0x564120
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 0x5641cb
test al, 8
jne 0x564152
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 0x5641cb
test al, 4
movzx eax, byte [edx]
jne 0x56418d
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 0x5641cb
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5640b1
jmp 0x563d7a
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x564341
cmp eax, 0xc0
jb 0x564341
test al, 0x20
jne 0x56426b
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56433c
test al, 0x10
jne 0x564291
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 0x56433c
test al, 8
jne 0x5642c3
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 0x56433c
test al, 4
movzx eax, byte [edx]
jne 0x5642fe
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 0x56433c
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x564378
cmp eax, 3
je 0x564378
xor eax, eax
jmp 0x56437d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x564222
jmp 0x563d7a
mov dword [esp + 0x10], 1
cmp ecx, 1
jl 0x563d7a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
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 0x5644da
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0xc0
jb 0x5644da
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x56440d
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5644c9
test cl, 0x10
jne 0x56442e
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 0x5644c9
test cl, 8
jne 0x564458
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 0x5644c9
test cl, 4
jne 0x56448e
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 0x5644c9
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 0x5644fb
cmp eax, 0x20
je case.0x5645d0.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x5645d0.8203
jmp dword [eax*4 + 0x56c864]
cmp edx, 0x2000
ja 0x5645a8
cmp edi, 0x2000
je case.0x5645d0.8193
cmp ecx, 0x1680
ja 0x5645a0
je case.0x5645d0.8193
mov eax, ecx
sub eax, 0x85
je case.0x5645d0.8193
sub eax, 0x1b
je case.0x5645d0.8193
mov eax, ecx
test eax, eax
jns 0x564544
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x67c150]
shl eax, 7
and ecx, 0x8000007f
jns 0x56455e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp dword [eax*4 + 0x67a8e0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56a75a
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0x90]
jle 0x5643b0
jmp 0x563d7a
cmp ecx, 0x180e
jmp 0x564535
cmp ebx, 0x3000
ja case.0x5645d0.8203
cmp dword [esp + 0x18], 0x3000
je case.0x5645d0.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x5645d0.8203
movzx eax, byte [eax + 0x56c880]
jmp dword [eax*4 + 0x56c878]
cmp dword [esi + 0x68], 0
jne case.default.0x56a75a
jmp 0x564586
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x563d7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x5646ff
cmp eax, 0xc0
jb 0x5646ff
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x20
jne 0x56463f
and eax, 0x1f
shl eax, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5646f8
test al, 0x10
jne 0x56465f
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 0x5646f8
test al, 8
jne 0x564688
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 0x5646f8
test al, 4
jne 0x5646bd
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 0x5646f8
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x56473b
cmp eax, 3
je 0x56473b
cmp ebx, 0x5f
je 0x56473b
xor eax, eax
jmp 0x564740
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56a75a
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x5645f4
jmp 0x563d7a
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
cmp dword [esp + 0x28], 0
lea edi, [eax + 1]
movzx edx, byte [eax]
mov dword [esi + 8], edi
mov ecx, edx
je 0x564869
cmp edx, 0xc0
jb 0x564869
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x5647bd
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x564864
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x5647de
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x564864
test dl, 8
jne 0x564801
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 0x564864
test dl, 4
jne 0x564830
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 0x564864
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 + 0x67a990]
lea eax, [eax*4 + 0x67a990]
jb 0x56488d
mov ecx, dword [eax]
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x5648a9
mov ecx, dword [eax]
cmp edx, ecx
jae 0x564880
cmp dword [esi + 0x68], 0
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x564770
jmp 0x563d7a
cmp dword [esi + 0x68], 0
jne case.default.0x56a75a
jmp 0x564897
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x563d7a
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
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 0x564a1d
mov dword [esp + 0x10], ecx
cmp ecx, 0xc0
jb 0x564a1d
movzx eax, byte [edi]
and eax, 0x3f
test cl, 0x20
jne 0x564930
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 0x564a21
test cl, 0x10
jne 0x56495c
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 0x564a21
test cl, 8
jne 0x564994
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 0x564a21
test cl, 4
jne 0x5649d5
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 0x564a21
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 0x564a21
mov edi, dword [esp + 0x10]
cmp edx, 0x24
je 0x564a4c
cmp eax, 0x40
je 0x564a4c
cmp ebx, 0x60
je 0x564a4c
cmp edi, 0xa0
jb 0x564a40
cmp ecx, 0xd7ff
jbe 0x564a4c
cmp ecx, 0xe000
jae 0x564a4c
xor eax, eax
jmp 0x564a51
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56a75a
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [esi + 0x90]
jle 0x5648d0
jmp 0x563d7a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x564d6b
mov dword [esp + 0x18], 1
cmp ecx, 1
jl 0x563d7a
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x55fe23
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 0x564b9c
mov dword [esp + 0x10], edi
cmp eax, 0xc0
jb 0x564b9c
test al, 0x20
jne 0x564adc
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x564b8b
test al, 0x10
jne 0x564afc
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 0x564b8b
test al, 8
jne 0x564b25
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 0x564b8b
movzx ecx, byte [edi]
and ecx, 0x3f
test al, 4
jne 0x564b58
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 0x564b8b
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 + 0x67c150]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad2]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x10], eax
jae 0x564d2b
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 0x564cb9
cmp edx, 0xc0
jb 0x564cb9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x564c21
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x564cb5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x564c39
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x564caf
and eax, 0x3f
test dl, 8
jne 0x564c59
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x564caf
test dl, 4
jne 0x564c82
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 0x564caf
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 + 0x67c150]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx ecx, byte [eax*8 + 0x67aad2]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x67a958], eax
mov ebp, dword [esp + 0xb0]
je 0x564d23
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 0x564be0
jmp 0x564d2b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x564d51
cmp edx, eax
jb 0x564d51
cmp ecx, dword [ebp + 0x84]
jbe 0x564d51
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x56a0ac
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esi + 0x90]
jle 0x564a91
jmp 0x563d7a
mov ebx, dword [esp + 0x28]
add eax, 0xfffffffa
test ebx, ebx
je 0x565930
cmp eax, 0xf
ja case.0x56a6d8.15
jmp dword [eax*4 + 0x56c8e0]
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x55fe23
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x564dd9
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0056f240
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x564dcd
mov eax, 1
jmp 0x564dcf
xor eax, eax
test eax, eax
jne case.default.0x56a75a
jmp 0x564e00
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x564dfe
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x564dfe
cmp edi, 1
je case.default.0x56a75a
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x56a75a
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x564e36
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x564e36
test ecx, ecx
jne 0x564e36
cmp dword [ebp + 0x1c], 2
jne 0x564e36
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x564e36
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x56a0ac
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x564e52
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x564e52
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x564e41
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x564d97
jmp 0x563d7a
mov edi, 1
cmp ecx, edi
jl 0x563d7e
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x568e05
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x564ea8
nop word [eax + eax]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x564ea8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x564e90
inc edi
cmp edi, dword [esi + 0x90]
jle 0x564e74
jmp 0x563d7e
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja case.0x56935a.14
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x563d7e
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x563d7e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
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 0x564fe7
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x564f22
and ecx, 0x1f
shl ecx, 6
or ecx, eax
inc edx
jmp 0x564fde
test cl, 0x10
jne 0x564f43
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 0x564fde
test cl, 8
jne 0x564f6d
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 0x564fde
test cl, 4
jne 0x564fa3
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 0x564fde
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 0x56501b
cmp eax, 0x85
je case.0x565002.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x56a75a
jmp dword [ecx*4 + 0x56c920]
cmp ebx, dword [ebp + 0x78]
jae case.0x565002.10
cmp byte [edx], 0xa
jne case.0x565002.10
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x565002.10
sub ecx, 0x2028
je case.0x565002.11
sub ecx, 1
jne case.default.0x56a75a
cmp dword [ebp + 0x68], 0
jne case.default.0x56a75a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x564ee2
jmp 0x563d7a
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x563d7e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
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 0x565170
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x5650a7
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x565163
test cl, 0x10
jne 0x5650c8
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 0x565163
test cl, 8
jne 0x5650f2
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 0x565163
test cl, 4
jne 0x565128
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 0x565163
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 0x5651dc
cmp ebx, 0x2000
je case.default.0x56a75a
cmp ecx, 0xa0
ja 0x5651c2
je case.default.0x56a75a
cmp ecx, 9
je case.default.0x56a75a
cmp ecx, 0x20
je case.default.0x56a75a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x565061
jmp 0x563d7a
cmp edx, 0x1680
je case.default.0x56a75a
cmp ecx, 0x180e
je case.default.0x56a75a
jmp case.0x565201.8203
cmp eax, 0x3000
ja case.0x565201.8203
cmp edi, 0x3000
je case.default.0x56a75a
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x565201.8203
movzx eax, byte [ecx + 0x56c938]
jmp dword [eax*4 + 0x56c930]
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x563d7e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
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 0x56532f
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x565266
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x565322
test cl, 0x10
jne 0x565287
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 0x565322
test cl, 8
jne 0x5652b1
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 0x565322
test cl, 4
jne 0x5652e7
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 0x565322
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 0x56538b
cmp ebx, 0x2000
je case.0x5653b4.8193
cmp ecx, 0xa0
ja 0x565375
je case.0x5653b4.8193
cmp ecx, 9
je case.0x5653b4.8193
cmp ecx, 0x20
jne case.default.0x56a75a
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [esi + 0x90]
jle 0x565220
jmp 0x563d7a
cmp edx, 0x1680
je case.0x5653b4.8193
cmp ecx, 0x180e
jne case.default.0x56a75a
jmp case.0x5653b4.8193
cmp eax, 0x3000
ja case.default.0x56a75a
cmp edi, 0x3000
je case.0x5653b4.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x56a75a
movzx eax, byte [ecx + 0x56c9a0]
jmp dword [eax*4 + 0x56c998]
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, ecx
mov edi, ecx
cmp ecx, 0xc0
jb 0x5654d3
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x565410
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x5654cc
test cl, 0x10
jne 0x565431
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 0x5654cc
test cl, 8
jne 0x56545b
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 0x5654cc
test cl, 4
jne 0x565491
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 0x5654cc
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 0x5654f5
cmp edi, 0x85
je case.default.0x56a75a
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x5654ee
jmp dword [ecx*4 + 0x56ca00]
sub ecx, 0x2028
je case.default.0x56a75a
sub ecx, 1
je case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x5653d0
jmp 0x563d7a
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x565620
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x565572
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x565619
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x565593
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x565619
test dl, 8
jne 0x5655b6
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 0x565619
test dl, 4
jne 0x5655e5
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 0x565619
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 0x565642
cmp ecx, 0x85
je case.0x56563b.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56a75a
jmp dword [edx*4 + 0x56ca10]
sub edx, 0x2028
je case.0x56563b.10
sub edx, 1
jne case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x565530
jmp 0x563d7a
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x55fe95
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x56575e
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x5656b2
and eax, 0x1f
mov edx, ecx
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x565759
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x5656d3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x565759
test dl, 8
jne 0x5656f6
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 0x565759
test dl, 4
jne 0x565725
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 0x565759
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 0x565772
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.default.0x56a75a
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x565672
jmp 0x563d7a
cmp ecx, 1
jl 0x563d7e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x569265
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x56935a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565792
jmp 0x563d7e
mov edi, 1
cmp ecx, edi
jl 0x563d7e
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x569265
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x565803
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x56935a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x565828
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x565828
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x565810
inc edi
cmp edi, dword [esi + 0x90]
jle 0x5657e0
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x569265
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x56935a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565844
jmp 0x563d7e
mov edi, 1
cmp ecx, edi
jl 0x563d7e
mov edx, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x569265
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x5658b3
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x56935a.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x5658d8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5658d8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x5658c0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x565890
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x569265
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x56935a.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x5658f4
jmp 0x563d7e
cmp eax, 0xf
ja case.0x56a6d8.15
jmp dword [eax*4 + 0x56ca20]
mov ebx, 1
cmp ecx, ebx
jl 0x563d7a
nop dword [eax]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x55fff0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x565990
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0056f240
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x565984
mov eax, 1
jmp 0x565986
xor eax, eax
test eax, eax
jne case.default.0x56a75a
jmp 0x5659b7
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x5659b7
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x5659b7
cmp edi, 1
je case.default.0x56a75a
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.default.0x56a75a
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x5659ee
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x5659ee
cmp dword [ebp + 0x18], 0
jne 0x5659ee
cmp dword [ebp + 0x1c], 2
jne 0x5659ee
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x5659ee
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x56a0ac
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x565950
jmp 0x563d7a
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x564ec6
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
mov edx, 1
cmp ecx, edx
jl 0x563d7e
nop dword [eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x569265
mov al, byte [ecx]
inc ecx
movzx eax, al
add eax, 0xfffffff6
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x56935a.14
movzx eax, byte [eax + 0x56ca70]
jmp dword [eax*4 + 0x56ca60]
cmp ecx, dword [ebp + 0x78]
jae case.0x565a68.10
cmp byte [ecx], 0xa
jne case.0x565a68.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x565a68.10
cmp dword [ebp + 0x68], 0
jne case.0x56935a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x565a40
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edx, 1
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568e05
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x56935a.14
cmp ecx, 0x20
je case.0x56935a.14
cmp ecx, 0xa0
je case.0x56935a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x565ab0
jmp 0x563d7e
mov edx, 1
cmp ecx, edx
jl 0x563d7e
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568e05
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x565b29
cmp ecx, 0x20
je 0x565b29
cmp ecx, 0xa0
jne case.0x56935a.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x565b00
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edx, 1
mov edi, edx
nop word [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568e05
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x565b76.11
movzx eax, byte [eax + 0x56caf4]
mov edx, edi
jmp dword [eax*4 + 0x56caec]
inc edx
mov edi, edx
cmp edx, dword [esi + 0x90]
jle 0x565b50
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edx, 1
nop dword [eax + eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568e05
mov cl, byte [eax]
inc eax
mov dword [esi + 8], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x56935a.14
movzx eax, byte [eax + 0x56cb78]
jmp dword [eax*4 + 0x56cb70]
inc edx
cmp edx, dword [esi + 0x90]
jle 0x565ba0
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565a13
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x56935a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565bf0
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565a13
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x56935a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565c30
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565a13
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x56935a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565c70
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565a13
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x56935a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565cb0
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565a13
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x56935a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565cf0
jmp 0x563d7e
cmp ecx, 1
jl 0x563d7e
mov edi, 1
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565a13
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x56935a.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x565d30
jmp 0x563d7e
mov dword [esi + 0x84], eax
jmp 0x56ab46
mov dword [esi + 0x84], eax
jmp 0x56ad14
mov dword [esi + 0x84], eax
jmp 0x56aeda
mov dword [esi + 0x84], eax
jmp 0x56b098
mov dword [esi + 0x84], eax
jmp 0x56b256
mov dword [esi + 0x84], eax
jmp 0x56ba3d
mov dword [esi + 0x84], eax
jmp 0x56be57
mov dword [esi + 0x84], eax
jmp 0x56c095
mov dword [esi + 0x84], eax
jmp 0x56c276
mov dword [esi + 0x84], eax
jmp 0x56bc20
cmp dword [esi + 0x7c], 0x16
mov dword [esi + 0x84], eax
je 0x56b58b
test ebx, ebx
jne 0x56a7cb
jmp 0x569464
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x566d53
cmp eax, 0xa
ja case.0x56a6d8.15
jmp dword [eax*4 + 0x56cbf4]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x565e82
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x565e92
movzx ecx, byte [edx]
mov eax, 1
test ebx, ebx
je 0x565e6e
cmp ecx, 0xc0
jb 0x565e6e
test cl, 0x20
jne 0x565e48
mov eax, 2
jmp 0x565e6e
test cl, 0x10
jne 0x565e54
mov eax, 3
jmp 0x565e6e
test cl, 8
jne 0x565e60
mov eax, 4
jmp 0x565e6e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x565e82
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x565e20
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x56b5ee
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x565e82
cmp edx, dword [ebp + 0x84]
jbe 0x565e82
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x565e82
jmp 0x56c11a
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop word [eax + eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x566027
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x565fc4
cmp eax, 0xc0
jb 0x565fc4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x565f19
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x565fc0
test al, 0x10
jne 0x565f33
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x565fba
test al, 8
jne 0x565f56
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 0x565fba
test al, 4
jne 0x565f85
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 0x565fba
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp eax, 9
je 0x565ff9
cmp eax, 5
je 0x565ff9
cmp eax, 8
je 0x565ff9
xor eax, eax
jmp 0x565ffe
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x565e82
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 0x565ed0
jmp 0x565e82
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x565e82
cmp edx, dword [ebp + 0x84]
jbe 0x565e82
mov dword [ebp + 0x64], ebx
cmp eax, 1
jle 0x565e82
jmp 0x55f897
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop dword [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x5661be
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x566164
cmp eax, 0xc0
jb 0x566164
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5660b9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x566160
test al, 0x10
jne 0x5660d3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x56615a
test al, 8
jne 0x5660f6
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 0x56615a
test al, 4
jne 0x566125
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 0x56615a
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x565e82
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 0x566070
jmp 0x565e82
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x565e82
cmp edx, dword [ebp + 0x84]
jbe 0x565e82
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x565e82
jmp 0x55f897
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x5661be
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x5662f3
cmp eax, 0xc0
jb 0x5662f3
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x566248
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x5662ef
test al, 0x10
jne 0x566262
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x5662e9
test al, 8
jne 0x566285
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 0x5662e9
test al, 4
jne 0x5662b4
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 0x5662e9
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x565e82
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 0x566203
jmp 0x565e82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x5661be
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x566454
cmp eax, 0xc0
jb 0x566454
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5663a9
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x566450
test al, 0x10
jne 0x5663c3
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x56644a
test al, 8
jne 0x5663e6
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 0x56644a
test al, 4
jne 0x566415
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 0x56644a
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x565e82
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 0x566360
jmp 0x565e82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop dword [eax]
mov edx, dword [esi + 8]
mov ebx, 1
cmp edx, dword [ebp + 0x78]
jae 0x566027
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
je 0x5665b4
cmp eax, 0xc0
jb 0x5665b4
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x566509
and eax, 0x1f
mov ebx, 2
shl eax, 6
jmp 0x5665b0
test al, 0x10
jne 0x566523
and eax, 0xf
mov ebx, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x5665aa
test al, 8
jne 0x566546
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 0x5665aa
test al, 4
jne 0x566575
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 0x5665aa
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x5665eb
cmp eax, 3
je 0x5665eb
xor eax, eax
jmp 0x5665f0
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x565e82
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 0x5664c0
jmp 0x565e82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x566859
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 0x566749
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edx
cmp edx, 0xc0
jb 0x566749
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x566695
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x566739
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x5666b3
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x566733
and eax, 0x3f
test dl, 8
jne 0x5666d6
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 0x566733
test dl, 4
jne 0x566702
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 0x566733
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 0x566768
cmp eax, 0x20
je case.0x566846.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x566846.8203
jmp dword [eax*4 + 0x56cc20]
cmp edx, 0x2000
ja 0x56681e
cmp ecx, 0x2000
je case.0x566846.8193
cmp edx, 0x1680
ja 0x566816
je case.0x566846.8193
mov eax, edx
sub eax, 0x85
je case.0x566846.8193
sub eax, 0x1b
je case.0x566846.8193
mov eax, edx
test eax, eax
jns 0x5667b1
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x67c150]
shl eax, 7
and edx, 0x8000007f
jns 0x5667cb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp dword [eax*4 + 0x67a8e0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x565e82
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 0x566630
jmp 0x565e82
cmp edx, 0x180e
jmp 0x5667a2
cmp ebx, 0x3000
ja case.0x566846.8203
cmp dword [esp + 0x1c], 0x3000
je case.0x566846.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x566846.8203
movzx eax, byte [eax + 0x56cc3c]
jmp dword [eax*4 + 0x56cc34]
cmp dword [esi + 0x68], 0
jne 0x565e82
jmp 0x5667f3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x565e82
cmp edi, dword [ebp + 0x84]
jmp 0x5661d2
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop dword [eax + eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edx, dword [ebp + 0x78]
jae 0x5661be
cmp dword [esp + 0x28], 0
movzx eax, byte [edx]
mov ecx, eax
mov edi, eax
mov ebx, eax
je 0x56699a
cmp eax, 0xc0
jb 0x56699a
movzx ecx, byte [edx + 1]
and ecx, 0x3f
test al, 0x20
jne 0x5668e1
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
jmp 0x566994
test al, 0x10
jne 0x5668fe
and eax, 0xf
mov dword [esp + 0x18], 3
shl eax, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x56698e
test al, 8
jne 0x566924
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 0x56698e
test al, 4
jne 0x566956
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 0x56698e
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x5669d6
cmp eax, 3
je 0x5669d6
cmp ebx, 0x5f
je 0x5669d6
xor eax, eax
jmp 0x5669db
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x565e82
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 0x566890
jmp 0x565e82
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
nop dword [eax]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x566b63
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov ecx, edx
je 0x566b08
cmp edx, 0xc0
jb 0x566b08
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x566a6d
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x566b04
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x566a88
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x566afe
and eax, 0x3f
test dl, 8
jne 0x566aa8
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x566afe
test dl, 4
jne 0x566ad1
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 0x566afe
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 + 0x67a990]
lea eax, [eax*4 + 0x67a990]
jb 0x566b2d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x566b57
mov ecx, dword [eax]
cmp edx, ecx
jae 0x566b20
cmp dword [esi + 0x68], 0
je 0x565e82
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 0x566a20
jmp 0x565e82
cmp dword [esi + 0x68], 0
jne 0x565e82
jmp 0x566b37
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x565e82
cmp edi, dword [ebp + 0x84]
jmp 0x56603b
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x565e82
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x566d2d
cmp dword [esp + 0x28], 0
movzx edx, byte [edi]
mov eax, edx
mov dword [esp + 0x10], edx
mov ecx, edx
mov ebx, edx
je 0x566ccf
mov dword [esp + 0x10], edx
cmp edx, 0xc0
jb 0x566ccf
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x566bfb
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 0x566ccf
movzx eax, byte [edi + 2]
and eax, 0x3f
test dl, 0x10
jne 0x566c2b
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 0x566ccf
test dl, 8
jne 0x566c60
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 0x566ccf
test dl, 4
jne 0x566c8c
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 0x566cbd
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 0x566cfc
cmp ecx, 0x40
je 0x566cfc
cmp ebx, 0x60
je 0x566cfc
cmp dword [esp + 0x10], 0xa0
jb 0x566cf0
cmp edx, 0xd7ff
jbe 0x566cfc
cmp edx, 0xe000
jae 0x566cfc
xor eax, eax
jmp 0x566d01
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x565e82
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 0x566b92
jmp 0x565e82
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x565e82
cmp edi, dword [ebp + 0x84]
jbe 0x565e82
mov dword [ebp + 0x64], 1
jmp 0x566044
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x5670c9
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x56707a
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x567058
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 0x566e8a
mov dword [esp + 0x18], edi
cmp eax, 0xc0
jb 0x566e8a
test al, 0x20
jne 0x566dcb
movzx eax, byte [edi]
lea edx, [edi + 1]
and ecx, 0x1f
jmp 0x566e79
test al, 0x10
jne 0x566de9
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 0x566e79
test al, 8
jne 0x566e10
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 0x566e79
test al, 4
movzx eax, byte [edi]
jne 0x566e43
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 0x566e79
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 + 0x67c150]
mov ecx, edx
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad2]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x78]
cmp dword [esp + 0x18], eax
jae 0x56701b
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 0x566fa9
cmp edx, 0xc0
jb 0x566fa9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x566f11
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x566fa5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x566f29
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x566f9f
and eax, 0x3f
test dl, 8
jne 0x566f49
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x566f9f
test dl, 4
jne 0x566f72
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 0x566f9f
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 + 0x67c150]
mov edx, edi
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx ecx, byte [eax*8 + 0x67aad2]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x67a958], eax
mov ebp, dword [esp + 0xb0]
je 0x567013
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 0x566ed0
jmp 0x56701b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x567041
cmp edx, eax
jb 0x567041
cmp ecx, dword [ebp + 0x84]
jbe 0x567041
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x56a0ac
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jl 0x566d80
jmp 0x56707a
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x56707a
cmp ecx, dword [ebp + 0x84]
jbe 0x56707a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x55f897
cmp dword [esp + 0x24], 0
jne 0x55e883
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5670ba
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x569513
add eax, 0xfffffffa
test ebx, ebx
je 0x567edf
cmp eax, 0xf
ja case.0x56a6d8.15
jmp dword [eax*4 + 0x56cc9c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x567ecf
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jae 0x5671c3
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x567138
push dword [esp + 0x28]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0056f240
mov ecx, dword [ebp + 0x18]
add esp, 0x14
test eax, eax
je 0x56712c
mov eax, 1
jmp 0x56712e
xor eax, eax
test eax, eax
jne 0x567ecf
jmp 0x56715f
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x56715d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56715d
cmp edi, 1
je 0x567ecf
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x567ecf
xor ecx, ecx
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x567195
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, dword [ebp + 0x78]
jb 0x567195
test ecx, ecx
jne 0x567195
cmp dword [ebp + 0x1c], 2
jne 0x567195
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x567195
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x56a0ac
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5671b1
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x5671b1
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x5671a0
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x5670f6
jmp 0x567ecf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x567ecf
cmp ecx, dword [ebp + 0x84]
jbe 0x567ecf
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x567ecf
jmp 0x55f897
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x567248
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x567ecf
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x56724e
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x56723a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56723a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x567222
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x567210
jmp 0x567ecf
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x567ecf
cmp eax, dword [ebp + 0x84]
jbe 0x567ecf
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x567ecf
jmp 0x56c11a
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 0x5672c9
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x567ecf
cmp edx, dword [ebp + 0x84]
jbe 0x567ecf
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x567ecf
jmp 0x56c11a
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x567ecf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x567ecf
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ecx, edx
mov eax, edx
mov ebx, edx
cmp edx, 0xc0
jb 0x5673ee
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x56733e
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x5673e2
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x56735c
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x5673dc
and eax, 0x3f
test dl, 8
jne 0x56737f
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 0x5673dc
test dl, 4
jne 0x5673ab
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 0x5673dc
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 0x56740a
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x567ecf
cmp byte [eax], 0xa
jne 0x56744a
inc eax
jmp 0x567447
cmp eax, 0xa
je 0x567441
cmp dword [ebp + 0x68], 0
jne 0x567ecf
cmp ebx, 0xb
je 0x567441
cmp dword [esp + 0x10], 0xc
je 0x567441
cmp edx, 0x85
je 0x567441
cmp edx, 0x2028
je 0x567441
cmp edx, 0x2029
jne 0x567ecf
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 0x5672f0
jmp 0x567ecf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x567ecf
cmp edi, dword [ebp + 0x84]
jmp 0x5671d7
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x567ecf
nop dword [eax]
nop word [eax + eax]
mov edi, dword [esi + 8]
mov dword [esp + 0x18], 1
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov dword [esp + 0x10], edx
mov ebx, edx
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x56759a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x5674ea
and eax, 0x1f
mov dword [esp + 0x18], 2
shl eax, 6
mov edx, ecx
jmp 0x56758e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x567508
and edx, 0xf
mov dword [esp + 0x18], 3
shl edx, 6
or edx, ecx
jmp 0x567588
and eax, 0x3f
test dl, 8
jne 0x56752b
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 0x567588
test dl, 4
jne 0x567557
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 0x567588
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 0x56760a
cmp ebx, 0x2000
je case.0x56762b.8193
cmp edx, 0xa0
ja 0x5675fa
je case.0x56762b.8193
cmp edx, 9
je case.0x56762b.8193
cmp edx, 0x20
je case.0x56762b.8193
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp ecx, eax
je 0x567ecf
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 0x5674a0
jmp 0x567ecf
cmp edx, 0x1680
je case.0x56762b.8193
cmp edx, 0x180e
jmp 0x5675c2
cmp eax, 0x3000
ja case.0x56762b.8203
cmp ecx, 0x3000
je case.0x56762b.8193
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x56762b.8203
movzx eax, byte [edx + 0x56cce4]
jmp dword [eax*4 + 0x56ccdc]
mov ecx, 1
jmp 0x5675c6
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x567ecf
nop
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x567791
movzx edx, byte [edi]
mov eax, edx
mov ecx, edx
cmp edx, 0xc0
jb 0x56772c
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567692
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ebx, 2
jmp 0x567726
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x5676aa
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x567720
and eax, 0x3f
test dl, 8
jne 0x5676ca
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x567720
test dl, 4
jne 0x5676f3
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 0x567720
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 0x56774a
cmp ecx, 0x85
je case.0x567743.10
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x567743
jmp dword [edx*4 + 0x56cd44]
sub edx, 0x2028
je case.0x567743.10
sub edx, 1
je case.0x567743.10
xor ecx, ecx
jmp 0x567760
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp ecx, eax
je 0x567ecf
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 0x567650
jmp 0x567ecf
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x567ecf
cmp edi, dword [ebp + 0x84]
jbe 0x567ecf
mov dword [ebp + 0x64], ebx
jmp 0x5671e4
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x567ecf
nop dword [eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x5678c3
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567814
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x5678bd
test dl, 0x10
jne 0x56782f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x5678b7
test dl, 8
jne 0x567853
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 0x5678b7
test dl, 4
jne 0x567883
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 0x5678b7
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 0x5678da
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x567ecf
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 0x5677d0
jmp 0x567ecf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x567ecf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x5679e9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567950
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x5679e5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x567968
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x5679df
and eax, 0x3f
test dl, 8
jne 0x567988
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x5679df
test dl, 4
jne 0x5679b1
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 0x5679df
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 0x567ecf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x567ecf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x567910
jmp 0x567ecf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x567ecf
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x567b23
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567a74
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x567b1d
test dl, 0x10
jne 0x567a8f
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x567b17
test dl, 8
jne 0x567ab3
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 0x567b17
test dl, 4
jne 0x567ae3
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 0x567b17
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 0x567b3a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x567ecf
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 0x567a30
jmp 0x567ecf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x567ecf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x567c49
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567bb0
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x567c45
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x567bc8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x567c3f
and eax, 0x3f
test dl, 8
jne 0x567be8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x567c3f
test dl, 4
jne 0x567c11
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 0x567c3f
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 0x567ecf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x567ecf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x567b70
jmp 0x567ecf
mov eax, dword [esi + 0x90]
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jge 0x567ecf
nop
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov ebx, 1
mov eax, ebx
mov ecx, edx
cmp edx, 0xc0
jb 0x567d83
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567cd4
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x567d7d
test dl, 0x10
jne 0x567cef
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
mov ebx, 3
or edx, ecx
jmp 0x567d77
test dl, 8
jne 0x567d13
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 0x567d77
test dl, 4
jne 0x567d43
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 0x567d77
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 0x567d9a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x567ecf
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 0x567c90
jmp 0x567ecf
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x567ecf
nop dword [eax + eax]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x567464
movzx edx, byte [edi]
mov ecx, 1
mov eax, edx
cmp edx, 0xc0
jb 0x567eac
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x567e10
and eax, 0x1f
mov edx, ecx
shl eax, 6
mov ecx, 2
jmp 0x567ea8
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x567e2b
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x567ea2
and eax, 0x3f
test dl, 8
jne 0x567e4b
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x567ea2
test dl, 4
jne 0x567e74
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 0x567ea2
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 0x567ecf
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x567ecf
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x567dd0
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x56aa55
cmp eax, 0xf
ja case.0x56a6d8.15
jmp dword [eax*4 + 0x56cd54]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge case.0x5681c0.10
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x78]
cmp edx, ecx
jae 0x567fbb
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x567f48
push 0
lea eax, [ebp + 0x1c]
push eax
push ecx
push edi
push edx
call fcn.0056f240
mov ecx, dword [ebp + 0x78]
add esp, 0x14
test eax, eax
je 0x567f3c
mov eax, 1
jmp 0x567f3e
xor eax, eax
test eax, eax
jne case.0x5681c0.10
jmp 0x567f6f
mov edi, dword [ebp + 0x1c]
mov eax, ecx
sub eax, edi
cmp edx, eax
ja 0x567f6f
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x567f6f
cmp edi, 1
je case.0x5681c0.10
mov al, byte [edx + 1]
cmp al, byte [ebp + 0x35]
je case.0x5681c0.10
mov edi, dword [ebp + 0x88]
test edi, edi
je 0x567fa6
mov edx, dword [esi + 8]
lea eax, [edx + 1]
cmp eax, ecx
jb 0x567fa6
cmp dword [ebp + 0x18], 0
jne 0x567fa6
cmp dword [ebp + 0x1c], 2
jne 0x567fa6
mov al, byte [edx]
cmp al, byte [ebp + 0x34]
jne 0x567fa6
mov dword [ebp + 0x64], 1
cmp edi, 1
jg 0x56a0ac
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x567f01
jmp case.0x5681c0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x5681c0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x5681c0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x5681c0.10
jmp 0x55f897
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 0x568036
mov dword [esi + 8], edx
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x5681c0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x5681c0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x5681c0.10
jmp 0x56c11a
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp case.0x5681c0.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x5681c0.10
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5680b2
mov al, byte [ecx]
cmp al, 0xd
jne 0x568078
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae case.0x5681c0.10
cmp byte [eax], 0xa
jne 0x5680a4
inc eax
jmp 0x5680a1
cmp al, 0xa
je 0x56809e
cmp dword [ebp + 0x68], 0
jne case.0x5681c0.10
cmp al, 0xb
je 0x56809e
cmp al, 0xc
je 0x56809e
cmp al, 0x85
jne case.0x5681c0.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x568053
jmp case.0x5681c0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x5681c0.10
cmp ecx, dword [ebp + 0x84]
jmp 0x56801b
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x5681c0.10
nop dword [eax]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568117
mov cl, byte [eax]
cmp cl, 9
je case.0x5681c0.10
cmp cl, 0x20
je case.0x5681c0.10
cmp cl, 0xa0
je case.0x5681c0.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5680e0
jmp case.0x5681c0.10
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x5681c0.10
cmp eax, dword [ebp + 0x84]
jbe case.0x5681c0.10
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x5681c0.10
jmp 0x56c11a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x5681c0.10
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x568117
mov cl, byte [eax]
cmp cl, 9
je 0x568179
cmp cl, 0x20
je 0x568179
cmp cl, 0xa0
jne case.0x5681c0.10
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x568158
jmp case.0x5681c0.10
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
jge case.0x5681c0.10
mov edi, ecx
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x568007
movzx eax, byte [edx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x5681c0.11
movzx eax, byte [eax + 0x56cd9c]
mov ecx, edi
jmp dword [eax*4 + 0x56cd94]
lea eax, [edx + 1]
inc ecx
mov dword [esi + 8], eax
mov edi, ecx
cmp ecx, dword [esi + 0x8c]
jl 0x5681a0
jmp case.0x5681c0.10
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge case.0x5681c0.10
nop
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x5680b2
movzx eax, byte [ecx]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x5681c0.10
movzx eax, byte [eax + 0x56ce20]
jmp dword [eax*4 + 0x56ce18]
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x5681f0
jmp case.0x5681c0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x5681c0.10
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x568007
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x5681c0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x568240
jmp case.0x5681c0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x5681c0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x568007
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x5681c0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x568282
jmp case.0x5681c0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x5681c0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x568007
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x5681c0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x5682c4
jmp case.0x5681c0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x5681c0.10
nop word [eax + eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x568007
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x5681c0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x568310
jmp case.0x5681c0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x5681c0.10
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x568007
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x5681c0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x568352
jmp case.0x5681c0.10
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge case.0x5681c0.10
nop dword [eax]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x5683b5
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x5681c0.10
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x568390
jmp case.0x5681c0.10
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x5681c0.10
cmp edx, dword [ebp + 0x84]
jbe case.0x5681c0.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x56c11a
cmp dword [esp + 0x24], 0
jne 0x55e883
jmp 0x5694d4
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3ff
mov edi, 0xfffffffb
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x568414
jmp dword [eax*4 + 0x56ce9c]
cmp edi, 0xfffffc1b
je 0x5684fe
cmp edi, 0xfffffc20
jne 0x568469
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.0x56892c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x568462
cmp byte [ecx], 0x77
jne case.default.0x56892c
xor edi, edi
jmp 0x568471
test edi, edi
jne case.default.0x56892c
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 0x5684fe
cmp dword [esi + 0x9c], 0x88
jb 0x5684bd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x5684e6
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
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 0x568404
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp edi, 0xfffffc20
jne 0x56861a
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 0x568674
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x568590
cmp byte [ecx], 0x77
jne 0x568674
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.0x56935a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x568685
cmp eax, 0x81
je 0x568685
cmp dword [ebp + 0x6c], 0
jne 0x56868f
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 0x56868f
movzx eax, byte [edx]
movzx eax, byte [eax + 0x67a7c8]
add eax, edx
mov dword [esi + 0xc], eax
jmp 0x55e810
test edi, edi
je 0x568590
cmp edi, 0xfffffc1b
jne 0x568674
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x81
je 0x568669
cmp byte [eax], 0x77
mov ebx, eax
jne 0x568658
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 0x568640
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 0x568544
jmp 0x568400
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 0x5686cd
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
cmp edi, 1
jne 0x568764
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x568700
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x92
jne 0x568717
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 0x568749
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 0x568732
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
movzx eax, byte [eax + 0x67a7c8]
sub ecx, eax
add ecx, 3
mov dword [esi + 0xc], ecx
jmp 0x55ed2c
test edi, edi
je 0x55ed2c
cmp edi, 0xfffffc20
je 0x55ed2c
jmp case.default.0x56892c
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
add eax, ecx
mov dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
jne 0x56879c
cmp byte [eax - 3], 0x77
jne 0x55e883
cmp dword [esi + 0x9c], 0x8c
jne 0x55e810
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5687df
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x569513
cmp edi, 1
je 0x5688a0
cmp edi, 0xfffffc19
je 0x5688a0
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x568846
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.0x56892c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x56884e
cmp byte [ecx], 0x77
jmp 0x568848
test edi, edi
jne case.default.0x56892c
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 0x5688a6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568891
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x5689e5
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x78
je case.0x56935a.14
cmp dword [esi + 0x58], 0
jne 0x568982
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 0x5688c0
add eax, 3
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x55e883
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc1c
jg 0x56890f
je case.0x56892c.995
cmp edi, 0xfffffc19
jmp 0x568a1c
test edi, edi
jg 0x568a17
je 0x568998
lea eax, [edi + 0x3e3]
cmp eax, 3
ja case.default.0x56892c
jmp dword [eax*4 + 0x56cfa8]
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.0x56892c.995
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x568998
cmp byte [ecx], 0x77
je 0x568998
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 0x568961
cmp dword [esi + 0x58], 0
je 0x568c27
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c352
mov edi, 1
jmp 0x568400
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 0x568978
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5689db
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x55e800
mov eax, edi
sub eax, 1
je case.0x56935a.14
jmp case.default.0x56892c
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.00541970
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 0x56c2a9
cmp edi, 0xfffffc19
je 0x56c2a9
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x568a90
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.0x56935a.14
push ecx
call dword [0x6f6c28]
add esp, 4
jmp case.0x56935a.14
test edi, edi
je 0x568ab4
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je case.default.0x56892c
push ecx
call dword [0x6f6c28]
add esp, 4
jmp case.default.0x56892c
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 0x568b59
cmp dword [esi + 0x58], 0
je 0x568aec
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x568b15
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 + 0x67a7c8]
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 0x55e800
mov eax, dword [esi + 0x3c]
mov dword [ebp + 0xa4], eax
jmp 0x568a70
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 0x34]
mov al, byte [ecx]
cmp al, 0x81
jne 0x568bb5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568b9d
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
cmp al, 0x88
jb 0x56c2d8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568be6
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
test edi, edi
jne case.default.0x56892c
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 0x568c10
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x55e883
test edi, edi
je case.0x5607a6.10
jmp case.default.0x56892c
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c362
mov edi, 0xfffffc1b
jmp 0x568404
cmp edi, 0xfffffc1b
jne 0x568c80
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x568c82
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x569b06
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568cbd
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
push dword [esp + 0x30]
mov edi, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0056d350
add esp, 0x14
test eax, eax
jns 0x568d48
mov ecx, edi
cmp eax, 0xfffffffe
jne 0x568d26
mov edi, dword [ebp + 0x78]
mov ecx, edi
mov dword [esi + 8], edi
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edi, dword [ebp + 0x78]
jb case.0x56935a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x56227e
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568d7c
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x569513
test edi, edi
jne case.default.0x56892c
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.0x56a75a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568dd4
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x568e24
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56935a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56935a.14
jmp 0x55f84f
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.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568e75
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x569513
test edi, edi
jne case.default.0x56892c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.default.0x56a75a
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568ec4
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x568f14
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56935a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56935a.14
jmp 0x55f84f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x568f2f
cmp dword [esi + 0x94], ecx
jne case.0x56935a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568f62
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x569513
dec dword [esi + 8]
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x568fb1
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56226a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
jne case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56902a
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x569513
dec dword [esi + 8]
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569079
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x5690c9
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56935a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56935a.14
jmp 0x55f84f
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x56935a.14
cmp dword [esi + 0x94], ecx
je case.0x56935a.14
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569117
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x569513
test edi, edi
jne case.default.0x56892c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569166
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56226a
movzx ecx, byte [edi]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x5691df
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x569513
test edi, edi
jne case.default.0x56892c
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56922e
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x56927e
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x56227e
cmp dword [esi + 0x7c], 0xc
jne 0x5692d9
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x5692ac
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0056f240
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x5692d9
jmp case.0x56935a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x5692d9
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x5692d9
cmp edi, 1
je case.0x56935a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x56935a.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.0x56a6d8.15
jmp dword [eax*4 + 0x56cfb8]
mov edi, dword [ebp + 0x88]
test edi, edi
je case.0x5692f4.13
cmp edx, dword [ebp + 0x78]
jb case.0x5692f4.13
cmp dword [ebp + 0x18], 0
jne case.0x5692f4.13
cmp dword [ebp + 0x1c], 2
jne case.0x5692f4.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x5692f4.13
mov dword [ebp + 0x64], 1
cmp edi, 1
jle case.0x5692f4.13
jmp 0x56c11a
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x56935a.14
movzx eax, byte [ecx + 0x56d008]
jmp dword [eax*4 + 0x56cff8]
cmp edx, dword [ebp + 0x78]
jae case.0x5692f4.13
cmp byte [edx], 0xa
jne case.0x5692f4.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x5692f4.13
cmp dword [ebp + 0x68], 0
je case.0x5692f4.13
jmp case.0x56935a.14
cmp ecx, 9
je case.0x56935a.14
cmp ecx, 0x20
je case.0x56935a.14
cmp ecx, 0xa0
jne case.0x5692f4.13
jmp case.0x56935a.14
cmp ecx, 9
je case.0x5692f4.13
cmp ecx, 0x20
je case.0x5692f4.13
cmp ecx, 0xa0
je case.0x5692f4.13
jmp case.0x56935a.14
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x5692f4.13
movzx eax, byte [ecx + 0x56d08c]
jmp dword [eax*4 + 0x56d084]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x56935a.14
movzx eax, byte [ecx + 0x56d110]
jmp dword [eax*4 + 0x56d108]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x5692f4.13
jmp case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x5692f4.13
jmp case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x5692f4.13
jmp case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x5692f4.13
jmp case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x5692f4.13
jmp case.0x56935a.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56948d
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 8]
dec eax
mov dword [esi + 8], eax
cmp dword [esi + 0x7c], 0x11
jne 0x5694d4
cmp eax, dword [esi + 0x30]
jbe 0x5694d4
cmp byte [eax], 0xa
jne 0x5694d4
dec eax
cmp byte [eax], 0xd
jne 0x5694d4
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569509
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x55e800
cmp edi, 0xfffffc1a
jne 0x5695a1
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 0x569599
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 0x569580
jmp 0x569601
mov dword [esi + 8], eax
jmp 0x569626
cmp edi, 0xfffffc20
jne 0x5695db
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.0x56892c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x5695e3
cmp byte [ecx], 0x77
jmp 0x5695dd
test edi, edi
jne case.default.0x56892c
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 0x56961a
cmp dword [esi + 0x5c], 0
jne 0x568c27
cmp dword [esi + 0x54], 0
jne 0x568c27
jmp case.0x56935a.14
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x569640
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x569669
push 0x134
call dword [0x6f6c2c]
mov edx, eax
add esp, 4
test edx, edx
je 0x56c0b8
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 0x568b28
mov eax, dword [esi]
mov esi, eax
test edi, edi
je 0x569797
jmp 0x56853c
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x56853c
test eax, eax
je 0x56c372
mov edi, 0xfffffc1c
jmp 0x568404
test edi, edi
je 0x569741
jmp case.default.0x56892c
cmp edi, 1
je 0x5696d2
cmp edi, 0xfffffc19
jne 0x5696f0
cmp dword [ebp + 0xac], 0
jne 0x5696f0
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp case.default.0x56892c
cmp edi, 0xfffffc1f
jne case.default.0x56892c
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x569734
test dl, dl
je 0x56972d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x569734
add eax, 2
add ecx, 2
test dl, dl
jne 0x569705
xor eax, eax
jmp 0x569739
sbb eax, eax
or eax, 1
test eax, eax
jne case.default.0x56892c
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c382
mov edi, 0xfffffc1e
jmp 0x568404
cmp edi, 1
je 0x569772
cmp edi, 0xfffffc19
jne 0x56978b
cmp dword [ebp + 0xac], 0
jne 0x56978b
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov eax, dword [esi]
mov esi, eax
test edi, edi
jne 0x56853c
test eax, eax
je 0x56c392
mov edi, 0xfffffc1d
jmp 0x568404
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3a2
mov edi, 0xfffffc1f
jmp 0x568404
cmp edi, 1
je 0x5697e5
cmp edi, 0xfffffc19
jne case.0x568414.54
cmp dword [ebp + 0xac], 0
jne case.0x568414.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3b2
mov edi, 0xfffffc20
jmp 0x568404
cmp edi, 0xfffffc1a
jne 0x569887
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 0x56987f
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 0x569863
jmp 0x5698f3
mov dword [esi + 8], eax
jmp 0x55f422
cmp edi, 0xfffffc20
jne 0x5698c1
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.0x56892c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x5698c9
cmp byte [ecx], 0x77
jmp 0x5698c3
test edi, edi
jne case.default.0x56892c
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 0x55f422
cmp dword [esi + 0x5c], 0
jne 0x569933
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 0x55eedf
cmp dword [esi + 0x5c], 0
jne 0x55eedf
jmp case.0x56935a.14
cmp edi, 1
jne 0x5699fd
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x569970
cmp al, 0x77
jne case.0x56935a.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 0x569970
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 0x560fe2
cmp ecx, dword [esi + 0x38]
je 0x560fe2
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x569aad
test ecx, ecx
jne 0x5699e2
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
cmp edi, 0xfffffc20
jne 0x569a37
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.0x56892c
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x569a3f
cmp byte [ecx], 0x77
jmp 0x569a39
test edi, edi
jne case.default.0x56892c
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 0x56995b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569a92
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
test ecx, ecx
jne 0x569ad3
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
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 0x56951c
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x55e810
test edi, edi
jne case.default.0x56892c
add dword [esi + 0xc], 3
jmp 0x55e810
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56226a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
test ebx, ebx
je 0x569c27
cmp edx, 0xc0
jb 0x569c27
test dl, 0x20
jne 0x569b6f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x569c24
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x569b9a
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x569c24
test dl, 8
jne 0x569bc1
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 0x569c24
test dl, 4
jne 0x569bf0
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 0x569c24
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.0056eb20
add esp, 0xc
test eax, eax
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569c6b
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.0x56935a.14
test ebx, ebx
je 0x569cb4
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x569cb4
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x569ca8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569cdd
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x569d27
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x56227e
movzx ebx, byte [ecx]
inc ecx
mov dword [esi + 8], ecx
mov edi, ebx
mov eax, ebx
cmp ebx, 0xc0
jb 0x569e23
movzx eax, byte [ecx]
and eax, 0x3f
test bl, 0x20
jne 0x569d5d
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 1]
jmp 0x569e1c
test bl, 0x10
jne 0x569d7e
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 0x569e1c
test bl, 8
jne 0x569dab
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 0x569e1c
test bl, 4
jne 0x569de1
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 0x569e1c
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 0x569e4a
cmp dword [esi + 0x9c], 0x6e
jne 0x569e61
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3e2
mov ebx, dword [esp + 0x28]
xor edi, edi
jmp 0x568404
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 0x569e31
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569e90
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe case.default.0x56a75a
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x569ed1
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x569ec5
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x569efa
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.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 0x569fb5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x569f65
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x569f6a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x569f50
cmp edi, 0xfffffffc
je 0x569fa7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x569fb2
cmp edi, 0xfffffffd
je 0x569fa7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x569fb2
cmp edi, 0xfffffffe
je 0x569fa7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x569fb2
cmp edi, 0xffffffff
je 0x569fa7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x569fb2
mov eax, dword [esi + 0x88]
jmp 0x56a036
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x56a079
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x56a079
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x569ff5
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x569ffa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x569fe0
cmp edi, 0xfffffffc
je 0x56a033
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x56a079
cmp edi, 0xfffffffd
je 0x56a033
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x56a079
cmp edi, 0xfffffffe
je 0x56a033
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x56a079
cmp edi, 0xffffffff
je 0x56a033
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x56a079
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 0x56a06a
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x569513
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x56a75a
cmp ebx, dword [ebp + 0x78]
jb case.default.0x56a75a
cmp ebx, dword [ebp + 0x84]
jbe case.default.0x56a75a
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x56a75a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x568404
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56a0ed
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56a0e1
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56a122
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56226a
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov eax, edx
cmp edx, 0xc0
jb 0x56a25a
test dl, 0x20
jne 0x56a190
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 0x56a25a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x56a1c0
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 0x56a25a
test dl, 8
jne 0x56a1eb
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 0x56a25a
test dl, 4
jne 0x56a21f
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 0x56a25a
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.0x56935a.14
cmp dword [esi + 0x94], eax
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56a2a1
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56a2dc
nop dword [eax + eax]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56a2d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56a311
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x56a361
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56935a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56935a.14
jmp 0x55f84f
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x14], ebx
mov dword [esi + 8], eax
cmp ebx, 0xc0
jb 0x56a46d
mov cl, byte [eax]
test bl, 0x20
jne 0x56a392
inc eax
and ebx, 0x1f
mov dword [esi + 8], eax
movzx eax, cl
jmp 0x56a465
mov dl, byte [eax + 1]
test bl, 0x10
jne 0x56a3b6
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 0x56a465
test bl, 8
jne 0x56a3f1
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 0x56a46d
mov ch, byte [eax + 3]
movzx edi, cl
and edi, 0x3f
test bl, 4
mov bl, byte [eax + 2]
movzx ebx, bl
jne 0x56a42f
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 0x56a465
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.0x56a75a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56a4a8
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56a4de
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56a4d2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56a513
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x56a55f
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp ecx, dword [ebp + 0x84]
jmp 0x56227e
cmp dword [esi + 0x7c], 0xc
jne 0x56a5b2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x56a589
push ebx
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0056f240
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x56a5b2
jmp case.0x56935a.14
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x56a5b2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x56a5b2
cmp edi, 1
je case.0x56935a.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x56935a.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 0x56a6c9
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x56a603
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
inc edi
jmp 0x56a6ae
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x56a628
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add edi, 2
jmp 0x56a6ae
test dl, 8
jne 0x56a64b
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 0x56a6ae
test dl, 4
jne 0x56a67a
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 0x56a6ae
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.0x56a6d8.15
jmp dword [eax*4 + 0x56d18c]
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56a6d8.13
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x78]
jb case.0x56a6d8.13
cmp dword [ebp + 0x18], 0
jne case.0x56a6d8.13
cmp dword [ebp + 0x1c], 2
jne case.0x56a6d8.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x56a6d8.13
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle case.0x56a6d8.13
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x568404
cmp edx, 0x85
ja 0x56a773
je case.0x56a75a.11
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56a75a
jmp dword [edx*4 + 0x56d1cc]
cmp edi, dword [ebp + 0x78]
jae case.0x56a6d8.13
cmp byte [edi], 0xa
jne case.0x56a6d8.13
lea eax, [edi + 1]
mov dword [esi + 8], eax
jmp case.0x56a6d8.13
sub edx, 0x2028
je case.0x56a75a.11
sub edx, 1
jne case.default.0x56a75a
cmp dword [ebp + 0x68], 0
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp edx, 0x2000
ja 0x56a817
je case.default.0x56a75a
cmp edx, 0xa0
ja 0x56a803
je case.default.0x56a75a
cmp edx, 9
je case.default.0x56a75a
cmp edx, 0x20
je case.default.0x56a75a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56a7f4
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x569513
cmp edx, 0x1680
je case.default.0x56a75a
cmp edx, 0x180e
jmp 0x56a7bf
cmp edx, 0x3000
ja case.0x56a6d8.13
je case.default.0x56a75a
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x56a6d8.13
movzx eax, byte [edx + 0x56d1e4]
jmp dword [eax*4 + 0x56d1dc]
cmp edx, 0x2000
ja 0x56a88e
je case.0x56a6d8.13
cmp edx, 0xa0
ja 0x56a871
je case.0x56a6d8.13
cmp edx, 9
je case.0x56a6d8.13
cmp edx, 0x20
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp edx, 0x1680
je case.0x56a6d8.13
cmp edx, 0x180e
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp edx, 0x3000
ja case.default.0x56a75a
je case.0x56a6d8.13
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.default.0x56a75a
movzx eax, byte [edx + 0x56d24c]
jmp dword [eax*4 + 0x56d244]
cmp edx, 0x85
ja 0x56a8de
je case.default.0x56a75a
add edx, 0xfffffff6
cmp edx, 3
ja case.0x56a6d8.13
jmp dword [edx*4 + 0x56d2ac]
sub edx, 0x2028
je case.default.0x56a75a
sub edx, 1
jne case.0x56a6d8.13
jmp case.default.0x56a75a
cmp edx, 0x85
ja 0x56a919
je case.0x56a6d8.13
add edx, 0xfffffff6
cmp edx, 3
ja case.default.0x56a75a
jmp dword [edx*4 + 0x56d2bc]
sub edx, 0x2028
je case.0x56a6d8.13
sub edx, 1
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp ecx, 0x100
jae case.0x56a6d8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp ebx, 0x100
jae case.default.0x56a75a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x56a6d8.13
jmp case.default.0x56a75a
cmp dword [esp + 0x18], 0x100
jae case.0x56a6d8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp dword [esp + 0x10], 0x100
jae case.default.0x56a75a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x56a6d8.13
jmp case.default.0x56a75a
cmp dword [esp + 0x1c], 0x100
jae case.0x56a6d8.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x56a6d8.13
jmp case.default.0x56a75a
cmp dword [esp + 0x20], 0x100
jae case.default.0x56a75a
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x56a6d8.13
jmp case.default.0x56a75a
mov eax, dword [esi]
mov esi, eax
test eax, eax
je case.default.0x568414
mov edi, 0xfffffff2
jmp 0x568400
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56aa2c
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56aa20
cmp dword [esi + 0x7c], 0x11
jne 0x56aa55
cmp ecx, dword [esi + 0x30]
jbe 0x56aa55
cmp byte [ecx], 0xa
jne 0x56aa55
dec ecx
cmp byte [ecx], 0xd
jne 0x56aa55
mov dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56aa8a
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x56aada
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je case.0x56935a.14
cmp eax, dword [ebp + 0x84]
jbe case.0x56935a.14
jmp 0x55f84f
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
test ebx, ebx
je 0x56ab36
cmp ecx, 0xc0
jb 0x56ab36
test cl, 0x20
jne 0x56aafd
lea eax, [edx + 1]
jmp 0x56ab33
test cl, 0x10
jne 0x56ab0e
add eax, 3
jmp 0x56ab33
test cl, 8
jne 0x56ab1f
add eax, 4
jmp 0x56ab33
test cl, 4
jne 0x56ab30
add eax, 5
jmp 0x56ab33
add eax, 6
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
jne case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56ab6f
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56abb9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x56acbc
cmp eax, 0xc0
jb 0x56acbc
test al, 0x20
jne 0x56abf5
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56acb7
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 0x10
jne 0x56ac1b
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 0x56acb7
test al, 8
jne 0x56ac47
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 0x56acb7
test al, 4
jne 0x56ac7c
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 0x56acb7
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp eax, 9
je 0x56ad00
cmp eax, 5
je 0x56ad00
cmp eax, 8
je 0x56ad00
xor eax, eax
jmp 0x56ad05
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56ad3d
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56ad87
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x56ae9a
cmp eax, 0xc0
jb 0x56ae9a
test al, 0x20
jne 0x56adc3
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56ae95
test al, 0x10
jne 0x56adeb
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 0x56ae95
test al, 8
jne 0x56ae1f
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 0x56ae95
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x56ae5a
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 0x56ae95
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56af03
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56af4d
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x56b05f
cmp eax, 0xc0
jb 0x56b05f
test al, 0x20
jne 0x56af89
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56b05a
test al, 0x10
jne 0x56afaf
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 0x56b05a
test al, 8
jne 0x56afe1
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 0x56b05a
test al, 4
movzx eax, byte [edx]
jne 0x56b01c
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 0x56b05a
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56b0c1
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56b10b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x56b21d
cmp eax, 0xc0
jb 0x56b21d
test al, 0x20
jne 0x56b147
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56b218
test al, 0x10
jne 0x56b16d
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 0x56b218
test al, 8
jne 0x56b19f
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 0x56b218
test al, 4
movzx eax, byte [edx]
jne 0x56b1da
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 0x56b218
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 + 0x67c150]
xor ecx, ecx
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad0]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56b27f
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56b2c9
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
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 0x56b3ca
mov dword [esp + 0x14], edx
cmp eax, 0xc0
jb 0x56b3ca
test al, 0x20
jne 0x56b30a
movzx eax, byte [edx]
lea edi, [edx + 1]
and ecx, 0x1f
jmp 0x56b3b9
test al, 0x10
jne 0x56b32a
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 0x56b3b9
test al, 8
jne 0x56b353
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 0x56b3b9
movzx ecx, byte [edx]
and ecx, 0x3f
test al, 4
jne 0x56b386
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 0x56b3b9
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 + 0x67c150]
shl eax, 7
add eax, ebx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad2]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x14], edx
jae 0x56b546
mov dword [esp + 0x14], edx
cmp dword [esp + 0x28], 0
mov ebx, 1
movzx edx, byte [edi]
mov ecx, edx
je 0x56b4e9
cmp edx, 0xc0
jb 0x56b4e9
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x56b446
mov eax, edx
mov ebx, 2
and eax, 0x1f
mov edx, ecx
shl eax, 6
jmp 0x56b4e5
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x56b465
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x56b4df
and eax, 0x3f
test dl, 8
jne 0x56b489
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x56b4df
test dl, 4
jne 0x56b4b2
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 0x56b4df
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 + 0x67c150]
mov edx, dword [esp + 0x14]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx ecx, byte [eax*8 + 0x67aad2]
mov eax, 1
shl eax, cl
test dword [ebp*4 + 0x67a958], eax
mov ebp, dword [esp + 0xb0]
je 0x56b546
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 0x56b401
mov ecx, dword [ebp + 0x88]
test ecx, ecx
je 0x56b585
mov eax, dword [esi + 8]
cmp eax, edx
jb 0x56b585
cmp eax, dword [ebp + 0x84]
jbe 0x56b585
mov dword [ebp + 0x64], 1
cmp ecx, 1
jle 0x56b585
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3d2
mov ebx, dword [esp + 0x28]
mov edi, 0xfffffff4
jmp 0x568404
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56b5b4
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov ecx, dword [esi + 8]
dec ecx
mov dword [esi + 8], ecx
test ebx, ebx
je 0x56b5ee
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x56b5ee
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x56b5e2
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x55e810
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56b623
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov edi, dword [esi + 8]
dec edi
mov dword [esi + 8], edi
test ebx, ebx
jne 0x56b651
movzx edx, byte [edi]
jmp 0x56b72d
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x56b66c
nop dword [eax]
dec edi
mov dword [esi + 8], edi
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x56b660
mov edi, dword [esi + 8]
movzx edx, byte [edi]
mov ecx, edx
cmp edx, 0xc0
jb 0x56b72f
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x56b69f
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x56b72b
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x56b6b9
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x56b725
and eax, 0x3f
test dl, 8
jne 0x56b6d8
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x56b725
test dl, 4
jne 0x56b6fc
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 0x56b725
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 + 0x67c150]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx ebx, byte [eax*8 + 0x67aad2]
mov eax, edi
cmp eax, dword [esi + 0x30]
jbe 0x55e810
cmp dword [esp + 0x28], 0
lea edx, [edi - 1]
mov edi, edx
jne 0x56b774
movzx edx, byte [edi]
jmp 0x56b850
mov cl, byte [edi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x56b792
mov al, byte [edx - 1]
lea edi, [edx - 1]
mov cl, al
mov edx, edi
and al, 0xc0
cmp al, 0x80
je 0x56b782
movzx edx, cl
mov ecx, edx
cmp edx, 0xc0
jb 0x56b852
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x20
jne 0x56b7c2
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
jmp 0x56b84e
movzx eax, byte [edi + 2]
test dl, 0x10
jne 0x56b7dc
and edx, 0xf
shl edx, 6
or edx, ecx
jmp 0x56b848
and eax, 0x3f
test dl, 8
jne 0x56b7fb
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x56b848
test dl, 4
jne 0x56b81f
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 0x56b848
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 + 0x67c150]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x67e350]
movzx edx, byte [eax*8 + 0x67aad2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x67a958], eax
je 0x567085
mov dword [esi + 8], edi
mov ebx, edx
jmp 0x56b751
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56b8d3
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
movzx eax, byte [edx]
inc edx
mov dword [esi + 8], edx
mov ecx, eax
mov edi, eax
test ebx, ebx
je 0x56b9e7
cmp eax, 0xc0
jb 0x56b9e7
test al, 0x20
jne 0x56b90f
movzx eax, byte [edx]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x56b9e2
test al, 0x10
jne 0x56b935
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 0x56b9e2
test al, 8
jne 0x56b967
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 0x56b9e2
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x56b9a4
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 0x56b9e2
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x56ba29
cmp eax, 3
je 0x56ba29
xor eax, eax
jmp 0x56ba2e
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56ba66
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56226a
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 0x56bbca
mov dword [esp + 0x14], edx
cmp edx, 0xc0
jb 0x56bbca
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x56baef
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 0x56bbce
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x56bb1b
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 0x56bbce
test dl, 8
jne 0x56bb4c
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 0x56bbce
test dl, 4
jne 0x56bb86
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 0x56bbce
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 0x56bbce
mov edi, dword [esp + 0x14]
cmp ecx, 0x24
je 0x56bc0c
cmp eax, 0x40
je 0x56bc0c
cmp ebx, 0x60
je 0x56bc0c
cmp edi, 0xa0
jb 0x56bbf9
cmp edx, 0xd7ff
jbe 0x56bc0c
cmp edx, 0xe000
jae 0x56bc0c
xor eax, eax
jmp 0x56bc11
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56a75a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56bc49
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x569513
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x56226a
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 0x56bd93
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
cmp edx, 0xc0
jb 0x56bd93
test dl, 0x20
jne 0x56bcd1
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x56bd82
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x56bcfc
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x56bd82
test dl, 8
jne 0x56bd1f
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 0x56bd82
test dl, 4
jne 0x56bd4e
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 0x56bd82
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 0x56bdb8
cmp eax, 0x20
je case.0x56bec6.8193
lea eax, [edx - 9]
cmp eax, 4
ja case.0x56bec6.8203
jmp dword [eax*4 + 0x56d2cc]
cmp edx, 0x2000
ja 0x56be9a
cmp ecx, 0x2000
je case.0x56bec6.8193
cmp edi, 0x1680
ja 0x56be8f
cmp edx, 0x1680
je case.0x56bec6.8193
mov eax, edx
sub eax, 0x85
je case.0x56bec6.8193
sub eax, 0x1b
je case.0x56bec6.8193
mov eax, edx
test eax, eax
jns 0x56be0b
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x67c150]
shl eax, 7
and edx, 0x8000007f
jns 0x56be29
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
cmp dword [eax*4 + 0x67a8e0], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.default.0x56a75a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56be80
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x56c0b8
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x569513
cmp edx, 0x180e
jmp 0x56bdf8
cmp ebx, 0x3000
ja case.0x56bec6.8203
cmp dword [esp + 0x18], 0x3000
je case.0x56bec6.8193
lea eax, [edx - 0x2001]
cmp eax, 0x5e
ja case.0x56bec6.8203
movzx eax, byte [eax + 0x56d2e8]
jmp dword [eax*4 + 0x56d2e0]
cmp dword [esi + 0x68], 0
je 0x56be51
jmp case.default.0x56a75a
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x56bf1b
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edx, dword [ebp + 0x84]
jmp 0x56227e
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 0x56c036
cmp eax, 0xc0
jb 0x56c036
test al, 0x20
jne 0x56bf5c
movzx ecx, byte [edx]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or ecx, eax
lea eax, [edx + 1]
jmp 0x56c02f
test al, 0x10
jne 0x56bf82
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 0x56c02f
test al, 8
jne 0x56bfb4
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 0x56c02f
mov ecx, eax
test al, 4
movzx eax, byte [edx]
jne 0x56bff1
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 0x56c02f
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 + 0x67c150]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x67e350]
movzx eax, byte [eax*8 + 0x67aad1]
mov eax, dword [eax*4 + 0x67a8e0]
cmp eax, 1
je 0x56c081
cmp eax, 3
je 0x56c081
cmp ebx, 0x5f
je 0x56c081
xor eax, eax
jmp 0x56c086
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.default.0x56a75a
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56c2ea
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56c2e0
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3ef
mov edi, 0xfffffffa
jmp 0x568400
test edi, edi
jne case.default.0x56892c
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jge case.0x56935a.14
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x56c130
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x56935a.14
cmp edi, dword [ebp + 0x84]
jbe case.0x56935a.14
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.0x56935a.14
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3d2
mov edi, 0xfffffff4
jmp 0x568404
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
mov ecx, edx
test ebx, ebx
je 0x56c220
cmp edx, 0xc0
jb 0x56c220
movzx ecx, byte [edi]
and ecx, 0x3f
test dl, 0x20
jne 0x56c170
mov eax, edx
mov edx, ecx
and eax, 0x1f
shl eax, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x56c21b
movzx eax, byte [edi + 1]
and eax, 0x3f
test dl, 0x10
jne 0x56c195
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x56c21b
test dl, 8
jne 0x56c1b8
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 0x56c21b
test dl, 4
jne 0x56c1e7
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 0x56c21b
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 + 0x67a990]
lea eax, [eax*4 + 0x67a990]
jb 0x56c24d
mov ecx, dword [eax]
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x56c26a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x56c240
cmp dword [esi + 0x68], 0
jne 0x56c270
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3e2
xor edi, edi
jmp 0x568404
cmp dword [esi + 0x68], 0
jne case.0x56935a.14
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x56c303
push 0x134
call dword [0x6f6c2c]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x56c2f9
mov eax, dword [esi]
mov esi, eax
test eax, eax
je 0x56c3ef
lea edi, [ecx - 6]
jmp 0x568404
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x56c2c4
push ecx
call dword [0x6f6c28]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x55e883
mov dword [esi + 0xc], ecx
jmp 0x55e810
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x569513
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x569513
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