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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1f4
mov edi, eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [eax + 0x44]
mov dword [ebp - 0xf8], eax
cmp edx, dword [ecx + 4]
lea eax, [edx + 1]
mov dword [ecx], eax
jb 0x4615a5
mov edx, 0xfffffff8
jmp case.default.0x4678b8
movzx eax, al
movzx eax, byte [eax + 0x530830]
add dword [ebp - 0xf0], eax
jmp 0x46156e
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x20]
cmp esi, dword [ebx + 8]
jb 0x4619f0
mov edx, 0xffffffeb
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 2
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
mov edx, eax
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, 1
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, 1
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x7c], edx
mov edx, 1
mov dword [eax + 0x70], edi
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
push esi
mov edx, dword [ebp - 0x110]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
mov edx, eax
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov edx, 0xfffffff4
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov edx, ebx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x14]
test byte [ebp + 0x1c], 2
mov dword [ebp - 0x120], ecx
je 0x461a17
mov ebx, dword [ebp + 0x18]
lea esi, [ebp - 0xe4]
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xe4], ebx
mov dword [ebp + 0x18], esi
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
mov dl, byte [eax]
movzx ecx, dl
mov dword [ebp - 0x144], ecx
cmp ecx, 0x72
ja case.0x461a45.70
jmp dword [ecx*4 + 0x52fd4c]
xor edx, edx
jmp case.default.0x4678b8
movzx eax, dl
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
mov edx, 0xfffffc1a
test eax, eax
je case.default.0x4678b8
jmp 0x4615be
movzx eax, dl
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
mov edx, 0xfffffc19
test eax, eax
je case.default.0x4678b8
jmp 0x4615c5
movzx eax, dl
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov edx, eax
test eax, eax
jne case.default.0x4678b8
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffc1b
mov dword [ebx + 0x6c], edi
jmp case.default.0x4678b8
movzx eax, dl
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
mov edx, 0xfffffc1c
test eax, eax
je case.default.0x4678b8
jmp 0x4615cc
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp + 0x10]
movzx esi, byte [eax + 3]
movzx eax, byte [eax + 4]
shl esi, 8
or esi, eax
lea edx, [esi + esi]
mov dword [ebp - 0x140], edx
cmp edx, dword [ecx + 0x14]
jge case.0x461a45.94
mov ebx, ecx
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + edx*4]
mov edx, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebx + 0x10]
sub eax, esi
mov dword [ebp - 0x150], edx
mov edx, dword [ebp + 0x10]
mov ebx, dword [ecx + eax*4]
mov edx, dword [edx + 0x80]
mov dword [ebp - 0x154], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x148], edx
mov edx, edi
sub edx, dword [ebx + 0x64]
mov dword [ecx + eax*4], edx
xor eax, eax
cmp dword [ebp - 0x144], 0x62
sete al
add eax, eax
mov dword [ebp + 0x1c], eax
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx]
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x4615d3
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0x148]
mov dword [ecx + 0x80], ebx
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je 0x461be6
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x150]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebp + 0x10]
mov dword [edx + eax*4 + 4], ebx
mov ebx, dword [ebp - 0x154]
mov eax, dword [ecx + 0x10]
sub eax, esi
mov dword [edx + eax*4], ebx
xor edx, edx
jmp case.default.0x4678b8
xor eax, eax
cmp dword [ebp - 0x144], 0x61
setge al
add eax, eax
mov dword [ebp + 0x1c], eax
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
cmp byte [eax + esi], 0x54
je 0x461d0c
cmp dword [ebp + 0x1c], 0
mov al, byte [esi]
je 0x461593
movzx eax, al
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, esi
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
mov edx, eax
jmp case.default.0x4678b8
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx]
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
add edx, dword [ebp - 0xf0]
inc eax
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x4615da
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
mov dword [ebp - 0xf0], ecx
jmp 0x461cb6
mov ebx, dword [ebp - 0xf0]
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl esi, 8
or esi, eax
cmp byte [ebx + 3], 0x53
jne 0x461e7a
mov ecx, dword [0x540260]
test ecx, ecx
je 0x461e6d
mov dword [ebp - 0xdc], 1
mov edx, dword [ebp + 0x10]
movzx eax, byte [ebx + 4]
mov ebx, edx
mov dword [ebp - 0xd8], eax
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x68]
sub eax, edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 8]
sub eax, edx
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0xc8], eax
mov eax, edi
sub eax, edx
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0xc4], eax
movzx eax, byte [edx + 5]
movzx edx, byte [edx + 6]
shl eax, 8
or eax, edx
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebx + 7]
movzx edx, byte [ebx + 8]
shl eax, 8
or eax, edx
mov edx, 2
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
mov ebx, edx
cdq
idiv ebx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0x94]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xdc]
push eax
call ecx
mov ebx, eax
pop eax
test ebx, ebx
jg 0x4615e1
jl 0x4615e8
movzx eax, byte [0x530883]
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
movzx ebx, byte [ecx + 3]
lea eax, [ebx - 0x66]
cmp eax, 1
ja 0x462036
mov esi, dword [ebp + 0x10]
mov esi, dword [esi + 0x90]
mov dword [ebp - 0x158], esi
test esi, esi
je 0x462225
mov eax, dword [ebp - 0xf0]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
mov dword [ebp - 0x118], 0
or ecx, eax
cmp ecx, 0xffff
je 0x461ed7
mov edx, dword [ebp - 0x158]
cmp ecx, dword [edx + 4]
jne 0x461ee1
mov dword [ebp - 0x118], 1
cmp dword [ebp - 0x118], 0
sete dl
xor eax, eax
cmp ebx, 0x67
sete al
test edx, eax
je 0x4621ef
cmp ecx, 0xffff
je 0x4621ef
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xf4], 0
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
cmp dword [ebp - 0xf4], eax
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x1ec], eax
jge 0x4621ef
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
cmp eax, ecx
je 0x461f5c
inc dword [ebp - 0xf4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x1ec]
add esi, dword [edx + 0x24]
cmp dword [ebp - 0xf4], ebx
jmp 0x461f2c
mov eax, dword [ebp - 0x1ec]
cmp dword [ebp - 0xf4], eax
jge 0x4621ef
mov ebx, esi
cmp esi, dword [ebp - 0x1f4]
jbe 0x461fc4
mov edx, dword [ebp + 0x10]
sub ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.0047d420
pop edx
test eax, eax
pop ecx
jne 0x461fc4
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x158]
or eax, edx
cmp eax, dword [ecx + 4]
sete al
movzx eax, al
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4622d6
cmp ebx, dword [ebp - 0x1f4]
ja 0x461f78
jmp 0x461fd1
cmp dword [ebp - 0x118], 0
jne 0x4622d6
mov ebx, esi
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1ec]
cmp dword [ebp - 0xf4], eax
jge 0x4621fc
mov edx, dword [ebp + 0x10]
add ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.0047d420
pop edx
test eax, eax
pop ecx
jne 0x4621fc
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp + 0x10]
or eax, edx
mov edx, dword [ecx + 0x90]
cmp eax, dword [edx + 4]
sete al
movzx eax, al
mov dword [ebp - 0x118], eax
test eax, eax
jne 0x4622d6
jmp 0x461fd3
lea eax, [ebx - 0x64]
cmp eax, 1
ja 0x46221a
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp + 0xc]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 5]
shl eax, 8
mov dword [ebp - 0x118], 0
or eax, edx
add eax, eax
mov dword [ebp - 0x140], eax
cmp eax, esi
jge 0x46208a
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 0xc]
cmp dword [eax + ecx*4], 0
js 0x46208a
mov dword [ebp - 0x118], 1
cmp dword [ebp - 0x118], 0
sete dl
xor eax, eax
cmp ebx, 0x65
sete al
test edx, eax
je 0x4621ef
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
sar ecx, 1
mov dword [ebp - 0xf4], 0
mov eax, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
cmp dword [ebp - 0xf4], eax
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x1f0], eax
jge 0x4621ef
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
cmp eax, ecx
je 0x462101
inc dword [ebp - 0xf4]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x1f0]
add esi, dword [edx + 0x24]
cmp dword [ebp - 0xf4], ebx
jmp 0x4620d1
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp - 0xf4], eax
jge 0x4621ef
mov ebx, esi
cmp esi, dword [ebp - 0x1f8]
jbe 0x462177
mov edx, dword [ebp + 0x10]
sub ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.0047d420
pop edx
test eax, eax
pop ecx
jne 0x462177
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
or eax, edx
mov dword [ebp - 0x118], 0
add eax, eax
mov dword [ebp - 0x140], eax
cmp eax, ecx
jge 0x46216d
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 0xc]
cmp dword [eax + ecx*4], 0
jns 0x4621e0
cmp ebx, dword [ebp - 0x1f8]
ja 0x46211d
jmp 0x462184
cmp dword [ebp - 0x118], 0
jne 0x4622d6
mov ebx, esi
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x1f0]
cmp dword [ebp - 0xf4], eax
jge 0x4621fc
mov edx, dword [ebp + 0x10]
add ebx, dword [edx + 0x24]
lea edx, [esi + 2]
lea eax, [ebx + 2]
push eax
push edx
call fcn.0047d420
pop edx
test eax, eax
pop ecx
jne 0x4621fc
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
mov ecx, dword [ebp + 0xc]
or eax, edx
add eax, eax
mov dword [ebp - 0x140], eax
cmp eax, ecx
jge 0x462186
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 0xc]
cmp dword [eax + ecx*4], 0
js 0x462186
mov dword [ebp - 0x118], 1
jmp 0x4622d6
cmp dword [ebp - 0x118], 0
jne 0x4622d6
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
jmp 0x4622e6
cmp ebx, 0x68
jne 0x46223f
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
mov dword [ebp - 0xf0], ecx
jmp 0x4622e6
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 1
push 0
mov eax, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
cmp eax, 1
jne 0x4622b6
mov ebx, dword [ebp - 0xf0]
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
add eax, ebx
lea esi, [eax + 3]
mov dword [ebp - 0xf0], esi
cmp byte [eax + 3], 0x54
jne 0x4622f5
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
jmp 0x462290
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x4615ef
add dword [ebp - 0xf0], esi
jmp 0x4622e6
add dword [ebp - 0xf0], 3
cmp dword [ebp - 0x118], 0
jne 0x4622f5
mov ebx, dword [ebp - 0xf0]
cmp byte [ebx], 0x54
jne 0x463b72
add dword [ebp - 0xf0], 3
cmp dword [ebp - 0x144], 0x63
je 0x4615f6
jmp 0x462caf
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp + 0x10]
movzx esi, byte [eax + 1]
movzx eax, byte [eax + 2]
shl esi, 8
or esi, eax
mov dword [ecx + 0x80], esi
lea edx, [esi + esi]
mov dword [ebp - 0x140], edx
cmp edx, dword [ecx + 0x14]
jl 0x462344
mov dword [ecx + 0x38], 1
jmp 0x463b72
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
sub eax, esi
mov esi, dword [ebp - 0x140]
mov eax, dword [edx + eax*4]
mov dword [edx + esi*4], eax
mov eax, edi
sub eax, dword [ebx + 0x64]
mov dword [edx + esi*4 + 4], eax
cmp dword [ebp + 0xc], esi
jg 0x463b72
add esi, 2
mov dword [ebp + 0xc], esi
jmp 0x463b72
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x90]
test ebx, ebx
je 0x4623cb
cmp dword [ebx + 4], 0
jne 0x4623cb
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov dword [edx + 0x90], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
push eax
push dword [ebx + 0x10]
push dword [edx + 0xc]
call sub.msvcrt.dll_memmove
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 0xc]
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebx + 8]
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], esi
mov dword [ebp + 0x14], eax
mov dword [ebp - 0xf0], ebx
jmp 0x462bd6
cmp edi, dword [ebp + 8]
jne 0x4623f3
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x50], 0
jne 0x4623ec
cmp dword [edx + 0x54], 0
je 0x4623f3
mov eax, dword [edx + 0x84]
add eax, dword [edx + 0x64]
cmp edi, eax
jne 0x4623f3
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edx, 1
mov dword [ecx + 0x70], edi
mov dword [ecx + 0x7c], ebx
mov dword [ecx + 0x6c], esi
jmp case.default.0x4678b8
mov eax, dword [ebp - 0xf0]
movzx eax, byte [eax + 1]
mov dword [ebp + 0x14], eax
jmp 0x464d52
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 0
push 0
mov eax, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
cmp eax, 1
je 0x46248c
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x461620
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je case.0x461a45.88
mov ebx, dword [ebp - 0xf0]
cmp byte [ebx], 0x55
je 0x461627
test byte [ebp + 0x1c], 1
jne 0x46162e
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
mov dword [ebp - 0xf0], esi
cmp byte [esi], 0x54
je 0x4624a5
mov eax, dword [ebp + 0x10]
add esi, 3
mov dword [ebp - 0xf0], esi
mov eax, dword [eax + 0x7c]
mov dword [ebp + 0xc], eax
jmp 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 0
push 0
mov eax, edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00461546
add esp, 0x1c
mov ebx, eax
cmp eax, 1
je 0x461638
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x46163f
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je case.0x461a45.89
test byte [ebp + 0x1c], 1
jne 0x461646
add ecx, 3
mov dword [ebp - 0xf0], ecx
jmp 0x461a17
mov ebx, dword [ebp - 0xf0]
cmp dword [ebp - 0xf8], 0
mov al, byte [ebx + 1]
mov dl, byte [ebx + 2]
je 0x4625ba
movzx eax, al
shl eax, 8
mov dword [ebp - 0xf4], eax
movzx eax, dl
or dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
dec dword [ebp - 0xf4]
test eax, eax
jle 0x4625d3
mov esi, dword [ebp + 0x10]
dec edi
cmp edi, dword [esi + 0x64]
jb 0x461650
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x46258d
dec edi
jmp 0x4625aa
movzx eax, al
shl eax, 8
movzx edx, dl
or eax, edx
sub edi, eax
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x64]
jb 0x461657
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x74]
jae 0x463b72
mov dword [edx + 0x74], edi
jmp 0x463b72
mov ecx, dword [0x540260]
test ecx, ecx
je 0x4626b2
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0xdc], 1
mov esi, dword [ebp + 0x10]
movzx eax, byte [ebx + 1]
mov dword [ebp - 0xd8], eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x64]
mov dword [ebp - 0xd4], eax
mov eax, dword [esi + 0x68]
mov dword [ebp - 0xd0], edx
sub eax, edx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp + 8]
sub eax, edx
mov dword [ebp - 0xc8], eax
mov eax, edi
sub eax, edx
mov dword [ebp - 0xc4], eax
movzx eax, byte [ebx + 2]
movzx edx, byte [ebx + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
mov edx, 2
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0xc]
mov esi, edx
cdq
idiv esi
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx + 0x80]
mov dword [ebp - 0xbc], eax
mov eax, dword [edx + 0x94]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xdc]
push eax
call ecx
pop ecx
mov ebx, eax
test eax, eax
jg 0x46165e
jl 0x461665
add dword [ebp - 0xf0], 6
jmp 0x461a17
mov ecx, dword [ebp - 0xf0]
mov ebx, dword [ebp + 0x10]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
xor ecx, ecx
or eax, edx
mov edx, dword [ebx + 0x60]
lea esi, [edx + eax]
cmp esi, edx
je 0x4626ed
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x28], ecx
add dword [ebp - 0xf0], 3
mov eax, dword [edx + 0x90]
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
mov dword [edx + 0x90], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], eax
cmp eax, 0x1e
jg 0x46272b
lea eax, [ebp - 0xac]
mov dword [ebp - 0x1c], eax
jmp 0x462746
shl eax, 2
push eax
call dword [0x4d214c]
pop edx
test eax, eax
mov dword [ebp - 0x1c], eax
mov edx, 0xfffffffa
je case.default.0x4678b8
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp + 0x10]
shl eax, 2
push eax
push dword [ebx + 0xc]
push dword [ebp - 0x1c]
call fcn.0047d340
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], edx
add esp, 0xc
mov al, byte [esi]
cmp al, 0x61
sbb ecx, ecx
not ecx
and ecx, 2
mov dword [ebp + 0x1c], ecx
movzx eax, byte [esi]
movzx edx, byte [eax + 0x530830]
mov eax, dword [ebp + 0x20]
inc eax
lea edx, [esi + edx]
push eax
mov eax, edi
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
cmp eax, 1
jne 0x4627d6
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x90], eax
lea eax, [ebp - 0xac]
cmp edx, eax
je 0x4627cc
push edx
call dword [0x4d2148]
pop eax
mov edx, 1
jmp case.default.0x4678b8
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
mov edx, dword [ebp - 0x1c]
je 0x462806
lea eax, [ebp - 0xac]
cmp edx, eax
je 0x4627ff
push edx
call dword [0x4d2148]
pop eax
mov edx, ebx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x2c]
mov dword [ecx + 0x90], eax
mov eax, dword [ebp - 0x18]
shl eax, 2
push eax
push edx
push dword [ecx + 0xc]
call fcn.0047d340
add esp, 0xc
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x462778
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 0x90], eax
lea eax, [ebp - 0xac]
cmp edx, eax
je 0x46285e
push edx
call dword [0x4d2148]
pop edi
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], esi
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
add edx, 3
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
cmp eax, 1
je 0x4628e3
test eax, eax
setne dl
xor eax, eax
cmp ebx, 0xfffffc1c
setne al
test edx, eax
jne 0x46166c
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
cmp byte [ecx], 0x54
je 0x462877
mov ebx, dword [ebp - 0xf0]
mov al, byte [ebx]
cmp al, 0x5d
setne dl
cmp al, 0x54
setne al
movzx eax, al
test edx, eax
jne 0x461673
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
mov dword [ebp - 0xf0], esi
mov cl, byte [esi]
cmp cl, 0x54
je 0x462900
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp cl, 0x55
mov eax, dword [eax + 0x7c]
mov edi, dword [edx + 0x70]
mov dword [ebp + 0xc], eax
sete dl
cmp edi, dword [ebp - 0x114]
sete al
or eax, edx
test al, 1
jne 0x462ab3
mov ebx, dword [ebp - 0xf0]
cmp byte [ebx + 3], 0x19
jne 0x462961
and dword [ebp + 0x14], 0xfffffff8
movzx eax, byte [ebx + 4]
or dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x20]
cmp cl, 0x57
lea esi, [eax + 1]
jne 0x4629ac
push esi
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, dword [ebp - 0xf0]
mov eax, edi
add edx, 3
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46167a
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xf0], edx
jmp 0x462caf
push esi
push 2
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, dword [ebp - 0x110]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461681
jmp 0x462ca8
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
mov dword [ebp - 0xf0], ecx
cmp byte [ecx], 0x54
je case.0x461a45.84
jmp 0x461a17
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp - 0xf0]
inc eax
inc esi
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, esi
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461688
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x462a35
jmp 0x462ab3
mov esi, dword [ebp - 0xf0]
inc esi
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x462a52
mov eax, dword [ebp + 0x20]
lea edx, [esi + 3]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46168f
jmp 0x463ce9
mov esi, dword [ebp - 0xf0]
inc esi
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp byte [esi], 0x54
je 0x462a9f
add esi, 3
jmp 0x464b4e
mov ebx, dword [ebp - 0xf0]
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
sub ebx, eax
mov dword [ebp - 0x110], ebx
mov cl, byte [ebx]
mov dword [ebp - 0x114], 0
cmp cl, 0x60
jbe 0x462afb
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
mov esi, dword [esi + 4]
mov eax, dword [eax]
mov dword [ebp - 0x114], esi
mov dword [ebp + 0x18], eax
lea eax, [ecx - 0x58]
cmp al, 3
setbe dl
cmp cl, 0x5d
sete al
or eax, edx
test al, 1
jne 0x461696
cmp cl, 0x5f
sete dl
cmp cl, 0x62
sete al
or eax, edx
test al, 1
je 0x462bde
mov edx, dword [ebp - 0x110]
mov ebx, dword [ebp + 0x10]
movzx esi, byte [edx + 3]
movzx eax, byte [edx + 4]
shl esi, 8
or esi, eax
mov dword [ebx + 0x80], esi
lea ecx, [esi + esi]
mov dword [ebp - 0x140], ecx
cmp ecx, dword [ebx + 0x14]
jl 0x462b5c
mov dword [ebx + 0x38], 1
jmp 0x462b89
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x140]
mov ecx, eax
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, esi
mov eax, dword [edx + eax*4]
mov dword [edx + ebx*4], eax
mov eax, edi
sub eax, dword [ecx + 0x64]
mov dword [edx + ebx*4 + 4], eax
cmp dword [ebp + 0xc], ebx
jg 0x462b89
add ebx, 2
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x90]
test ebx, ebx
je 0x462bde
cmp dword [ebx + 4], esi
jne 0x462bde
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov ecx, dword [ebx + 0xc]
mov dword [edx + 0x90], eax
mov eax, dword [ebx + 0x14]
shl eax, 2
mov dword [ebp + 8], ecx
push eax
push dword [ebx + 0x10]
push dword [edx + 0xc]
call fcn.0047d340
mov esi, dword [ebx + 0x18]
mov eax, dword [ebp - 0x120]
mov ebx, dword [ebx + 8]
mov dword [ebp + 0xc], esi
mov dword [ebp - 0xf0], ebx
mov dword [ebp + 0x14], eax
add esp, 0xc
jmp 0x461a17
mov edx, dword [ebp - 0x120]
mov ebx, dword [ebp - 0xf0]
mov dword [ebp + 0x14], edx
mov cl, byte [ebx]
cmp cl, 0x55
sete dl
cmp edi, dword [ebp - 0x114]
sete al
or eax, edx
test al, 1
je 0x462c12
add ebx, 3
mov dword [ebp - 0xf0], ebx
jmp 0x461a17
mov esi, dword [ebp - 0x110]
mov edx, dword [ebp + 0x20]
mov al, byte [esi]
lea esi, [edx + 1]
cmp al, 0x61
sbb eax, eax
not eax
and eax, 2
cmp cl, 0x57
mov dword [ebp + 0x1c], eax
jne 0x462c7b
push esi
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov edx, dword [ebp - 0xf0]
mov eax, edi
add edx, 3
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4616ac
cmp dword [ebp + 0x1c], 0
jne 0x4616b3
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0xf0], ecx
jmp 0x46156e
push esi
mov edx, dword [ebp - 0x110]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4616da
add dword [ebp - 0xf0], 3
mov dword [ebp + 0x1c], 0
jmp 0x46156e
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x3c], 0
je 0x462ccd
cmp edi, dword [ebx + 0x64]
je 0x4616e1
test byte [ebp + 0x14], 2
je case.0x461a45.1
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x64]
cmp edi, edx
je 0x463ce9
cmp edi, dword [esi + 0x68]
je 0x462d47
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x462d12
cmp edi, edx
jbe 0x462d47
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b410
add esp, 0x14
test eax, eax
jne 0x463ce9
jmp 0x462d47
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
lea eax, [edx + ecx]
cmp edi, eax
jb 0x462d47
mov edx, ecx
mov ebx, dword [ebp + 0x10]
neg edx
mov al, byte [ebx + 0x2c]
cmp byte [edx + edi], al
jne 0x462d47
cmp ecx, 1
je 0x463ce9
mov edx, edi
mov al, byte [ebx + 0x2d]
sub edx, ecx
cmp byte [edx + 1], al
je 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x64]
jne 0x4616e8
jmp 0x463ce9
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x84]
add eax, dword [edx + 0x64]
cmp edi, eax
jne 0x4616ef
jmp 0x463ce9
mov dword [ebp + 8], edi
jmp 0x463ce9
test byte [ebp + 0x14], 2
je 0x462df9
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x68]
cmp edi, edx
jae 0x462de7
mov ebx, ecx
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x462dba
push dword [ebp - 0xf8]
mov eax, ebx
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x463ce9
jmp 0x462de0
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x462de0
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x462de0
dec ecx
je 0x463ce9
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
je 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x40], 0
jne 0x4616f6
jmp 0x463ce9
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x40], 0
jne 0x4616fd
cmp dword [edx + 0x4c], 0
jne case.0x461a45.24
mov ecx, edx
mov edx, dword [edx + 0x68]
cmp edi, edx
je 0x463ce9
mov ebx, ecx
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x462e43
cmp edi, edx
jae 0x462e72
push dword [ebp - 0xf8]
mov eax, ebx
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x462e61
jmp 0x462e72
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x462e72
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x462e72
dec ecx
je 0x462e61
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x462e72
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, dword [edx + 0x1c]
cmp edi, eax
je 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x461704
jmp 0x463ce9
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x68]
cmp edi, edx
je 0x463ce9
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x462ec0
cmp edi, edx
jae 0x462eef
push dword [ebp - 0xf8]
mov eax, ebx
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x462ede
jmp 0x462eef
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x462eef
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x462eef
dec ecx
je 0x462ede
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x462eef
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, dword [edx + 0x1c]
cmp edi, eax
je 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp dword [ebp - 0xf8], 0
mov eax, dword [ecx + 0x64]
je 0x463056
mov dword [ebp - 0x11c], 0
cmp edi, eax
je 0x462fc6
movzx eax, byte [edi - 1]
lea edx, [edi - 1]
and eax, 0xc0
add eax, 0xffffff80
jne 0x462f32
dec edx
movzx eax, byte [edx]
jmp 0x462f22
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebx + 0x74]
jae 0x462f3d
mov dword [ebx + 0x74], edx
movzx esi, byte [edx]
cmp esi, 0xbf
jbe 0x462f9e
mov eax, esi
mov dword [ebp - 0x15c], 1
and eax, 0x3f
movzx eax, byte [eax + 0x530790]
imul ebx, eax, 6
and esi, dword [eax*4 + 0x5307d0]
mov cl, bl
mov dword [ebp - 0x1fc], eax
shl esi, cl
cmp dword [ebp - 0x15c], eax
jg 0x462f9e
mov ecx, dword [ebp - 0x15c]
sub ebx, 6
movzx eax, byte [ecx + edx]
mov cl, bl
and eax, 0x3f
inc dword [ebp - 0x15c]
shl eax, cl
or esi, eax
mov eax, dword [ebp - 0x1fc]
jmp 0x462f72
mov dword [ebp - 0x11c], 0
cmp esi, 0xff
ja 0x462fc6
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
je 0x462fc6
mov dword [ebp - 0x11c], 1
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x462ffb
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4630b9
mov dword [ebx + 0x58], 1
dec ecx
jg 0x46170b
jmp 0x4630b9
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x463038
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp ebx, edx
jg 0x463038
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
jmp 0x463023
xor edx, edx
cmp esi, 0xff
ja 0x4630d0
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je 0x4630d0
mov dl, 1
jmp 0x4630d0
mov dword [ebp - 0x11c], 0
cmp edi, eax
je 0x46308c
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x74]
ja 0x463072
lea eax, [edi - 1]
mov dword [ebx + 0x74], eax
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi - 1]
mov eax, dword [esi + 0x34]
movzx edx, byte [edx + eax]
shr edx, 4
and edx, 1
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4630bd
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4630b9
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jg 0x461715
xor edx, edx
jmp 0x4630d0
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
movzx edx, byte [edx + eax]
shr edx, 4
and edx, 1
mov ebx, dword [ebp - 0xf0]
mov al, byte [ebx]
inc ebx
mov dword [ebp - 0xf0], ebx
cmp al, 5
jne 0x4630f0
cmp edx, dword [ebp - 0x11c]
je 0x4630fc
jmp 0x461a17
cmp edx, dword [ebp - 0x11c]
je 0x461a17
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x68]
test ecx, ecx
je 0x463131
cmp edi, edx
jae case.0x461a45.13
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x463151
jmp case.0x461a45.13
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja case.0x461a45.13
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne case.0x461a45.13
dec ecx
je 0x463151
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
jne case.0x461a45.13
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
mov eax, edi
inc edi
mov edx, dword [ecx + 0x68]
cmp eax, edx
jb 0x463195
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46318e
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
cmp dword [ebp - 0xf8], 0
je 0x463ce9
cmp edi, edx
jae 0x463ce9
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x463ce9
inc edi
jmp 0x4631a2
mov esi, dword [ebp + 0x10]
mov eax, edi
inc edi
cmp eax, dword [esi + 0x68]
jb 0x463ce9
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4631f4
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x463234
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46322d
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463280
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463280
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x463269
cmp esi, 0xff
ja 0x463ce9
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
jne 0x46171f
jmp 0x463ce9
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x4632d7
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4632d0
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463323
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463323
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46330c
cmp esi, 0xff
ja 0x46333b
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
jne 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x46337a
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463373
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4633c6
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4633c6
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4633af
cmp esi, 0xff
ja 0x463ce9
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
jne 0x461726
jmp 0x463ce9
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x46341f
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463418
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x46346b
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x46346b
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x463454
cmp esi, 0xff
ja 0x463483
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
jne 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x4634c2
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4634bb
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x46350e
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x46350e
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4634f7
cmp esi, 0xff
ja 0x463ce9
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
jne 0x46172d
jmp 0x463ce9
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x463567
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463560
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4635b3
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4635b3
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46359c
cmp esi, 0xff
ja 0x4635cb
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
jne 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ecx + 0x68]
cmp edi, ebx
jb 0x46360c
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463605
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463658
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463658
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x463641
cmp esi, 0xd
je 0x463688
ja 0x46366c
cmp esi, 0xa
je 0x463ce9
jb 0x463681
jmp 0x46369f
cmp esi, 0x85
je 0x46369f
jb 0x463681
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x46369f
xor edx, edx
jmp case.default.0x4678b8
cmp edi, ebx
jae 0x463ce9
cmp byte [edi], 0xa
jne 0x463ce9
inc edi
jmp 0x463ce9
mov esi, dword [ebp + 0x10]
cmp dword [esi + 0x5c], 0
jne 0x461734
jmp 0x463ce9
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4636ea
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4636e3
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463736
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463736
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46371f
cmp esi, 0x180e
je 0x46378b
ja 0x46375c
cmp esi, 0x20
je 0x46378b
ja 0x46374c
cmp esi, 9
jmp 0x463785
cmp esi, 0xa0
je 0x46378b
cmp esi, 0x1680
jmp 0x463785
cmp esi, 0x202f
je 0x46378b
ja 0x463777
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x463ce9
jmp 0x46378b
cmp esi, 0x205f
je 0x46378b
cmp esi, 0x3000
jne 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x4637ca
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4637c3
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463816
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463816
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4637ff
cmp esi, 0x180e
je 0x463ce9
ja 0x463848
cmp esi, 0x20
je 0x463ce9
ja 0x463834
cmp esi, 9
jmp 0x463878
cmp esi, 0xa0
je 0x463ce9
cmp esi, 0x1680
jmp 0x463878
cmp esi, 0x202f
je 0x463ce9
ja 0x463866
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x46387e
jmp 0x463ce9
cmp esi, 0x205f
je 0x463ce9
cmp esi, 0x3000
je 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x4638bb
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4638b4
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463907
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463907
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4638f0
cmp esi, 0x85
je 0x463928
ja 0x463919
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x463922
lea eax, [esi - 0x2028]
cmp eax, 1
ja 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x463968
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463961
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4639b4
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4639b4
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46399d
cmp esi, 0x85
je 0x463ce9
ja 0x4639ca
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x4639d3
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x463ce9
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x463a18
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463a11
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463a64
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463a64
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x463a4d
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
mov esi, dword [ebp - 0xf0]
movzx eax, word [eax + eax + 0x5308b0]
movzx edx, byte [esi + 1]
lea eax, [eax*8 + 0x53c8b0]
cmp edx, 4
ja case.default.0x463a9a
jmp dword [edx*4 + 0x52ff18]
cmp dword [ebp - 0x144], 0xf
jne 0x463b72
xor edx, edx
jmp case.default.0x4678b8
mov cl, byte [eax + 1]
xor ebx, ebx
cmp cl, 9
setne dl
xor eax, eax
cmp cl, 5
setne al
test edx, eax
je 0x463ad3
cmp cl, 8
je 0x463ad3
mov bl, 1
xor eax, eax
cmp dword [ebp - 0x144], 0xf
sete al
cmp ebx, eax
je 0x463b72
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [eax + 1]
movzx edx, byte [ecx + 2]
cmp edx, dword [eax*4 + 0x530710]
sete dl
cmp dword [ebp - 0x144], 0x10
sete al
xor eax, edx
test al, 1
je 0x463b72
xor edx, edx
jmp case.default.0x4678b8
mov ebx, dword [ebp - 0xf0]
mov al, byte [eax + 1]
cmp byte [ebx + 2], al
sete dl
cmp dword [ebp - 0x144], 0x10
sete al
xor eax, edx
test al, 1
je 0x463b72
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp - 0xf0]
mov al, byte [eax]
cmp byte [esi + 2], al
sete dl
cmp dword [ebp - 0x144], 0x10
sete al
xor eax, edx
test al, 1
je 0x463b72
xor edx, edx
jmp case.default.0x4678b8
mov edx, 0xfffffff2
jmp case.default.0x4678b8
add dword [ebp - 0xf0], 3
jmp 0x461a17
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x160], eax
cmp edi, eax
jb 0x463bc2
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463bbb
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x463c0e
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x463c0e
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x463bf7
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
je 0x46173b
cmp edi, dword [ebp - 0x160]
jae 0x463ce9
mov dword [ebp - 0x164], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x463c66
movzx esi, al
jmp 0x463cb0
movzx esi, al
cmp esi, 0xbf
jbe 0x463cb0
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x164], edx
jg 0x463ca9
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x463c94
inc edx
mov dword [ebp - 0x164], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
jne 0x463ce9
add edi, dword [ebp - 0x164]
jmp 0x463c40
inc dword [ebp - 0xf0]
jmp 0x461a17
mov esi, dword [ebp - 0xf0]
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
add esi, 3
or eax, edx
mov edx, dword [ebp + 0xc]
add eax, eax
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0x140], eax
cmp eax, edx
jge 0x463d32
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x140]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + ebx*4]
test edx, edx
jns 0x463d4d
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x138], 0
cmp dword [esi + 0x48], 0
jne 0x463d5f
mov eax, dword [esi + 0x68]
sub eax, edi
inc eax
jmp 0x463d59
mov ecx, dword [ebp - 0x140]
mov eax, dword [eax + ecx*4 + 4]
sub eax, edx
mov dword [ebp - 0x138], eax
mov ebx, dword [ebp - 0xf0]
mov dl, byte [ebx]
movzx eax, dl
cmp eax, 0x46
jl 0x463e0b
cmp eax, 0x4b
jle 0x463d83
cmp eax, 0x4d
jg 0x463e0b
jmp 0x463dc2
lea esi, [eax - 0x46]
inc dword [ebp - 0xf0]
mov eax, esi
movsx ebx, byte [esi + 0x52fd46]
movsx esi, byte [esi + 0x52fd40]
and eax, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], eax
test esi, esi
jne 0x463e6c
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x463e6c
xor eax, eax
cmp dl, 0x4d
mov edx, dword [ebp - 0xf0]
sete al
mov dword [ebp - 0xfc], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 3]
movzx edx, byte [edx + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x13c], eax
jne 0x463e02
mov dword [ebp - 0x13c], 0x7fffffff
add dword [ebp - 0xf0], 5
jmp 0x463e6c
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.004613e0
add esp, 0xc
test eax, eax
jne 0x463e61
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x463e5a
cmp edi, dword [ebx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463e5a
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
add edi, dword [ebp - 0x138]
jmp 0x461a17
cmp dword [ebp - 0x138], 0
je 0x461a17
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x463eef
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.004613e0
add esp, 0xc
test eax, eax
jne 0x463ee1
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x463eda
cmp edi, dword [esi + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463eda
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
add edi, dword [ebp - 0x138]
inc dword [ebp - 0xf4]
jmp 0x463e83
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x463fba
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461742
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x461749
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.004613e0
add esp, 0xc
test eax, eax
jne 0x463fa9
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
je 0x463fa2
cmp edi, dword [edx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x463fa2
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
add edi, dword [ebp - 0x138]
inc dword [ebp - 0xf4]
jmp 0x463f0e
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x46403e
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x138]
mov edx, edi
mov eax, dword [ebp - 0x140]
call fcn.004613e0
add esp, 0xc
test eax, eax
jne 0x464024
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x78]
test ecx, ecx
je 0x46403e
cmp edi, dword [eax + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46403e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
jmp 0x46403e
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x138]
cmp dword [ebp - 0xf4], ecx
jmp 0x463fce
cmp edi, dword [ebp - 0x10c]
jb 0x46407e
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461750
sub edi, dword [ebp - 0x138]
jmp 0x46403e
xor edx, edx
jmp case.default.0x4678b8
mov ebx, dword [ebp - 0xf0]
add dword [ebp - 0xf0], 0x21
inc ebx
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0x108], ebx
mov dl, byte [esi]
movzx eax, dl
cmp eax, 0x46
jl 0x46413e
cmp eax, 0x4b
jle 0x4640bd
cmp eax, 0x4d
jg 0x46413e
jmp 0x4640f5
lea esi, [eax - 0x46]
inc dword [ebp - 0xf0]
mov eax, esi
movsx ebx, byte [esi + 0x52fd46]
movsx esi, byte [esi + 0x52fd40]
and eax, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], eax
test esi, esi
jne 0x46414d
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x46414d
xor eax, eax
cmp dl, 0x4d
mov edx, dword [ebp - 0xf0]
sete al
mov dword [ebp - 0xfc], eax
movzx ebx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 3]
movzx edx, byte [edx + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x13c], eax
jne 0x464135
mov dword [ebp - 0x13c], 0x7fffffff
add dword [ebp - 0xf0], 5
jmp 0x46414d
mov dword [ebp - 0x13c], 1
mov ebx, 1
cmp dword [ebp - 0xf8], 0
je 0x464224
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x464296
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x4641a8
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4641a1
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x4641e3
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4641e3
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4641cc
cmp esi, 0xff
jbe 0x4641fb
cmp dword [ebp - 0x144], 0x4e
jne 0x464219
xor edx, edx
jmp case.default.0x4678b8
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x461757
inc dword [ebp - 0xf4]
jmp 0x464164
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x464296
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x46426c
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464265
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
inc edi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x46175e
inc dword [ebp - 0xf4]
jmp 0x46422e
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x46445b
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x4643b6
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461765
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jge 0x46176c
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x46433a
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464333
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x464375
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x464375
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46435e
cmp esi, 0xff
jbe 0x46438d
cmp dword [ebp - 0x144], 0x4e
jne 0x4643ab
xor edx, edx
jmp case.default.0x4678b8
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x461773
inc dword [ebp - 0xf4]
jmp 0x4642c2
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46177a
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jge 0x461781
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x46442e
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464427
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
mov eax, esi
mov edx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
mov ecx, esi
inc edi
movzx eax, byte [eax + edx]
sar eax, cl
test al, 1
je 0x461788
inc dword [ebp - 0xf4]
jmp 0x4643b6
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0xf8], 0
je 0x4645a8
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x464559
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x168], 1
cmp edi, dword [eax + 0x68]
jb 0x4644c7
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464559
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
jmp 0x464559
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x464511
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x168], edx
jg 0x46450a
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4644f5
inc edx
mov dword [ebp - 0x168], edx
cmp esi, 0xff
jbe 0x464522
cmp dword [ebp - 0x144], 0x4e
jmp 0x46453a
mov eax, esi
mov ecx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
movzx eax, byte [eax + ecx]
mov ecx, esi
sar eax, cl
test al, 1
je 0x464559
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x168]
cmp dword [ebp - 0xf4], ebx
jmp 0x46447c
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46178f
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x464659
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x464559
dec edi
jmp 0x464598
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x46461e
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4645ec
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46461e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
jmp 0x46461e
movzx esi, byte [edi]
mov eax, esi
mov ecx, dword [ebp - 0x108]
shr eax, 3
and esi, 7
movzx eax, byte [eax + ecx]
mov ecx, esi
sar eax, cl
test al, 1
je 0x46461e
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], ebx
jmp 0x4645b6
cmp edi, dword [ebp - 0x10c]
jb 0x464659
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461796
dec edi
jmp 0x46461e
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
add esi, 3
mov dword [ebp - 0x108], esi
movzx eax, byte [edx + 1]
movzx edx, byte [edx + 2]
shl eax, 8
or eax, edx
add dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dl, byte [ecx]
movzx eax, dl
cmp eax, 0x46
jl 0x46472d
cmp eax, 0x4b
jle 0x4646ac
cmp eax, 0x4d
jg 0x46472d
jmp 0x4646e4
lea esi, [eax - 0x46]
inc dword [ebp - 0xf0]
mov ebx, esi
and ebx, 1
mov dword [ebp - 0xfc], ebx
movsx ebx, byte [esi + 0x52fd46]
movsx esi, byte [esi + 0x52fd40]
mov dword [ebp - 0x13c], esi
test esi, esi
jne 0x46473c
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x46473c
xor eax, eax
mov esi, dword [ebp - 0xf0]
cmp dl, 0x4d
sete al
mov dword [ebp - 0xfc], eax
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
movzx eax, byte [esi + 3]
movzx edx, byte [esi + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x13c], eax
jne 0x464724
mov dword [ebp - 0x13c], 0x7fffffff
add dword [ebp - 0xf0], 5
jmp 0x46473c
mov dword [ebp - 0x13c], 1
mov ebx, 1
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x4647f8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x46478b
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464784
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4647d7
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4647d7
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4647c0
push dword [ebp - 0x108]
push esi
call fcn.0046b690
pop ecx
test eax, eax
pop esi
je 0x46179d
inc dword [ebp - 0xf4]
jmp 0x464746
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x4648fc
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4617a4
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x4617ab
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x46488f
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464888
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4648db
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4648db
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4648c4
push dword [ebp - 0x108]
push esi
call fcn.0046b690
pop esi
test eax, eax
pop edx
je 0x4617b2
inc dword [ebp - 0xf4]
jmp 0x464817
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4649e5
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x16c], 1
cmp edi, dword [eax + 0x68]
jb 0x46495b
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4649e5
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
jmp 0x4649e5
movzx esi, byte [edi]
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4649b6
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x16c], edx
jg 0x4649af
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x46499a
inc edx
mov dword [ebp - 0x16c], edx
push dword [ebp - 0x108]
push esi
call fcn.0046b690
pop ecx
test eax, eax
pop ebx
je 0x4649e5
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x16c]
cmp dword [ebp - 0xf4], ecx
jmp 0x464910
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4617b9
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x464a39
cmp dword [ebp - 0xf8], 0
je 0x4649e5
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x4649e5
dec edi
jmp 0x464a29
xor edx, edx
jmp case.default.0x4678b8
cmp dword [ebp - 0xf8], 0
je 0x464aff
inc dword [ebp - 0xf0]
mov dword [ebp - 0x138], 1
mov ebx, dword [ebp - 0xf0]
movzx esi, byte [ebx]
cmp esi, 0xbf
jbe 0x464a8b
and esi, 0x3f
mov edx, 1
movzx eax, byte [esi + 0x530790]
cmp edx, eax
jg 0x464a84
inc edx
jmp 0x464a7d
inc eax
mov dword [ebp - 0x138], eax
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
mov eax, edx
sub eax, edi
cmp dword [ebp - 0x138], eax
jle 0x464acf
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x464ac8
cmp edi, edx
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464ac8
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp - 0x138]
dec dword [ebp - 0x138]
test eax, eax
jle 0x461a17
mov ecx, dword [ebp - 0xf0]
mov dl, byte [edi]
inc edi
mov al, byte [ecx]
inc ecx
mov dword [ebp - 0xf0], ecx
cmp al, dl
jne 0x4617c0
jmp 0x464acf
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x68]
sub eax, edi
test eax, eax
jg 0x464b39
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464b32
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp - 0xf0]
mov al, byte [edi]
inc edi
cmp byte [esi + 1], al
jne 0x4617c7
add esi, 2
mov dword [ebp - 0xf0], esi
jmp 0x461a17
cmp dword [ebp - 0xf8], 0
je 0x464cf8
inc dword [ebp - 0xf0]
mov dword [ebp - 0x138], 1
mov eax, dword [ebp - 0xf0]
mov al, byte [eax]
movzx esi, al
mov byte [ebp - 0x16d], al
cmp esi, 0xbf
jbe 0x464bde
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
mov dword [ebp - 0x1fc], ecx
shl esi, cl
cmp ebx, edx
jg 0x464bd7
sub dword [ebp - 0x1fc], 6
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [ebx + ecx]
mov cl, byte [ebp - 0x1fc]
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
jmp 0x464bb2
inc edx
mov dword [ebp - 0x138], edx
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x68]
mov eax, edx
sub eax, edi
cmp dword [ebp - 0x138], eax
jle 0x464c22
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x464c1b
cmp edi, edx
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464c1b
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x7f
mov al, byte [edi]
lea ebx, [edi + 1]
ja 0x464c57
mov esi, dword [ebp + 0x10]
inc dword [ebp - 0xf0]
mov edx, dword [esi + 0x30]
mov edi, ebx
movzx ecx, byte [ebp - 0x16d]
movzx eax, al
mov al, byte [eax + edx]
cmp byte [ecx + edx], al
je 0x461a17
xor edx, edx
jmp case.default.0x4678b8
movzx eax, al
mov dword [ebp - 0x1fc], eax
mov edi, ebx
cmp eax, 0xbf
jbe 0x464ca8
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ebx, edx, 6
mov eax, dword [edx*4 + 0x5307d0]
mov cl, bl
and dword [ebp - 0x1fc], eax
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x464ca8
movzx eax, byte [edi]
sub ebx, 6
and eax, 0x3f
mov cl, bl
inc edi
shl eax, cl
or dword [ebp - 0x1fc], eax
jmp 0x464c8b
mov ebx, dword [ebp - 0x138]
add dword [ebp - 0xf0], ebx
cmp esi, dword [ebp - 0x1fc]
je 0x461a17
mov eax, esi
mov edx, esi
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, edx
movzx eax, word [eax + eax + 0x5308b0]
add esi, dword [eax*8 + 0x53c8b4]
cmp dword [ebp - 0x1fc], esi
je 0x461a17
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x68]
sub eax, edi
test eax, eax
jg 0x464d32
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464d2b
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp - 0xf0]
mov ebx, dword [ebp + 0x10]
movzx ecx, byte [eax + 1]
movzx eax, byte [edi]
mov edx, dword [ebx + 0x30]
inc edi
mov al, byte [eax + edx]
cmp byte [ecx + edx], al
jne 0x4617ce
add dword [ebp - 0xf0], 2
jmp 0x461a17
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
movzx esi, byte [esi + 1]
movzx eax, byte [edx + 2]
shl esi, 8
add edx, 3
or esi, eax
mov dword [ebp - 0xf0], edx
mov ebx, esi
mov dword [ebp - 0x13c], esi
jmp 0x464e54
mov dword [ebp - 0x100], 1
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xf0]
xor ebx, ebx
movzx ecx, byte [ecx + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
xor eax, eax
cmp dl, 0x26
mov dword [ebp - 0x13c], ecx
sete al
add esi, 3
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf0], esi
jmp 0x464e54
xor ebx, ebx
mov dword [ebp - 0x100], 1
jmp 0x464df1
mov dword [ebp - 0x100], 1
mov ebx, 1
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x464e13
mov dword [ebp - 0x100], 1
xor ebx, ebx
mov dword [ebp - 0x13c], 1
inc dword [ebp - 0xf0]
jmp 0x464e54
movzx eax, dl
inc dword [ebp - 0xf0]
lea esi, [eax - 0x1f]
mov eax, esi
movsx ebx, byte [esi + 0x52fd46]
movsx esi, byte [esi + 0x52fd40]
and eax, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], eax
test esi, esi
jne 0x464e54
mov dword [ebp - 0x13c], 0x7fffffff
mov edx, dword [ebp - 0xf0]
cmp dword [ebp - 0xf8], 0
mov al, byte [edx]
je 0x465243
movzx esi, al
mov dword [ebp - 0x138], 1
mov dword [ebp - 0x104], edx
cmp esi, 0xbf
jbe 0x464eed
mov eax, esi
mov dword [ebp - 0x174], 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
mov dword [ebp - 0x1fc], ecx
shl esi, cl
cmp dword [ebp - 0x138], edx
jg 0x464ee6
sub dword [ebp - 0x1fc], 6
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0xf0]
movzx eax, byte [eax + ecx]
inc dword [ebp - 0x174]
and eax, 0x3f
mov cl, byte [ebp - 0x1fc]
shl eax, cl
or esi, eax
cmp dword [ebp - 0x174], edx
jmp 0x464eb2
inc edx
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x138]
add dword [ebp - 0xf0], eax
dec eax
jle 0x46524c
test byte [ebp + 0x14], 1
je 0x464f48
mov eax, esi
mov edx, esi
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, edx
mov edx, esi
movzx eax, word [eax + eax + 0x5308b0]
add edx, dword [eax*8 + 0x53c8b4]
cmp edx, esi
je 0x464f48
lea eax, [ebp - 0xec]
push eax
push edx
call fcn.0046b2d0
mov dword [ebp - 0x130], eax
pop eax
pop edx
jmp 0x464f52
mov dword [ebp - 0x130], 0
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x465011
mov edx, dword [ebp + 0x10]
mov esi, dword [edx + 0x68]
mov eax, esi
sub eax, dword [ebp - 0x138]
cmp edi, eax
ja 0x464f9b
push dword [ebp - 0x138]
push dword [ebp - 0x104]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x464f9b
add edi, dword [ebp - 0x138]
jmp 0x465006
cmp dword [ebp - 0x130], 0
jle 0x464fd0
sub esi, dword [ebp - 0x130]
cmp edi, esi
ja 0x464fd0
push dword [ebp - 0x130]
lea eax, [ebp - 0xec]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x464fd0
add edi, dword [ebp - 0x130]
jmp 0x465006
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
je 0x464fff
cmp edi, dword [ebx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x464fff
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x464f5c
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x46511e
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4617d5
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x4617dc
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x68]
mov eax, ebx
sub eax, dword [ebp - 0x138]
cmp edi, eax
ja 0x4650a5
push dword [ebp - 0x138]
push dword [ebp - 0x104]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4650a5
add edi, dword [ebp - 0x138]
jmp 0x465113
cmp dword [ebp - 0x130], 0
jle 0x4650da
sub ebx, dword [ebp - 0x130]
cmp edi, ebx
ja 0x4650da
push dword [ebp - 0x130]
lea eax, [ebp - 0xec]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4650da
add edi, dword [ebp - 0x130]
jmp 0x465113
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
je 0x46510c
cmp edi, dword [edx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46510c
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x465030
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4651ea
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 0x68]
mov eax, ebx
sub eax, dword [ebp - 0x138]
cmp edi, eax
ja 0x46516b
push dword [ebp - 0x138]
push dword [ebp - 0x104]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x46516b
add edi, dword [ebp - 0x138]
jmp 0x4651d3
cmp dword [ebp - 0x130], 0
jle 0x4651a0
sub ebx, dword [ebp - 0x130]
cmp edi, ebx
ja 0x4651a0
push dword [ebp - 0x130]
lea eax, [ebp - 0xec]
push eax
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4651a0
add edi, dword [ebp - 0x130]
jmp 0x4651d3
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
je 0x4651ea
cmp edi, dword [edx + 0x68]
setae dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4651ea
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x4651ea
mov edx, 0xfffffff4
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jmp 0x465132
cmp dword [ebp - 0x100], 0
jne 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4617e3
cmp edi, dword [ebp - 0x10c]
je 0x4617ea
dec edi
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x4651f7
jmp 0x465233
inc dword [ebp - 0xf0]
movzx esi, al
test byte [ebp + 0x14], 1
je 0x46543b
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x30]
movzx esi, byte [esi + edx]
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x4652c2
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x4652aa
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4652a3
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
jne 0x4617f1
inc dword [ebp - 0xf4]
jmp 0x46526a
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x46537d
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4617f8
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x4617ff
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x46535c
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465355
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
jne 0x461806
inc dword [ebp - 0xf4]
jmp 0x4652e1
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x4653ec
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x4653c6
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4653ec
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x4653ec
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
cmp esi, eax
jne 0x4653ec
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], ebx
jmp 0x465391
cmp dword [ebp - 0x100], 0
jne 0x461a17
cmp edi, dword [ebp - 0x10c]
jb 0x465434
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
dec edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46180d
jmp 0x4653f9
xor edx, edx
jmp case.default.0x4678b8
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46549a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x465486
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46547f
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp esi, eax
jne 0x461814
inc dword [ebp - 0xf4]
jmp 0x465445
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x465548
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46181b
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x461822
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x465531
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46552a
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp esi, eax
jne 0x461829
inc dword [ebp - 0xf4]
jmp 0x4654b9
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x4655ad
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x465591
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4655ad
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x4655ad
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx eax, byte [edi]
cmp esi, eax
jne 0x4655ad
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x46555c
cmp dword [ebp - 0x100], 0
jne 0x461a17
cmp edi, dword [ebp - 0x10c]
jb 0x4655f5
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
dec edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461830
jmp 0x4655ba
xor edx, edx
jmp case.default.0x4678b8
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x465635
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46562e
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf0]
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x465687
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x465687
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x465670
test byte [ebp + 0x14], 1
je 0x4656c8
cmp esi, 0xff
ja 0x46569f
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x30]
movzx esi, byte [esi + eax]
mov ecx, dword [ebp - 0xf0]
mov ebx, dword [ebp + 0x10]
movzx eax, byte [ecx]
mov edx, dword [ebx + 0x30]
inc ecx
movzx eax, byte [eax + edx]
mov dword [ebp - 0xf0], ecx
cmp eax, esi
jne 0x461a17
xor edx, edx
jmp case.default.0x4678b8
mov edx, dword [ebp - 0xf0]
movzx eax, byte [edx]
inc edx
cmp eax, esi
mov dword [ebp - 0xf0], edx
jne 0x461a17
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0xf0]
movzx ecx, byte [ecx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
add dword [ebp - 0xf0], 3
or ecx, eax
mov ebx, ecx
mov dword [ebp - 0x13c], ecx
jmp 0x465807
mov esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [ecx + 2]
shl esi, 8
or esi, eax
xor eax, eax
cmp dl, 0x33
mov dword [ebp - 0x13c], esi
sete al
add ecx, 3
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf0], ecx
jmp 0x465807
xor ebx, ebx
mov dword [ebp - 0x100], 1
jmp 0x46576e
mov dword [ebp - 0x100], 1
mov ebx, 1
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x465790
mov dword [ebp - 0x100], 1
xor ebx, ebx
mov dword [ebp - 0x13c], 1
inc dword [ebp - 0xf0]
jmp 0x465807
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 1
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [edx + 2]
shl esi, 8
add edx, 3
or esi, eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x13c], esi
jmp 0x465807
movzx eax, dl
inc dword [ebp - 0xf0]
lea esi, [eax - 0x2c]
mov ecx, esi
movsx ebx, byte [esi + 0x52fd46]
movsx esi, byte [esi + 0x52fd40]
and ecx, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], ecx
test esi, esi
jne 0x465807
mov dword [ebp - 0x13c], 0x7fffffff
mov eax, dword [ebp - 0xf0]
movzx esi, byte [eax]
inc eax
test byte [ebp + 0x14], 1
mov dword [ebp - 0xf0], eax
je 0x465d75
mov edx, dword [ebp + 0x10]
cmp dword [ebp - 0xf8], 0
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x178], edx
movzx esi, byte [esi + edx]
je 0x465921
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x465989
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x46588c
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465885
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x1fc], eax
cmp eax, 0xbf
jbe 0x4658e8
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
mov eax, dword [edx*4 + 0x5307d0]
mov dword [ebp - 0x17c], ecx
and dword [ebp - 0x1fc], eax
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x4658e8
sub dword [ebp - 0x17c], 6
movzx eax, byte [edi]
mov cl, byte [ebp - 0x17c]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1fc], eax
inc edi
jmp 0x4658c3
cmp dword [ebp - 0x1fc], 0xff
ja 0x46590a
mov eax, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0x178]
movzx eax, byte [eax + edx]
mov dword [ebp - 0x1fc], eax
cmp esi, dword [ebp - 0x1fc]
je 0x461837
inc dword [ebp - 0xf4]
jmp 0x465848
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x465989
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x46596b
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465964
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
mov edx, dword [ebp - 0x178]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
je 0x46183e
inc dword [ebp - 0xf4]
jmp 0x46592b
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x465b4f
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x465ab6
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461845
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x46184c
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x465a2d
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465a26
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x1fc], eax
cmp eax, 0xbf
jbe 0x465a7d
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ebx, edx, 6
mov ecx, dword [edx*4 + 0x5307d0]
and dword [ebp - 0x1fc], ecx
mov cl, bl
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x465a7d
movzx eax, byte [edi]
sub ebx, 6
and eax, 0x3f
mov cl, bl
inc edi
shl eax, cl
or dword [ebp - 0x1fc], eax
jmp 0x465a60
cmp dword [ebp - 0x1fc], 0xff
ja 0x465a9f
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x1fc]
mov eax, dword [ebx + 0x30]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x1fc], eax
cmp esi, dword [ebp - 0x1fc]
je 0x461853
inc dword [ebp - 0xf4]
jmp 0x4659b5
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46185a
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x461861
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x465b2e
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465b27
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
inc edi
movzx eax, byte [eax + edx]
cmp esi, eax
je 0x461868
inc dword [ebp - 0xf4]
jmp 0x465ab6
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0xf8], 0
je 0x465cbe
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x465c62
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x180], 1
cmp edi, dword [edx + 0x68]
jb 0x465bbb
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465c62
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x465c62
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx edx, byte [edi]
cmp edx, 0xbf
jbe 0x465c2f
mov eax, edx
mov dword [ebp - 0x184], 1
and eax, 0x3f
movzx eax, byte [eax + 0x530790]
imul ebx, eax, 6
and edx, dword [eax*4 + 0x5307d0]
mov cl, bl
shl edx, cl
cmp dword [ebp - 0x180], eax
mov dword [ebp - 0x1fc], eax
jg 0x465c22
mov ecx, dword [ebp - 0x184]
sub ebx, 6
movzx eax, byte [ecx + edi]
mov cl, bl
and eax, 0x3f
inc dword [ebp - 0x184]
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x184], eax
jmp 0x465bf6
mov ecx, dword [ebp - 0x1fc]
inc ecx
mov dword [ebp - 0x180], ecx
cmp edx, 0xff
ja 0x465c41
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x30]
movzx edx, byte [edx + eax]
cmp esi, edx
je 0x465c62
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
add edi, dword [ebp - 0x180]
cmp dword [ebp - 0xf4], eax
jmp 0x465b70
cmp dword [ebp - 0x100], 0
jne 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46186f
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x465d6e
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x465c6f
dec edi
jmp 0x465cae
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x465d26
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x465d00
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465d26
mov dword [ebx + 0x58], 1
dec ecx
jle 0x465d26
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
cmp esi, eax
je 0x465d26
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], ebx
jmp 0x465ccc
cmp dword [ebp - 0x100], 0
jne 0x461a17
cmp edi, dword [ebp - 0x10c]
jb 0x465d6e
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461876
dec edi
jmp 0x465d33
xor edx, edx
jmp case.default.0x4678b8
cmp dword [ebp - 0xf8], 0
je 0x465e4f
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x465eae
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x465dd1
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465dca
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx ecx, byte [edi]
inc edi
mov dword [ebp - 0x1fc], ecx
cmp ecx, 0xbf
jbe 0x465e38
mov eax, ecx
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul eax, edx, 6
mov dword [ebp - 0x188], eax
mov eax, dword [edx*4 + 0x5307d0]
and ecx, eax
mov dword [ebp - 0x1fc], ecx
mov cl, byte [ebp - 0x188]
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x465e38
sub dword [ebp - 0x188], 6
movzx eax, byte [edi]
mov cl, byte [ebp - 0x188]
and eax, 0x3f
shl eax, cl
or dword [ebp - 0x1fc], eax
inc edi
jmp 0x465e13
cmp esi, dword [ebp - 0x1fc]
je 0x46187d
inc dword [ebp - 0xf4]
jmp 0x465d8c
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x465eae
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x465e9a
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465e93
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp esi, eax
je 0x461884
inc dword [ebp - 0xf4]
jmp 0x465e59
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x46604b
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x465fb9
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46188b
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x461892
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x465f52
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x465f4b
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
mov dword [ebp - 0x1fc], eax
cmp eax, 0xbf
jbe 0x465fa2
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ebx, edx, 6
mov ecx, dword [edx*4 + 0x5307d0]
and dword [ebp - 0x1fc], ecx
mov cl, bl
shl dword [ebp - 0x1fc], cl
mov eax, edx
dec edx
test eax, eax
jle 0x465fa2
movzx eax, byte [edi]
sub ebx, 6
and eax, 0x3f
mov cl, bl
inc edi
shl eax, cl
or dword [ebp - 0x1fc], eax
jmp 0x465f85
cmp esi, dword [ebp - 0x1fc]
je 0x461899
inc dword [ebp - 0xf4]
jmp 0x465eda
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4618a0
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jge 0x4618a7
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x466034
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46602d
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp esi, eax
je 0x4618ae
inc dword [ebp - 0xf4]
jmp 0x465fb9
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0xf8], 0
je 0x4661a5
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x466149
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x18c], 1
cmp edi, dword [ebx + 0x68]
jb 0x4660b4
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466149
mov dword [ebx + 0x58], 1
dec ecx
jle 0x466149
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx edx, byte [edi]
cmp edx, 0xbf
jbe 0x466128
mov eax, edx
mov dword [ebp - 0x190], 1
and eax, 0x3f
movzx eax, byte [eax + 0x530790]
imul ebx, eax, 6
and edx, dword [eax*4 + 0x5307d0]
mov cl, bl
shl edx, cl
cmp dword [ebp - 0x18c], eax
mov dword [ebp - 0x1fc], eax
jg 0x46611b
mov ecx, dword [ebp - 0x190]
sub ebx, 6
movzx eax, byte [ecx + edi]
mov cl, bl
and eax, 0x3f
inc dword [ebp - 0x190]
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x190], eax
jmp 0x4660ef
mov ecx, dword [ebp - 0x1fc]
inc ecx
mov dword [ebp - 0x18c], ecx
cmp esi, edx
je 0x466149
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x18c]
cmp dword [ebp - 0xf4], ebx
jmp 0x46606c
cmp dword [ebp - 0x100], 0
jne 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4618b5
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x46624c
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x466156
dec edi
jmp 0x466195
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x466204
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x4661e8
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466204
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x466204
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx eax, byte [edi]
cmp esi, eax
je 0x466204
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x4661b3
cmp dword [ebp - 0x100], 0
jne 0x461a17
cmp edi, dword [ebp - 0x10c]
jb 0x46624c
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4618bc
dec edi
jmp 0x466211
xor edx, edx
jmp case.default.0x4678b8
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
movzx edx, byte [edx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
mov dword [ebp - 0xfc], 1
or edx, eax
mov ebx, edx
mov dword [ebp - 0x13c], edx
jmp 0x4662af
mov esi, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf0]
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [ecx + 2]
shl esi, 8
or esi, eax
xor eax, eax
cmp dl, 0x40
mov dword [ebp - 0x13c], esi
sete al
mov dword [ebp - 0xfc], eax
add ecx, 3
mov dword [ebp - 0xf0], ecx
jmp 0x466373
xor ebx, ebx
mov dword [ebp - 0x100], 1
jmp 0x4662da
mov dword [ebp - 0x100], 1
mov ebx, 1
mov dword [ebp - 0x13c], 0x7fffffff
jmp 0x4662fc
mov dword [ebp - 0x100], 1
xor ebx, ebx
mov dword [ebp - 0x13c], 1
inc dword [ebp - 0xf0]
jmp 0x466373
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x100], 1
xor ebx, ebx
movzx esi, byte [esi + 1]
movzx eax, byte [edx + 2]
shl esi, 8
add edx, 3
or esi, eax
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0x13c], esi
jmp 0x466373
movzx eax, dl
inc dword [ebp - 0xf0]
lea esi, [eax - 0x39]
mov ecx, esi
movsx ebx, byte [esi + 0x52fd46]
movsx esi, byte [esi + 0x52fd40]
and ecx, 1
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0xfc], ecx
test esi, esi
jne 0x466373
mov dword [ebp - 0x13c], 0x7fffffff
mov esi, dword [ebp - 0xf0]
movzx esi, byte [esi]
mov eax, esi
inc dword [ebp - 0xf0]
sub eax, 0xf
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x124], 0xffffffff
cmp eax, 1
ja 0x4663d4
xor eax, eax
cmp esi, 0xf
sete al
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xf0]
movzx eax, byte [eax]
inc dword [ebp - 0xf0]
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0xf0]
movzx edx, byte [edx]
inc dword [ebp - 0xf0]
mov dword [ebp - 0x128], edx
test ebx, ebx
jle 0x46787a
cmp dword [ebp - 0x124], 0
js 0x46683d
cmp dword [ebp - 0x124], 4
ja case.default.0x4663fc
mov ecx, dword [ebp - 0x124]
jmp dword [ecx*4 + 0x52ff2c]
cmp dword [ebp - 0x12c], 0
jne 0x4618c3
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x46645c
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466455
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x46648d
and esi, 0x3f
movzx edx, byte [esi + 0x530790]
mov eax, edx
dec edx
test eax, eax
jle 0x46648d
inc edi
jmp 0x466483
inc dword [ebp - 0xf4]
jmp 0x46641a
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4664e4
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4664dd
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x466530
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466530
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466519
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
xor esi, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx ecx, byte [eax*8 + 0x53c8b1]
cmp ecx, 9
sete dl
cmp ecx, 5
sete al
or eax, edx
test al, 1
jne 0x46656d
cmp ecx, 8
jne 0x466572
mov esi, 1
cmp esi, dword [ebp - 0x12c]
je 0x4618ca
inc dword [ebp - 0xf4]
jmp 0x46649f
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x4665d7
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4665d0
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x466623
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466623
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46660c
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
mov esi, dword [ebp - 0x128]
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], esi
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x4618d1
inc dword [ebp - 0xf4]
jmp 0x466593
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4666c0
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4666b9
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x46670c
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x46670c
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4666f5
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx ecx, byte [eax*8 + 0x53c8b1]
xor eax, eax
cmp ecx, dword [ebp - 0x128]
sete al
cmp eax, dword [ebp - 0x12c]
je 0x4618d8
inc dword [ebp - 0xf4]
jmp 0x46667b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x4667a0
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466799
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4667ec
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4667ec
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4667d5
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b0]
cmp eax, dword [ebp - 0x128]
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x4618df
inc dword [ebp - 0xf4]
jmp 0x46675c
mov edx, 0xfffffff2
jmp case.default.0x4678b8
cmp dword [ebp - 0x134], 0x16
jne 0x4669fa
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
mov esi, dword [esi + 0x68]
mov dword [ebp - 0x194], esi
cmp edi, esi
jb 0x4668a4
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46689d
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x4668f0
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x4668f0
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x4668d9
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
je 0x4618e6
cmp edi, dword [ebp - 0x194]
jae 0x4669ef
mov dword [ebp - 0x198], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x466948
movzx esi, al
jmp 0x4669b6
movzx esi, al
cmp esi, 0xbf
jbe 0x4669b6
mov eax, esi
mov dword [ebp - 0x19c], 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
mov dword [ebp - 0x1fc], ecx
shl esi, cl
cmp dword [ebp - 0x198], edx
jg 0x4669af
sub dword [ebp - 0x1fc], 6
mov ecx, dword [ebp - 0x19c]
movzx eax, byte [ecx + edi]
inc dword [ebp - 0x19c]
and eax, 0x3f
mov cl, byte [ebp - 0x1fc]
shl eax, cl
or esi, eax
cmp dword [ebp - 0x19c], edx
jmp 0x466981
inc edx
mov dword [ebp - 0x198], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
jne 0x4669ef
add edi, dword [ebp - 0x198]
jmp 0x466922
inc dword [ebp - 0xf4]
jmp 0x466854
mov esi, dword [ebp - 0x134]
cmp dword [ebp - 0xf8], 0
lea eax, [esi - 6]
je 0x46726d
cmp eax, 0xf
ja case.0x466a19.9
jmp dword [eax*4 + 0x52ff40]
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x466a71
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466a6a
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x466a98
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x466ab8
jmp 0x466abf
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x466abf
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne 0x466abf
dec ecx
je 0x466ab8
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
jne 0x466abf
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
inc edi
mov edx, dword [ecx + 0x68]
jmp 0x466ad6
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x466ada
inc edi
cmp edi, edx
jb 0x466ac8
inc dword [ebp - 0xf4]
jmp 0x466a2a
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
cmp edi, edx
jb 0x466b40
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466b2c
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x466b45
inc edi
cmp edi, edx
jb 0x466b33
inc dword [ebp - 0xf4]
jmp 0x466aef
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, ebx
cmp edi, eax
ja 0x4618ed
jmp 0x467394
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x68]
mov dword [ebp - 0x1a0], ecx
cmp edi, ecx
jb 0x466bb9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466bb2
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x466bf4
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466bf4
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466bdd
cmp esi, 0xd
je 0x466c20
ja 0x466c04
cmp esi, 0xa
je 0x466c3d
jb 0x466c19
jmp 0x466c30
cmp esi, 0x85
je 0x466c30
jb 0x466c19
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x466c30
xor edx, edx
jmp case.default.0x4678b8
cmp edi, dword [ebp - 0x1a0]
jae 0x466c3d
cmp byte [edi], 0xa
jne 0x466c3d
inc edi
jmp 0x466c3d
mov esi, dword [ebp + 0x10]
cmp dword [esi + 0x5c], 0
jne 0x4618f4
inc dword [ebp - 0xf4]
jmp 0x466b6c
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x466c97
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466c90
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x466cd2
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466cd2
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466cbb
cmp esi, 0x180e
je 0x466d1f
ja 0x466cf8
cmp esi, 0x20
je 0x466d1f
ja 0x466ce8
cmp esi, 9
jmp 0x466d1d
cmp esi, 0xa0
je 0x466d1f
cmp esi, 0x1680
jmp 0x466d1d
cmp esi, 0x202f
je 0x466d1f
ja 0x466d0f
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x466d26
jmp 0x466d1f
cmp esi, 0x205f
je 0x466d1f
cmp esi, 0x3000
jne 0x466d26
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x466c52
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x466d7f
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466d78
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x466dba
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466dba
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466da3
cmp esi, 0x180e
je 0x466e0e
ja 0x466de0
cmp esi, 0x20
je 0x466e0e
ja 0x466dd0
cmp esi, 9
jmp 0x466e05
cmp esi, 0xa0
je 0x466e0e
cmp esi, 0x1680
jmp 0x466e05
cmp esi, 0x202f
je 0x466e0e
ja 0x466df7
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x466e07
jmp 0x466e0e
cmp esi, 0x205f
je 0x466e0e
cmp esi, 0x3000
je 0x466e0e
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x466d3b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x466e65
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466e5e
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x466ea0
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466ea0
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466e89
cmp esi, 0x85
je 0x466ebd
ja 0x466eb2
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x466ebb
lea eax, [esi - 0x2028]
cmp eax, 1
ja 0x466ec4
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x466e23
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x466f1e
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466f17
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x466f59
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x466f59
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466f42
cmp esi, 0x85
je 0x466f7d
ja 0x466f6b
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x466f74
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x466f7d
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x466ed9
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x466fd6
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x466fcf
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x467011
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x467011
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x466ffa
cmp esi, 0x7f
ja 0x467026
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
jne 0x4618fb
inc dword [ebp - 0xf4]
jmp 0x466f92
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x46707f
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467078
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov al, byte [edi]
test al, al
js 0x467095
mov esi, dword [ebp + 0x10]
inc edi
movzx edx, al
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jne 0x46709c
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x46703b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x68]
cmp edi, ecx
jb 0x4670f5
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4670ee
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov al, byte [edi]
test al, al
js 0x46710e
mov esi, dword [ebp + 0x10]
movzx edx, al
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jne 0x461902
inc edi
cmp edi, ecx
jae 0x467120
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
je 0x46710e
inc dword [ebp - 0xf4]
jmp 0x4670ae
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x467177
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467170
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov al, byte [edi]
test al, al
js 0x46718d
mov ecx, dword [ebp + 0x10]
inc edi
movzx edx, al
mov eax, dword [ecx + 0x34]
test byte [edx + eax], 1
jne 0x467194
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x467132
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x68]
cmp edi, ecx
jae 0x4671ce
mov al, byte [edi]
test al, al
js 0x4671d5
movzx edx, al
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
je 0x4671d5
xor edx, edx
jmp case.default.0x4678b8
inc edi
cmp edi, ecx
jae 0x4671e7
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
je 0x4671d5
inc dword [ebp - 0xf4]
jmp 0x4671a6
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x46723e
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467237
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov al, byte [edi]
test al, al
js 0x467254
mov ecx, dword [ebp + 0x10]
inc edi
movzx edx, al
mov eax, dword [ecx + 0x34]
test byte [edx + eax], 0x10
jne 0x46725b
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x4671f9
mov edx, 0xfffffff2
jmp case.default.0x4678b8
cmp eax, 0xf
ja case.0x467276.9
jmp dword [eax*4 + 0x52ff80]
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
cmp edi, edx
jb 0x4672cb
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4672c4
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4672ec
add eax, 0x1c
push 0
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x46730a
jmp 0x467311
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x467311
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x467311
dec ecx
je 0x46730a
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x467311
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
inc edi
jmp 0x467287
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
sub eax, ebx
cmp edi, eax
jbe 0x467394
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467353
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0x68]
sub eax, ebx
cmp edi, eax
jbe 0x467394
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46738d
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
add edi, ebx
jmp 0x46787a
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x4673ec
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4673e5
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp eax, 0xc
jg 0x467401
cmp eax, 0xb
jge 0x467420
cmp eax, 0xa
je 0x46742d
jmp 0x46740d
cmp eax, 0xd
je 0x467414
cmp eax, 0x85
je 0x467420
xor edx, edx
jmp case.default.0x4678b8
cmp edi, edx
jae 0x46742d
cmp byte [edi], 0xa
jne 0x46742d
inc edi
jmp 0x46742d
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x5c], 0
jne 0x461909
inc dword [ebp - 0xf4]
jmp 0x4673a5
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x467484
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46747d
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp eax, 0x20
je 0x46749b
jg 0x467494
cmp eax, 9
jmp 0x467499
cmp eax, 0xa0
jne 0x4674a2
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x467442
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4674f9
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4674f2
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp eax, 0x20
je 0x467517
jg 0x467509
cmp eax, 9
jmp 0x46750e
cmp eax, 0xa0
je 0x467517
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x4674b4
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x46756d
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467566
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x467589
cmp eax, 0xd
jle 0x467582
cmp eax, 0x85
jne 0x467589
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x467529
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x4675dd
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4675d6
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x4675f2
cmp eax, 0xd
jle 0x4675f9
cmp eax, 0x85
je 0x4675f9
xor edx, edx
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x46759b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x467650
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467649
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 4
jne 0x461910
inc dword [ebp - 0xf4]
jmp 0x46760b
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x4676b8
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4676b1
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 4
je 0x461917
inc dword [ebp - 0xf4]
jmp 0x467676
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x467720
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467719
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 1
jne 0x46191e
inc dword [ebp - 0xf4]
jmp 0x4676de
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x467788
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467781
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 1
je 0x461925
inc dword [ebp - 0xf4]
jmp 0x467746
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x4677f0
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4677e9
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 0x10
jne 0x46192c
inc dword [ebp - 0xf4]
jmp 0x4677ae
mov dword [ebp - 0xf4], 1
cmp dword [ebp - 0xf4], ebx
jg 0x46787a
mov esi, dword [ebp + 0x10]
cmp edi, dword [esi + 0x68]
jb 0x467854
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46784d
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [ecx + 0x34]
inc edi
test byte [edx + eax], 0x10
je 0x461933
inc dword [ebp - 0xf4]
jmp 0x467816
mov edx, 0xfffffff2
jmp case.default.0x4678b8
cmp ebx, dword [ebp - 0x13c]
je 0x461a17
cmp dword [ebp - 0xfc], 0
je 0x468526
cmp dword [ebp - 0x124], 0
js 0x467d99
mov edx, 0xfffffff2
cmp dword [ebp - 0x124], 4
ja case.default.0x4678b8
mov esi, dword [ebp - 0x124]
jmp dword [esi*4 + 0x52ffc0]
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46193a
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x461941
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x467940
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467939
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x467960
and esi, 0x3f
movzx edx, byte [esi + 0x530790]
mov eax, edx
dec edx
test eax, eax
jle 0x467960
inc edi
jmp 0x467956
cmp dword [ebp - 0x12c], 0
jne 0x461948
inc dword [ebp - 0xf4]
jmp 0x4678c5
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46194f
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x461956
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x4679f9
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4679f2
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x467a34
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x467a34
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x467a1d
mov eax, esi
and esi, 0x7f
shr eax, 7
xor ebx, ebx
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx ecx, byte [eax*8 + 0x53c8b1]
cmp ecx, 9
sete dl
cmp ecx, 5
sete al
or eax, edx
test al, 1
jne 0x467a71
cmp ecx, 8
jne 0x467a76
mov ebx, 1
cmp ebx, dword [ebp - 0x12c]
je 0x46195d
inc dword [ebp - 0xf4]
jmp 0x46797e
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461964
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x46196b
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x467b0b
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467b04
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x467b46
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x467b46
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x467b2f
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
mov esi, dword [ebp - 0x128]
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], esi
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x461972
inc dword [ebp - 0xf4]
jmp 0x467a93
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x461979
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x461980
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x467c15
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467c0e
mov ebx, dword [ebp + 0x10]
mov edx, 0xfffffff4
dec ecx
mov dword [ebx + 0x58], 1
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x467c50
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x467c50
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x467c39
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx ecx, byte [eax*8 + 0x53c8b1]
xor eax, eax
cmp ecx, dword [ebp - 0x128]
sete al
cmp eax, dword [ebp - 0x12c]
je 0x461987
inc dword [ebp - 0xf4]
jmp 0x467b9a
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x46198e
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x461995
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jb 0x467d17
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467d10
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x467d52
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x467d52
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x467d3b
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b0]
cmp eax, dword [ebp - 0x128]
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je 0x46199c
inc dword [ebp - 0xf4]
jmp 0x467c9c
cmp dword [ebp - 0x134], 0x16
jne 0x467f61
mov dword [ebp - 0xf4], ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619a3
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jge 0x4619aa
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx + 0x68]
mov dword [ebp - 0x1a4], ebx
cmp edi, ebx
jb 0x467e2f
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467e28
mov dword [esi + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x467e7b
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x467e7b
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x467e64
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
je 0x4619b1
cmp edi, dword [ebp - 0x1a4]
jae 0x467f56
mov dword [ebp - 0x1a8], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x467ed3
movzx esi, al
jmp 0x467f1d
movzx esi, al
cmp esi, 0xbf
jbe 0x467f1d
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1a8], edx
jg 0x467f16
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x467f01
inc edx
mov dword [ebp - 0x1a8], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
jne 0x467f56
add edi, dword [ebp - 0x1a8]
jmp 0x467ead
inc dword [ebp - 0xf4]
jmp 0x467dac
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf8], 0
je 0x4682d8
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619b8
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], eax
jge 0x4619bf
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x68]
cmp edi, edx
jb 0x467ff0
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x467fe9
mov dword [ebx + 0x58], 1
mov edx, 0xfffffff4
dec ecx
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
cmp dword [ebp - 0x134], 0xc
jne 0x468047
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x468020
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x468040
jmp 0x468047
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x468047
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne 0x468047
dec ecx
je 0x468040
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
jne 0x468047
xor edx, edx
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp esi, 0xbf
jbe 0x468082
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x468082
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x46806b
mov eax, dword [ebp - 0x134]
sub eax, 6
cmp eax, 0xf
ja case.0x468094.15
jmp dword [eax*4 + 0x52ffd4]
cmp esi, 0xd
je 0x4680cb
ja 0x4680af
cmp esi, 0xa
je case.0x468094.12
jb 0x4680c4
jmp 0x4680e6
cmp esi, 0x85
je 0x4680e6
jb 0x4680c4
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x4680e6
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jae case.0x468094.12
cmp byte [edi], 0xa
jne case.0x468094.12
inc edi
jmp case.0x468094.12
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x5c], 0
je case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x180e
je 0x46814f
ja 0x468120
cmp esi, 0x20
je 0x46814f
ja 0x468110
cmp esi, 9
jmp 0x468149
cmp esi, 0xa0
je 0x46814f
cmp esi, 0x1680
jmp 0x468149
cmp esi, 0x202f
je 0x46814f
ja 0x46813b
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja case.0x468094.12
jmp 0x46814f
cmp esi, 0x205f
je 0x46814f
cmp esi, 0x3000
jne case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x180e
je case.0x468094.12
ja 0x468188
cmp esi, 0x20
je case.0x468094.12
ja 0x468174
cmp esi, 9
jmp 0x4681b8
cmp esi, 0xa0
je case.0x468094.12
cmp esi, 0x1680
jmp 0x4681b8
cmp esi, 0x202f
je case.0x468094.12
ja 0x4681a6
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x4681be
jmp case.0x468094.12
cmp esi, 0x205f
je case.0x468094.12
cmp esi, 0x3000
je case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x85
je 0x4681e6
ja 0x4681d7
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x4681e0
lea eax, [esi - 0x2028]
cmp eax, 1
ja case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x85
je case.0x468094.12
ja 0x468203
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x46820c
lea eax, [esi - 0x2028]
cmp eax, 1
jbe case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xff
ja case.0x468094.12
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
je case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xff
ja 0x468250
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
jne case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xff
ja case.0x468094.12
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 1
je case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xff
ja 0x468286
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
jne case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xff
ja case.0x468094.12
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xff
ja 0x4682bc
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 0x10
jne case.0x468094.12
xor edx, edx
jmp case.default.0x4678b8
mov edx, 0xfffffff2
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x467f74
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619c6
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jge 0x4619cd
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x468355
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x46834e
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
mov edx, 0xfffffff4
jg case.default.0x4678b8
xor edx, edx
jmp case.default.0x4678b8
cmp dword [ebp - 0x134], 0xc
jne 0x4683a6
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x468381
mov eax, ebx
push 0
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x46839f
jmp 0x4683a6
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x4683a6
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x4683a6
dec ecx
je 0x46839f
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
jne 0x4683a6
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp - 0x134]
sub eax, 6
movzx esi, byte [edi]
inc edi
cmp eax, 0xf
ja case.0x4683bc.15
jmp dword [eax*4 + 0x530014]
cmp esi, 0xc
ja 0x4683d8
cmp esi, 0xb
jae 0x468407
cmp esi, 0xa
je case.0x4683bc.12
jmp 0x4683e5
cmp esi, 0xd
je 0x4683ec
cmp esi, 0x85
je 0x468407
xor edx, edx
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
cmp edi, dword [eax + 0x68]
jae case.0x4683bc.12
cmp byte [edi], 0xa
jne case.0x4683bc.12
inc edi
jmp case.0x4683bc.12
mov edx, dword [ebp + 0x10]
cmp dword [edx + 0x5c], 0
je case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x20
je 0x468433
ja 0x468427
cmp esi, 9
jmp 0x46842d
cmp esi, 0xa0
jne case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0x20
je case.0x4683bc.12
ja 0x46844a
cmp esi, 9
jmp 0x468450
cmp esi, 0xa0
je case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xa
jb case.0x4683bc.12
cmp esi, 0xd
jbe 0x468477
cmp esi, 0x85
jne case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
cmp esi, 0xa
jb 0x468498
cmp esi, 0xd
jbe case.0x4683bc.12
cmp esi, 0x85
je case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
je case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 4
jne case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 1
je case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
jne case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + 0x34]
test byte [esi + eax], 0x10
je case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 0x10
jne case.0x4683bc.12
xor edx, edx
jmp case.default.0x4678b8
mov edx, 0xfffffff2
jmp case.default.0x4678b8
inc dword [ebp - 0xf4]
jmp 0x4682d8
mov dword [ebp - 0x10c], edi
cmp dword [ebp - 0x124], 0
js 0x468a5c
cmp dword [ebp - 0x124], 4
ja case.default.0x46854c
mov ecx, dword [ebp - 0x124]
jmp dword [ecx*4 + 0x530054]
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x46854c
mov eax, dword [ebp + 0x10]
mov ecx, 1
cmp edi, dword [eax + 0x68]
jb 0x4685a7
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x46854c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x46854c
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4685cd
and esi, 0x3f
mov edx, 1
movzx eax, byte [esi + 0x530790]
cmp ecx, eax
jg 0x4685ca
inc edx
cmp edx, eax
jmp 0x4685c3
lea ecx, [eax + 1]
cmp dword [ebp - 0x12c], 0
jne case.default.0x46854c
inc dword [ebp - 0xf4]
add edi, ecx
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ecx
jmp 0x468561
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x46854c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1ac], 1
cmp edi, dword [eax + 0x68]
jb 0x46864c
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x46854c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x46854c
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x468696
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1ac], edx
jg 0x46868f
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x46867a
inc edx
mov dword [ebp - 0x1ac], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
xor ebx, ebx
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx ecx, byte [eax*8 + 0x53c8b1]
cmp ecx, 9
sete dl
cmp ecx, 5
sete al
or eax, edx
test al, 1
jne 0x4686d3
cmp ecx, 8
jne 0x4686d8
mov ebx, 1
cmp ebx, dword [ebp - 0x12c]
je case.default.0x46854c
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1ac]
cmp dword [ebp - 0xf4], ecx
jmp 0x468601
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x46854c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b0], 1
cmp edi, dword [eax + 0x68]
jb 0x46875a
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x46854c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x46854c
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4687a4
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1b0], edx
jg 0x46879d
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x468788
inc edx
mov dword [ebp - 0x1b0], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
mov ecx, dword [ebp - 0x128]
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], ecx
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je case.default.0x46854c
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1b0]
cmp dword [ebp - 0xf4], ebx
jmp 0x46870f
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x46854c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b4], 1
cmp edi, dword [eax + 0x68]
jb 0x46885d
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x46854c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x46854c
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4688a7
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1b4], edx
jg 0x4688a0
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x46888b
inc edx
mov dword [ebp - 0x1b4], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx ecx, byte [eax*8 + 0x53c8b1]
xor eax, eax
cmp ecx, dword [ebp - 0x128]
sete al
cmp eax, dword [ebp - 0x12c]
je case.default.0x46854c
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1b4]
cmp dword [ebp - 0xf4], ecx
jmp 0x468812
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge case.default.0x46854c
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1b8], 1
cmp edi, dword [eax + 0x68]
jb 0x468958
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je case.default.0x46854c
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle case.default.0x46854c
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4689a2
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1b8], edx
jg 0x46899b
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x468986
inc edx
mov dword [ebp - 0x1b8], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b0]
cmp eax, dword [ebp - 0x128]
sete al
movzx eax, al
cmp eax, dword [ebp - 0x12c]
je case.default.0x46854c
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1b8]
cmp dword [ebp - 0xf4], ecx
jmp 0x46890d
cmp dword [ebp - 0x100], 0
jne 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619d4
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x469f2e
cmp dword [ebp - 0xf8], 0
je 0x468a04
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x468a04
dec edi
jmp 0x468a4c
cmp dword [ebp - 0x134], 0x16
jne 0x468ce2
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x468c01
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1bc], eax
cmp edi, eax
jb 0x468ac3
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x468c01
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x468c01
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
inc edi
cmp dword [ebp - 0xf8], 0
setne dl
xor eax, eax
cmp esi, 0xbf
seta al
test edx, eax
je 0x468b0f
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
mov eax, edx
dec edx
test eax, eax
jle 0x468b0f
movzx eax, byte [edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc edi
jmp 0x468af8
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
je 0x468c01
cmp edi, dword [ebp - 0x1bc]
jae 0x468bea
mov dword [ebp - 0x1c0], 1
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x468b67
movzx esi, al
jmp 0x468bb1
movzx esi, al
cmp esi, 0xbf
jbe 0x468bb1
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1c0], edx
jg 0x468baa
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x468b95
inc edx
mov dword [ebp - 0x1c0], edx
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
jne 0x468bea
add edi, dword [ebp - 0x1c0]
jmp 0x468b41
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jmp 0x468a77
cmp dword [ebp - 0x100], 0
jne 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619db
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x469f2e
cmp dword [ebp - 0xf8], 0
mov al, byte [edi]
jne 0x468c5d
movzx esi, al
jmp 0x468caa
and eax, 0xc0
add eax, 0xffffff80
jne 0x468c6d
dec edi
movzx eax, byte [edi]
jmp 0x468c5d
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x468caa
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp ebx, edx
jg 0x468caa
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
or esi, eax
inc ebx
jmp 0x468c95
mov eax, esi
and esi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x53a6b0]
shl eax, 7
add eax, esi
movzx eax, word [eax + eax + 0x5308b0]
movzx eax, byte [eax*8 + 0x53c8b1]
cmp dword [eax*4 + 0x530710], 2
jne 0x468c0e
dec edi
jmp 0x468c4d
mov edx, dword [ebp - 0x134]
cmp dword [ebp - 0xf8], 0
lea eax, [edx - 6]
je 0x46985a
cmp eax, 0xf
ja case.0x468d01.9
jmp dword [eax*4 + 0x530068]
cmp dword [ebp - 0x13c], 0x7fffffff
je 0x468deb
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x4697fe
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x68]
cmp edi, edx
jb 0x468d66
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov dword [ebx + 0x58], 1
dec ecx
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x468d91
push dword [ebp - 0xf8]
mov eax, esi
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x4697fe
jmp 0x468db9
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x468db9
mov edx, eax
mov al, byte [eax + 0x2c]
cmp byte [edi], al
jne 0x468db9
dec ecx
je 0x4697fe
mov al, byte [edx + 0x2d]
cmp byte [edi + 1], al
je 0x4697fe
mov ecx, dword [ebp + 0x10]
inc edi
mov edx, dword [ecx + 0x68]
jmp 0x468dd0
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x468dd4
inc edi
cmp edi, edx
jb 0x468dc2
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], ebx
jmp 0x468d26
mov dword [ebp - 0xf4], ebx
cmp ebx, 0x7fffffff
jge 0x4697fe
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 0x68]
cmp edi, edx
jb 0x468e37
mov ecx, dword [esi + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov dword [esi + 0x58], 1
dec ecx
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x468e60
push dword [ebp - 0xf8]
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x4697fe
jmp 0x468e86
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x468e86
mov al, byte [ebx + 0x2c]
cmp byte [edi], al
jne 0x468e86
dec ecx
je 0x4697fe
mov al, byte [ebx + 0x2d]
cmp byte [edi + 1], al
je 0x4697fe
mov esi, dword [ebp + 0x10]
inc edi
mov edx, dword [esi + 0x68]
jmp 0x468e9d
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x468ea1
inc edi
cmp edi, edx
jb 0x468e8f
inc dword [ebp - 0xf4]
cmp dword [ebp - 0xf4], 0x7fffffff
jmp 0x468df7
cmp dword [ebp - 0x13c], 0x7fffffff
je 0x468f38
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x4697fe
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x68]
cmp edi, edx
jb 0x468f1f
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov dword [ebx + 0x58], 1
dec ecx
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x468f24
inc edi
cmp edi, edx
jb 0x468f12
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], esi
jmp 0x468ed0
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 0x68]
jmp 0x4697fe
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x13c]
sub esi, ebx
mov edx, dword [ecx + 0x68]
mov eax, edx
sub eax, edi
cmp esi, eax
jbe 0x468f8d
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
mov edi, edx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov dword [ebx + 0x58], 1
dec ecx
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
add edi, esi
jmp 0x4697fe
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4697fe
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c4], 1
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1c8], eax
cmp edi, eax
jb 0x468ff8
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x469042
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1c4], edx
jg 0x46903b
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x469026
inc edx
mov dword [ebp - 0x1c4], edx
cmp esi, 0xd
jne 0x46905c
inc edi
cmp edi, dword [ebp - 0x1c8]
jae 0x4697fe
cmp byte [edi], 0xa
jne 0x4690a8
inc edi
jmp 0x4690a8
cmp esi, 0xa
je 0x4690a2
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x5c], 0
jne 0x4697fe
lea eax, [esi - 0xb]
cmp eax, 1
seta dl
xor eax, eax
cmp esi, 0x85
setne al
test edx, eax
je 0x4690a2
cmp esi, 0x2028
setne dl
xor eax, eax
cmp esi, 0x2029
setne al
test edx, eax
jne 0x4697fe
add edi, dword [ebp - 0x1c4]
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], edx
jmp 0x468fa2
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x4697fe
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x1cc], 1
cmp edi, dword [ebx + 0x68]
jb 0x469115
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov dword [ebx + 0x58], 1
dec ecx
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x46915f
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1cc], edx
jg 0x469158
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x469143
inc edx
mov dword [ebp - 0x1cc], edx
cmp esi, 0x180e
je 0x4691b0
ja 0x469185
cmp esi, 0x20
je 0x4691b0
ja 0x469175
cmp esi, 9
jmp 0x4691aa
cmp esi, 0xa0
je 0x4691b0
cmp esi, 0x1680
jmp 0x4691aa
cmp esi, 0x202f
je 0x4691b0
ja 0x46919c
lea eax, [esi - 0x2000]
cmp eax, 0xa
ja 0x4691ac
jmp 0x4691b0
cmp esi, 0x205f
je 0x4691b0
cmp esi, 0x3000
je 0x4691b0
xor edx, edx
jmp 0x4691b5
mov edx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x12
sete al
cmp edx, eax
je 0x4697fe
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1cc]
cmp dword [ebp - 0xf4], esi
jmp 0x4690cd
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x4697fe
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1d0], 1
cmp edi, dword [edx + 0x68]
jb 0x46923f
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x469289
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1d0], edx
jg 0x469282
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x46926d
inc edx
mov dword [ebp - 0x1d0], edx
cmp esi, 0x85
je 0x4692aa
ja 0x46929b
lea eax, [esi - 0xa]
cmp eax, 3
jmp 0x4692a4
lea eax, [esi - 0x2028]
cmp eax, 1
jbe 0x4692aa
xor edx, edx
jmp 0x4692af
mov edx, 1
xor eax, eax
cmp dword [ebp - 0x134], 0x14
sete al
cmp edx, eax
je 0x4697fe
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1d0]
cmp dword [ebp - 0xf4], esi
jmp 0x4691f4
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x4697fe
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1d4], 1
cmp edi, dword [edx + 0x68]
jb 0x469339
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x469383
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1d4], edx
jg 0x46937c
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x469367
inc edx
mov dword [ebp - 0x1d4], edx
cmp esi, 0xff
ja 0x46939b
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x34]
test byte [esi + eax], 4
jne 0x4697fe
inc dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1d4]
cmp dword [ebp - 0xf4], ecx
jmp 0x4692ee
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4697fe
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1d8], 1
cmp edi, dword [eax + 0x68]
jb 0x469411
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x46945b
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1d8], edx
jg 0x469454
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x46943f
inc edx
mov dword [ebp - 0x1d8], edx
cmp esi, 0xff
ja 0x4697fe
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
je 0x4697fe
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1d8]
cmp dword [ebp - 0xf4], ebx
jmp 0x4693c6
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4697fe
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1dc], 1
cmp edi, dword [eax + 0x68]
jb 0x4694ed
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x469537
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1dc], edx
jg 0x469530
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x46951b
inc edx
mov dword [ebp - 0x1dc], edx
cmp esi, 0xff
ja 0x46954f
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
jne 0x4697fe
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1dc]
cmp dword [ebp - 0xf4], ebx
jmp 0x4694a2
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4697fe
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e0], 1
cmp edi, dword [eax + 0x68]
jb 0x4695c5
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x46960f
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1e0], edx
jg 0x469608
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4695f3
inc edx
mov dword [ebp - 0x1e0], edx
cmp esi, 0xff
ja 0x4697fe
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
je 0x4697fe
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1e0]
cmp dword [ebp - 0xf4], ebx
jmp 0x46957a
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4697fe
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e4], 1
cmp edi, dword [eax + 0x68]
jb 0x4696a1
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4696eb
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1e4], edx
jg 0x4696e4
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4696cf
inc edx
mov dword [ebp - 0x1e4], edx
cmp esi, 0xff
ja 0x469703
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
jne 0x4697fe
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1e4]
cmp dword [ebp - 0xf4], ebx
jmp 0x469656
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x4697fe
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e8], 1
cmp edi, dword [eax + 0x68]
jb 0x469779
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x4697fe
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x4697fe
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xbf
jbe 0x4697c3
mov eax, esi
mov ebx, 1
and eax, 0x3f
movzx edx, byte [eax + 0x530790]
imul ecx, edx, 6
and esi, dword [edx*4 + 0x5307d0]
shl esi, cl
cmp dword [ebp - 0x1e8], edx
jg 0x4697bc
movzx eax, byte [ebx + edi]
sub ecx, 6
and eax, 0x3f
shl eax, cl
inc ebx
or esi, eax
cmp ebx, edx
jmp 0x4697a7
inc edx
mov dword [ebp - 0x1e8], edx
cmp esi, 0xff
ja 0x4697fe
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je 0x4697fe
inc dword [ebp - 0xf4]
mov ebx, dword [ebp - 0x13c]
add edi, dword [ebp - 0x1e8]
cmp dword [ebp - 0xf4], ebx
jmp 0x46972e
mov edx, 0xfffffff2
jmp case.default.0x4678b8
cmp dword [ebp - 0x100], 0
jne 0x461a17
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619e2
mov eax, edi
dec edi
cmp eax, dword [ebp - 0x10c]
je 0x469f2e
movzx eax, byte [edi]
and eax, 0xc0
add eax, 0xffffff80
jne 0x46980b
dec edi
jmp 0x46984a
cmp eax, 0xf
ja case.0x469863.9
jmp dword [eax*4 + 0x5300a8]
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x469ee6
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0x68]
cmp edi, edx
jb 0x4698bb
mov ecx, dword [eax + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov edx, dword [ebp + 0x10]
dec ecx
mov dword [edx + 0x58], 1
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x18]
test ecx, ecx
je 0x4698e2
mov eax, ebx
push 0
add eax, 0x1c
push eax
push edx
push ecx
push edi
call fcn.0046b320
add esp, 0x14
test eax, eax
jne 0x469ee6
jmp 0x469908
mov esi, dword [ebp + 0x10]
mov ecx, dword [esi + 0x1c]
sub edx, ecx
cmp edi, edx
ja 0x469908
mov al, byte [esi + 0x2c]
cmp byte [edi], al
jne 0x469908
dec ecx
je 0x469ee6
mov al, byte [esi + 0x2d]
cmp byte [edi + 1], al
je 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469878
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x13c]
sub esi, ebx
mov edx, dword [ecx + 0x68]
mov eax, edx
sub eax, edi
cmp esi, eax
jbe 0x46996a
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
mov edi, edx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
add edi, esi
jmp 0x469ee6
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, esi
jge 0x469ee6
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
cmp edi, eax
jb 0x4699c2
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 0xd
jne 0x4699da
inc edi
cmp edi, eax
jae 0x469ee6
cmp byte [edi], 0xa
jne 0x469a09
jmp 0x469a08
cmp esi, 0xa
je 0x469a08
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x5c], 0
jne 0x469ee6
lea eax, [esi - 0xb]
cmp eax, 1
seta dl
xor eax, eax
cmp esi, 0x85
setne al
test edx, eax
jne 0x469ee6
inc edi
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0xf4], edx
jmp 0x46997f
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, ecx
jge 0x469ee6
mov ebx, dword [ebp + 0x10]
cmp edi, dword [ebx + 0x68]
jb 0x469a6c
mov ecx, dword [ebx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 9
sete dl
cmp esi, 0x20
sete al
or eax, edx
test al, 1
jne 0x469ee6
cmp esi, 0xa0
je 0x469ee6
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x469a2e
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x469ee6
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x469af5
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
cmp esi, 9
setne dl
xor eax, eax
cmp esi, 0x20
setne al
test edx, eax
je 0x469b16
cmp esi, 0xa0
jne 0x469ee6
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x469ab4
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x469ee6
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x469b7a
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
lea eax, [esi - 0xa]
cmp eax, 3
setbe dl
cmp esi, 0x85
sete al
or eax, edx
test al, 1
jne 0x469ee6
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x469b39
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x469ee6
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x469bfd
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
movzx esi, byte [edi]
lea eax, [esi - 0xa]
cmp eax, 3
seta dl
xor eax, eax
cmp esi, 0x85
setne al
test edx, eax
jne 0x469ee6
inc dword [ebp - 0xf4]
mov esi, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], esi
jmp 0x469bbc
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, eax
jge 0x469ee6
mov edx, dword [ebp + 0x10]
cmp edi, dword [edx + 0x68]
jb 0x469c80
mov ecx, dword [edx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov ebx, dword [ebp + 0x10]
dec ecx
mov dword [ebx + 0x58], 1
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
jne 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469c3f
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x469ee6
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x469cf6
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 4
je 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469cb6
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x469ee6
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x469d6c
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
jne 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469d2c
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x469ee6
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x469de2
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 1
je 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469da2
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x469ee6
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x469e58
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
jne 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469e18
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0xf4], ebx
cmp ebx, edx
jge 0x469ee6
mov ecx, dword [ebp + 0x10]
cmp edi, dword [ecx + 0x68]
jb 0x469ebb
mov ebx, ecx
mov ecx, dword [ecx + 0x78]
test ecx, ecx
setne dl
xor eax, eax
cmp edi, dword [ebp + 8]
seta al
test edx, eax
je 0x469ee6
mov dword [ebx + 0x58], 1
dec ecx
jle 0x469ee6
mov edx, 0xfffffff4
jmp case.default.0x4678b8
mov esi, dword [ebp + 0x10]
movzx edx, byte [edi]
mov eax, dword [esi + 0x34]
test byte [edx + eax], 0x10
je 0x469ee6
inc dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
inc edi
cmp dword [ebp - 0xf4], eax
jmp 0x469e8a
mov edx, 0xfffffff2
jmp case.default.0x4678b8
cmp dword [ebp - 0x100], 0
jne 0x461a17
cmp edi, dword [ebp - 0x10c]
jb 0x469f2e
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0xf0]
inc eax
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
mov eax, edi
dec edi
call fcn.00461546
add esp, 0x1c
mov ebx, eax
test eax, eax
jne 0x4619e9
jmp 0x469ef3
xor edx, edx
jmp case.default.0x4678b8
mov edx, 0xfffffffb
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret