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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x84]
push esi
push edi
mov esi, dword [ebp + 0xb8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
lea ecx, [ecx]
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov edi, edi
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0x4c]
mov dword [esp + 0x8c], edi
lea eax, [edx + 1]
mov dword [ebp], eax
cmp edx, ecx
jb 0x456f0e
mov esi, dword [esi]
test esi, esi
je 0x464bb1
mov edi, 0xfffffff8
jmp 0x4607b9
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x456f2a
mov esi, dword [esi]
test esi, esi
je 0x464bbe
mov edi, 0xffffffeb
jmp 0x4607b9
cmp dword [ebp + 0x98], 2
jne 0x456f61
mov eax, dword [esi + 8]
lea ecx, [esi + 0x128]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov dword [esi + 0x18], ecx
mov dword [ebp + 0x98], 0
jmp 0x456f61
add dword [esi + 0xc], 3
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], ebx
movzx edx, byte [eax]
mov dword [esi + 0x9c], edx
cmp edx, 0xa1
ja case.0x456f94.98
movzx eax, byte [edx + 0x464dcc]
jmp dword [eax*4 + 0x464c80]
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x464415
push 0x134
call dword [0xec55c8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46440f
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x464465
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46445f
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x464483
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46447d
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x4644a1
push 0x134
call dword [0xec55c8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46449b
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x4644b6
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4644b0
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x4570ee
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x506ef8]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x456f61
mov edi, dword [esi + 4]
test edi, edi
jne 0x4644d4
push 0x134
call dword [0xec55c8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x4644ce
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 4]
test edx, edx
jne 0x4644e9
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4644e3
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xb0], eax
mov dword [ebp + 0xac], ebx
mov edi, dword [esi + 4]
test edi, edi
jne 0x464507
push 0x134
call dword [0xec55c8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x464501
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [esi + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
jmp 0x461cf8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [ebp + 0x14]
jge case.0x456f94.129
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0x10]
sub edx, dword [ebp + 0x74]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov dword [eax + ecx*4], edx
jmp 0x46085b
mov dword [esi + 0x54], ebx
jmp 0x4579ff
mov dword [esi + 0x54], ebx
jmp 0x457a23
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x78], ecx
add dword [esi + 0xc], 3
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x76
jne 0x457368
mov edi, dword [0xec95cc]
test edi, edi
je 0x457354
mov dword [esp + 0x10], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x38], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x2c], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x30], eax
test eax, eax
jne 0x45730e
mov dword [esp + 0x30], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x457343
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
jns 0x457354
mov esi, dword [esi]
test esi, esi
je 0x460c9c
jmp 0x4607b9
movzx eax, byte [0x506f6e]
add dword [esi + 0xc], eax
movzx eax, byte [0x506f6e]
sub dword [esi + 0x78], eax
mov dword [esi + 0x58], ebx
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x88], edx
lea eax, [edx - 0x8d]
cmp eax, 0x10
ja case.0x45738e.146
movzx eax, byte [eax + 0x464e88]
jmp dword [eax*4 + 0x464e70]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45738e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x4573c7
cmp edx, dword [edi + 4]
je 0x4573c7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x460af3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x460af3
cmp dword [ebp + 0xa4], ebx
je case.0x45738e.145
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edi, byte [ecx + 1]
shl ebx, 8
shl edi, 8
or ebx, eax
movzx eax, byte [ecx + 2]
or edi, eax
imul edi, dword [ebp + 0x24]
add edi, dword [ebp + 0x30]
test ebx, ebx
jle case.0x45738e.145
lea esp, [esp]
movzx eax, byte [edi]
xor ecx, ecx
movzx edx, byte [edi + 1]
dec ebx
shl eax, 8
or edx, eax
mov eax, dword [ebp + 0xa4]
cmp edx, dword [eax + 4]
sete cl
mov dword [esi + 0x58], ecx
test ecx, ecx
jne 0x460af3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x457410
jmp 0x460af3
mov eax, dword [esi + 0xc]
movzx ecx, byte [ecx + 1]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x457474
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x457474
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45738e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45738e.145
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 4]
movzx edx, byte [ecx + 1]
shl edi, 8
shl edx, 8
or edi, eax
movzx eax, byte [ecx + 2]
or edx, eax
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
test edi, edi
jle 0x460af3
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
cmp ecx, dword [esi + 0x14]
jge 0x4574c9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x4574d8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x4574a7
jmp 0x460af3
mov dword [esi + 0x58], 1
jmp 0x460af3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46451c
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464516
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov edx, dword [esi + 0x98]
cmp edx, dword [ebp + 0x14]
jl 0x457574
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x456f56
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jl 0x456f56
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4575c3
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x98]
add eax, 2
mov dword [esi + 0x14], eax
jmp 0x456f56
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x457616
cmp edx, 0x9f
je 0x457616
cmp dword [ebp + 0xa4], ebx
jne 0x457616
cmp dword [ebp + 0x5c], ebx
jne 0x457605
cmp dword [ebp + 0x60], ebx
je 0x457616
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x457616
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
mov dword [ebp + 0x80], edi
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov edi, dword [esi + 0x9c]
mov esi, dword [esi]
neg edi
sbb edi, edi
and edi, 0xfffffc18
inc edi
test esi, esi
je 0x460c9c
jmp 0x4607b9
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45766f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x460bed
mov dword [esi + 0x58], ebx
jmp 0x460bed
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45769b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x460d3b
mov dword [esi + 0x58], ebx
jmp 0x460d3b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x457702
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x4576e8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x45dee6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4576e4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4576d8
test edx, edx
jg 0x4576c0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x456f56
mov dword [ebp + 0x84], eax
jmp 0x456f56
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0xc]
shl ecx, 8
movzx eax, byte [eax + 2]
or ecx, eax
sub dword [esi + 8], ecx
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jae 0x4576e8
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c0
mov edi, dword [0xec95cc]
test edi, edi
je 0x45780c
mov dword [esp + 0x44], 2
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x78]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
sub eax, dword [ebp + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x60], eax
movzx eax, word [ebp + 0x90]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x4577c6
mov dword [esp + 0x64], 0xffffffff
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x44]
push eax
call edi
mov edi, eax
add esp, 4
test edi, edi
jle 0x4577fb
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
jns 0x45780c
mov esi, dword [esi]
test esi, esi
je 0x460c9c
jmp 0x4607b9
add dword [esi + 0xc], 6
jmp 0x456f5a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp + 0x70]
add eax, ecx
mov dword [esi + 0x20], eax
cmp eax, dword [ebp + 0x70]
jne 0x457836
xor edx, edx
jmp 0x457843
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov ecx, dword [ebp + 0xa4]
test ecx, ecx
je 0x457863
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x45785d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x4578c4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x457850
mov dword [esi + 0x40], edx
lea ecx, [esi + 0x3c]
mov eax, dword [ebp + 0x90]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0xa4]
mov dword [ecx], eax
mov dword [ebp + 0xa4], ecx
add dword [esi + 0xc], 3
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x48], eax
cmp eax, 0x1e
jg 0x4578d8
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x460e24
mov esi, dword [esi]
test esi, esi
je 0x464be2
mov edi, 0xffffffe6
jmp 0x4607b9
shl eax, 2
push eax
call dword [0xec55c0]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x45789e
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x457901
jmp 0x456f61
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464557
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464551
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x457960
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464575
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46456f
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 0xc]
inc edx
mov dword [esi + 0x2c], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x4579b3
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x456f61
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x54], 1
mov eax, dword [esi + 0x9c]
cmp eax, 0x86
je 0x4579ff
cmp eax, 0x8b
jne 0x457a23
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
cmp eax, dword [ebp + 0x14]
jl 0x457a40
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
jmp 0x46190d
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0xc]
sub eax, dword [ebp + 0x70]
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xa4], eax
mov ecx, dword [esi + 0x98]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esi + 0x94]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4], edx
cmp dword [esi + 0x9c], 0x88
jb 0x457abd
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x464907
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4648fd
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [esi + 0x34], edx
mov al, byte [edx]
cmp al, 0x88
jae 0x457b18
cmp al, 0x81
je 0x457b18
mov dword [esi + 0x38], ebx
jmp 0x457b29
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x34]
mov al, byte [edx]
cmp al, 0x7d
jb 0x457b36
cmp al, 0x80
jbe 0x457b3a
cmp al, 0x82
jne 0x457b66
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464c16
mov edi, 1
jmp 0x4607b9
cmp al, 0x85
je 0x457b7a
cmp al, 0x8a
je 0x457b7a
cmp al, 0x86
je 0x457b7a
cmp al, 0x8b
jne 0x457c41
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x94], ecx
lea eax, [ecx + ecx]
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 0xa4]
test eax, eax
je 0x457bb6
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x457bb6
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x457b4c
mov eax, dword [ebp + 0x90]
and eax, 0xffff0000
or eax, dword [esi + 0x94]
mov dword [ebp + 0x90], eax
mov ecx, dword [esi + 0x98]
cmp ecx, dword [ebp + 0x14]
jl 0x457be5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x457c41
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x457c05
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x457c05
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
sub eax, dword [esi + 0x94]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0x98]
mov eax, dword [edx + eax*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x98]
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x98]
cmp dword [esi + 0x14], eax
jg 0x457c41
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x457c77
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x8c], eax
mov esi, dword [esi]
test esi, esi
je 0x464bef
mov edi, 0xfffffc1a
jmp 0x4607b9
cmp cl, 0x78
je 0x457cf0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x457cf0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x457cbe
test ecx, ecx
jne 0x464596
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464590
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test ecx, ecx
jne 0x4645b7
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4645b1
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x460f57
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4645d5
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4645cf
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
cmp dword [ebp + 0x44], ebx
je case.0x456f94.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x456f94.1
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x457e18
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
cmp dword [ebp + 0x44], ebx
je 0x457d8a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x457d8a
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x4587d4
cmp ecx, dword [ebp + 0x78]
je 0x457df0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x457dc8
cmp ecx, edx
jbe 0x457df0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00466e40
add esp, 0x14
test eax, eax
jne 0x4587d4
jmp 0x457df0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x457df0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457df0
cmp edi, 1
je 0x4587d4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4587d4
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607b9
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x457d55
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x456f61
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x457eda
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x457e55
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x4587d4
jmp 0x457e79
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x457e79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457e79
cmp edx, 1
je 0x4587d4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4587d4
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x45dee6.14
cmp dword [ebp + 0x18], ebx
jne case.0x45dee6.14
cmp dword [edi], 2
jne case.0x45dee6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x45dee6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x45dee6.14
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607b9
cmp dword [ebp + 0x48], ebx
jne 0x457d5b
cmp dword [ebp + 0x88], ebx
je 0x4587d4
cmp ecx, dword [ebp + 0x84]
jbe 0x4587d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4587d4
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607b9
cmp dword [ebp + 0x48], ebx
jne 0x457d5b
cmp dword [ebp + 0x58], ebx
je case.0x456f94.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x457d5b
cmp dword [ebp + 0x88], ebx
je 0x457e18
cmp eax, dword [ebp + 0x84]
jbe 0x457e18
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x457e18
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607b9
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x457fe5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x457fad
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x457fd5
jmp 0x457e79
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x457e79
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x457e79
cmp edx, 1
je 0x457fd5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x457e79
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x457e79
cmp dword [ebp + 0x88], ebx
je 0x4587d4
cmp ecx, dword [ebp + 0x84]
jbe 0x4587d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4587d4
jmp 0x457ec6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4582e7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x458035
mov dword [esi + 0x5c], ebx
jmp 0x45816e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x45804a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x458040
cmp edx, dword [ebp + 0x84]
jae 0x458058
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45810c
test bl, 0x20
jne 0x458080
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x45810c
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45809a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x458102
and eax, 0x3f
test bl, 8
jne 0x4580b5
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x458102
test bl, 4
jne 0x4580d9
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
jmp 0x458102
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp dword [ebp + 0x54], 0
je 0x4581a7
cmp ebx, 0x5f
jne 0x458124
mov dword [esi + 0x5c], 1
jmp 0x45816e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x458146
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x4581b8
cmp eax, 3
je 0x4581b8
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x4581bf
cmp dword [ebp + 0x88], 0
je 0x45819b
cmp edx, dword [ebp + 0x84]
jbe 0x45819b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
mov dword [esi + 0x54], 0
jmp 0x458425
cmp ebx, 0x100
jae 0x458169
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x458169
mov eax, 1
jmp 0x45816b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x458269
test bl, 0x20
jne 0x4581df
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x458261
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4581f9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x458261
and eax, 0x3f
test bl, 8
jne 0x458214
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x458261
test bl, 4
jne 0x458238
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
jmp 0x458261
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
cmp dword [ebp + 0x54], 0
je 0x4582cc
cmp ebx, 0x5f
jne 0x458280
mov dword [esi + 0x54], 1
jmp 0x458425
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4582a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x4582dd
cmp eax, 3
je 0x4582dd
xor eax, eax
jmp 0x458422
cmp ebx, 0x100
jae 0x4582c5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x4582c5
mov eax, 1
jmp 0x458422
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x4582f7
mov dword [esi + 0x5c], ebx
jmp 0x458392
cmp eax, dword [ebp + 0x84]
ja 0x458306
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x45837e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x458320
mov dword [esi + 0x5c], 1
jmp 0x458392
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ecx, 0x8000007f
jns 0x458342
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x458370
cmp eax, 3
je 0x458370
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x45838f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x45838f
movzx eax, byte [eax - 1]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4583d3
cmp dword [ebp + 0x88], ebx
je 0x4583ce
cmp eax, dword [ebp + 0x84]
jbe 0x4583ce
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4583ce
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607c0
mov dword [esi + 0x54], ebx
jmp 0x458425
cmp dword [ebp + 0x54], ebx
je 0x458412
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x4583e9
mov dword [esi + 0x54], 1
jmp 0x458425
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ecx, 0x8000007f
jns 0x45840b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x4582a4
movzx eax, byte [eax]
mov ecx, dword [ebp + 0x40]
movzx eax, byte [eax + ecx]
shr eax, 4
and eax, 1
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x54]
cmp cl, 5
jne 0x458440
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x458448
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x456f61
jmp 0x457d5b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x45848d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x4584b8
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x457d5b
jmp 0x4584b8
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x4584b8
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4584b8
cmp edx, 1
je 0x457d5b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x457d5b
cmp dword [ebp + 0x88], ebx
je case.0x456f94.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x456f94.13
cmp dword [ebp + 0x18], ebx
jne case.0x456f94.13
cmp dword [ebp + 0x1c], 2
jne case.0x456f94.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x456f94.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458516
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x45dee6.14
jmp 0x457eb2
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x457e18
cmp eax, dword [ebp + 0x78]
jae 0x457e18
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x457e18
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x458532
inc dword [esi + 0xc]
jmp 0x456f61
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4584f9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x456f61
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45858d
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x45dee6.14
jmp 0x457eb2
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458689
cmp ebx, 0xc0
jb 0x458689
test bl, 0x20
jne 0x4585ca
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458686
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4585f4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458689
mov edx, dword [esi + 8]
test bl, 8
jne 0x45861a
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45867d
test bl, 4
jne 0x458649
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45867d
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4587d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x4587d4
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4587bb
cmp ebx, 0xc0
jb 0x4587bb
test bl, 0x20
jne 0x4586fc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4587b8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458726
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4587bb
mov edx, dword [esi + 8]
test bl, 8
jne 0x45874c
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4587af
test bl, 4
jne 0x45877b
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4587af
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x45771d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45771d
inc dword [esi + 0xc]
jmp 0x456f5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4588e4
cmp ebx, 0xc0
jb 0x4588e4
test bl, 0x20
jne 0x458825
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4588e1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45884f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4588e4
mov edx, dword [esi + 8]
test bl, 8
jne 0x458875
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4588d8
test bl, 4
jne 0x4588a4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4588d8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4587d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45869c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458a04
cmp ebx, 0xc0
jb 0x458a04
test bl, 0x20
jne 0x458945
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458a01
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45896f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458a04
mov edx, dword [esi + 8]
test bl, 8
jne 0x458995
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4589f8
test bl, 4
jne 0x4589c4
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4589f8
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x45771d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x45771d
inc dword [esi + 0xc]
jmp 0x456f5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458b2d
cmp ebx, 0xc0
jb 0x458b2d
test bl, 0x20
jne 0x458a6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458b2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458a98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458b2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x458abe
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x458b21
test bl, 4
jne 0x458aed
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x458b21
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x100
jae 0x4587d4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45869c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458c4d
cmp ebx, 0xc0
jb 0x458c4d
test bl, 0x20
jne 0x458b8e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458c4a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458bb8
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458c4d
mov edx, dword [esi + 8]
test bl, 8
jne 0x458bde
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x458c41
test bl, 4
jne 0x458c0d
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x458c41
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
ja 0x45771d
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45771d
inc dword [esi + 0xc]
jmp 0x456f5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458d76
cmp ebx, 0xc0
jb 0x458d76
test bl, 0x20
jne 0x458cb7
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458d73
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458ce1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458d76
mov edx, dword [esi + 8]
test bl, 8
jne 0x458d07
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x458d6a
test bl, 4
jne 0x458d36
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x458d6a
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xd
ja 0x458def
je 0x458d91
cmp ebx, 0xa
je 0x4587d4
jbe 0x4586a2
cmp ebx, 0xc
jmp 0x458e09
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x458dda
cmp dword [ebp + 0x88], 0
je 0x4587d4
cmp eax, dword [ebp + 0x84]
jbe 0x4587d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4587d4
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607c0
cmp byte [eax], 0xa
jne 0x4587d4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x456f5a
cmp ebx, 0x85
je 0x458e0f
cmp ebx, 0x2027
jbe 0x4586a2
cmp ebx, 0x2029
ja 0x4586a2
cmp dword [ebp + 0x68], 0
jmp 0x45869c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x458f20
cmp ebx, 0xc0
jb 0x458f20
test bl, 0x20
jne 0x458e61
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x458f1d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x458e8b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x458f20
mov edx, dword [esi + 8]
test bl, 8
jne 0x458eb1
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x458f14
test bl, 4
jne 0x458ee0
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x458f14
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x458f58
je 0x45771d
cmp ebx, 0xa0
ja 0x458f4d
je 0x45771d
cmp ebx, 9
je 0x45771d
cmp ebx, 0x20
jmp 0x4587ce
cmp ebx, 0x1680
jmp 0x4587ce
cmp ebx, 0x205f
ja 0x458f89
je 0x45771d
cmp ebx, 0x2000
jb 0x4587d4
cmp ebx, 0x200a
jbe 0x45771d
cmp ebx, 0x202f
jmp 0x4587ce
cmp ebx, 0x3000
je 0x45771d
inc dword [esi + 0xc]
jmp 0x456f5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x4590a5
cmp ebx, 0xc0
jb 0x4590a5
test bl, 0x20
jne 0x458fe6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4590a2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459010
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4590a5
mov edx, dword [esi + 8]
test bl, 8
jne 0x459036
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459099
test bl, 4
jne 0x459065
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x459099
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x4590dd
je 0x4587d4
cmp ebx, 0xa0
ja 0x4590d2
je 0x4587d4
cmp ebx, 9
je 0x4587d4
cmp ebx, 0x20
jmp 0x45869c
cmp ebx, 0x1680
jmp 0x45869c
cmp ebx, 0x205f
ja 0x45910e
je 0x4587d4
cmp ebx, 0x2000
jb 0x4586a2
cmp ebx, 0x200a
jbe 0x4587d4
cmp ebx, 0x202f
jmp 0x45869c
cmp ebx, 0x3000
jmp 0x45869c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x459221
cmp ebx, 0xc0
jb 0x459221
test bl, 0x20
jne 0x459162
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45921e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45918c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459221
mov edx, dword [esi + 8]
test bl, 8
jne 0x4591b2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459215
test bl, 4
jne 0x4591e1
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x459215
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x459249
je 0x4586a2
cmp ebx, 0xa
jb 0x4587d4
cmp ebx, 0xd
jbe 0x4586a2
inc dword [esi + 0xc]
jmp 0x456f5a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x4587d4
jmp 0x4586a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x459365
cmp ebx, 0xc0
jb 0x459365
test bl, 0x20
jne 0x4592a6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x459362
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4592d0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x459365
mov edx, dword [esi + 8]
test bl, 8
jne 0x4592f6
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459359
test bl, 4
jne 0x459325
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x459359
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x85
ja 0x45938a
je 0x4587d4
cmp ebx, 0xa
jb 0x45771d
cmp ebx, 0xd
jbe 0x4587d4
jmp 0x45771d
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45771d
inc dword [esi + 0xc]
jmp 0x456f5a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45949d
cmp ebx, 0xc0
jb 0x45949d
test bl, 0x20
jne 0x4593e9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45949a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459411
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45949d
mov edx, dword [esi + 8]
test bl, 8
jne 0x459437
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45949a
test bl, 4
jne 0x459466
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45949a
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4594c0
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 1]
movzx edx, word [ecx*2 + 0x50aa80]
cmp eax, 0xa
ja case.default.0x4594da
jmp dword [eax*4 + 0x464e9c]
cmp dword [esi + 0x9c], 0xf
jne 0x456f56
jmp 0x457d5b
mov al, byte [edx*8 + 0x507201]
cmp al, 9
je 0x45950a
cmp al, 5
je 0x45950a
cmp al, 8
je 0x45950a
xor ecx, ecx
jmp 0x45950f
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x456f56
jmp 0x457d5b
movzx ecx, byte [edx*8 + 0x507201]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x507010]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x456f56
jmp 0x457d5b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x507201]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x456f56
jmp 0x457d5b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x507200]
jmp 0x45956b
movzx eax, byte [edx*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x45950a
cmp eax, 3
je 0x45950a
xor ecx, ecx
jmp 0x45950f
cmp ebx, 0x180e
ja 0x459603
je case.0x4594da.0
cmp ebx, 0x85
ja 0x4595ef
je case.0x4594da.0
cmp ebx, 9
jb case.0x459623.8203
cmp ebx, 0xd
jbe case.0x4594da.0
cmp ebx, 0x20
jmp 0x45963c
cmp ebx, 0xa0
je case.0x4594da.0
cmp ebx, 0x1680
jmp 0x45963c
cmp ebx, 0x202f
ja 0x45962a
je case.0x4594da.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x459623.8203
movzx eax, byte [ebx + 0x464ed0]
jmp dword [eax*4 + 0x464ec8]
cmp ebx, 0x205f
je case.0x4594da.0
cmp ebx, 0x3000
je case.0x4594da.0
movzx eax, byte [edx*8 + 0x507201]
xor ecx, ecx
cmp dword [eax*4 + 0x507010], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x459577
movzx eax, byte [edx*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x45950a
cmp eax, 3
je 0x45950a
cmp ebx, 0x5f
je 0x45950a
xor ecx, ecx
jmp 0x45950f
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x5070c0]
lea eax, [eax*4 + 0x5070c0]
cmp ebx, ecx
jb 0x4596bd
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4596cf
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x4596b0
cmp dword [esi + 0x9c], 0x10
jne 0x456f56
jmp 0x457d5b
cmp dword [esi + 0x9c], 0x10
je 0x456f56
jmp 0x457d5b
cmp ebx, 0x24
je 0x45950a
cmp ebx, 0x40
je 0x45950a
cmp ebx, 0x60
je 0x45950a
cmp ebx, 0xa0
jb 0x459710
cmp ebx, 0xd7ff
jbe 0x45950a
cmp ebx, 0xe000
jae 0x45950a
xor ecx, ecx
jmp 0x45950f
mov esi, dword [esi]
test esi, esi
je case.default.0x4607d4
mov edi, 0xfffffff2
jmp 0x4607b9
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x459842
cmp ebx, 0xc0
jb 0x459842
test bl, 0x20
jne 0x459780
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45983f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4597af
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, dword [esp + 0x8c]
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x459842
mov edx, dword [esi + 8]
test bl, 8
jne 0x4597d5
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x459838
test bl, 4
jne 0x459804
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x459838
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x459864
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507202]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4599f6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45998e
cmp ebx, 0xc0
jb 0x45998e
test bl, 0x20
jne 0x4598c5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x459986
test bl, 0x10
jne 0x4598ea
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x459986
test bl, 8
jne 0x459918
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x459986
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x459952
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x459986
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4599b0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx ecx, byte [eax*8 + 0x507202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507088], eax
je 0x4599f6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x459890
cmp dword [ebp + 0x88], 0
je 0x4587d4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4587d4
cmp eax, dword [ebp + 0x84]
jbe 0x4587d4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4587d4
jmp 0x457ec6
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x459b24
lea esp, [esp]
movzx ecx, byte [edx]
dec ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
lea edi, [ecx + ecx]
mov dword [esi + 0x98], edi
cmp edi, dword [esi + 0x14]
jge 0x459ab4
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x459abd
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x459a90
jmp 0x459b24
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x459b24
xor eax, eax
cmp edx, 0x72
sete al
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
mov dword [esi + 0x98], ecx
add dword [esi + 0xc], 3
mov edx, dword [esi + 0x98]
cmp edx, dword [esi + 0x14]
jge 0x459b14
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x459b14
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x459b1e
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov edx, dword [esi + 0xc]
mov bl, byte [edx]
movzx ecx, bl
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x459b3f
movzx eax, byte [eax + 0x464f04]
jmp dword [eax*4 + 0x464efc]
add ecx, 0xffffff9e
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x80], ebx
movsx eax, byte [ecx + 0x506550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50655c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x459bcd
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x459bcd
movzx ecx, byte [edx + 1]
xor eax, eax
cmp bl, 0x69
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x459bc9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x456f61
jns 0x459bf1
cmp dword [esi + 0x90], 0
je 0x456f61
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x459c2f
mov edi, edi
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00465400
add esp, 0x14
test eax, eax
js 0x459c61
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x459c00
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x456f61
cmp dword [esp + 0x80], 0
je 0x459c8a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x461072
cmp eax, 0xfffffffe
jne 0x459c6c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x45dee6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x45dee6.14
jmp 0x458505
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x459ca0
cmp edi, dword [esi + 0x8c]
jge 0x4610c1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.00465400
add esp, 0x14
test eax, eax
js 0x459cd5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x459ca0
cmp eax, 0xfffffffe
jne 0x4610c1
cmp dword [ebp + 0x88], 0
je 0x4610c1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4610c1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4610c1
jmp 0x457ec6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.00465400
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x459d99
cmp eax, 0xfffffffe
jne 0x459d45
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x46169d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46169d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x46169d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46169d.14
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4607c4
add dword [esi + 8], eax
jmp 0x456f5a
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x28], eax
add dword [esi + 0xc], 0x21
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x459dc7
movzx eax, byte [eax + 0x464f14]
jmp dword [eax*4 + 0x464f0c]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x459dea
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x459df5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x506550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50655c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x459e8c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x459e8c
xor ebx, ebx
cmp cl, 0x69
sete bl
xor eax, eax
cmp cl, 0x6d
mov dword [esp + 0x84], ebx
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x459e72
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x459e8c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x459fec
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45a041
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x459f9c
test bl, 0x20
jne 0x459eea
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x459f99
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x459f11
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x459f97
test bl, 8
jne 0x459f34
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x459f97
test bl, 4
jne 0x459f63
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x459f97
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x459fad
cmp dword [esi + 0x9c], 0x6e
jmp 0x459fc2
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x459eb0
jmp 0x45a033
cmp dword [ebp + 0x88], 0
je case.0x45dee6.14
mov eax, dword [esi + 8]
jmp 0x458505
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45a03a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459fd7
movzx edi, byte [eax]
mov edx, 1
inc eax
mov ecx, edi
mov dword [esi + 8], eax
and ecx, 7
mov eax, dword [esi + 0x28]
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45a000
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x456f5a
test ebx, ebx
je 0x45a06a
test edx, edx
jne 0x4642d7
mov dword [esi + 0x84], eax
jmp 0x46115b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x45a222
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45a20f
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45a1e7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x45a196
test bl, 0x20
jne 0x45a0db
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45a196
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45a103
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x45a18c
and eax, 0x3f
test bl, 8
jne 0x45a129
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x45a18c
test bl, 4
jne 0x45a158
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x45a18c
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0xff
jbe 0x45a1a7
cmp dword [esi + 0x9c], 0x6e
jmp 0x45a1bc
mov eax, dword [esi + 0x28]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x45a20f
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x45a091
jmp 0x45a20f
cmp dword [ebp + 0x88], 0
je 0x45a20f
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a20f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x46211c
jmp 0x456f5a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45a29a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x45a272
movzx edi, byte [ebx]
mov edx, 1
mov eax, dword [esi + 0x28]
mov ecx, edi
and ecx, 7
shr edi, 3
shl edx, cl
test byte [edi + eax], dl
je 0x45a29a
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x45a231
jmp 0x45a29a
cmp dword [ebp + 0x88], 0
je 0x45a29a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a29a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x46119b
jmp 0x456f5a
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [esi + 0x28], eax
mov edx, dword [esi + 0xc]
mov eax, edx
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
mov cl, byte [edx]
movzx edi, cl
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x45a2e5
movzx eax, byte [eax + 0x464f28]
jmp dword [eax*4 + 0x464f20]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x45a308
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x45a313
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x506550]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50655c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45a3aa
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x45a3aa
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x84], eax
xor eax, eax
cmp cl, 0x6d
movzx ecx, byte [edx + 1]
sete al
shl ecx, 8
mov dword [esp + 0x80], eax
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [esi + 0x90], ecx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
jne 0x45a390
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x45a3aa
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45a4e5
jmp 0x45a3c0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45a4ba
cmp edx, 0xc0
jb 0x45a4ba
test dl, 0x20
jne 0x45a408
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45a4b7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45a42f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45a4b5
test dl, 8
jne 0x45a452
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45a4b5
test dl, 4
jne 0x45a481
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45a4b5
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.00466680
add esp, 0xc
test eax, eax
je case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45a3c0
jmp 0x45a4ec
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x456f61
cmp dword [esp + 0x84], 0
jne 0x4642e8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45a67d
jmp 0x45a530
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45a653
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45a61b
cmp edx, 0xc0
jb 0x45a61b
test dl, 0x20
jne 0x45a57c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x45a61b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45a59b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x45a611
and eax, 0x3f
test dl, 8
jne 0x45a5bb
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x45a611
test dl, 4
jne 0x45a5e4
and edx, 3
mov ebx, 5
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x45a611
and edx, ebx
mov ebx, 6
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov edx, ecx
mov edi, dword [esp + 0x8c]
push edi
push dword [esi + 0x28]
push edx
call fcn.00466680
add esp, 0xc
test eax, eax
je 0x45a67d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x45a530
jmp 0x45a67d
cmp dword [ebp + 0x88], 0
je 0x45a676
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45a676
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x457ec6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x456f61
jmp 0x461f31
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45a869
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x45a7f0
test al, 0x20
jne 0x45a6f0
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x45a7f0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x45a72a
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x45a7f0
test al, 8
jne 0x45a766
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x45a7f0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45a7ab
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x45a7f0
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [ebp + 0x78]
mov eax, edi
mov edx, dword [esi + 8]
sub eax, edx
mov ecx, dword [esi + 0x88]
cmp ecx, eax
jle 0x45a829
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
cmp edx, edi
jb case.0x45dee6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x45dee6.14
jmp 0x457eb2
test ecx, ecx
jle 0x45a85e
lea ecx, [ecx]
lea eax, [ecx - 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov bl, byte [eax]
mov dl, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc dword [esi + 0xc]
cmp bl, dl
jne case.0x45dee6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x45a830
dec dword [esi + 0x88]
jmp 0x456f5a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x45a8b6
cmp dword [ebp + 0x88], ebx
je 0x45771d
cmp edi, dword [ebp + 0x84]
jbe 0x45771d
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45771d
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607c0
mov eax, dword [esi + 0xc]
mov cl, byte [edi]
mov dl, byte [eax + 1]
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp dl, cl
je 0x45abcb
jmp 0x457d5b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x458570
cmp dword [esp + 0x8c], ebx
je 0x45abac
mov dword [esi + 0x88], 1
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
cmp eax, 0xc0
jb 0x45aa3b
test al, 0x20
jne 0x45a93b
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
mov eax, dword [esi + 0x80]
and ecx, 0x3f
and eax, 0x1f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0x88]
jmp 0x45aa3b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x45a975
mov eax, dword [esi + 0x80]
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 2
jmp 0x45aa3b
test al, 8
jne 0x45a9b1
mov eax, dword [esi + 0x80]
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x45aa3b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45a9f6
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x45aa3b
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov edi, dword [esi + 0x80]
mov eax, dword [esi + 8]
cmp edi, 0x80
jae 0x45aa69
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x457d5b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x456f5a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x45ab4b
test bl, 0x20
jne 0x45aa99
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45ab48
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45aac0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45ab46
test bl, 8
jne 0x45aae3
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45ab46
test bl, 4
jne 0x45ab12
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45ab46
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
mov edi, dword [esi + 0x80]
cmp edi, ebx
je 0x456f5a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x45ab85
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
mov eax, dword [eax*8 + 0x507204]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x456f61
jmp 0x457d5b
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x38]
movzx ecx, byte [edi]
movzx eax, byte [eax + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne 0x457d5b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x456f5a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x45acfd
mov dword [esp + 0x80], 1
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x28
je 0x45ac34
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x45ac3f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x45acfd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45ad04
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x45ad04
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x45ad04
mov ecx, dword [esi + 0xc]
cmp edx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x2e
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x84], eax
movsx eax, byte [edx + 0x506550]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50655c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45acfd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x45b178
mov dword [esi + 0x88], 1
mov eax, dword [esi + 0xc]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
mov dword [esi + 0x80], ebx
cmp ebx, 0xc0
jb 0x45ae4b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x45ad61
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or eax, ebx
mov dword [esi + 0x80], eax
inc dword [esi + 0x88]
jmp 0x45ae4b
test bl, 0x10
jne 0x45ad96
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 0xc]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0x88], 2
jmp 0x45ae4b
mov ecx, dword [esi + 0xc]
movzx edx, byte [eax + 1]
and edx, 0x3f
movzx eax, byte [ecx + 2]
and eax, 0x3f
test bl, 8
jne 0x45add4
and ebx, 7
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 3
jmp 0x45ae4b
test bl, 4
jne 0x45ae0d
and ebx, 3
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 4
jmp 0x45ae4b
and ebx, 1
shl ebx, 6
or edx, ebx
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 5]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0x88], 5
mov eax, dword [esi + 0x88]
add dword [esi + 0xc], eax
cmp dword [esi + 0x88], 1
jle 0x45b187
cmp dword [esi + 0x9c], 0x2e
jb 0x45aebc
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x45ae93
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
mov ecx, dword [eax*8 + 0x507204]
add ecx, edi
cmp ecx, edi
je 0x45aebc
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.00466620
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x45aec3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x45aff6
jmp 0x45aee0
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x90], ecx
cmp edi, eax
ja 0x45af64
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x45af18
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45af21
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45af07
cmp edi, 0xfffffffc
je 0x45afd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45af5a
cmp edi, 0xfffffffd
je 0x45afd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45af5a
cmp edi, 0xfffffffe
je 0x45afd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45af5a
cmp edi, 0xffffffff
je 0x45afd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45afd8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x459c6c
sub ecx, ebx
cmp edi, ecx
ja 0x459c6c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x45af96
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45af9b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45af85
cmp edi, 0xfffffffc
je 0x45afd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x459c6c
cmp edi, 0xfffffffd
je 0x45afd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x459c6c
cmp edi, 0xfffffffe
je 0x45afd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x459c6c
cmp edi, 0xffffffff
je 0x45afd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x459c6c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x45aee0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x456f61
cmp dword [esp + 0x84], 0
jne 0x4642f9
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45b165
lea esp, [esp]
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov ebx, dword [esi + 0x88]
sub eax, ebx
mov edi, dword [esi + 8]
mov dword [esp + 0x84], ecx
cmp edi, eax
ja 0x45b0bc
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x45b078
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45b081
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45b067
cmp edi, 0xfffffffc
je 0x45b118
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45b0b2
cmp edi, 0xfffffffd
je 0x45b118
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45b0b2
cmp edi, 0xfffffffe
je 0x45b118
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45b0b2
cmp edi, 0xffffffff
je 0x45b118
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x45b118
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x45b138
sub ecx, ebx
cmp edi, ecx
ja 0x45b138
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x45b0e6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x45b0eb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x45b0d5
cmp edi, 0xfffffffc
je 0x45b118
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45b138
cmp edi, 0xfffffffd
je 0x45b118
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45b138
cmp edi, 0xfffffffe
je 0x45b118
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45b138
cmp edi, 0xffffffff
je 0x45b118
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45b138
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x45b040
jmp 0x45b165
cmp dword [ebp + 0x88], 0
je 0x45b165
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45b165
cmp eax, dword [ebp + 0x84]
jbe 0x45b165
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x4622dc
jmp 0x456f5a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x45b27f
mov ecx, dword [ebp + 0x3c]
mov edx, 1
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
cmp dword [esi + 0x90], edx
jl 0x45b1e4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459fd7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45b1d7
cmp dword [esi + 0x94], ecx
jne case.0x45dee6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x45b1b4
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x456f5a
cmp dword [esp + 0x84], 0
je 0x45b20b
mov dword [esi + 0x84], eax
jmp 0x46123b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45b272
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45b24a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45b23b
cmp dword [esi + 0x94], ecx
jne 0x45b272
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45b220
jmp 0x45b272
cmp dword [ebp + 0x88], 0
je 0x45b272
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b272
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
test edi, edi
je 0x46127b
jmp 0x456f5a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45b2ba
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45b290
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x456f61
cmp dword [esp + 0x84], 0
je 0x45b2e8
mov dword [esi + 0x84], eax
jmp 0x461308
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45b34c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45b324
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x45b34c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45b300
jmp 0x45b34c
cmp dword [ebp + 0x88], 0
je 0x45b34c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45b34c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x461348
jmp 0x456f61
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x45b384
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x45dee6.14
jmp 0x457eb2
test edi, edi
je 0x45b5fc
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
cmp ebx, 0xc0
jb 0x45b485
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x45b3c2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45b482
test bl, 0x10
jne 0x45b3e3
and ebx, 0xf
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45b482
test bl, 8
jne 0x45b40e
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [edx + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add dword [esi + 0xc], 3
jmp 0x45b485
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x45b447
and ebx, 3
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 4]
jmp 0x45b482
and ebx, 1
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esp + 0x80], edx
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45b578
test dl, 0x20
jne 0x45b4bf
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45b56e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45b4e6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45b56c
test dl, 8
jne 0x45b509
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45b56c
test dl, 4
jne 0x45b538
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45b56c
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esp + 0x80], edx
mov dword [esi + 8], eax
cmp dword [esi + 0x9c], 0x1f
jne 0x45b595
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x456f61
jmp 0x457d5b
cmp ebx, 0x7f
jbe 0x45b5d2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45b5bd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
mov ecx, dword [eax*8 + 0x507204]
add ecx, ebx
jmp 0x45b5d9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x457d5b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x456f61
jmp 0x457d5b
mov eax, dword [esi + 0xc]
movzx edi, byte [ecx]
movzx edx, byte [eax + 1]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp edx, edi
je case.0x45dee6.14
cmp dword [esi + 0x9c], 0x20
jne 0x45abcb
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x45dee6.14
add dword [esi + 0xc], 2
jmp 0x456f5a
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x45b796
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0xc]
mov al, byte [ecx]
cmp al, 0x42
je 0x45b69b
cmp al, 0x4f
je 0x45b69b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x45b796
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x45b796
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45b796
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45b796
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45b796
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x45b796
mov ecx, dword [esi + 0xc]
cmp edx, 0x48
sbb eax, eax
and eax, 0xfffffff3
movzx edx, byte [ecx]
add eax, 0x48
sub edx, eax
lea eax, [ecx + 1]
mov dword [esi + 0xc], eax
mov ebx, edx
and ebx, 1
mov dword [esp + 0x84], ebx
movsx eax, byte [edx + 0x506550]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50655c]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45b796
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x8c]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
mov edi, dword [esi + 0xc]
test edx, edx
je 0x45b8f1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x45b8f1
test al, 0x20
jne 0x45b7e8
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
mov dword [esi + 0x80], ecx
inc dword [esi + 0xc]
jmp 0x45b8f1
test al, 0x10
jne 0x45b81b
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 0xf
and ecx, 0x3f
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 1]
shl ecx, 6
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 2
jmp 0x45b8f1
test al, 8
jne 0x45b85d
mov eax, dword [esi + 0x80]
movzx ecx, byte [edi]
and eax, 7
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [esi + 0xc]
shl ecx, 6
movzx eax, byte [eax + 2]
and eax, 0x3f
or ecx, eax
mov dword [esi + 0x80], ecx
add dword [esi + 0xc], 3
jmp 0x45b8f1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x45b8a8
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 4
jmp 0x45b8ea
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
mov dword [esi + 0x80], edx
add dword [esi + 0xc], 5
mov edx, dword [esp + 0x8c]
cmp dword [esi + 0x9c], 0x48
jb 0x45bd15
test edx, edx
je 0x45b94c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x45b94c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x45b930
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
mov eax, dword [eax*8 + 0x507204]
add eax, edi
jmp 0x45b959
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x45baa0
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45baeb
jmp 0x45b980
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x45ba79
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x45b9ba
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x45ba76
test cl, 0x10
jne 0x45b9db
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45ba76
test cl, 8
jne 0x45ba05
and ecx, 7
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45ba76
test cl, 4
jne 0x45ba3b
and ecx, 3
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45ba76
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 1]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ecx
je case.0x45dee6.14
cmp dword [esi + 0x94], ecx
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45b980
jmp 0x45bae4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x45bae4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459fd7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x45dee6.14
cmp dword [esi + 0x94], ecx
je case.0x45dee6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x45bab0
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x456f5a
test ebx, ebx
je 0x45bb14
test edx, edx
jne 0x46430a
mov dword [esi + 0x84], eax
jmp 0x4613df
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45bc9d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45bc8a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bc62
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45bc3e
test dl, 0x20
jne 0x45bb72
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45bc3e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45bb9c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x45bc3c
test dl, 8
jne 0x45bbc8
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x45bc3c
test dl, 4
jne 0x45bc00
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x45bc3c
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x45bc8a
cmp dword [esi + 0x94], edx
je 0x45bc8a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45bb34
jmp 0x45bc8a
cmp dword [ebp + 0x88], 0
je 0x45bc8a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45bc8a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x4624bc
jmp 0x456f5a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45bd02
jmp 0x45bcb0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45bcda
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x45bd02
cmp dword [esi + 0x94], ecx
je 0x45bd02
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45bcb0
jmp 0x45bd02
cmp dword [ebp + 0x88], 0
je 0x45bd02
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45bd02
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x46141f
jmp 0x456f5a
test edx, edx
je 0x45be37
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x45be75
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45be1c
test dl, 0x20
jne 0x45bd6a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45be19
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45bd91
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45be17
test dl, 8
jne 0x45bdb4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45be17
test dl, 4
jne 0x45bde3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45be17
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45bd30
jmp 0x45be6e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45be75
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45be44
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x456f5a
cmp dword [esp + 0x84], 0
je 0x45bea4
test edx, edx
jne 0x46431f
mov dword [esi + 0x84], eax
jmp 0x4614ac
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x45c028
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45c015
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45bfed
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45bfd1
test dl, 0x20
jne 0x45bf02
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45bfd1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45bf2c
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x45bfcf
test dl, 8
jne 0x45bf5b
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x45bfcf
test dl, 4
jne 0x45bf93
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x45bfcf
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp dword [esi + 0x80], edx
je 0x45c015
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45bec4
jmp 0x45c015
cmp dword [ebp + 0x88], 0
je 0x45c015
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c015
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x462680
jmp 0x456f5a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x45c082
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c05a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x45c082
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x45c036
jmp 0x45c082
cmp dword [ebp + 0x88], 0
je 0x45c082
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45c082
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x4614ec
jmp 0x456f5a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x84], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], ecx
add dword [esi + 0xc], 3
jmp 0x45c1d4
mov dword [esi + 0x90], ebx
xor edx, edx
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x5c
sete dl
add eax, 3
mov dword [esp + 0x84], edx
mov dword [esi + 0xc], eax
jmp 0x45c1d4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45c1d4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45c1d4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x45c1d4
mov dword [esi + 0x90], ebx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x80], 1
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0x8c], ecx
add dword [esi + 0xc], 3
jmp 0x45c1d4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x5064fb]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x506507]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45c1d4
mov dword [esi + 0x8c], 0x7fffffff
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x7c], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x7c]
cmp ecx, 0x10
je 0x45c1f6
cmp ecx, 0xf
je 0x45c1f6
mov dword [esi + 0x60], 0xffffffff
jmp 0x45c219
xor eax, eax
cmp ecx, 0xf
sete al
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x60], eax
inc dword [esi + 0xc]
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x64], eax
inc dword [esi + 0xc]
mov ecx, dword [esi + 0x90]
test ecx, ecx
jle 0x45e1bb
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45cfc8
cmp eax, 0xa
ja case.default.0x4594da
jmp dword [eax*4 + 0x464f34]
cmp dword [esi + 0x68], ebx
jne 0x457d5b
mov edx, 1
cmp ecx, edx
jl 0x45e1bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45c29f
cmp ecx, 0xc0
jb 0x45c29f
test cl, 0x20
jne 0x45c27b
inc eax
jmp 0x45c29c
test cl, 0x10
jne 0x45c285
add eax, 2
jmp 0x45c29c
test cl, 8
jne 0x45c28f
add eax, 3
jmp 0x45c29c
test cl, 4
jne 0x45c299
add eax, 4
jmp 0x45c29c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45c258
jmp 0x45e1bb
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
mov eax, dword [esi + 8]
jmp 0x458505
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c3ca
cmp ebx, 0xc0
jb 0x45c3ca
test bl, 0x20
jne 0x45c318
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c3c7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c33f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45c3c5
test bl, 8
jne 0x45c362
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45c3c5
test bl, 4
jne 0x45c391
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45c3c5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c3ec
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp eax, 9
je 0x45c411
cmp eax, 5
je 0x45c411
cmp eax, 8
je 0x45c411
xor eax, eax
jmp 0x45c416
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c2d0
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c538
cmp ebx, 0xc0
jb 0x45c538
test bl, 0x20
jne 0x45c488
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c535
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c4af
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45c535
test bl, 8
jne 0x45c4d2
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45c535
test bl, 4
jne 0x45c501
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45c535
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c55a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c440
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c69b
cmp ebx, 0xc0
jb 0x45c69b
test bl, 0x20
jne 0x45c5eb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c698
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c612
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45c698
test bl, 8
jne 0x45c635
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45c698
test bl, 4
jne 0x45c664
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45c698
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c6bd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c5a3
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c7f8
cmp ebx, 0xc0
jb 0x45c7f8
test bl, 0x20
jne 0x45c748
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c7f5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c76f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45c7f5
test bl, 8
jne 0x45c792
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45c7f5
test bl, 4
jne 0x45c7c1
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45c7f5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c81a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c700
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45c95a
cmp ebx, 0xc0
jb 0x45c95a
test bl, 0x20
jne 0x45c8a8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45c957
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45c8cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45c955
test bl, 8
jne 0x45c8f2
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45c955
test bl, 4
jne 0x45c921
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45c955
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45c97c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x45c9a3
cmp eax, 3
je 0x45c9a3
xor eax, eax
jmp 0x45c9a8
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c860
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45caca
cmp ebx, 0xc0
jb 0x45caca
test bl, 0x20
jne 0x45ca18
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45cac7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ca3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x45cac5
test bl, 8
jne 0x45ca62
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x45cac5
test bl, 4
jne 0x45ca91
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x45cac5
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x45cb0d
je case.0x45cb29.8192
cmp ebx, 0x85
ja 0x45caf9
je case.0x45cb29.8192
cmp ebx, 9
jb case.0x45cb29.8203
cmp ebx, 0xd
jbe case.0x45cb29.8192
cmp ebx, 0x20
jmp 0x45cb3e
cmp ebx, 0xa0
je case.0x45cb29.8192
cmp ebx, 0x1680
jmp 0x45cb3e
cmp ebx, 0x202f
ja 0x45cb30
je case.0x45cb29.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45cb29.8203
movzx eax, byte [eax + 0x464f68]
jmp dword [eax*4 + 0x464f60]
cmp ebx, 0x205f
je case.0x45cb29.8192
cmp ebx, 0x3000
je case.0x45cb29.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45cb62
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp dword [eax*4 + 0x507010], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x45dee6.14
jmp 0x45cb96
cmp dword [esi + 0x68], 0
jne case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45c9d0
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1bb
jmp 0x45cbc0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x45ccb8
cmp ebx, 0xc0
jb 0x45ccb8
test bl, 0x20
jne 0x45cc08
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45ccb5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45cc2f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45ccb5
test bl, 8
jne 0x45cc52
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45ccb5
test bl, 4
jne 0x45cc81
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45ccb5
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45ccdb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x45cd07
cmp eax, 3
je 0x45cd07
cmp ebx, 0x5f
je 0x45cd07
xor eax, eax
jmp 0x45cd0c
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45dee6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45cbc0
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45ce2c
cmp edx, 0xc0
jb 0x45ce2c
test dl, 0x20
jne 0x45cd7c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45ce29
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45cda3
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x45ce29
test dl, 8
jne 0x45cdc6
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 3]
jmp 0x45ce29
test dl, 4
jne 0x45cdf5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 4]
jmp 0x45ce29
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 5]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x5070c0]
lea eax, [eax*4 + 0x5070c0]
cmp edx, ecx
jb 0x45ce4e
lea eax, [eax + 4]
cmp edx, ecx
je 0x45ce6a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45ce41
cmp dword [esi + 0x68], 0
je case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45cd34
jmp 0x45e1bb
cmp dword [esi + 0x68], 0
jne case.0x45dee6.14
jmp 0x45ce58
mov ebx, 1
cmp ecx, ebx
jl 0x45e1bb
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45cf7d
cmp edx, 0xc0
jb 0x45cf7d
test dl, 0x20
jne 0x45cecb
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45cf7a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45cef2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45cf78
test dl, 8
jne 0x45cf15
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45cf78
test dl, 4
jne 0x45cf44
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45cf78
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x24
je 0x45cfa8
cmp edx, 0x40
je 0x45cfa8
cmp edx, 0x60
je 0x45cfa8
cmp edx, 0xa0
jb 0x45cf9c
cmp edx, 0xd7ff
jbe 0x45cfa8
cmp edx, 0xe000
jae 0x45cfa8
xor eax, eax
jmp 0x45cfad
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45ce83
jmp 0x45e1bb
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x45d2f3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x45e1bb
jmp 0x45cff0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x459fd7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x45d0f0
cmp ebx, 0xc0
jb 0x45d0f0
test bl, 0x20
jne 0x45d039
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45d0ed
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45d060
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45d0e6
test bl, 8
jne 0x45d083
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45d0e6
test bl, 4
jne 0x45d0b2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45d0e6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d112
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507202]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45d2ad
jmp 0x45d140
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45d23e
cmp ebx, 0xc0
jb 0x45d23e
test bl, 0x20
jne 0x45d175
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45d236
test bl, 0x10
jne 0x45d19a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x45d236
test bl, 8
jne 0x45d1c8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x45d236
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45d202
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x45d236
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45d260
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx ecx, byte [eax*8 + 0x507202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507088], eax
je 0x45d2a6
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x45d140
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x45d2da
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45d2da
cmp eax, dword [ebp + 0x84]
jbe 0x45d2da
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x45cff0
jmp 0x45e1bb
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x45ddbf
cmp eax, 0xf
ja case.0x460307.9
jmp dword [eax*4 + 0x464f94]
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x459fd7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45d357
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne case.0x45dee6.14
jmp 0x45d37b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45d37b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45d37b
cmp edx, 1
je case.0x45dee6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x45dee6.14
cmp dword [ebp + 0x88], 0
je 0x45d3b6
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45d3b6
cmp dword [ebp + 0x18], 0
jne 0x45d3b6
cmp dword [edi], 2
jne 0x45d3b6
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45d3b6
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45d3d2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d3d2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x45d3c1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d322
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45c2ad
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45d428
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d428
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45d410
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45d3f4
jmp 0x45e1bb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x457d5b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d54c
test dl, 0x20
jne 0x45d49a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d549
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d4c1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d547
test dl, 8
jne 0x45d4e4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45d547
test dl, 4
jne 0x45d513
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45d547
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0xd
ja 0x45d570
je 0x45d55d
cmp edx, 0xa
je 0x45d591
lea eax, [edx - 0xb]
jmp 0x45d57e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45d591
cmp byte [eax], 0xa
jne 0x45d591
inc eax
mov dword [esi + 8], eax
jmp 0x45d591
cmp edx, 0x85
je 0x45d587
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45dee6.14
cmp dword [ebp + 0x68], 0
jne case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d460
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d69c
test dl, 0x20
jne 0x45d5ea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d699
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d611
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d697
test dl, 8
jne 0x45d634
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45d697
test dl, 4
jne 0x45d663
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45d697
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x45d6ce
je case.0x45dee6.14
cmp edx, 0xa0
ja 0x45d6c6
je case.0x45dee6.14
cmp edx, 9
je case.0x45dee6.14
cmp edx, 0x20
jmp 0x45d6fe
cmp edx, 0x1680
jmp 0x45d6fe
cmp edx, 0x205f
ja 0x45d6f8
je case.0x45dee6.14
cmp edx, 0x2000
jb 0x45d704
cmp edx, 0x200a
jbe case.0x45dee6.14
cmp edx, 0x202f
jmp 0x45d6fe
cmp edx, 0x3000
je case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d5b0
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d80f
test dl, 0x20
jne 0x45d75d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d80c
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d784
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d80a
test dl, 8
jne 0x45d7a7
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45d80a
test dl, 4
jne 0x45d7d6
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45d80a
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x180e
ja 0x45d835
je 0x45d867
cmp edx, 0xa0
ja 0x45d82d
je 0x45d867
cmp edx, 9
je 0x45d867
cmp edx, 0x20
jmp 0x45d861
cmp edx, 0x1680
jmp 0x45d861
cmp edx, 0x205f
ja 0x45d85b
je 0x45d867
cmp edx, 0x2000
jb case.0x45dee6.14
cmp edx, 0x200a
jbe 0x45d867
cmp edx, 0x202f
jmp 0x45d861
cmp edx, 0x3000
jne case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d723
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
jmp 0x45d890
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45d97c
test dl, 0x20
jne 0x45d8ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45d979
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45d8f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45d977
test dl, 8
jne 0x45d914
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45d977
test dl, 4
jne 0x45d943
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45d977
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x45d994
je case.0x45dee6.14
cmp edx, 0xa
jb 0x45d9a8
cmp edx, 0xd
jmp 0x45d9a2
cmp edx, 0x2028
jb 0x45d9a8
cmp edx, 0x2029
jbe case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d890
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
jmp 0x45d9d0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45dabc
test dl, 0x20
jne 0x45da0a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45dab9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45da31
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45dab7
test dl, 8
jne 0x45da54
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45dab7
test dl, 4
jne 0x45da83
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45dab7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x85
ja 0x45dace
je 0x45dadd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x45dad7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45d9d0
jmp 0x45e1bb
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x459fd7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x45dbec
test dl, 0x20
jne 0x45db3a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x45dbe9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x45db61
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x45dbe7
test dl, 8
jne 0x45db84
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x45dbe7
test dl, 4
jne 0x45dbb3
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x45dbe7
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
cmp edx, 0x80
jae 0x45dc01
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x45dee6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45db00
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c2ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45dee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x45dee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45dc20
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45c2ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x45dc93
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x45dee6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45dcb8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45dcb8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45dca0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45dc70
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c2ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45dee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x45dee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45dcd3
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x45c2ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x45dd43
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x45dee6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45dd68
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45dd68
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45dd50
inc edi
cmp edi, dword [esi + 0x90]
jle 0x45dd20
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c2ad
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x45dee6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x45dee6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45dd83
jmp 0x45e1bb
cmp eax, 0xf
ja case.0x460307.9
jmp dword [eax*4 + 0x464fd4]
mov ebx, 1
cmp ecx, ebx
jl 0x45e1c2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x459fd7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45de10
push 0
push edi
push eax
push edx
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne case.0x45dee6.14
jmp 0x45de34
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45de34
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45de34
cmp edx, 1
je case.0x45dee6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x45dee6.14
cmp dword [ebp + 0x88], 0
je 0x45de6f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45de6f
cmp dword [ebp + 0x18], 0
jne 0x45de6f
cmp dword [edi], 2
jne 0x45de6f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45de6f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x45dde0
jmp 0x45e1bb
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x45d446
cmp dword [ebp + 0x88], ebx
je case.0x45dee6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x45dee6.14
jmp 0x457eb2
mov edx, 1
cmp ecx, edx
jl 0x45e1bb
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45c2ad
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x45dee6.14
movzx eax, byte [eax + 0x465024]
jmp dword [eax*4 + 0x465014]
cmp ecx, dword [ebp + 0x78]
jae case.0x45dee6.10
cmp byte [ecx], 0xa
jne case.0x45dee6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x45dee6.10
cmp dword [ebp + 0x68], ebx
jne case.0x45dee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45dec0
jmp 0x45e1bb
mov edx, 1
cmp ecx, edx
jl 0x45e1bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x45dee6.14
cmp ecx, 0x20
je case.0x45dee6.14
cmp ecx, 0xa0
je case.0x45dee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45df23
jmp 0x45e1bb
mov edx, 1
cmp ecx, edx
jl 0x45e1bb
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x45df99
cmp ecx, 0x20
je 0x45df99
cmp ecx, 0xa0
jne case.0x45dee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45df70
jmp 0x45e1bb
mov edx, 1
cmp ecx, edx
jl 0x45e1bb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x45dfe1
cmp ecx, 0xd
jle case.0x45dee6.14
cmp ecx, 0x85
je case.0x45dee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45dfb4
jmp 0x45e1bb
mov edx, 1
cmp ecx, edx
jl 0x45e1bb
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x45dee6.14
cmp ecx, 0xd
jle 0x45e02d
cmp ecx, 0x85
jne case.0x45dee6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x45e000
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
jmp 0x45e050
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x45dee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e050
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x45dee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e090
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x45dee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e0d0
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x45dee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e110
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
jmp 0x45e150
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x45dee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e150
jmp 0x45e1bb
mov edi, 1
cmp ecx, edi
jl 0x45e1c2
jmp 0x45e190
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45c2ad
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x45dee6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45e190
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x456f5a
cmp dword [esp + 0x84], 0
je 0x45e222
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45e205
cmp eax, 0xa
ja case.0x460307.9
jmp dword [eax*4 + 0x4650a0]
mov esi, dword [esi]
test esi, esi
je case.default.0x4607d4
mov edi, 0xfffffff2
jmp 0x4607c0
cmp dword [esi + 0x7c], 0x16
je 0x4643f3
test edx, edx
jne 0x4643de
mov dword [esi + 0x84], ecx
jmp 0x461655
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x45f25b
cmp eax, 0xa
ja case.0x460307.9
jmp dword [eax*4 + 0x4650cc]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x45f248
mov ebx, dword [esp + 0x8c]
jmp 0x45e260
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x45e2cb
movzx ecx, byte [edx]
test ebx, ebx
je 0x45e2ae
cmp ecx, 0xc0
jb 0x45e2ae
test cl, 0x20
jne 0x45e288
mov eax, 2
jmp 0x45e2ae
test cl, 0x10
jne 0x45e294
mov eax, 3
jmp 0x45e2ae
test cl, 8
jne 0x45e2a0
mov eax, 4
jmp 0x45e2ae
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x45f248
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x45e260
jmp 0x45f248
cmp dword [ebp + 0x88], 0
je 0x45f248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f248
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4607c0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45e48e
movzx ebx, byte [edi]
test edx, edx
je 0x45e40c
cmp ebx, 0xc0
jb 0x45e40c
test bl, 0x20
jne 0x45e36e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45e404
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e38d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45e404
and eax, 0x3f
test bl, 8
jne 0x45e3ad
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45e404
test bl, 4
jne 0x45e3d6
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45e404
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e42e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp eax, 9
je 0x45e453
cmp eax, 5
je 0x45e453
cmp eax, 8
je 0x45e453
xor eax, eax
jmp 0x45e458
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f248
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x45e330
jmp 0x45f248
cmp dword [ebp + 0x88], 0
je 0x45f248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f248
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x45f248
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607c0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
jmp 0x45e4f0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e672
movzx ebx, byte [edi]
test edx, edx
je 0x45e5f3
cmp ebx, 0xc0
jb 0x45e5f3
test bl, 0x20
jne 0x45e53a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45e5eb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e562
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45e5eb
and eax, 0x3f
test bl, 8
jne 0x45e588
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45e5eb
test bl, 4
jne 0x45e5b7
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45e5eb
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e615
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x45e4f0
jmp 0x45f248
cmp dword [ebp + 0x88], 0
je 0x45f248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x45e4b3
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e672
movzx ebx, byte [edi]
test edx, edx
je 0x45e7bf
cmp ebx, 0xc0
jb 0x45e7bf
test bl, 0x20
jne 0x45e706
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45e7b7
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e72e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45e7b7
and eax, 0x3f
test bl, 8
jne 0x45e754
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45e7b7
test bl, 4
jne 0x45e783
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45e7b7
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e7e1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x45e6c0
jmp 0x45f248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e672
movzx ebx, byte [edi]
test edx, edx
je 0x45e953
cmp ebx, 0xc0
jb 0x45e953
test bl, 0x20
jne 0x45e89a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45e94b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e8c2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45e94b
and eax, 0x3f
test bl, 8
jne 0x45e8e8
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45e94b
test bl, 4
jne 0x45e917
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45e94b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e975
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x45e850
jmp 0x45f248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45e48e
movzx ebx, byte [edi]
test edx, edx
je 0x45eac3
cmp ebx, 0xc0
jb 0x45eac3
test bl, 0x20
jne 0x45ea22
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x45eabb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45ea44
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x45eabb
and eax, 0x3f
test bl, 8
jne 0x45ea64
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45eabb
test bl, 4
jne 0x45ea8d
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, 5
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45eabb
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, 6
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45eae5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x45eb0c
cmp eax, 3
je 0x45eb0c
xor eax, eax
jmp 0x45eb11
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f248
mov edx, dword [esp + 0x8c]
lea eax, [ecx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x45e9e4
jmp 0x45f248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e672
movzx ebx, byte [edi]
test edx, edx
je 0x45ec6d
cmp ebx, 0xc0
jb 0x45ec6d
test bl, 0x20
jne 0x45ebb2
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x45ec6d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45ebda
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x45ec63
and eax, 0x3f
test bl, 8
jne 0x45ec00
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x45ec63
test bl, 4
jne 0x45ec2f
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
jmp 0x45ec63
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov ebx, ecx
cmp ebx, 0x180e
ja 0x45ecb0
je case.0x45ecd0.8192
cmp ebx, 0x85
ja 0x45ec9c
je case.0x45ecd0.8192
cmp ebx, 9
jb case.0x45ecd0.8203
cmp ebx, 0xd
jbe case.0x45ecd0.8192
cmp ebx, 0x20
jmp 0x45ece5
cmp ebx, 0xa0
je case.0x45ecd0.8192
cmp ebx, 0x1680
jmp 0x45ece5
cmp ebx, 0x202f
ja 0x45ecd7
je case.0x45ecd0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x45ecd0.8203
movzx eax, byte [eax + 0x465100]
jmp dword [eax*4 + 0x4650f8]
cmp ebx, 0x205f
je case.0x45ecd0.8192
cmp ebx, 0x3000
je case.0x45ecd0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45ed09
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp dword [eax*4 + 0x507010], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45f248
mov edx, dword [esp + 0x8c]
jmp 0x45ed44
cmp dword [esi + 0x68], 0
jne 0x45f248
mov eax, dword [esp + 0x84]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x45eb60
jmp 0x45f248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x45e672
movzx ebx, byte [edi]
test edx, edx
je 0x45ee93
cmp ebx, 0xc0
jb 0x45ee93
test bl, 0x20
jne 0x45edda
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x45ee8b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45ee02
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x45ee8b
and eax, 0x3f
test bl, 8
jne 0x45ee28
and ebx, 7
mov dword [esp + 0x84], 4
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x45ee8b
test bl, 4
jne 0x45ee57
and ebx, 3
mov dword [esp + 0x84], 5
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x45ee8b
and ebx, 1
mov dword [esp + 0x84], 6
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45eeb6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x45eee2
cmp eax, 3
je 0x45eee2
cmp ebx, 0x5f
je 0x45eee2
xor eax, eax
jmp 0x45eee7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f248
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jl 0x45ed90
jmp 0x45f248
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x45f248
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45f07f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45f021
cmp edx, 0xc0
jb 0x45f021
test dl, 0x20
jne 0x45ef84
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x45f019
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45efa3
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x45f019
and eax, 0x3f
test dl, 8
jne 0x45efc3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45f019
test dl, 4
jne 0x45efec
and edx, 3
mov ebx, 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45f019
and edx, ebx
mov ebx, 6
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x5070c0]
lea eax, [eax*4 + 0x5070c0]
cmp edx, ecx
jb 0x45f043
lea eax, [eax + 4]
cmp edx, ecx
je 0x45f073
mov ecx, dword [eax]
cmp edx, ecx
jae 0x45f036
cmp dword [esi + 0x68], 0
je 0x45f248
lea eax, [ebx + edi]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x45ef40
jmp 0x45f248
cmp dword [esi + 0x68], 0
jne 0x45f248
jmp 0x45f04d
cmp dword [ebp + 0x88], 0
je 0x45f248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f248
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x45f248
jmp 0x457ec6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x45f248
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45f220
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x45f1d7
cmp edx, 0xc0
jb 0x45f1d7
test dl, 0x20
jne 0x45f10d
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45f1d7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45f137
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, 3
jmp 0x45f1d7
test dl, 8
jne 0x45f163
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 4
jmp 0x45f1d7
test dl, 4
jne 0x45f19b
movzx eax, byte [edi + 2]
and edx, 3
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 5
jmp 0x45f1d7
and edx, eax
movzx eax, byte [edi + 2]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 6
cmp edx, 0x24
je 0x45f202
cmp edx, 0x40
je 0x45f202
cmp edx, 0x60
je 0x45f202
cmp edx, 0xa0
jb 0x45f1f6
cmp edx, 0xd7ff
jbe 0x45f202
cmp edx, 0xe000
jae 0x45f202
xor ecx, ecx
jmp 0x45f207
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x45f248
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45f0c1
jmp 0x45f248
cmp dword [ebp + 0x88], 0
je 0x45f248
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f248
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
je 0x4636fc
jmp 0x456f5a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x45f5f7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x45f5a8
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x45f580
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x45f380
cmp ebx, 0xc0
jb 0x45f380
test bl, 0x20
jne 0x45f2c9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x45f37d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f2f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x45f376
test bl, 8
jne 0x45f313
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x45f376
test bl, 4
jne 0x45f342
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x45f376
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f3a2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507202]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45f53d
jmp 0x45f3d0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45f4ce
cmp ebx, 0xc0
jb 0x45f4ce
test bl, 0x20
jne 0x45f405
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45f4c6
test bl, 0x10
jne 0x45f42a
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x45f4c6
test bl, 8
jne 0x45f458
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x45f4c6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45f492
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x45f4c6
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f4f0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx ecx, byte [eax*8 + 0x507202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507088], eax
je 0x45f536
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
cmp eax, dword [ebp + 0x78]
jb 0x45f3d0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x45f56a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f56a
cmp eax, dword [ebp + 0x84]
jbe 0x45f56a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x45f280
jmp 0x45f5a8
cmp dword [ebp + 0x88], 0
je 0x45f5a8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x45f5a8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
cmp dword [esp + 0x80], 0
jne 0x456f5a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b25
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b1b
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
add eax, 0xfffffffa
test edx, edx
je 0x4602fe
cmp eax, 0xf
ja case.0x460307.9
jmp dword [eax*4 + 0x46512c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45f6e6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45f659
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x4602eb
jmp 0x45f67d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45f67d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45f67d
cmp edx, 1
je 0x4602eb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4602eb
cmp dword [ebp + 0x88], 0
je 0x45f6b8
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x45f6b8
cmp dword [ebp + 0x18], 0
jne 0x45f6b8
cmp dword [edi], 2
jne 0x45f6b8
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x45f6b8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x45f6d4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f6d4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x45f6c3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45f624
jmp 0x4602eb
cmp dword [ebp + 0x88], 0
je 0x4602eb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4602eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4602eb
jmp 0x457ec6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x45f778
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4602eb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x45f6e6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x45f76a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45f76a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x45f752
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x45f740
jmp 0x4602eb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4602eb
cmp eax, dword [ebp + 0x84]
jbe 0x4602eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4602eb
jmp 0x45e4b9
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x45f7ff
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4602eb
cmp edx, dword [ebp + 0x84]
jbe 0x4602eb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4602eb
jmp 0x457ec6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x45f6e6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45f92a
test dl, 0x20
jne 0x45f85e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x45f92a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x45f888
movzx eax, byte [edi + 2]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
mov eax, 3
jmp 0x45f928
test dl, 8
jne 0x45f8b4
movzx eax, byte [edi + 2]
and edx, 7
shl edx, 6
and eax, 0x3f
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 4
jmp 0x45f928
test dl, 4
jne 0x45f8ec
movzx eax, byte [edi + 2]
and edx, 3
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 5
jmp 0x45f928
and edx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, 6
mov edx, ecx
cmp edx, 0xd
jne 0x45f946
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4602eb
cmp byte [eax], 0xa
jne 0x45f980
inc eax
jmp 0x45f97d
cmp edx, 0xa
je 0x45f97b
cmp dword [ebp + 0x68], 0
jne 0x4602eb
cmp edx, 0xb
je 0x45f97b
cmp edx, 0xc
je 0x45f97b
cmp edx, 0x85
je 0x45f97b
cmp edx, 0x2028
je 0x45f97b
cmp edx, 0x2029
jne 0x4602eb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x45f820
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fa78
test dl, 0x20
jne 0x45f9da
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45fa70
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45f9f9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45fa70
and eax, 0x3f
test dl, 8
jne 0x45fa19
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45fa70
test dl, 4
jne 0x45fa42
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45fa70
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x45fa9e
je 0x45facc
cmp edx, 0xa0
ja 0x45fa96
je 0x45facc
cmp edx, 9
je 0x45facc
cmp edx, 0x20
jmp 0x45fac6
cmp edx, 0x1680
jmp 0x45fac6
cmp edx, 0x205f
ja 0x45fac0
je 0x45facc
cmp edx, 0x2000
jb 0x45fac8
cmp edx, 0x200a
jbe 0x45facc
cmp edx, 0x202f
jmp 0x45fac6
cmp edx, 0x3000
je 0x45facc
xor edx, edx
jmp 0x45fad1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45f9a4
jmp 0x4602eb
cmp dword [ebp + 0x88], 0
je 0x4602eb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4602eb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4602eb
jmp 0x457ec6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fc10
test dl, 0x20
jne 0x45fb72
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45fc08
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fb91
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45fc08
and eax, 0x3f
test dl, 8
jne 0x45fbb1
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45fc08
test dl, 4
jne 0x45fbda
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45fc08
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x85
ja 0x45fc4f
je 0x45fc5a
cmp edx, 0xa
jb 0x45fc24
cmp edx, 0xd
jbe 0x45fc5a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45fb40
jmp 0x4602eb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x45fc24
mov edx, 1
jmp 0x45fc26
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fd47
test dl, 0x20
jne 0x45fca9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45fd3f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fcc8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45fd3f
and eax, 0x3f
test dl, 8
jne 0x45fce8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45fd3f
test dl, 4
jne 0x45fd11
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45fd3f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x45fd5c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45fc73
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
jmp 0x45fd90
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45fe64
test dl, 0x20
jne 0x45fdc6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45fe5c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45fde5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45fe5c
and eax, 0x3f
test dl, 8
jne 0x45fe05
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45fe5c
test dl, 4
jne 0x45fe2e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45fe5c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4602eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45fd90
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
jmp 0x45feb0
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x45ff84
test dl, 0x20
jne 0x45fee6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x45ff7c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x45ff05
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x45ff7c
and eax, 0x3f
test dl, 8
jne 0x45ff25
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x45ff7c
test dl, 4
jne 0x45ff4e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x45ff7c
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x45ff99
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45feb0
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x460097
test dl, 0x20
jne 0x45fff9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46008f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x460018
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46008f
and eax, 0x3f
test dl, 8
jne 0x460038
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46008f
test dl, 4
jne 0x460061
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x46008f
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4602eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x45ffc3
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4601b4
test dl, 0x20
jne 0x460116
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4601ac
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x460135
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4601ac
and eax, 0x3f
test dl, 8
jne 0x460155
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4601ac
test dl, 4
jne 0x46017e
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4601ac
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4601c9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4600e0
jmp 0x4602eb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4602eb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x45fafa
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4602c7
test dl, 0x20
jne 0x460229
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x4602bf
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x460248
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x4602bf
and eax, 0x3f
test dl, 8
jne 0x460268
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4602bf
test dl, 4
jne 0x460291
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
jmp 0x4602bf
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x4602eb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4602eb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4601f3
cmp dword [esp + 0x80], 0
je 0x462bb8
jmp 0x456f5a
cmp eax, 0xf
ja case.0x460307.9
jmp dword [eax*4 + 0x46516c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x460797
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4603c4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x460350
push 0
push edi
push eax
push edx
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x460797
jmp 0x460374
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x460374
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x460374
cmp edx, 1
je 0x460797
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x460797
cmp dword [ebp + 0x88], 0
je 0x4603af
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x4603af
cmp dword [ebp + 0x18], 0
jne 0x4603af
cmp dword [edi], 2
jne 0x4603af
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x4603af
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x460320
jmp 0x460797
cmp dword [ebp + 0x88], 0
je 0x460797
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x460797
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x460797
jmp 0x457ec6
mov edx, dword [ebp + 0x78]
mov eax, edx
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 8]
sub eax, edi
sub ecx, dword [esi + 0x90]
cmp ecx, eax
jbe 0x460448
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x460797
cmp edx, dword [ebp + 0x84]
jbe 0x460797
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x460797
jmp 0x457ec6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x460797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460797
jmp 0x460470
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4603c4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x46049b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x460797
cmp byte [eax], 0xa
jne 0x4604c5
inc eax
jmp 0x4604c2
cmp eax, 0xa
je 0x4604bf
cmp dword [ebp + 0x68], 0
jne 0x460797
cmp eax, 0xb
je 0x4604bf
cmp eax, 0xc
je 0x4604bf
cmp eax, 0x85
jne 0x460797
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x460470
jmp 0x460797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460797
jmp 0x4604f0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4603c4
mov al, byte [ecx]
cmp al, 9
je 0x460797
cmp al, 0x20
je 0x460797
cmp al, 0xa0
je 0x460797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4604f0
jmp 0x460797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460797
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4603c4
mov al, byte [ecx]
cmp al, 9
je 0x46055e
cmp al, 0x20
je 0x46055e
cmp al, 0xa0
jne 0x460797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x460540
jmp 0x460797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460797
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4603c4
mov al, byte [ecx]
cmp al, 0xa
jb 0x4605a6
cmp al, 0xd
jbe 0x460797
cmp al, 0x85
je 0x460797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x460584
jmp 0x460797
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x460797
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4603c4
mov al, byte [ecx]
cmp al, 0xa
jb 0x460797
cmp al, 0xd
jbe 0x4605f2
cmp al, 0x85
jne 0x460797
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4605d0
jmp 0x460797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460797
jmp 0x460620
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4603c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x460797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460620
jmp 0x460797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460797
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4603c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x460797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460662
jmp 0x460797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460797
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4603c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x460797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4606a4
jmp 0x460797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460797
jmp 0x4606f0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4603c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x460797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4606f0
jmp 0x460797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460797
jmp 0x460730
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4603c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x460797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460730
jmp 0x460797
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x460797
jmp 0x460770
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4603c4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x460797
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x460770
cmp dword [esp + 0x80], 0
je 0x4617fa
jmp 0x456f5a
mov esi, dword [esi]
test esi, esi
je 0x464c71
mov edi, 0xfffffffb
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esi + 0x130]
dec eax
cmp eax, 0x42
ja case.default.0x4607d4
jmp dword [eax*4 + 0x4651ac]
cmp edi, 0xfffffc1b
je 0x4608a6
cmp edi, 0xfffffc20
jne 0x460823
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4607d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x46081f
cmp byte [ecx], 0x77
jne case.0x4607d4.49
xor edi, edi
jmp 0x46082b
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x4608a6
cmp dword [esi + 0x9c], 0x88
jb 0x460871
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4645fa
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4645f0
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
mov esi, dword [esi]
test esi, esi
je 0x460c9c
mov edx, dword [esp + 0x8c]
jmp 0x4607c4
cmp edi, 0xfffffc20
jne 0x460963
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x4609b1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x46092e
cmp byte [ecx], 0x77
jne 0x4609b1
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4609c7
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c4
test edi, edi
je 0x46092e
cmp edi, 0xfffffc1b
jne 0x4609b1
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x4609a3
cmp al, 0x77
jne 0x460994
lea esp, [esp]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x460980
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov eax, dword [ebp + 0xb4]
sub eax, edx
neg eax
sbb eax, eax
and edi, eax
mov esi, dword [esi]
test esi, esi
je 0x460c9c
mov edx, dword [esp + 0x8c]
jmp 0x4607c4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x460a19
cmp eax, 0x81
je 0x460a19
cmp dword [ebp + 0x6c], 0
jne 0x460a23
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x77
je 0x460a23
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x506ef8]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x456ee0
mov dword [ebp + 0x98], 2
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov edx, dword [esi + 4]
test edx, edx
jne 0x46461c
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x464612
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
cmp edi, 1
jne 0x460ae3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x460a80
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x460a93
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x460ac9
mov edx, eax
movzx ecx, byte [eax + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov edx, eax
mov dword [esi + 0xc], edx
cmp byte [eax], 0x77
je 0x460ab0
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x506ef8]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45738e.145
test edi, edi
je 0x460af3
cmp edi, 0xfffffc20
jne case.0x4607d4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x460b09
movzx eax, byte [edx + 0x506ef8]
jmp 0x460b0c
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x460b29
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x456f61
cmp dword [esi + 0x9c], 0x8c
jne 0x456ee0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46463e
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464634
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
cmp edi, 1
je 0x460c22
cmp edi, 0xfffffc19
je 0x460c22
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x460bca
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4607d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x460bd2
cmp byte [ecx], 0x77
jmp 0x460bcc
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x460c28
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464657
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46464d
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x460c41
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c4
cmp dword [esi + 0x58], 0
je 0x46427e
mov esi, dword [esi]
test esi, esi
je 0x464c16
mov edi, 1
jmp 0x4607c4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x460d0d
je 0x460ca6
cmp edi, 0xfffffc19
je 0x461543
cmp edi, 0xfffffc1b
jle case.0x4607d4.49
cmp edi, 0xfffffc1f
jle 0x460cce
mov esi, dword [esi]
test esi, esi
jne 0x4607c4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae 0x460cce
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x460d20
cmp byte [ecx], 0x77
je 0x460d20
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x460cd1
cmp dword [esi + 0x58], 0
je 0x460f57
mov esi, dword [esi]
test esi, esi
je 0x464c16
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4607c4
mov eax, edi
sub eax, 0
je 0x460d20
dec eax
je 0x461543
jmp case.0x4607d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
jne 0x460ce8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46466d
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464663
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x4642ac
cmp edi, 0xfffffc19
je 0x4642ac
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x460dd9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x457d5b
push ecx
call dword [0xec55c4]
add esp, 4
jmp 0x457d5b
test edi, edi
je 0x460e03
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x460df4
push ecx
call dword [0xec55c4]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x460c9c
jmp 0x4607b9
mov dword [ebp + 0xa4], ebx
mov edx, dword [esi + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [ecx + edx]
mov dword [esi + 0x20], eax
cmp byte [eax], 0x77
jne 0x460e69
cmp dword [esi + 0x58], 0
je 0x460e34
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4646b3
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4646a9
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x460db9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x460ec3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464701
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4646f7
mov esi, dword [esi]
test esi, esi
je 0x464bcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4607c4
cmp al, 0x88
jb 0x464404
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464723
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464719
mov esi, dword [esi]
test esi, esi
je 0x464bcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x464c23
mov edi, 0xfffffc1b
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
mov edx, dword [esi + 0x2c]
jmp 0x460f40
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0x2c], edx
cmp byte [edx], 0x77
je 0x460f40
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x456f5a
test edi, edi
je 0x4587d4
jmp case.0x4607d4.49
test edi, edi
je 0x460f0f
jmp case.0x4607d4.49
cmp edi, 0xfffffc1b
jne 0x460f8b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x460f8d
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x461d7b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464745
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46473b
mov esi, dword [esi]
test esi, esi
je 0x464bcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461000
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.00465400
add esp, 0x14
test eax, eax
jns 0x461067
cmp eax, 0xfffffffe
jne 0x461029
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x462b41
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x462b41
cmp eax, dword [ebp + 0x84]
jbe 0x462b41
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459d7e
jmp 0x462b41
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46476a
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464760
mov esi, dword [esi]
test esi, esi
je 0x464bcb
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x45dee6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464783
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464779
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461127
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462c26
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
mov edi, ecx
mov edx, dword [esi + 0x28]
and ecx, 7
shr edi, 3
mov eax, 1
shl eax, cl
test byte [edi + edx], al
je 0x462b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46479c
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464792
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x457d5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4647b5
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4647ab
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461201
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462c26
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x461231
cmp dword [esi + 0x94], ecx
je 0x461231
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4647ce
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4647c4
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
dec dword [esi + 8]
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4647e7
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4647dd
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4612e1
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462c26
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x462b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464800
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4647f6
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
dec dword [esi + 8]
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464819
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46480f
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4613ae
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462c26
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x461543
cmp dword [esi + 0x94], ecx
je 0x461543
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464832
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464828
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46484b
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464841
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461485
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462c26
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x462b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464861
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464857
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464877
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46486d
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461554
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46159b
cmp dword [ebp + 0x88], 0
je 0x461583
cmp ecx, dword [ebp + 0x84]
jbe 0x461583
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459d7e
mov esi, dword [esi]
test esi, esi
je 0x464bd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4607c4
cmp dword [esi + 0x7c], 0xc
jne 0x4615c2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4615e4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x461601
mov eax, dword [esi + 8]
movzx ecx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4615dd.15
jmp dword [eax*4 + 0x4652b8]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4615c2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4615c2
cmp edi, 1
je 0x461601
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4615c2
mov esi, dword [esi]
test esi, esi
je 0x464bd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4607c4
cmp dword [ebp + 0x88], 0
je case.0x4615dd.13
cmp edx, dword [ebp + 0x78]
jb case.0x4615dd.13
cmp dword [ebp + 0x18], 0
jne case.0x4615dd.13
cmp dword [ebp + 0x1c], 2
jne case.0x4615dd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4615dd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459d7e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46488d
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464883
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46169d.14
movzx eax, byte [ecx + 0x465308]
jmp dword [eax*4 + 0x4652f8]
cmp edx, dword [ebp + 0x78]
jae case.0x4615dd.13
cmp byte [edx], 0xa
jne case.0x4615dd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4615dd.13
cmp dword [ebp + 0x68], 0
je case.0x4615dd.13
jmp case.0x46169d.14
cmp ecx, 9
je case.0x46169d.14
cmp ecx, 0x20
je case.0x46169d.14
cmp ecx, 0xa0
jmp 0x46179a
cmp ecx, 9
je case.0x4615dd.13
cmp ecx, 0x20
je case.0x4615dd.13
cmp ecx, 0xa0
je case.0x4615dd.13
jmp case.0x46169d.14
cmp ecx, 0xa
jb case.0x4615dd.13
cmp ecx, 0xd
jbe case.0x46169d.14
cmp ecx, 0x85
jmp 0x46179a
cmp ecx, 0xa
jb case.0x46169d.14
cmp ecx, 0xd
jbe case.0x4615dd.13
cmp ecx, 0x85
je case.0x4615dd.13
jmp case.0x46169d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4615dd.13
jmp case.0x46169d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x46179a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4615dd.13
jmp case.0x46169d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x46179a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4615dd.13
mov esi, dword [esi]
test esi, esi
je 0x464bd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4607c4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4615dd.13
mov esi, dword [esi]
test esi, esi
je 0x464bd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4607c4
mov esi, dword [esi]
test esi, esi
je case.default.0x4607d4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x4617fa
cmp eax, dword [esi + 0x30]
jbe 0x4617fa
cmp byte [eax], 0xa
jne 0x4617fa
cmp byte [eax - 1], 0xd
jne 0x4617fa
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4648a3
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464899
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
cmp edi, 0xfffffc1a
jne 0x461891
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x461889
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x461870
jmp 0x4618e8
mov dword [esi + 8], eax
jmp 0x46190d
cmp edi, 0xfffffc20
jne 0x4618c5
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4607d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4618cd
cmp byte [ecx], 0x77
jmp 0x4618c7
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov edx, dword [esi + 0xc]
cmp byte [edx], 0x77
je 0x461901
cmp dword [esi + 0x5c], 0
jne 0x460f57
cmp dword [esi + 0x54], 0
jne 0x460f57
jmp 0x462b41
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x461923
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x4648e5
push 0x134
call dword [0xec55c8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x4648db
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
mov esi, dword [esi]
test edi, edi
jne 0x460c94
test esi, esi
je 0x464c3d
mov edi, 0xfffffc1c
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464c57
mov edi, 0xfffffc1e
jmp 0x4607c4
cmp edi, 1
je 0x4619a3
cmp edi, 0xfffffc19
jne 0x4619bd
cmp dword [ebp + 0xac], 0
jne 0x4619bd
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x4609b1
cmp edi, 0xfffffc1f
jne 0x4609b1
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4619f2
test dl, dl
je 0x4619ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4619f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4619d2
xor eax, eax
jmp 0x4619f7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4609b1
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464c57
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4607c4
cmp edi, 1
je 0x461a2d
cmp edi, 0xfffffc19
jne case.0x4607d4.51
cmp dword [ebp + 0xac], 0
jne case.0x4607d4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x460c94
test esi, esi
je 0x464c30
mov edi, 0xfffffc1d
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464c64
mov edi, 0xfffffc1f
jmp 0x4607c4
cmp edi, 1
je 0x461a90
cmp edi, 0xfffffc19
jne case.0x4607d4.54
cmp dword [ebp + 0xac], 0
jne case.0x4607d4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x464c4a
mov edi, 0xfffffc20
jmp 0x4607c4
cmp edi, 0xfffffc1a
jne 0x461b31
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
add eax, dword [ebp + 0x70]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x90]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x5c], 1
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x80]
cmp dword [esi + 8], eax
jne 0x461b29
mov edx, dword [esi + 0xc]
jmp 0x461b10
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x461b10
jmp 0x461b98
mov dword [esi + 8], eax
jmp 0x457a92
cmp edi, 0xfffffc20
jne 0x461b65
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4607d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x461b6d
cmp byte [ecx], 0x77
jmp 0x461b67
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x457a92
cmp dword [esi + 0x5c], 0
jne 0x461bd8
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa4]
mov dword [ecx + edx*4], eax
mov edx, dword [esi + 0x98]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xa8]
mov dword [ecx + edx*4 + 4], eax
mov edx, dword [ebp + 0x10]
sub edx, dword [esi + 0x94]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0xac]
mov dword [ecx + edx*4], eax
cmp dword [esi + 0x54], 0
jne 0x456f56
cmp dword [esi + 0x5c], 0
jne 0x456f56
jmp 0x462b41
cmp edi, 1
jne 0x461c94
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x461c11
cmp al, 0x77
jne 0x462b41
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x461c11
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
mov ecx, dword [ebp + 0x80]
mov dword [esi + 8], ecx
mov eax, dword [esi + 0xc]
mov al, byte [eax]
cmp al, 0x78
je 0x456f56
cmp ecx, dword [esi + 0x38]
je 0x456f56
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x461d2d
test ecx, ecx
jne 0x46494e
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464944
mov esi, dword [esi]
test esi, esi
je 0x464bcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4607c4
cmp edi, 0xfffffc20
jne 0x461cc8
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add ecx, dword [esi + 0xc]
mov dword [esi + 0x2c], ecx
cmp dword [ebp + 0x7c], ecx
jae case.0x4607d4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x461cd0
cmp byte [ecx], 0x77
jmp 0x461cca
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
add dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
jne 0x461c00
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464929
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46491f
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test ecx, ecx
jne 0x464973
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464969
mov esi, dword [esi]
test esi, esi
je 0x464bcb
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4607c4
test edi, edi
je 0x464404
jmp case.0x4607d4.49
test edi, edi
jne case.0x4607d4.49
add dword [esi + 0xc], 3
jmp 0x456ee0
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461da9
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x461eaa
cmp ebx, 0xc0
jb 0x461eaa
test bl, 0x20
jne 0x461deb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x461ea7
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461e15
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x461eaa
mov edx, dword [esi + 8]
test bl, 8
jne 0x461e3b
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x461e9e
test bl, 4
jne 0x461e6a
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x461e9e
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
push edx
push dword [esi + 0x28]
push ebx
call fcn.00466680
add esp, 0xc
test eax, eax
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464995
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46498b
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x462b41
cmp dword [esp + 0x8c], edi
je 0x461f31
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x461f31
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x461f25
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649ae
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649a4
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x461f8b
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x462080
test bl, 0x20
jne 0x461fc5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46207d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461fef
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x462080
mov edx, dword [esi + 8]
test bl, 8
jne 0x462018
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x46207b
test bl, 4
jne 0x462047
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x46207b
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0xff
jbe 0x462096
cmp dword [esi + 0x9c], 0x6e
jne 0x4620b3
jmp 0x457d5b
mov edx, dword [esi + 0x28]
mov edi, ebx
and ebx, 7
shr edi, 3
mov eax, 1
mov ecx, ebx
shl eax, cl
test byte [edi + edx], al
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649c7
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649bd
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x457d5b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x46211c
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x462110
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649e0
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649d6
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462176
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov ecx, dword [ebp + 0x78]
mov eax, ecx
mov edi, dword [esi + 0x88]
sub eax, edi
mov ebx, dword [esi + 8]
cmp ebx, eax
ja 0x4621e5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x4621a5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4621aa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462194
cmp edi, 0xfffffffc
je 0x4621d7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4621e2
cmp edi, 0xfffffffd
je 0x4621d7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4621e2
cmp edi, 0xfffffffe
je 0x4621d7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4621e2
cmp edi, 0xffffffff
je 0x4621d7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4621e2
mov eax, dword [esi + 0x88]
jmp 0x462250
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x462290
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x462290
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x462217
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46221c
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462206
cmp edi, 0xfffffffc
je 0x46224d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x462290
cmp edi, 0xfffffffd
je 0x46224d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x462290
cmp edi, 0xfffffffe
je 0x46224d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x462290
cmp edi, 0xffffffff
je 0x46224d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x462290
mov eax, dword [esi + 0x6c]
add eax, ebx
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4649f9
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x4649ef
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
cmp dword [ebp + 0x88], 0
je case.0x45dee6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x45dee6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x45dee6.14
jmp 0x457eb2
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4622dc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4622d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a12
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a08
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462342
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x462442
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x46237c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46243f
test dl, 0x10
jne 0x46239e
and edx, 0xf
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add dword [esi + 8], 2
jmp 0x462442
mov ecx, dword [esi + 8]
test dl, 8
jne 0x4623ce
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 3]
jmp 0x46243f
test dl, 4
jne 0x462404
and edx, 3
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 4]
jmp 0x46243f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [edi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [esi + 8], eax
cmp dword [esi + 0x80], edx
je 0x461601
cmp dword [esi + 0x94], edx
je 0x461601
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x462489
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x461095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x4648ad
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4624bc
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4624b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a2b
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a21
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462522
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x462617
test bl, 0x20
jne 0x46255c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x462614
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462586
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x462617
mov edx, dword [esi + 8]
test bl, 8
jne 0x4625af
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x462612
test bl, 4
jne 0x4625de
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x462612
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
cmp dword [esi + 0x80], ebx
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a44
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a3a
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x462680
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x462674
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a5d
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a53
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4626e6
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x462722
cmp dword [ebp + 0x88], 0
je 0x462b41
cmp ecx, dword [ebp + 0x84]
jbe 0x462b41
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x459d7e
jmp 0x462b41
cmp dword [esi + 0x7c], 0xc
jne 0x462774
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x46274f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.00466cf0
add esp, 0x14
test eax, eax
jne 0x462b41
jmp 0x462774
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x462774
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x462774
cmp edi, 1
je 0x462b41
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x462b41
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46285c
test dl, 0x20
jne 0x4627a7
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x462859
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4627ce
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x462857
test dl, 8
jne 0x4627f4
and edx, 7
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 3]
jmp 0x462857
test dl, 4
jne 0x462823
and edx, 3
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 4]
jmp 0x462857
and edx, 1
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edi + 5]
mov edx, ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x7c]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x46286b.15
jmp dword [eax*4 + 0x465384]
cmp dword [ebp + 0x88], 0
je case.0x46286b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46286b.13
cmp dword [ebp + 0x18], 0
jne case.0x46286b.13
cmp dword [ebp + 0x1c], 2
jne case.0x46286b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x46286b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46286b.13
jmp 0x459d7e
cmp edx, 0xd
ja 0x4628ee
je 0x4628db
cmp edx, 0xa
je case.0x46286b.13
jbe 0x462b41
cmp edx, 0xc
jmp 0x462908
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x46286b.13
cmp byte [eax], 0xa
jne case.0x46286b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x46286b.13
cmp edx, 0x85
je 0x46290e
cmp edx, 0x2027
jbe 0x462b41
cmp edx, 0x2029
ja 0x462b41
cmp dword [ebp + 0x68], 0
je case.0x46286b.13
jmp 0x462b41
cmp edx, 0x180e
ja 0x46298d
je 0x462b41
cmp edx, 0xa0
ja 0x462985
je 0x462b41
cmp edx, 9
je 0x462b41
cmp edx, 0x20
je 0x462b41
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x462976
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x461095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x4648ad
cmp edx, 0x1680
jmp 0x462941
cmp edx, 0x205f
ja 0x4629b7
je 0x462b41
cmp edx, 0x2000
jb case.0x46286b.13
cmp edx, 0x200a
jbe 0x462b41
cmp edx, 0x202f
jmp 0x462941
cmp edx, 0x3000
jmp 0x462b3b
cmp edx, 0x180e
ja 0x4629f4
je case.0x46286b.13
cmp edx, 0xa0
ja 0x4629ec
je case.0x46286b.13
cmp edx, 9
je case.0x46286b.13
cmp edx, 0x20
jmp 0x462a28
cmp edx, 0x1680
jmp 0x462a28
cmp edx, 0x205f
ja 0x462a22
je case.0x46286b.13
cmp edx, 0x2000
jb 0x462b41
cmp edx, 0x200a
jbe case.0x46286b.13
cmp edx, 0x202f
jmp 0x462a28
cmp edx, 0x3000
je case.0x46286b.13
jmp 0x462b41
cmp edx, 0x85
ja 0x462a58
je 0x462b41
cmp edx, 0xa
jb case.0x46286b.13
cmp edx, 0xd
jbe 0x462b41
jmp case.0x46286b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x46286b.13
jmp 0x462b41
cmp edx, 0x85
ja 0x462a88
je case.0x46286b.13
cmp edx, 0xa
jb 0x462b41
cmp edx, 0xd
jmp 0x462a91
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x46286b.13
jmp 0x462b41
cmp edx, 0x100
jae case.0x46286b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x46286b.13
jmp 0x462b41
cmp edx, 0x100
jae 0x462b41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x462b3b
cmp edx, 0x100
jae case.0x46286b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x46286b.13
jmp 0x462b41
cmp edx, 0x100
jae 0x462b41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x462b3b
cmp edx, 0x100
jae case.0x46286b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x46286b.13
mov esi, dword [esi]
test esi, esi
je 0x464bd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4607c4
cmp edx, 0x100
jae 0x462b41
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x46286b.13
mov esi, dword [esi]
test esi, esi
je 0x464bd8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4607c4
mov esi, dword [esi]
test esi, esi
je case.default.0x4607d4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4607c4
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x462b9c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x462b90
cmp dword [esi + 0x7c], 0x11
jne 0x462bb8
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x462bb8
cmp byte [eax], 0xa
jne 0x462bb8
dec eax
cmp byte [eax], 0xd
jne 0x462bb8
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a76
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a6c
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462c1e
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x462c3e
cmp dword [ebp + 0x88], 0
je 0x461543
cmp eax, dword [ebp + 0x84]
jmp 0x463399
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x462c7d
cmp ecx, 0xc0
jb 0x462c7d
test cl, 0x20
jne 0x462c59
inc eax
jmp 0x462c7a
test cl, 0x10
jne 0x462c63
add eax, 2
jmp 0x462c7a
test cl, 8
jne 0x462c6d
add eax, 3
jmp 0x462c7a
test cl, 4
jne 0x462c77
add eax, 4
jmp 0x462c7a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x462c94
mov esi, dword [esi]
test esi, esi
je 0x464bd8
xor edi, edi
jmp 0x4607c4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x462cc3
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x461095
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x4648ad
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462cf7
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x462df1
cmp ebx, 0xc0
jb 0x462df1
test bl, 0x20
jne 0x462d39
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x462dee
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462d63
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x462df1
mov edx, dword [esi + 8]
test bl, 8
jne 0x462d89
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x462dec
test bl, 4
jne 0x462db8
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x462dec
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x462e13
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp eax, 9
je 0x462e38
cmp eax, 5
je 0x462e38
cmp eax, 8
je 0x462e38
xor eax, eax
jmp 0x462e3d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464a8f
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a85
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x462ea6
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x462f9c
cmp ebx, 0xc0
jb 0x462f9c
test bl, 0x20
jne 0x462ee8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x462f99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462f10
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x462f9c
mov edx, dword [esi + 8]
test bl, 8
jne 0x462f36
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x462f99
test bl, 4
jne 0x462f65
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x462f99
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x462fbe
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464aa8
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464a9e
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463048
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46313e
cmp ebx, 0xc0
jb 0x46313e
test bl, 0x20
jne 0x46308a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46313b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4630b2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46313e
mov edx, dword [esi + 8]
test bl, 8
jne 0x4630d8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46313b
test bl, 4
jne 0x463107
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46313b
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463160
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464ac1
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464ab7
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4631e3
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4632d9
cmp ebx, 0xc0
jb 0x4632d9
test bl, 0x20
jne 0x463225
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4632d6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46324d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4632d9
mov edx, dword [esi + 8]
test bl, 8
jne 0x463273
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x4632d6
test bl, 4
jne 0x4632a2
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x4632d6
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4632fb
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507200]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464ada
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464ad0
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46337e
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4633c7
cmp dword [ebp + 0x88], 0
je 0x461543
cmp edi, dword [ebp + 0x84]
jbe 0x461543
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x461543
mov esi, dword [esi]
test esi, esi
je 0x464bfc
mov edi, 0xfffffff4
jmp 0x4607c4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4634b5
cmp ebx, 0xc0
jb 0x4634b5
test bl, 0x20
jne 0x4633fd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4634b2
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463427
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4634b5
mov edx, dword [esi + 8]
test bl, 8
jne 0x46344d
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x4634b0
test bl, 4
jne 0x46347c
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x4634b0
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x4634d7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507202]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x463668
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x463607
cmp ebx, 0xc0
jb 0x463607
test bl, 0x20
jne 0x46353b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4635ff
test bl, 0x10
jne 0x463560
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 3
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x4635ff
test bl, 8
jne 0x463591
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
mov edi, 4
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x4635ff
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4635cb
and ebx, 3
mov edi, 5
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x4635ff
and ebx, edi
mov edi, 6
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463629
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx ecx, byte [eax*8 + 0x507202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507088], eax
je 0x463668
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x463500
cmp dword [ebp + 0x88], 0
je 0x463695
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x463695
cmp eax, dword [ebp + 0x84]
jbe 0x463695
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x457ec6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464af3
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464ae9
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x4636fc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4636fc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4636f0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x456ee0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b0c
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b02
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x463757
movzx ebx, byte [ecx]
jmp 0x463845
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46376c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x463760
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x463845
test bl, 0x20
jne 0x46378f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x46383d
test bl, 0x10
jne 0x4637af
movzx ecx, byte [eax + 1]
and ebx, 0xf
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
movzx eax, byte [eax + 2]
jmp 0x46383d
test bl, 8
jne 0x4637d8
movzx ecx, byte [eax + 1]
and ebx, 7
mov eax, dword [esi + 8]
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
shl ecx, 6
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
and ebx, 0x3f
or ebx, ecx
jmp 0x46383d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46380d
and ebx, 3
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
jmp 0x46383d
and ebx, 1
shl ebx, 6
or eax, ebx
movzx ebx, byte [ecx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
movzx eax, byte [ecx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [ecx + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463867
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507202]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x456ee0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x46389f
movzx ebx, byte [edi]
jmp 0x46395e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4638b1
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x4638a7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x46395e
test bl, 0x20
jne 0x4638d1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x463956
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4638ee
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x463956
and eax, 0x3f
test bl, 8
jne 0x463909
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x463956
test bl, 4
jne 0x46392d
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
jmp 0x463956
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 5]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463980
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx edx, byte [eax*8 + 0x507202]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x507088], eax
je 0x45f5b6
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x463880
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4639e1
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x463adb
cmp ebx, 0xc0
jb 0x463adb
test bl, 0x20
jne 0x463a23
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463ad8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463a4d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x463adb
mov edx, dword [esi + 8]
test bl, 8
jne 0x463a73
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x463ad6
test bl, 4
jne 0x463aa2
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x463ad6
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov ebx, ecx
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463afd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x463b24
cmp eax, 3
je 0x463b24
xor eax, eax
jmp 0x463b29
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b3e
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b34
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463b92
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x463c93
cmp ebx, 0xc0
jb 0x463c93
test bl, 0x20
jne 0x463bd4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463c90
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463bfe
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x463c93
mov edx, dword [esi + 8]
test bl, 8
jne 0x463c24
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x463c87
test bl, 4
jne 0x463c53
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x463c87
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x24
je 0x463cbe
cmp ebx, 0x40
je 0x463cbe
cmp ebx, 0x60
je 0x463cbe
cmp ebx, 0xa0
jb 0x463cb2
cmp ebx, 0xd7ff
jbe 0x463cbe
cmp ebx, 0xe000
jae 0x463cbe
xor eax, eax
jmp 0x463cc3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x4586a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b57
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b4d
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463d2c
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x463e2d
cmp ebx, 0xc0
jb 0x463e2d
test bl, 0x20
jne 0x463d6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x463e2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463d98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x463e2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x463dbe
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 3]
jmp 0x463e21
test bl, 4
jne 0x463ded
and ebx, 3
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 4]
jmp 0x463e21
and ebx, 1
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esi + 8], eax
cmp ebx, 0x180e
ja 0x463e70
je case.0x463e90.8192
cmp ebx, 0x85
ja 0x463e5c
je case.0x463e90.8192
cmp ebx, 9
jb case.0x463e90.8203
cmp ebx, 0xd
jbe case.0x463e90.8192
cmp ebx, 0x20
jmp 0x463ea5
cmp ebx, 0xa0
je case.0x463e90.8192
cmp ebx, 0x1680
jmp 0x463ea5
cmp ebx, 0x202f
ja 0x463e97
je case.0x463e90.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x463e90.8203
movzx eax, byte [eax + 0x4653cc]
jmp dword [eax*4 + 0x4653c4]
cmp ebx, 0x205f
je case.0x463e90.8192
cmp ebx, 0x3000
je case.0x463e90.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x508880]
shl eax, 7
and ebx, 0x8000007f
jns 0x463ec9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
cmp dword [eax*4 + 0x507010], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x463efc
jmp 0x457d5b
cmp dword [esi + 0x68], 0
jne 0x4586a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b70
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b66
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x463f5c
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x464052
cmp ebx, 0xc0
jb 0x464052
test bl, 0x20
jne 0x463f9e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46404f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463fc6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x464052
mov edx, dword [esi + 8]
test bl, 8
jne 0x463fec
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x46404f
test bl, 4
jne 0x46401b
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x46404f
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov dword [esi + 8], eax
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x508880]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x464075
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50aa80]
movzx eax, byte [eax*8 + 0x507201]
mov eax, dword [eax*4 + 0x507010]
cmp eax, 1
je 0x4640a1
cmp eax, 3
je 0x4640a1
cmp ebx, 0x5f
je 0x4640a1
xor eax, eax
jmp 0x4640a6
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x457d5b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464b89
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b7f
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
test edi, edi
jne case.0x4607d4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46410f
mov esi, dword [esi]
test esi, esi
je 0x464bd8
jmp 0x4607c4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x463386
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46420c
cmp ebx, 0xc0
jb 0x46420c
test bl, 0x20
jne 0x464151
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x464209
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464179
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46420c
mov edx, dword [esi + 8]
test bl, 8
jne 0x46419f
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 3]
jmp 0x464202
test bl, 4
jne 0x4641ce
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 4]
jmp 0x464202
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 2]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 4]
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 5]
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax*4 + 0x5070c0]
lea eax, [eax*4 + 0x5070c0]
cmp ebx, ecx
jb 0x46422e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x464273
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x464221
cmp dword [esi + 0x68], 0
je 0x4586a2
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x464ba2
push 0x134
call dword [0xec55c8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x464b98
mov esi, dword [esi]
test esi, esi
je 0x464bcb
lea edi, [eax - 6]
jmp 0x4607b9
cmp dword [esi + 0x68], 0
je 0x464238
jmp 0x4586a2
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esi + 0xc], edx
cmp byte [edx], 0x77
je 0x464281
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x456f5a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x4642c3
push ecx
call dword [0xec55c4]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x456f5a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4620b9
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x461ec5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46225b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x462460
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x462629
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x462c9a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x462e4c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x462fee
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463189
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463324
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463b38
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463f02
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4640b5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46423e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x463cd2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x46294d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46369b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x456ee0
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x37
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x506ef8]
movzx eax, byte [ecx + 1]
add edx, eax
add edx, ecx
mov dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edi + 0x1c], eax
mov dword [edi], esi
mov esi, edi
jmp 0x456ed0
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x34
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x33
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x46441f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x35
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x46441f
mov dword [edx + 4], ebx
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x36
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x46441f
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 3
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], ebx
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x456ed0
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xa
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
jmp 0x4648b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xb
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
add eax, 3
jmp 0x4648b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 7
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4648b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xd
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4648b6
mov dword [ecx + 4], ebx
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xc
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4648b6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 1
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 2
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x464677
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 5
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x456ed0
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 6
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0x20]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x506ef8]
add eax, ecx
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [edx + 0x1c], eax
mov dword [edx], esi
mov esi, edx
jmp 0x456ed0
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 8
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4648b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x32
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4648b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 9
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4648b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2f
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
inc eax
mov dword [ecx + 0x1c], eax
mov dword [ecx], esi
mov esi, ecx
jmp 0x456ed0
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x30
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [edx + 4], 0
mov dword [esi + 4], edx
mov dword [esi + 0x130], 0x3f
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
jmp 0x4646c6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x40
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4648b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x41
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
add eax, 3
jmp 0x4648b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x42
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x34]
jmp 0x4648b6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x4648ad
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x4648ad
pop edi
pop esi
pop ebp
mov eax, 0xfffffff8
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe6
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1a
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff4
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffff2
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1b
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1d
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1c
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc20
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1e
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffc1f
pop ebx
add esp, 0x68
ret
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x68
ret