Function at 0x45e060
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 0x45e0ee
mov esi, dword [esi]
test esi, esi
je 0x46bd91
mov edi, 0xfffffff8
jmp 0x467999
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x45e10a
mov esi, dword [esi]
test esi, esi
je 0x46bd9e
mov edi, 0xffffffeb
jmp 0x467999
cmp dword [ebp + 0x98], 2
jne 0x45e141
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 0x45e141
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.0x45e174.98
movzx eax, byte [edx + 0x46bfac]
jmp dword [eax*4 + 0x46be60]
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 0x46b5f5
push 0x134
call dword [0x15b2d98]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b5ef
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b645
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b63f
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b663
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b65d
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x46b681
push 0x134
call dword [0x15b2d98]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b67b
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b696
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b690
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x45e2ce
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50dfa0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x45e141
mov edi, dword [esi + 4]
test edi, edi
jne 0x46b6b4
push 0x134
call dword [0x15b2d98]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b6ae
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b6c9
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b6c3
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x46b6e7
push 0x134
call dword [0x15b2d98]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46b6e1
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x468ed8
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.0x45e174.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 0x467a3b
mov dword [esi + 0x54], ebx
jmp 0x45ebdf
mov dword [esi + 0x54], ebx
jmp 0x45ec03
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 0x45e548
mov edi, dword [0x15b6c88]
test edi, edi
je 0x45e534
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 0x45e4ee
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 0x45e523
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
jns 0x45e534
mov esi, dword [esi]
test esi, esi
je 0x467e7c
jmp 0x467999
movzx eax, byte [0x50e016]
add dword [esi + 0xc], eax
movzx eax, byte [0x50e016]
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.0x45e56e.146
movzx eax, byte [eax + 0x46c068]
jmp dword [eax*4 + 0x46c050]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45e56e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x45e5a7
cmp edx, dword [edi + 4]
je 0x45e5a7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x467cd3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x467cd3
cmp dword [ebp + 0xa4], ebx
je case.0x45e56e.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.0x45e56e.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 0x467cd3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x45e5f0
jmp 0x467cd3
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 0x45e654
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x45e654
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45e56e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45e56e.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 0x467cd3
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 0x45e6a9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x45e6b8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x45e687
jmp 0x467cd3
mov dword [esi + 0x58], 1
jmp 0x467cd3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b6fc
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b6f6
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x45e754
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45e136
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 0x45e136
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45e7a3
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 0x45e136
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x45e7f6
cmp edx, 0x9f
je 0x45e7f6
cmp dword [ebp + 0xa4], ebx
jne 0x45e7f6
cmp dword [ebp + 0x5c], ebx
jne 0x45e7e5
cmp dword [ebp + 0x60], ebx
je 0x45e7f6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x45e7f6
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
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 0x467e7c
jmp 0x467999
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45e84f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x467dcd
mov dword [esi + 0x58], ebx
jmp 0x467dcd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45e87b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x467f1b
mov dword [esi + 0x58], ebx
jmp 0x467f1b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x45e8e2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x45e8c8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x4650c6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45e8c4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45e8b8
test edx, edx
jg 0x45e8a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x45e136
mov dword [ebp + 0x84], eax
jmp 0x45e136
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 0x45e8c8
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a0
mov edi, dword [0x15b6c88]
test edi, edi
je 0x45e9ec
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 0x45e9a6
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 0x45e9db
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
jns 0x45e9ec
mov esi, dword [esi]
test esi, esi
je 0x467e7c
jmp 0x467999
add dword [esi + 0xc], 6
jmp 0x45e13a
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 0x45ea16
xor edx, edx
jmp 0x45ea23
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 0x45ea43
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x45ea3d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x45eaa4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45ea30
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 0x45eab8
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 fcn.004538f3
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x468004
mov esi, dword [esi]
test esi, esi
je 0x46bdc2
mov edi, 0xffffffe6
jmp 0x467999
shl eax, 2
push eax
call dword [0x15b2d90]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x45ea7e
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x45eae1
jmp 0x45e141
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b737
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b731
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x45eb40
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b755
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b74f
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x45eb93
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45e141
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 0x45ebdf
cmp eax, 0x8b
jne 0x45ec03
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 0x45ec20
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 0x468aed
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 0x45ec9d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46bae7
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46badd
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x45ecf8
cmp al, 0x81
je 0x45ecf8
mov dword [esi + 0x38], ebx
jmp 0x45ed09
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 0x45ed16
cmp al, 0x80
jbe 0x45ed1a
cmp al, 0x82
jne 0x45ed46
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 0x46bdf6
mov edi, 1
jmp 0x467999
cmp al, 0x85
je 0x45ed5a
cmp al, 0x8a
je 0x45ed5a
cmp al, 0x86
je 0x45ed5a
cmp al, 0x8b
jne 0x45ee21
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 0x45ed96
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x45ed96
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x45ed2c
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 0x45edc5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45ee21
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x45ede5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45ede5
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 0x45ee21
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x45ee57
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 0x46bdcf
mov edi, 0xfffffc1a
jmp 0x467999
cmp cl, 0x78
je 0x45eed0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x45eed0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x45ee9e
test ecx, ecx
jne 0x46b776
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b770
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test ecx, ecx
jne 0x46b797
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b791
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x468137
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b7b5
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b7af
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
cmp dword [ebp + 0x44], ebx
je case.0x45e174.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x45e174.1
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x45eff8
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
cmp dword [ebp + 0x44], ebx
je 0x45ef6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45ef6a
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x45f9b4
cmp ecx, dword [ebp + 0x78]
je 0x45efd0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45efa8
cmp ecx, edx
jbe 0x45efd0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046e020
add esp, 0x14
test eax, eax
jne 0x45f9b4
jmp 0x45efd0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x45efd0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45efd0
cmp edi, 1
je 0x45f9b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45f9b4
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x467999
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x45ef35
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x45e141
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45f0ba
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45f035
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x45f9b4
jmp 0x45f059
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45f059
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45f059
cmp edx, 1
je 0x45f9b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45f9b4
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x4650c6.14
cmp dword [ebp + 0x18], ebx
jne case.0x4650c6.14
cmp dword [edi], 2
jne case.0x4650c6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x4650c6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4650c6.14
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x467999
cmp dword [ebp + 0x48], ebx
jne 0x45ef3b
cmp dword [ebp + 0x88], ebx
je 0x45f9b4
cmp ecx, dword [ebp + 0x84]
jbe 0x45f9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f9b4
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x467999
cmp dword [ebp + 0x48], ebx
jne 0x45ef3b
cmp dword [ebp + 0x58], ebx
je case.0x45e174.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45ef3b
cmp dword [ebp + 0x88], ebx
je 0x45eff8
cmp eax, dword [ebp + 0x84]
jbe 0x45eff8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45eff8
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x467999
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45f1c5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45f18d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x45f1b5
jmp 0x45f059
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45f059
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45f059
cmp edx, 1
je 0x45f1b5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x45f059
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x45f059
cmp dword [ebp + 0x88], ebx
je 0x45f9b4
cmp ecx, dword [ebp + 0x84]
jbe 0x45f9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f9b4
jmp 0x45f0a6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45f4c7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x45f215
mov dword [esi + 0x5c], ebx
jmp 0x45f34e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x45f22a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x45f220
cmp edx, dword [ebp + 0x84]
jae 0x45f238
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45f2ec
test bl, 0x20
jne 0x45f260
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x45f2ec
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45f27a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x45f2e2
and eax, 0x3f
test bl, 8
jne 0x45f295
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x45f2e2
test bl, 4
jne 0x45f2b9
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 0x45f2e2
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 0x45f387
cmp ebx, 0x5f
jne 0x45f304
mov dword [esi + 0x5c], 1
jmp 0x45f34e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f326
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x45f398
cmp eax, 3
je 0x45f398
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x45f39f
cmp dword [ebp + 0x88], 0
je 0x45f37b
cmp edx, dword [ebp + 0x84]
jbe 0x45f37b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
mov dword [esi + 0x54], 0
jmp 0x45f605
cmp ebx, 0x100
jae 0x45f349
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45f349
mov eax, 1
jmp 0x45f34b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45f449
test bl, 0x20
jne 0x45f3bf
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x45f441
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45f3d9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45f441
and eax, 0x3f
test bl, 8
jne 0x45f3f4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x45f441
test bl, 4
jne 0x45f418
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 0x45f441
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 0x45f4ac
cmp ebx, 0x5f
jne 0x45f460
mov dword [esi + 0x54], 1
jmp 0x45f605
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45f482
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x45f4bd
cmp eax, 3
je 0x45f4bd
xor eax, eax
jmp 0x45f602
cmp ebx, 0x100
jae 0x45f4a5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45f4a5
mov eax, 1
jmp 0x45f602
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45f4d7
mov dword [esi + 0x5c], ebx
jmp 0x45f572
cmp eax, dword [ebp + 0x84]
ja 0x45f4e6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x45f55e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x45f500
mov dword [esi + 0x5c], 1
jmp 0x45f572
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ecx, 0x8000007f
jns 0x45f522
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x45f550
cmp eax, 3
je 0x45f550
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x45f56f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x45f56f
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 0x45f5b3
cmp dword [ebp + 0x88], ebx
je 0x45f5ae
cmp eax, dword [ebp + 0x84]
jbe 0x45f5ae
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f5ae
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x4679a0
mov dword [esi + 0x54], ebx
jmp 0x45f605
cmp dword [ebp + 0x54], ebx
je 0x45f5f2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x45f5c9
mov dword [esi + 0x54], 1
jmp 0x45f605
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ecx, 0x8000007f
jns 0x45f5eb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x45f484
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 0x45f620
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x45f628
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x45e141
jmp 0x45ef3b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x45f66d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x45f698
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x45ef3b
jmp 0x45f698
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x45f698
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45f698
cmp edx, 1
je 0x45ef3b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45ef3b
cmp dword [ebp + 0x88], ebx
je case.0x45e174.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x45e174.13
cmp dword [ebp + 0x18], ebx
jne case.0x45e174.13
cmp dword [ebp + 0x1c], 2
jne case.0x45e174.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x45e174.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f6f6
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4650c6.14
jmp 0x45f092
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45eff8
cmp eax, dword [ebp + 0x78]
jae 0x45eff8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45eff8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x45f712
inc dword [esi + 0xc]
jmp 0x45e141
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45f6d9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45e141
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45f76d
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4650c6.14
jmp 0x45f092
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f869
cmp ebx, 0xc0
jb 0x45f869
test bl, 0x20
jne 0x45f7aa
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f866
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f7d4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f869
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f7fa
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 0x45f85d
test bl, 4
jne 0x45f829
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 0x45f85d
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 0x45f9b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45f9b4
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f99b
cmp ebx, 0xc0
jb 0x45f99b
test bl, 0x20
jne 0x45f8dc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f998
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f906
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f99b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f92c
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 0x45f98f
test bl, 4
jne 0x45f95b
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 0x45f98f
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 0x45e8fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45e8fd
inc dword [esi + 0xc]
jmp 0x45e13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fac4
cmp ebx, 0xc0
jb 0x45fac4
test bl, 0x20
jne 0x45fa05
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fac1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fa2f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fac4
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fa55
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 0x45fab8
test bl, 4
jne 0x45fa84
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 0x45fab8
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 0x45f9b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45f87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fbe4
cmp ebx, 0xc0
jb 0x45fbe4
test bl, 0x20
jne 0x45fb25
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fbe1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fb4f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fbe4
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fb75
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 0x45fbd8
test bl, 4
jne 0x45fba4
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 0x45fbd8
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 0x45e8fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x45e8fd
inc dword [esi + 0xc]
jmp 0x45e13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fd0d
cmp ebx, 0xc0
jb 0x45fd0d
test bl, 0x20
jne 0x45fc4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fd0a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fc78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fd0d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fc9e
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 0x45fd01
test bl, 4
jne 0x45fccd
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 0x45fd01
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 0x45f9b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45f87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45fe2d
cmp ebx, 0xc0
jb 0x45fe2d
test bl, 0x20
jne 0x45fd6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fe2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fd98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45fe2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fdbe
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 0x45fe21
test bl, 4
jne 0x45fded
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 0x45fe21
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 0x45e8fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45e8fd
inc dword [esi + 0xc]
jmp 0x45e13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45ff56
cmp ebx, 0xc0
jb 0x45ff56
test bl, 0x20
jne 0x45fe97
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ff53
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45fec1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ff56
mov edx, dword [esi + 8]
test bl, 8
jne 0x45fee7
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 0x45ff4a
test bl, 4
jne 0x45ff16
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 0x45ff4a
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 0x45ffcf
je 0x45ff71
cmp ebx, 0xa
je 0x45f9b4
jbe 0x45f882
cmp ebx, 0xc
jmp 0x45ffe9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45ffba
cmp dword [ebp + 0x88], 0
je 0x45f9b4
cmp eax, dword [ebp + 0x84]
jbe 0x45f9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f9b4
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x4679a0
cmp byte [eax], 0xa
jne 0x45f9b4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45e13a
cmp ebx, 0x85
je 0x45ffef
cmp ebx, 0x2027
jbe 0x45f882
cmp ebx, 0x2029
ja 0x45f882
cmp dword [ebp + 0x68], 0
jmp 0x45f87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460100
cmp ebx, 0xc0
jb 0x460100
test bl, 0x20
jne 0x460041
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4600fd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46006b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460100
mov edx, dword [esi + 8]
test bl, 8
jne 0x460091
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 0x4600f4
test bl, 4
jne 0x4600c0
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 0x4600f4
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 0x460138
je 0x45e8fd
cmp ebx, 0xa0
ja 0x46012d
je 0x45e8fd
cmp ebx, 9
je 0x45e8fd
cmp ebx, 0x20
jmp 0x45f9ae
cmp ebx, 0x1680
jmp 0x45f9ae
cmp ebx, 0x205f
ja 0x460169
je 0x45e8fd
cmp ebx, 0x2000
jb 0x45f9b4
cmp ebx, 0x200a
jbe 0x45e8fd
cmp ebx, 0x202f
jmp 0x45f9ae
cmp ebx, 0x3000
je 0x45e8fd
inc dword [esi + 0xc]
jmp 0x45e13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460285
cmp ebx, 0xc0
jb 0x460285
test bl, 0x20
jne 0x4601c6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460282
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4601f0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460285
mov edx, dword [esi + 8]
test bl, 8
jne 0x460216
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 0x460279
test bl, 4
jne 0x460245
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 0x460279
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 0x4602bd
je 0x45f9b4
cmp ebx, 0xa0
ja 0x4602b2
je 0x45f9b4
cmp ebx, 9
je 0x45f9b4
cmp ebx, 0x20
jmp 0x45f87c
cmp ebx, 0x1680
jmp 0x45f87c
cmp ebx, 0x205f
ja 0x4602ee
je 0x45f9b4
cmp ebx, 0x2000
jb 0x45f882
cmp ebx, 0x200a
jbe 0x45f9b4
cmp ebx, 0x202f
jmp 0x45f87c
cmp ebx, 0x3000
jmp 0x45f87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460401
cmp ebx, 0xc0
jb 0x460401
test bl, 0x20
jne 0x460342
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4603fe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46036c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460401
mov edx, dword [esi + 8]
test bl, 8
jne 0x460392
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 0x4603f5
test bl, 4
jne 0x4603c1
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 0x4603f5
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 0x460429
je 0x45f882
cmp ebx, 0xa
jb 0x45f9b4
cmp ebx, 0xd
jbe 0x45f882
inc dword [esi + 0xc]
jmp 0x45e13a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45f9b4
jmp 0x45f882
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x460545
cmp ebx, 0xc0
jb 0x460545
test bl, 0x20
jne 0x460486
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460542
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4604b0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x460545
mov edx, dword [esi + 8]
test bl, 8
jne 0x4604d6
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 0x460539
test bl, 4
jne 0x460505
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 0x460539
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 0x46056a
je 0x45f9b4
cmp ebx, 0xa
jb 0x45e8fd
cmp ebx, 0xd
jbe 0x45f9b4
jmp 0x45e8fd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45e8fd
inc dword [esi + 0xc]
jmp 0x45e13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46067d
cmp ebx, 0xc0
jb 0x46067d
test bl, 0x20
jne 0x4605c9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46067a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4605f1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46067d
mov edx, dword [esi + 8]
test bl, 8
jne 0x460617
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 0x46067a
test bl, 4
jne 0x460646
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 0x46067a
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 + 0x50f928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x4606a0
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 + 0x511b28]
cmp eax, 0xa
ja case.default.0x4606ba
jmp dword [eax*4 + 0x46c07c]
cmp dword [esi + 0x9c], 0xf
jne 0x45e136
jmp 0x45ef3b
mov al, byte [edx*8 + 0x50e2a9]
cmp al, 9
je 0x4606ea
cmp al, 5
je 0x4606ea
cmp al, 8
je 0x4606ea
xor ecx, ecx
jmp 0x4606ef
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x45e136
jmp 0x45ef3b
movzx ecx, byte [edx*8 + 0x50e2a9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x50e0b8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x45e136
jmp 0x45ef3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50e2a9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x45e136
jmp 0x45ef3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50e2a8]
jmp 0x46074b
movzx eax, byte [edx*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x4606ea
cmp eax, 3
je 0x4606ea
xor ecx, ecx
jmp 0x4606ef
cmp ebx, 0x180e
ja 0x4607e3
je case.0x4606ba.0
cmp ebx, 0x85
ja 0x4607cf
je case.0x4606ba.0
cmp ebx, 9
jb case.0x460803.8203
cmp ebx, 0xd
jbe case.0x4606ba.0
cmp ebx, 0x20
jmp 0x46081c
cmp ebx, 0xa0
je case.0x4606ba.0
cmp ebx, 0x1680
jmp 0x46081c
cmp ebx, 0x202f
ja 0x46080a
je case.0x4606ba.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x460803.8203
movzx eax, byte [ebx + 0x46c0b0]
jmp dword [eax*4 + 0x46c0a8]
cmp ebx, 0x205f
je case.0x4606ba.0
cmp ebx, 0x3000
je case.0x4606ba.0
movzx eax, byte [edx*8 + 0x50e2a9]
xor ecx, ecx
cmp dword [eax*4 + 0x50e0b8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x460757
movzx eax, byte [edx*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x4606ea
cmp eax, 3
je 0x4606ea
cmp ebx, 0x5f
je 0x4606ea
xor ecx, ecx
jmp 0x4606ef
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x50e168]
lea eax, [eax*4 + 0x50e168]
cmp ebx, ecx
jb 0x46089d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x4608af
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x460890
cmp dword [esi + 0x9c], 0x10
jne 0x45e136
jmp 0x45ef3b
cmp dword [esi + 0x9c], 0x10
je 0x45e136
jmp 0x45ef3b
cmp ebx, 0x24
je 0x4606ea
cmp ebx, 0x40
je 0x4606ea
cmp ebx, 0x60
je 0x4606ea
cmp ebx, 0xa0
jb 0x4608f0
cmp ebx, 0xd7ff
jbe 0x4606ea
cmp ebx, 0xe000
jae 0x4606ea
xor ecx, ecx
jmp 0x4606ef
mov esi, dword [esi]
test esi, esi
je case.default.0x4679b4
mov edi, 0xfffffff2
jmp 0x467999
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x460a22
cmp ebx, 0xc0
jb 0x460a22
test bl, 0x20
jne 0x460960
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x460a1f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46098f
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 0x460a22
mov edx, dword [esi + 8]
test bl, 8
jne 0x4609b5
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 0x460a18
test bl, 4
jne 0x4609e4
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 0x460a18
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x460a44
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2aa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x460bd6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x460b6e
cmp ebx, 0xc0
jb 0x460b6e
test bl, 0x20
jne 0x460aa5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x460b66
test bl, 0x10
jne 0x460aca
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 0x460b66
test bl, 8
jne 0x460af8
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 0x460b66
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x460b32
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 0x460b66
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x460b90
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx ecx, byte [eax*8 + 0x50e2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e130], eax
je 0x460bd6
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 0x460a70
cmp dword [ebp + 0x88], 0
je 0x45f9b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45f9b4
cmp eax, dword [ebp + 0x84]
jbe 0x45f9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45f9b4
jmp 0x45f0a6
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
ror byte [edi], 0xb6
pop ecx
add ecx, dword [edi]
mov dh, 0x51
add cl, byte [ecx + 0xf7c2444]
mov dh, 0x41
add al, 0xc1
jecxz 0x460c3a
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 0x460d04
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 0x460c94
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x460c9d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x460c70
jmp 0x460d04
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x460d04
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 0x460cf4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x460cf4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x460cfe
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.0x460d1f
movzx eax, byte [eax + 0x46c0e4]
jmp dword [eax*4 + 0x46c0dc]
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 + 0x50d5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50d604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x460dad
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x460dad
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 0x460da9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x45e141
jns 0x460dd1
cmp dword [esi + 0x90], 0
je 0x45e141
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x460e0f
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.0046c5e0
add esp, 0x14
test eax, eax
js 0x460e41
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x460de0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45e141
cmp dword [esp + 0x80], 0
je 0x460e6a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x468252
cmp eax, 0xfffffffe
jne 0x460e4c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4650c6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4650c6.14
jmp 0x45f6e5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x460e80
cmp edi, dword [esi + 0x8c]
jge 0x4682a1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0046c5e0
add esp, 0x14
test eax, eax
js 0x460eb5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x460e80
cmp eax, 0xfffffffe
jne 0x4682a1
cmp dword [ebp + 0x88], 0
je 0x4682a1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4682a1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4682a1
jmp 0x45f0a6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0046c5e0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x460f79
cmp eax, 0xfffffffe
jne 0x460f25
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x46887d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46887d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x46887d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46887d.14
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4679a4
add dword [esi + 8], eax
jmp 0x45e13a
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.0x460fa7
movzx eax, byte [eax + 0x46c0f4]
jmp dword [eax*4 + 0x46c0ec]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x460fca
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x460fd5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50d5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50d604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x46106c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x46106c
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 0x461052
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x46106c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4611cc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x461221
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x46117c
test bl, 0x20
jne 0x4610ca
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x461179
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4610f1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x461177
test bl, 8
jne 0x461114
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 0x461177
test bl, 4
jne 0x461143
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 0x461177
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 0x46118d
cmp dword [esi + 0x9c], 0x6e
jmp 0x4611a2
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.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x461090
jmp 0x461213
cmp dword [ebp + 0x88], 0
je case.0x4650c6.14
mov eax, dword [esi + 8]
jmp 0x45f6e5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x46121a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4611b7
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.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4611e0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45e13a
test ebx, ebx
je 0x46124a
test edx, edx
jne 0x46b4b7
mov dword [esi + 0x84], eax
jmp 0x46833b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x461402
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4613ef
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4613c7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x461376
test bl, 0x20
jne 0x4612bb
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x461376
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4612e3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x46136c
and eax, 0x3f
test bl, 8
jne 0x461309
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 0x46136c
test bl, 4
jne 0x461338
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 0x46136c
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 0x461387
cmp dword [esi + 0x9c], 0x6e
jmp 0x46139c
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 0x4613ef
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 0x461271
jmp 0x4613ef
cmp dword [ebp + 0x88], 0
je 0x4613ef
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4613ef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x4692fc
jmp 0x45e13a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x46147a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x461452
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 0x46147a
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 0x461411
jmp 0x46147a
cmp dword [ebp + 0x88], 0
je 0x46147a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46147a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x46837b
jmp 0x45e13a
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.0x4614c5
movzx eax, byte [eax + 0x46c108]
jmp dword [eax*4 + 0x46c100]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4614e8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x4614f3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50d5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50d604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x46158a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x46158a
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 0x461570
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x46158a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4616c5
jmp 0x4615a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46169a
cmp edx, 0xc0
jb 0x46169a
test dl, 0x20
jne 0x4615e8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x461697
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46160f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x461695
test dl, 8
jne 0x461632
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 0x461695
test dl, 4
jne 0x461661
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 0x461695
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.0046d860
add esp, 0xc
test eax, eax
je case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4615a0
jmp 0x4616cc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45e141
cmp dword [esp + 0x84], 0
jne 0x46b4c8
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 0x46185d
jmp 0x461710
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x461833
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4617fb
cmp edx, 0xc0
jb 0x4617fb
test dl, 0x20
jne 0x46175c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4617fb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x46177b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4617f1
and eax, 0x3f
test dl, 8
jne 0x46179b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4617f1
test dl, 4
jne 0x4617c4
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 0x4617f1
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.0046d860
add esp, 0xc
test eax, eax
je 0x46185d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x461710
jmp 0x46185d
cmp dword [ebp + 0x88], 0
je 0x461856
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x461856
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x45f0a6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x45e141
jmp 0x469111
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x461a49
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 0x4619d0
test al, 0x20
jne 0x4618d0
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 0x4619d0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x46190a
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 0x4619d0
test al, 8
jne 0x461946
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 0x4619d0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x46198b
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 0x4619d0
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 0x461a09
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
cmp edx, edi
jb case.0x4650c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4650c6.14
jmp 0x45f092
test ecx, ecx
jle 0x461a3e
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.0x4650c6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x461a10
dec dword [esi + 0x88]
jmp 0x45e13a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x461a96
cmp dword [ebp + 0x88], ebx
je 0x45e8fd
cmp edi, dword [ebp + 0x84]
jbe 0x45e8fd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e8fd
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x4679a0
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 0x461dab
jmp 0x45ef3b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45f750
cmp dword [esp + 0x8c], ebx
je 0x461d8c
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 0x461c1b
test al, 0x20
jne 0x461b1b
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 0x461c1b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x461b55
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 0x461c1b
test al, 8
jne 0x461b91
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 0x461c1b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x461bd6
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 0x461c1b
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 0x461c49
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x45ef3b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x45e13a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x461d2b
test bl, 0x20
jne 0x461c79
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x461d28
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x461ca0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x461d26
test bl, 8
jne 0x461cc3
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 0x461d26
test bl, 4
jne 0x461cf2
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 0x461d26
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 0x45e13a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x461d65
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
mov eax, dword [eax*8 + 0x50e2ac]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x45e141
jmp 0x45ef3b
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 0x45ef3b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x45e13a
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 0x461edd
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 0x461e14
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x461e1f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x461edd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x461ee4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x461ee4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x461ee4
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 + 0x50d5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50d604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x461edd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x462358
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 0x46202b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x461f41
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 0x46202b
test bl, 0x10
jne 0x461f76
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 0x46202b
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 0x461fb4
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 0x46202b
test bl, 4
jne 0x461fed
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 0x46202b
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 0x462367
cmp dword [esi + 0x9c], 0x2e
jb 0x46209c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x462073
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
mov ecx, dword [eax*8 + 0x50e2ac]
add ecx, edi
cmp ecx, edi
je 0x46209c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0046d800
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4620a3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x4621d6
jmp 0x4620c0
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 0x462144
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4620f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x462101
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4620e7
cmp edi, 0xfffffffc
je 0x4621b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46213a
cmp edi, 0xfffffffd
je 0x4621b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46213a
cmp edi, 0xfffffffe
je 0x4621b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46213a
cmp edi, 0xffffffff
je 0x4621b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4621b8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x460e4c
sub ecx, ebx
cmp edi, ecx
ja 0x460e4c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x462176
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46217b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462165
cmp edi, 0xfffffffc
je 0x4621b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x460e4c
cmp edi, 0xfffffffd
je 0x4621b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x460e4c
cmp edi, 0xfffffffe
je 0x4621b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x460e4c
cmp edi, 0xffffffff
je 0x4621b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x460e4c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x4620c0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45e141
cmp dword [esp + 0x84], 0
jne 0x46b4d9
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 0x462345
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 0x46229c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x462258
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x462261
add ecx, 4
add edx, 4
sub edi, 4
jae 0x462247
cmp edi, 0xfffffffc
je 0x4622f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x462292
cmp edi, 0xfffffffd
je 0x4622f8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x462292
cmp edi, 0xfffffffe
je 0x4622f8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x462292
cmp edi, 0xffffffff
je 0x4622f8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4622f8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x462318
sub ecx, ebx
cmp edi, ecx
ja 0x462318
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4622c6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4622cb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4622b5
cmp edi, 0xfffffffc
je 0x4622f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x462318
cmp edi, 0xfffffffd
je 0x4622f8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x462318
cmp edi, 0xfffffffe
je 0x4622f8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x462318
cmp edi, 0xffffffff
je 0x4622f8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x462318
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x462220
jmp 0x462345
cmp dword [ebp + 0x88], 0
je 0x462345
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x462345
cmp eax, dword [ebp + 0x84]
jbe 0x462345
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x4694bc
jmp 0x45e13a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x46245f
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 0x4623c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4611b7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4623b7
cmp dword [esi + 0x94], ecx
jne case.0x4650c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x462394
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45e13a
cmp dword [esp + 0x84], 0
je 0x4623eb
mov dword [esi + 0x84], eax
jmp 0x46841b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x462452
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46242a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x46241b
cmp dword [esi + 0x94], ecx
jne 0x462452
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x462400
jmp 0x462452
cmp dword [ebp + 0x88], 0
je 0x462452
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462452
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
test edi, edi
je 0x46845b
jmp 0x45e13a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x46249a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462470
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45e141
cmp dword [esp + 0x84], 0
je 0x4624c8
mov dword [esi + 0x84], eax
jmp 0x4684e8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x46252c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x462504
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x46252c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4624e0
jmp 0x46252c
cmp dword [ebp + 0x88], 0
je 0x46252c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46252c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x468528
jmp 0x45e141
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x462564
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x4650c6.14
jmp 0x45f092
test edi, edi
je 0x4627dc
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 0x462665
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4625a2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462662
test bl, 0x10
jne 0x4625c3
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 0x462662
test bl, 8
jne 0x4625ee
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 0x462665
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x462627
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 0x462662
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 0x462758
test dl, 0x20
jne 0x46269f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46274e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4626c6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46274c
test dl, 8
jne 0x4626e9
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 0x46274c
test dl, 4
jne 0x462718
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 0x46274c
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 0x462775
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x45e141
jmp 0x45ef3b
cmp ebx, 0x7f
jbe 0x4627b2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x46279d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
mov ecx, dword [eax*8 + 0x50e2ac]
add ecx, ebx
jmp 0x4627b9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x45ef3b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x45e141
jmp 0x45ef3b
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.0x4650c6.14
cmp dword [esi + 0x9c], 0x20
jne 0x461dab
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4650c6.14
add dword [esi + 0xc], 2
jmp 0x45e13a
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 0x462976
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 0x46287b
cmp al, 0x4f
je 0x46287b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x462976
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x462976
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462976
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462976
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x462976
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 0x462976
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 + 0x50d5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50d604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x462976
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 0x462ad1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x462ad1
test al, 0x20
jne 0x4629c8
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 0x462ad1
test al, 0x10
jne 0x4629fb
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 0x462ad1
test al, 8
jne 0x462a3d
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 0x462ad1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x462a88
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 0x462aca
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 0x462ef5
test edx, edx
je 0x462b2c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x462b2c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50f928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x462b10
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
mov eax, dword [eax*8 + 0x50e2ac]
add eax, edi
jmp 0x462b39
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x462c80
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x462ccb
jmp 0x462b60
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x462c59
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x462b9a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x462c56
test cl, 0x10
jne 0x462bbb
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 0x462c56
test cl, 8
jne 0x462be5
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 0x462c56
test cl, 4
jne 0x462c1b
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 0x462c56
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.0x4650c6.14
cmp dword [esi + 0x94], ecx
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462b60
jmp 0x462cc4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x462cc4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4611b7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4650c6.14
cmp dword [esi + 0x94], ecx
je case.0x4650c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x462c90
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45e13a
test ebx, ebx
je 0x462cf4
test edx, edx
jne 0x46b4ea
mov dword [esi + 0x84], eax
jmp 0x4685bf
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x462e7d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x462e6a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x462e42
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x462e1e
test dl, 0x20
jne 0x462d52
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x462e1e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x462d7c
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 0x462e1c
test dl, 8
jne 0x462da8
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 0x462e1c
test dl, 4
jne 0x462de0
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 0x462e1c
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 0x462e6a
cmp dword [esi + 0x94], edx
je 0x462e6a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x462d14
jmp 0x462e6a
cmp dword [ebp + 0x88], 0
je 0x462e6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462e6a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x46969c
jmp 0x45e13a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x462ee2
jmp 0x462e90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x462eba
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x462ee2
cmp dword [esi + 0x94], ecx
je 0x462ee2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x462e90
jmp 0x462ee2
cmp dword [ebp + 0x88], 0
je 0x462ee2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462ee2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x4685ff
jmp 0x45e13a
test edx, edx
je 0x463017
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x463055
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x462ffc
test dl, 0x20
jne 0x462f4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x462ff9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x462f71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x462ff7
test dl, 8
jne 0x462f94
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 0x462ff7
test dl, 4
jne 0x462fc3
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 0x462ff7
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.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x462f10
jmp 0x46304e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x463055
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463024
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45e13a
cmp dword [esp + 0x84], 0
je 0x463084
test edx, edx
jne 0x46b4ff
mov dword [esi + 0x84], eax
jmp 0x46868c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x463208
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4631f5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4631cd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4631b1
test dl, 0x20
jne 0x4630e2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4631b1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x46310c
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 0x4631af
test dl, 8
jne 0x46313b
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 0x4631af
test dl, 4
jne 0x463173
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 0x4631af
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 0x4631f5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4630a4
jmp 0x4631f5
cmp dword [ebp + 0x88], 0
je 0x4631f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4631f5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x469860
jmp 0x45e13a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x463262
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46323a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x463262
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x463216
jmp 0x463262
cmp dword [ebp + 0x88], 0
je 0x463262
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x463262
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x4686cc
jmp 0x45e13a
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 0x4633b4
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 0x4633b4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4633b4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4633b4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4633b4
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 0x4633b4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x50d5a3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50d5af]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4633b4
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 0x4633d6
cmp ecx, 0xf
je 0x4633d6
mov dword [esi + 0x60], 0xffffffff
jmp 0x4633f9
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 0x46539b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4641a8
cmp eax, 0xa
ja case.default.0x4606ba
jmp dword [eax*4 + 0x46c114]
cmp dword [esi + 0x68], ebx
jne 0x45ef3b
mov edx, 1
cmp ecx, edx
jl 0x46539b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x46347f
cmp ecx, 0xc0
jb 0x46347f
test cl, 0x20
jne 0x46345b
inc eax
jmp 0x46347c
test cl, 0x10
jne 0x463465
add eax, 2
jmp 0x46347c
test cl, 8
jne 0x46346f
add eax, 3
jmp 0x46347c
test cl, 4
jne 0x463479
add eax, 4
jmp 0x46347c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x463438
jmp 0x46539b
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
mov eax, dword [esi + 8]
jmp 0x45f6e5
mov edi, 1
cmp ecx, edi
jl 0x46539b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4635aa
cmp ebx, 0xc0
jb 0x4635aa
test bl, 0x20
jne 0x4634f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4635a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46351f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4635a5
test bl, 8
jne 0x463542
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 0x4635a5
test bl, 4
jne 0x463571
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 0x4635a5
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4635cc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp eax, 9
je 0x4635f1
cmp eax, 5
je 0x4635f1
cmp eax, 8
je 0x4635f1
xor eax, eax
jmp 0x4635f6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4634b0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x46539b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463718
cmp ebx, 0xc0
jb 0x463718
test bl, 0x20
jne 0x463668
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463715
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46368f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463715
test bl, 8
jne 0x4636b2
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 0x463715
test bl, 4
jne 0x4636e1
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 0x463715
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46373a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463620
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x46539b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x46387b
cmp ebx, 0xc0
jb 0x46387b
test bl, 0x20
jne 0x4637cb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463878
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4637f2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463878
test bl, 8
jne 0x463815
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 0x463878
test bl, 4
jne 0x463844
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 0x463878
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46389d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463783
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x46539b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4639d8
cmp ebx, 0xc0
jb 0x4639d8
test bl, 0x20
jne 0x463928
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4639d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46394f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4639d5
test bl, 8
jne 0x463972
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 0x4639d5
test bl, 4
jne 0x4639a1
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 0x4639d5
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4639fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4638e0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x46539b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463b3a
cmp ebx, 0xc0
jb 0x463b3a
test bl, 0x20
jne 0x463a88
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463b37
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463aaf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x463b35
test bl, 8
jne 0x463ad2
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 0x463b35
test bl, 4
jne 0x463b01
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 0x463b35
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463b5c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x463b83
cmp eax, 3
je 0x463b83
xor eax, eax
jmp 0x463b88
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463a40
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x46539b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463caa
cmp ebx, 0xc0
jb 0x463caa
test bl, 0x20
jne 0x463bf8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463ca7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463c1f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x463ca5
test bl, 8
jne 0x463c42
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 0x463ca5
test bl, 4
jne 0x463c71
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 0x463ca5
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 0x463ced
je case.0x463d09.8192
cmp ebx, 0x85
ja 0x463cd9
je case.0x463d09.8192
cmp ebx, 9
jb case.0x463d09.8203
cmp ebx, 0xd
jbe case.0x463d09.8192
cmp ebx, 0x20
jmp 0x463d1e
cmp ebx, 0xa0
je case.0x463d09.8192
cmp ebx, 0x1680
jmp 0x463d1e
cmp ebx, 0x202f
ja 0x463d10
je case.0x463d09.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x463d09.8203
movzx eax, byte [eax + 0x46c148]
jmp dword [eax*4 + 0x46c140]
cmp ebx, 0x205f
je case.0x463d09.8192
cmp ebx, 0x3000
je case.0x463d09.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463d42
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp dword [eax*4 + 0x50e0b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4650c6.14
jmp 0x463d76
cmp dword [esi + 0x68], 0
jne case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463bb0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x46539b
jmp 0x463da0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x463e98
cmp ebx, 0xc0
jb 0x463e98
test bl, 0x20
jne 0x463de8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x463e95
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463e0f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x463e95
test bl, 8
jne 0x463e32
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 0x463e95
test bl, 4
jne 0x463e61
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 0x463e95
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 + 0x50f928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x463ebb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x463ee7
cmp eax, 3
je 0x463ee7
cmp ebx, 0x5f
je 0x463ee7
xor eax, eax
jmp 0x463eec
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4650c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463da0
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x46539b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46400c
cmp edx, 0xc0
jb 0x46400c
test dl, 0x20
jne 0x463f5c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464009
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463f83
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x464009
test dl, 8
jne 0x463fa6
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 0x464009
test dl, 4
jne 0x463fd5
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 0x464009
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 + 0x50e168]
lea eax, [eax*4 + 0x50e168]
cmp edx, ecx
jb 0x46402e
lea eax, [eax + 4]
cmp edx, ecx
je 0x46404a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x464021
cmp dword [esi + 0x68], 0
je case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463f14
jmp 0x46539b
cmp dword [esi + 0x68], 0
jne case.0x4650c6.14
jmp 0x464038
mov ebx, 1
cmp ecx, ebx
jl 0x46539b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46415d
cmp edx, 0xc0
jb 0x46415d
test dl, 0x20
jne 0x4640ab
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46415a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4640d2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464158
test dl, 8
jne 0x4640f5
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 0x464158
test dl, 4
jne 0x464124
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 0x464158
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 0x464188
cmp edx, 0x40
je 0x464188
cmp edx, 0x60
je 0x464188
cmp edx, 0xa0
jb 0x46417c
cmp edx, 0xd7ff
jbe 0x464188
cmp edx, 0xe000
jae 0x464188
xor eax, eax
jmp 0x46418d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464063
jmp 0x46539b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4644d3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x46539b
jmp 0x4641d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4611b7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4642d0
cmp ebx, 0xc0
jb 0x4642d0
test bl, 0x20
jne 0x464219
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4642cd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x464240
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4642c6
test bl, 8
jne 0x464263
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 0x4642c6
test bl, 4
jne 0x464292
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 0x4642c6
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4642f2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2aa]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46448d
jmp 0x464320
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x46441e
cmp ebx, 0xc0
jb 0x46441e
test bl, 0x20
jne 0x464355
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x464416
test bl, 0x10
jne 0x46437a
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 0x464416
test bl, 8
jne 0x4643a8
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 0x464416
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4643e2
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 0x464416
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x464440
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx ecx, byte [eax*8 + 0x50e2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e130], eax
je 0x464486
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 0x464320
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4644ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4644ba
cmp eax, dword [ebp + 0x84]
jbe 0x4644ba
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x4641d0
jmp 0x46539b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x464f9f
cmp eax, 0xf
ja case.0x4674e7.9
jmp dword [eax*4 + 0x46c174]
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4611b7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x464537
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne case.0x4650c6.14
jmp 0x46455b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46455b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46455b
cmp edx, 1
je case.0x4650c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4650c6.14
cmp dword [ebp + 0x88], 0
je 0x464596
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x464596
cmp dword [ebp + 0x18], 0
jne 0x464596
cmp dword [edi], 2
jne 0x464596
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x464596
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4645b2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4645b2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4645a1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464502
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x46348d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x464608
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x464608
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4645f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4645d4
jmp 0x46539b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x45ef3b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46472c
test dl, 0x20
jne 0x46467a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464729
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4646a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464727
test dl, 8
jne 0x4646c4
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 0x464727
test dl, 4
jne 0x4646f3
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 0x464727
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 0x464750
je 0x46473d
cmp edx, 0xa
je 0x464771
lea eax, [edx - 0xb]
jmp 0x46475e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x464771
cmp byte [eax], 0xa
jne 0x464771
inc eax
mov dword [esi + 8], eax
jmp 0x464771
cmp edx, 0x85
je 0x464767
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4650c6.14
cmp dword [ebp + 0x68], 0
jne case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464640
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46487c
test dl, 0x20
jne 0x4647ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464879
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4647f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464877
test dl, 8
jne 0x464814
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 0x464877
test dl, 4
jne 0x464843
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 0x464877
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 0x4648ae
je case.0x4650c6.14
cmp edx, 0xa0
ja 0x4648a6
je case.0x4650c6.14
cmp edx, 9
je case.0x4650c6.14
cmp edx, 0x20
jmp 0x4648de
cmp edx, 0x1680
jmp 0x4648de
cmp edx, 0x205f
ja 0x4648d8
je case.0x4650c6.14
cmp edx, 0x2000
jb 0x4648e4
cmp edx, 0x200a
jbe case.0x4650c6.14
cmp edx, 0x202f
jmp 0x4648de
cmp edx, 0x3000
je case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464790
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4649ef
test dl, 0x20
jne 0x46493d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4649ec
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464964
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4649ea
test dl, 8
jne 0x464987
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 0x4649ea
test dl, 4
jne 0x4649b6
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 0x4649ea
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 0x464a15
je 0x464a47
cmp edx, 0xa0
ja 0x464a0d
je 0x464a47
cmp edx, 9
je 0x464a47
cmp edx, 0x20
jmp 0x464a41
cmp edx, 0x1680
jmp 0x464a41
cmp edx, 0x205f
ja 0x464a3b
je 0x464a47
cmp edx, 0x2000
jb case.0x4650c6.14
cmp edx, 0x200a
jbe 0x464a47
cmp edx, 0x202f
jmp 0x464a41
cmp edx, 0x3000
jne case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464903
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
jmp 0x464a70
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x464b5c
test dl, 0x20
jne 0x464aaa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464b59
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464ad1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464b57
test dl, 8
jne 0x464af4
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 0x464b57
test dl, 4
jne 0x464b23
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 0x464b57
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 0x464b74
je case.0x4650c6.14
cmp edx, 0xa
jb 0x464b88
cmp edx, 0xd
jmp 0x464b82
cmp edx, 0x2028
jb 0x464b88
cmp edx, 0x2029
jbe case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464a70
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
jmp 0x464bb0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x464c9c
test dl, 0x20
jne 0x464bea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464c99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464c11
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464c97
test dl, 8
jne 0x464c34
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 0x464c97
test dl, 4
jne 0x464c63
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 0x464c97
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 0x464cae
je 0x464cbd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x464cb7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464bb0
jmp 0x46539b
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4611b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x464dcc
test dl, 0x20
jne 0x464d1a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x464dc9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x464d41
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x464dc7
test dl, 8
jne 0x464d64
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 0x464dc7
test dl, 4
jne 0x464d93
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 0x464dc7
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 0x464de1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4650c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464ce0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46348d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4650c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4650c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464e00
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x46348d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x464e73
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4650c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x464e98
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x464e98
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x464e80
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464e50
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46348d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4650c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4650c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464eb3
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x46348d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x464f23
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4650c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x464f48
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x464f48
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x464f30
inc edi
cmp edi, dword [esi + 0x90]
jle 0x464f00
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46348d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4650c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4650c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464f63
jmp 0x46539b
cmp eax, 0xf
ja case.0x4674e7.9
jmp dword [eax*4 + 0x46c1b4]
mov ebx, 1
cmp ecx, ebx
jl 0x4653a2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4611b7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x464ff0
push 0
push edi
push eax
push edx
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne case.0x4650c6.14
jmp 0x465014
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x465014
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x465014
cmp edx, 1
je case.0x4650c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4650c6.14
cmp dword [ebp + 0x88], 0
je 0x46504f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x46504f
cmp dword [ebp + 0x18], 0
jne 0x46504f
cmp dword [edi], 2
jne 0x46504f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x46504f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x464fc0
jmp 0x46539b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x464626
cmp dword [ebp + 0x88], ebx
je case.0x4650c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4650c6.14
jmp 0x45f092
mov edx, 1
cmp ecx, edx
jl 0x46539b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46348d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4650c6.14
movzx eax, byte [eax + 0x46c204]
jmp dword [eax*4 + 0x46c1f4]
cmp ecx, dword [ebp + 0x78]
jae case.0x4650c6.10
cmp byte [ecx], 0xa
jne case.0x4650c6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4650c6.10
cmp dword [ebp + 0x68], ebx
jne case.0x4650c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4650a0
jmp 0x46539b
mov edx, 1
cmp ecx, edx
jl 0x46539b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4650c6.14
cmp ecx, 0x20
je case.0x4650c6.14
cmp ecx, 0xa0
je case.0x4650c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465103
jmp 0x46539b
mov edx, 1
cmp ecx, edx
jl 0x46539b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x465179
cmp ecx, 0x20
je 0x465179
cmp ecx, 0xa0
jne case.0x4650c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465150
jmp 0x46539b
mov edx, 1
cmp ecx, edx
jl 0x46539b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x4651c1
cmp ecx, 0xd
jle case.0x4650c6.14
cmp ecx, 0x85
je case.0x4650c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x465194
jmp 0x46539b
mov edx, 1
cmp ecx, edx
jl 0x46539b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x4650c6.14
cmp ecx, 0xd
jle 0x46520d
cmp ecx, 0x85
jne case.0x4650c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4651e0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
jmp 0x465230
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4650c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465230
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4650c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465270
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4650c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4652b0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4650c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4652f0
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
jmp 0x465330
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4650c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465330
jmp 0x46539b
mov edi, 1
cmp ecx, edi
jl 0x4653a2
jmp 0x465370
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46348d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4650c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x465370
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x45e13a
cmp dword [esp + 0x84], 0
je 0x465402
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4653e5
cmp eax, 0xa
ja case.0x4674e7.9
jmp dword [eax*4 + 0x46c280]
mov esi, dword [esi]
test esi, esi
je case.default.0x4679b4
mov edi, 0xfffffff2
jmp 0x4679a0
cmp dword [esi + 0x7c], 0x16
je 0x46b5d3
test edx, edx
jne 0x46b5be
mov dword [esi + 0x84], ecx
jmp 0x468835
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x46643b
cmp eax, 0xa
ja case.0x4674e7.9
jmp dword [eax*4 + 0x46c2ac]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466428
mov ebx, dword [esp + 0x8c]
jmp 0x465440
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x4654ab
movzx ecx, byte [edx]
test ebx, ebx
je 0x46548e
cmp ecx, 0xc0
jb 0x46548e
test cl, 0x20
jne 0x465468
mov eax, 2
jmp 0x46548e
test cl, 0x10
jne 0x465474
mov eax, 3
jmp 0x46548e
test cl, 8
jne 0x465480
mov eax, 4
jmp 0x46548e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x466428
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x465440
jmp 0x466428
cmp dword [ebp + 0x88], 0
je 0x466428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x466428
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4679a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46566e
movzx ebx, byte [edi]
test edx, edx
je 0x4655ec
cmp ebx, 0xc0
jb 0x4655ec
test bl, 0x20
jne 0x46554e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4655e4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46556d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4655e4
and eax, 0x3f
test bl, 8
jne 0x46558d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4655e4
test bl, 4
jne 0x4655b6
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 0x4655e4
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46560e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp eax, 9
je 0x465633
cmp eax, 5
je 0x465633
cmp eax, 8
je 0x465633
xor eax, eax
jmp 0x465638
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x466428
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 0x465510
jmp 0x466428
cmp dword [ebp + 0x88], 0
je 0x466428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466428
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x466428
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x4679a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
jmp 0x4656d0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465852
movzx ebx, byte [edi]
test edx, edx
je 0x4657d3
cmp ebx, 0xc0
jb 0x4657d3
test bl, 0x20
jne 0x46571a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4657cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465742
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4657cb
and eax, 0x3f
test bl, 8
jne 0x465768
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 0x4657cb
test bl, 4
jne 0x465797
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 0x4657cb
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4657f5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466428
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 0x4656d0
jmp 0x466428
cmp dword [ebp + 0x88], 0
je 0x466428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x465693
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465852
movzx ebx, byte [edi]
test edx, edx
je 0x46599f
cmp ebx, 0xc0
jb 0x46599f
test bl, 0x20
jne 0x4658e6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x465997
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46590e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x465997
and eax, 0x3f
test bl, 8
jne 0x465934
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 0x465997
test bl, 4
jne 0x465963
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 0x465997
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4659c1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466428
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 0x4658a0
jmp 0x466428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465852
movzx ebx, byte [edi]
test edx, edx
je 0x465b33
cmp ebx, 0xc0
jb 0x465b33
test bl, 0x20
jne 0x465a7a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x465b2b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465aa2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x465b2b
and eax, 0x3f
test bl, 8
jne 0x465ac8
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 0x465b2b
test bl, 4
jne 0x465af7
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 0x465b2b
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x465b55
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466428
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 0x465a30
jmp 0x466428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46566e
movzx ebx, byte [edi]
test edx, edx
je 0x465ca3
cmp ebx, 0xc0
jb 0x465ca3
test bl, 0x20
jne 0x465c02
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x465c9b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465c24
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x465c9b
and eax, 0x3f
test bl, 8
jne 0x465c44
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x465c9b
test bl, 4
jne 0x465c6d
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 0x465c9b
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x465cc5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x465cec
cmp eax, 3
je 0x465cec
xor eax, eax
jmp 0x465cf1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x466428
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 0x465bc4
jmp 0x466428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465852
movzx ebx, byte [edi]
test edx, edx
je 0x465e4d
cmp ebx, 0xc0
jb 0x465e4d
test bl, 0x20
jne 0x465d92
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x465e4d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465dba
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x465e43
and eax, 0x3f
test bl, 8
jne 0x465de0
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 0x465e43
test bl, 4
jne 0x465e0f
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 0x465e43
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 0x465e90
je case.0x465eb0.8192
cmp ebx, 0x85
ja 0x465e7c
je case.0x465eb0.8192
cmp ebx, 9
jb case.0x465eb0.8203
cmp ebx, 0xd
jbe case.0x465eb0.8192
cmp ebx, 0x20
jmp 0x465ec5
cmp ebx, 0xa0
je case.0x465eb0.8192
cmp ebx, 0x1680
jmp 0x465ec5
cmp ebx, 0x202f
ja 0x465eb7
je case.0x465eb0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x465eb0.8203
movzx eax, byte [eax + 0x46c2e0]
jmp dword [eax*4 + 0x46c2d8]
cmp ebx, 0x205f
je case.0x465eb0.8192
cmp ebx, 0x3000
je case.0x465eb0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x465ee9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp dword [eax*4 + 0x50e0b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x466428
mov edx, dword [esp + 0x8c]
jmp 0x465f24
cmp dword [esi + 0x68], 0
jne 0x466428
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 0x465d40
jmp 0x466428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x465852
movzx ebx, byte [edi]
test edx, edx
je 0x466073
cmp ebx, 0xc0
jb 0x466073
test bl, 0x20
jne 0x465fba
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x46606b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x465fe2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x46606b
and eax, 0x3f
test bl, 8
jne 0x466008
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 0x46606b
test bl, 4
jne 0x466037
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 0x46606b
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 + 0x50f928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x466096
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x4660c2
cmp eax, 3
je 0x4660c2
cmp ebx, 0x5f
je 0x4660c2
xor eax, eax
jmp 0x4660c7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x466428
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 0x465f70
jmp 0x466428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x466428
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46625f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x466201
cmp edx, 0xc0
jb 0x466201
test dl, 0x20
jne 0x466164
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4661f9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466183
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4661f9
and eax, 0x3f
test dl, 8
jne 0x4661a3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4661f9
test dl, 4
jne 0x4661cc
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 0x4661f9
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 + 0x50e168]
lea eax, [eax*4 + 0x50e168]
cmp edx, ecx
jb 0x466223
lea eax, [eax + 4]
cmp edx, ecx
je 0x466253
mov ecx, dword [eax]
cmp edx, ecx
jae 0x466216
cmp dword [esi + 0x68], 0
je 0x466428
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 0x466120
jmp 0x466428
cmp dword [esi + 0x68], 0
jne 0x466428
jmp 0x46622d
cmp dword [ebp + 0x88], 0
je 0x466428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466428
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x466428
jmp 0x45f0a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x466428
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x466400
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4663b7
cmp edx, 0xc0
jb 0x4663b7
test dl, 0x20
jne 0x4662ed
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4663b7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x466317
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 0x4663b7
test dl, 8
jne 0x466343
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 0x4663b7
test dl, 4
jne 0x46637b
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 0x4663b7
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 0x4663e2
cmp edx, 0x40
je 0x4663e2
cmp edx, 0x60
je 0x4663e2
cmp edx, 0xa0
jb 0x4663d6
cmp edx, 0xd7ff
jbe 0x4663e2
cmp edx, 0xe000
jae 0x4663e2
xor ecx, ecx
jmp 0x4663e7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x466428
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4662a1
jmp 0x466428
cmp dword [ebp + 0x88], 0
je 0x466428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
je 0x46a8dc
jmp 0x45e13a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4667d7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x466788
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x466760
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x466560
cmp ebx, 0xc0
jb 0x466560
test bl, 0x20
jne 0x4664a9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x46655d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4664d0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x466556
test bl, 8
jne 0x4664f3
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 0x466556
test bl, 4
jne 0x466522
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 0x466556
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x466582
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2aa]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46671d
jmp 0x4665b0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4666ae
cmp ebx, 0xc0
jb 0x4666ae
test bl, 0x20
jne 0x4665e5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4666a6
test bl, 0x10
jne 0x46660a
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 0x4666a6
test bl, 8
jne 0x466638
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 0x4666a6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x466672
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 0x4666a6
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4666d0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx ecx, byte [eax*8 + 0x50e2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e130], eax
je 0x466716
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 0x4665b0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x46674a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46674a
cmp eax, dword [ebp + 0x84]
jbe 0x46674a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x466460
jmp 0x466788
cmp dword [ebp + 0x88], 0
je 0x466788
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466788
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
cmp dword [esp + 0x80], 0
jne 0x45e13a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bd05
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bcfb
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
add eax, 0xfffffffa
test edx, edx
je 0x4674de
cmp eax, 0xf
ja case.0x4674e7.9
jmp dword [eax*4 + 0x46c30c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4668c6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x466839
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x4674cb
jmp 0x46685d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46685d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46685d
cmp edx, 1
je 0x4674cb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4674cb
cmp dword [ebp + 0x88], 0
je 0x466898
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x466898
cmp dword [ebp + 0x18], 0
jne 0x466898
cmp dword [edi], 2
jne 0x466898
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x466898
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4668b4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4668b4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4668a3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x466804
jmp 0x4674cb
cmp dword [ebp + 0x88], 0
je 0x4674cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4674cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4674cb
jmp 0x45f0a6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x466958
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4674cb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4668c6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x46694a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46694a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x466932
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x466920
jmp 0x4674cb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4674cb
cmp eax, dword [ebp + 0x84]
jbe 0x4674cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4674cb
jmp 0x465699
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 0x4669df
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4674cb
cmp edx, dword [ebp + 0x84]
jbe 0x4674cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4674cb
jmp 0x45f0a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4668c6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466b0a
test dl, 0x20
jne 0x466a3e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x466b0a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x466a68
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 0x466b08
test dl, 8
jne 0x466a94
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 0x466b08
test dl, 4
jne 0x466acc
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 0x466b08
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 0x466b26
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4674cb
cmp byte [eax], 0xa
jne 0x466b60
inc eax
jmp 0x466b5d
cmp edx, 0xa
je 0x466b5b
cmp dword [ebp + 0x68], 0
jne 0x4674cb
cmp edx, 0xb
je 0x466b5b
cmp edx, 0xc
je 0x466b5b
cmp edx, 0x85
je 0x466b5b
cmp edx, 0x2028
je 0x466b5b
cmp edx, 0x2029
jne 0x4674cb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x466a00
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466c58
test dl, 0x20
jne 0x466bba
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466c50
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466bd9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466c50
and eax, 0x3f
test dl, 8
jne 0x466bf9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466c50
test dl, 4
jne 0x466c22
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 0x466c50
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 0x466c7e
je 0x466cac
cmp edx, 0xa0
ja 0x466c76
je 0x466cac
cmp edx, 9
je 0x466cac
cmp edx, 0x20
jmp 0x466ca6
cmp edx, 0x1680
jmp 0x466ca6
cmp edx, 0x205f
ja 0x466ca0
je 0x466cac
cmp edx, 0x2000
jb 0x466ca8
cmp edx, 0x200a
jbe 0x466cac
cmp edx, 0x202f
jmp 0x466ca6
cmp edx, 0x3000
je 0x466cac
xor edx, edx
jmp 0x466cb1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466b84
jmp 0x4674cb
cmp dword [ebp + 0x88], 0
je 0x4674cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4674cb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4674cb
jmp 0x45f0a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466df0
test dl, 0x20
jne 0x466d52
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466de8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466d71
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466de8
and eax, 0x3f
test dl, 8
jne 0x466d91
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466de8
test dl, 4
jne 0x466dba
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 0x466de8
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 0x466e2f
je 0x466e3a
cmp edx, 0xa
jb 0x466e04
cmp edx, 0xd
jbe 0x466e3a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466d20
jmp 0x4674cb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x466e04
mov edx, 1
jmp 0x466e06
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466f27
test dl, 0x20
jne 0x466e89
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x466f1f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466ea8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x466f1f
and eax, 0x3f
test dl, 8
jne 0x466ec8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x466f1f
test dl, 4
jne 0x466ef1
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 0x466f1f
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 0x466f3c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466e53
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
jmp 0x466f70
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467044
test dl, 0x20
jne 0x466fa6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46703c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466fc5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46703c
and eax, 0x3f
test dl, 8
jne 0x466fe5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46703c
test dl, 4
jne 0x46700e
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 0x46703c
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 0x4674cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466f70
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
jmp 0x467090
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467164
test dl, 0x20
jne 0x4670c6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46715c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4670e5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46715c
and eax, 0x3f
test dl, 8
jne 0x467105
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46715c
test dl, 4
jne 0x46712e
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 0x46715c
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 0x467179
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x467090
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467277
test dl, 0x20
jne 0x4671d9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46726f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4671f8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46726f
and eax, 0x3f
test dl, 8
jne 0x467218
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46726f
test dl, 4
jne 0x467241
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 0x46726f
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 0x4674cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4671a3
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x467394
test dl, 0x20
jne 0x4672f6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46738c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467315
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46738c
and eax, 0x3f
test dl, 8
jne 0x467335
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46738c
test dl, 4
jne 0x46735e
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 0x46738c
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 0x4673a9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4672c0
jmp 0x4674cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4674cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x466cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4674a7
test dl, 0x20
jne 0x467409
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46749f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x467428
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46749f
and eax, 0x3f
test dl, 8
jne 0x467448
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46749f
test dl, 4
jne 0x467471
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 0x46749f
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 0x4674cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4674cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4673d3
cmp dword [esp + 0x80], 0
je 0x469d98
jmp 0x45e13a
cmp eax, 0xf
ja case.0x4674e7.9
jmp dword [eax*4 + 0x46c34c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x467977
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4675a4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x467530
push 0
push edi
push eax
push edx
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x467977
jmp 0x467554
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x467554
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x467554
cmp edx, 1
je 0x467977
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x467977
cmp dword [ebp + 0x88], 0
je 0x46758f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x46758f
cmp dword [ebp + 0x18], 0
jne 0x46758f
cmp dword [edi], 2
jne 0x46758f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x46758f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x467500
jmp 0x467977
cmp dword [ebp + 0x88], 0
je 0x467977
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x467977
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x467977
jmp 0x45f0a6
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 0x467628
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x467977
cmp edx, dword [ebp + 0x84]
jbe 0x467977
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x467977
jmp 0x45f0a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x467977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467977
jmp 0x467650
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4675a4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x46767b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x467977
cmp byte [eax], 0xa
jne 0x4676a5
inc eax
jmp 0x4676a2
cmp eax, 0xa
je 0x46769f
cmp dword [ebp + 0x68], 0
jne 0x467977
cmp eax, 0xb
je 0x46769f
cmp eax, 0xc
je 0x46769f
cmp eax, 0x85
jne 0x467977
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x467650
jmp 0x467977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467977
jmp 0x4676d0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4675a4
mov al, byte [ecx]
cmp al, 9
je 0x467977
cmp al, 0x20
je 0x467977
cmp al, 0xa0
je 0x467977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4676d0
jmp 0x467977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467977
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4675a4
mov al, byte [ecx]
cmp al, 9
je 0x46773e
cmp al, 0x20
je 0x46773e
cmp al, 0xa0
jne 0x467977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x467720
jmp 0x467977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467977
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4675a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x467786
cmp al, 0xd
jbe 0x467977
cmp al, 0x85
je 0x467977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x467764
jmp 0x467977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x467977
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4675a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x467977
cmp al, 0xd
jbe 0x4677d2
cmp al, 0x85
jne 0x467977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4677b0
jmp 0x467977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467977
jmp 0x467800
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4675a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x467977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467800
jmp 0x467977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467977
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4675a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x467977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467842
jmp 0x467977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467977
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4675a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x467977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467884
jmp 0x467977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467977
jmp 0x4678d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4675a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x467977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4678d0
jmp 0x467977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467977
jmp 0x467910
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4675a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x467977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467910
jmp 0x467977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x467977
jmp 0x467950
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4675a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x467977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x467950
cmp dword [esp + 0x80], 0
je 0x4689da
jmp 0x45e13a
mov esi, dword [esi]
test esi, esi
je 0x46be51
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.0x4679b4
jmp dword [eax*4 + 0x46c38c]
cmp edi, 0xfffffc1b
je 0x467a86
cmp edi, 0xfffffc20
jne 0x467a03
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.0x4679b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4679ff
cmp byte [ecx], 0x77
jne case.0x4679b4.49
xor edi, edi
jmp 0x467a0b
test edi, edi
jne case.0x4679b4.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 0x467a86
cmp dword [esi + 0x9c], 0x88
jb 0x467a51
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b7da
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b7d0
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
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 0x467e7c
mov edx, dword [esp + 0x8c]
jmp 0x4679a4
cmp edi, 0xfffffc20
jne 0x467b43
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 0x467b91
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467b0e
cmp byte [ecx], 0x77
jne 0x467b91
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 0x467ba7
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a4
test edi, edi
je 0x467b0e
cmp edi, 0xfffffc1b
jne 0x467b91
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x467b83
cmp al, 0x77
jne 0x467b74
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 0x467b60
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 0x467e7c
mov edx, dword [esp + 0x8c]
jmp 0x4679a4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x467bf9
cmp eax, 0x81
je 0x467bf9
cmp dword [ebp + 0x6c], 0
jne 0x467c03
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 0x467c03
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50dfa0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x45e0c0
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 0x46b7fc
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b7f2
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
cmp edi, 1
jne 0x467cc3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x467c60
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x467c73
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 0x467ca9
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 0x467c90
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x50dfa0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45e56e.145
test edi, edi
je 0x467cd3
cmp edi, 0xfffffc20
jne case.0x4679b4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x467ce9
movzx eax, byte [edx + 0x50dfa0]
jmp 0x467cec
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x467d09
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x45e141
cmp dword [esi + 0x9c], 0x8c
jne 0x45e0c0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b81e
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b814
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
cmp edi, 1
je 0x467e02
cmp edi, 0xfffffc19
je 0x467e02
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x467daa
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.0x4679b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467db2
cmp byte [ecx], 0x77
jmp 0x467dac
test edi, edi
jne case.0x4679b4.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 0x467e08
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b837
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b82d
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x467e21
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a4
cmp dword [esi + 0x58], 0
je 0x46b45e
mov esi, dword [esi]
test esi, esi
je 0x46bdf6
mov edi, 1
jmp 0x4679a4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x467eed
je 0x467e86
cmp edi, 0xfffffc19
je 0x468723
cmp edi, 0xfffffc1b
jle case.0x4679b4.49
cmp edi, 0xfffffc1f
jle 0x467eae
mov esi, dword [esi]
test esi, esi
jne 0x4679a4
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 0x467eae
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467f00
cmp byte [ecx], 0x77
je 0x467f00
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 0x467eb1
cmp dword [esi + 0x58], 0
je 0x468137
mov esi, dword [esi]
test esi, esi
je 0x46bdf6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4679a4
mov eax, edi
sub eax, 0
je 0x467f00
dec eax
je 0x468723
jmp case.0x4679b4.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 0x467ec8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b84d
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b843
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call fcn.004538f3
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 0x46b48c
cmp edi, 0xfffffc19
je 0x46b48c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x467fb9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45ef3b
push ecx
call dword [0x15b2d94]
add esp, 4
jmp 0x45ef3b
test edi, edi
je 0x467fe3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x467fd4
push ecx
call dword [0x15b2d94]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x467e7c
jmp 0x467999
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 0x468049
cmp dword [esi + 0x58], 0
je 0x468014
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46b893
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46b889
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x467f99
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x4680a3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b8e1
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b8d7
mov esi, dword [esi]
test esi, esi
je 0x46bdab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4679a4
cmp al, 0x88
jb 0x46b5e4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b903
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b8f9
mov esi, dword [esi]
test esi, esi
je 0x46bdab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x46be03
mov edi, 0xfffffc1b
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
mov edx, dword [esi + 0x2c]
jmp 0x468120
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 0x468120
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45e13a
test edi, edi
je 0x45f9b4
jmp case.0x4679b4.49
test edi, edi
je 0x4680ef
jmp case.0x4679b4.49
cmp edi, 0xfffffc1b
jne 0x46816b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x46816d
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x468f5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b925
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b91b
mov esi, dword [esi]
test esi, esi
je 0x46bdab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4681e0
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0046c5e0
add esp, 0x14
test eax, eax
jns 0x468247
cmp eax, 0xfffffffe
jne 0x468209
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x469d21
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x469d21
cmp eax, dword [ebp + 0x84]
jbe 0x469d21
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460f5e
jmp 0x469d21
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b94a
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b940
mov esi, dword [esi]
test esi, esi
je 0x46bdab
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x4650c6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b963
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b959
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468307
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469e06
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 0x469d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b97c
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b972
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x45ef3b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b995
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b98b
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4683e1
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469e06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x468411
cmp dword [esi + 0x94], ecx
je 0x468411
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9ae
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9a4
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
dec dword [esi + 8]
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9c7
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9bd
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4684c1
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469e06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x469d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9e0
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9d6
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
dec dword [esi + 8]
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46b9f9
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46b9ef
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46858e
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469e06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x468723
cmp dword [esi + 0x94], ecx
je 0x468723
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba12
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba08
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba2b
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba21
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468665
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469e06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x469d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba41
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba37
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba57
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba4d
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468734
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46877b
cmp dword [ebp + 0x88], 0
je 0x468763
cmp ecx, dword [ebp + 0x84]
jbe 0x468763
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460f5e
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4679a4
cmp dword [esi + 0x7c], 0xc
jne 0x4687a2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4687c4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x4687e1
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.0x4687bd.15
jmp dword [eax*4 + 0x46c498]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4687a2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4687a2
cmp edi, 1
je 0x4687e1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4687a2
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4679a4
cmp dword [ebp + 0x88], 0
je case.0x4687bd.13
cmp edx, dword [ebp + 0x78]
jb case.0x4687bd.13
cmp dword [ebp + 0x18], 0
jne case.0x4687bd.13
cmp dword [ebp + 0x1c], 2
jne case.0x4687bd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4687bd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460f5e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba6d
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba63
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46887d.14
movzx eax, byte [ecx + 0x46c4e8]
jmp dword [eax*4 + 0x46c4d8]
cmp edx, dword [ebp + 0x78]
jae case.0x4687bd.13
cmp byte [edx], 0xa
jne case.0x4687bd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4687bd.13
cmp dword [ebp + 0x68], 0
je case.0x4687bd.13
jmp case.0x46887d.14
cmp ecx, 9
je case.0x46887d.14
cmp ecx, 0x20
je case.0x46887d.14
cmp ecx, 0xa0
jmp 0x46897a
cmp ecx, 9
je case.0x4687bd.13
cmp ecx, 0x20
je case.0x4687bd.13
cmp ecx, 0xa0
je case.0x4687bd.13
jmp case.0x46887d.14
cmp ecx, 0xa
jb case.0x4687bd.13
cmp ecx, 0xd
jbe case.0x46887d.14
cmp ecx, 0x85
jmp 0x46897a
cmp ecx, 0xa
jb case.0x46887d.14
cmp ecx, 0xd
jbe case.0x4687bd.13
cmp ecx, 0x85
je case.0x4687bd.13
jmp case.0x46887d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4687bd.13
jmp case.0x46887d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x46897a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4687bd.13
jmp case.0x46887d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x46897a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4687bd.13
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4679a4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4687bd.13
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4679a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4679b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x4689da
cmp eax, dword [esi + 0x30]
jbe 0x4689da
cmp byte [eax], 0xa
jne 0x4689da
cmp byte [eax - 1], 0xd
jne 0x4689da
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ba83
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ba79
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
cmp edi, 0xfffffc1a
jne 0x468a71
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 0x468a69
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 0x468a50
jmp 0x468ac8
mov dword [esi + 8], eax
jmp 0x468aed
cmp edi, 0xfffffc20
jne 0x468aa5
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.0x4679b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468aad
cmp byte [ecx], 0x77
jmp 0x468aa7
test edi, edi
jne case.0x4679b4.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 0x468ae1
cmp dword [esi + 0x5c], 0
jne 0x468137
cmp dword [esi + 0x54], 0
jne 0x468137
jmp 0x469d21
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x468b03
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46bac5
push 0x134
call dword [0x15b2d98]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46babb
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
mov esi, dword [esi]
test edi, edi
jne 0x467e74
test esi, esi
je 0x46be1d
mov edi, 0xfffffc1c
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46be37
mov edi, 0xfffffc1e
jmp 0x4679a4
cmp edi, 1
je 0x468b83
cmp edi, 0xfffffc19
jne 0x468b9d
cmp dword [ebp + 0xac], 0
jne 0x468b9d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x467b91
cmp edi, 0xfffffc1f
jne 0x467b91
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x468bd2
test dl, dl
je 0x468bce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x468bd2
add eax, 2
add ecx, 2
test dl, dl
jne 0x468bb2
xor eax, eax
jmp 0x468bd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x467b91
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46be37
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4679a4
cmp edi, 1
je 0x468c0d
cmp edi, 0xfffffc19
jne case.0x4679b4.51
cmp dword [ebp + 0xac], 0
jne case.0x4679b4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x467e74
test esi, esi
je 0x46be10
mov edi, 0xfffffc1d
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46be44
mov edi, 0xfffffc1f
jmp 0x4679a4
cmp edi, 1
je 0x468c70
cmp edi, 0xfffffc19
jne case.0x4679b4.54
cmp dword [ebp + 0xac], 0
jne case.0x4679b4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46be2a
mov edi, 0xfffffc20
jmp 0x4679a4
cmp edi, 0xfffffc1a
jne 0x468d11
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 0x468d09
mov edx, dword [esi + 0xc]
jmp 0x468cf0
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 0x468cf0
jmp 0x468d78
mov dword [esi + 8], eax
jmp 0x45ec72
cmp edi, 0xfffffc20
jne 0x468d45
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.0x4679b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468d4d
cmp byte [ecx], 0x77
jmp 0x468d47
test edi, edi
jne case.0x4679b4.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 0x45ec72
cmp dword [esi + 0x5c], 0
jne 0x468db8
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 0x45e136
cmp dword [esi + 0x5c], 0
jne 0x45e136
jmp 0x469d21
cmp edi, 1
jne 0x468e74
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x468df1
cmp al, 0x77
jne 0x469d21
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 0x468df1
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 0x45e136
cmp ecx, dword [esi + 0x38]
je 0x45e136
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x468f0d
test ecx, ecx
jne 0x46bb2e
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb24
mov esi, dword [esi]
test esi, esi
je 0x46bdab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4679a4
cmp edi, 0xfffffc20
jne 0x468ea8
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.0x4679b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x468eb0
cmp byte [ecx], 0x77
jmp 0x468eaa
test edi, edi
jne case.0x4679b4.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 0x468de0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb09
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46baff
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test ecx, ecx
jne 0x46bb53
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb49
mov esi, dword [esi]
test esi, esi
je 0x46bdab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4679a4
test edi, edi
je 0x46b5e4
jmp case.0x4679b4.49
test edi, edi
jne case.0x4679b4.49
add dword [esi + 0xc], 3
jmp 0x45e0c0
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468f89
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46908a
cmp ebx, 0xc0
jb 0x46908a
test bl, 0x20
jne 0x468fcb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469087
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x468ff5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46908a
mov edx, dword [esi + 8]
test bl, 8
jne 0x46901b
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 0x46907e
test bl, 4
jne 0x46904a
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 0x46907e
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.0046d860
add esp, 0xc
test eax, eax
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb75
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb6b
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x469d21
cmp dword [esp + 0x8c], edi
je 0x469111
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x469111
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x469105
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bb8e
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb84
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46916b
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x469260
test bl, 0x20
jne 0x4691a5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46925d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4691cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469260
mov edx, dword [esi + 8]
test bl, 8
jne 0x4691f8
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 0x46925b
test bl, 4
jne 0x469227
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 0x46925b
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 0x469276
cmp dword [esi + 0x9c], 0x6e
jne 0x469293
jmp 0x45ef3b
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 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bba7
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bb9d
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45ef3b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4692fc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4692f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bbc0
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bbb6
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469356
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
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 0x4693c5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x469385
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46938a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x469374
cmp edi, 0xfffffffc
je 0x4693b7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4693c2
cmp edi, 0xfffffffd
je 0x4693b7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4693c2
cmp edi, 0xfffffffe
je 0x4693b7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4693c2
cmp edi, 0xffffffff
je 0x4693b7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4693c2
mov eax, dword [esi + 0x88]
jmp 0x469430
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x469470
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x469470
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4693f7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4693fc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4693e6
cmp edi, 0xfffffffc
je 0x46942d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x469470
cmp edi, 0xfffffffd
je 0x46942d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x469470
cmp edi, 0xfffffffe
je 0x46942d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x469470
cmp edi, 0xffffffff
je 0x46942d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x469470
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 0x46bbd9
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bbcf
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
cmp dword [ebp + 0x88], 0
je case.0x4650c6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x4650c6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x4650c6.14
jmp 0x45f092
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4694bc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4694b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bbf2
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bbe8
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469522
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x469622
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x46955c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46961f
test dl, 0x10
jne 0x46957e
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 0x469622
mov ecx, dword [esi + 8]
test dl, 8
jne 0x4695ae
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 0x46961f
test dl, 4
jne 0x4695e4
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 0x46961f
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 0x4687e1
cmp dword [esi + 0x94], edx
je 0x4687e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x469669
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x468275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x46ba8d
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46969c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469690
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bc0b
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc01
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469702
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4697f7
test bl, 0x20
jne 0x46973c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4697f4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469766
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4697f7
mov edx, dword [esi + 8]
test bl, 8
jne 0x46978f
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 0x4697f2
test bl, 4
jne 0x4697be
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 0x4697f2
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 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bc24
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc1a
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x469860
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469854
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bc3d
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc33
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4698c6
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x469902
cmp dword [ebp + 0x88], 0
je 0x469d21
cmp ecx, dword [ebp + 0x84]
jbe 0x469d21
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x460f5e
jmp 0x469d21
cmp dword [esi + 0x7c], 0xc
jne 0x469954
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x46992f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ded0
add esp, 0x14
test eax, eax
jne 0x469d21
jmp 0x469954
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x469954
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x469954
cmp edi, 1
je 0x469d21
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x469d21
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x469a3c
test dl, 0x20
jne 0x469987
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x469a39
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4699ae
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x469a37
test dl, 8
jne 0x4699d4
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 0x469a37
test dl, 4
jne 0x469a03
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 0x469a37
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.0x469a4b.15
jmp dword [eax*4 + 0x46c564]
cmp dword [ebp + 0x88], 0
je case.0x469a4b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x469a4b.13
cmp dword [ebp + 0x18], 0
jne case.0x469a4b.13
cmp dword [ebp + 0x1c], 2
jne case.0x469a4b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x469a4b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x469a4b.13
jmp 0x460f5e
cmp edx, 0xd
ja 0x469ace
je 0x469abb
cmp edx, 0xa
je case.0x469a4b.13
jbe 0x469d21
cmp edx, 0xc
jmp 0x469ae8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x469a4b.13
cmp byte [eax], 0xa
jne case.0x469a4b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x469a4b.13
cmp edx, 0x85
je 0x469aee
cmp edx, 0x2027
jbe 0x469d21
cmp edx, 0x2029
ja 0x469d21
cmp dword [ebp + 0x68], 0
je case.0x469a4b.13
jmp 0x469d21
cmp edx, 0x180e
ja 0x469b6d
je 0x469d21
cmp edx, 0xa0
ja 0x469b65
je 0x469d21
cmp edx, 9
je 0x469d21
cmp edx, 0x20
je 0x469d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x469b56
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x468275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x46ba8d
cmp edx, 0x1680
jmp 0x469b21
cmp edx, 0x205f
ja 0x469b97
je 0x469d21
cmp edx, 0x2000
jb case.0x469a4b.13
cmp edx, 0x200a
jbe 0x469d21
cmp edx, 0x202f
jmp 0x469b21
cmp edx, 0x3000
jmp 0x469d1b
cmp edx, 0x180e
ja 0x469bd4
je case.0x469a4b.13
cmp edx, 0xa0
ja 0x469bcc
je case.0x469a4b.13
cmp edx, 9
je case.0x469a4b.13
cmp edx, 0x20
jmp 0x469c08
cmp edx, 0x1680
jmp 0x469c08
cmp edx, 0x205f
ja 0x469c02
je case.0x469a4b.13
cmp edx, 0x2000
jb 0x469d21
cmp edx, 0x200a
jbe case.0x469a4b.13
cmp edx, 0x202f
jmp 0x469c08
cmp edx, 0x3000
je case.0x469a4b.13
jmp 0x469d21
cmp edx, 0x85
ja 0x469c38
je 0x469d21
cmp edx, 0xa
jb case.0x469a4b.13
cmp edx, 0xd
jbe 0x469d21
jmp case.0x469a4b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x469a4b.13
jmp 0x469d21
cmp edx, 0x85
ja 0x469c68
je case.0x469a4b.13
cmp edx, 0xa
jb 0x469d21
cmp edx, 0xd
jmp 0x469c71
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x469a4b.13
jmp 0x469d21
cmp edx, 0x100
jae case.0x469a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x469a4b.13
jmp 0x469d21
cmp edx, 0x100
jae 0x469d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x469d1b
cmp edx, 0x100
jae case.0x469a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x469a4b.13
jmp 0x469d21
cmp edx, 0x100
jae 0x469d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x469d1b
cmp edx, 0x100
jae case.0x469a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x469a4b.13
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4679a4
cmp edx, 0x100
jae 0x469d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x469a4b.13
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4679a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4679b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4679a4
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x469d7c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469d70
cmp dword [esi + 0x7c], 0x11
jne 0x469d98
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x469d98
cmp byte [eax], 0xa
jne 0x469d98
dec eax
cmp byte [eax], 0xd
jne 0x469d98
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bc56
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc4c
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469dfe
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x469e1e
cmp dword [ebp + 0x88], 0
je 0x468723
cmp eax, dword [ebp + 0x84]
jmp 0x46a579
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x469e5d
cmp ecx, 0xc0
jb 0x469e5d
test cl, 0x20
jne 0x469e39
inc eax
jmp 0x469e5a
test cl, 0x10
jne 0x469e43
add eax, 2
jmp 0x469e5a
test cl, 8
jne 0x469e4d
add eax, 3
jmp 0x469e5a
test cl, 4
jne 0x469e57
add eax, 4
jmp 0x469e5a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x469e74
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
xor edi, edi
jmp 0x4679a4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x469ea3
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x468275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x46ba8d
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469ed7
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469fd1
cmp ebx, 0xc0
jb 0x469fd1
test bl, 0x20
jne 0x469f19
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469fce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469f43
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469fd1
mov edx, dword [esi + 8]
test bl, 8
jne 0x469f69
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 0x469fcc
test bl, 4
jne 0x469f98
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 0x469fcc
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x469ff3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp eax, 9
je 0x46a018
cmp eax, 5
je 0x46a018
cmp eax, 8
je 0x46a018
xor eax, eax
jmp 0x46a01d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bc6f
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc65
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a086
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a17c
cmp ebx, 0xc0
jb 0x46a17c
test bl, 0x20
jne 0x46a0c8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a179
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a0f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a17c
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a116
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 0x46a179
test bl, 4
jne 0x46a145
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 0x46a179
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a19e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bc88
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc7e
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a228
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a31e
cmp ebx, 0xc0
jb 0x46a31e
test bl, 0x20
jne 0x46a26a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a31b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a292
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a31e
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a2b8
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 0x46a31b
test bl, 4
jne 0x46a2e7
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 0x46a31b
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a340
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bca1
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bc97
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a3c3
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a4b9
cmp ebx, 0xc0
jb 0x46a4b9
test bl, 0x20
jne 0x46a405
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a4b6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a42d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a4b9
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a453
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 0x46a4b6
test bl, 4
jne 0x46a482
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 0x46a4b6
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a4db
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bcba
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bcb0
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a55e
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x46a5a7
cmp dword [ebp + 0x88], 0
je 0x468723
cmp edi, dword [ebp + 0x84]
jbe 0x468723
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x468723
mov esi, dword [esi]
test esi, esi
je 0x46bddc
mov edi, 0xfffffff4
jmp 0x4679a4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a695
cmp ebx, 0xc0
jb 0x46a695
test bl, 0x20
jne 0x46a5dd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a692
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a607
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46a695
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a62d
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 0x46a690
test bl, 4
jne 0x46a65c
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 0x46a690
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a6b7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2aa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46a848
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x46a7e7
cmp ebx, 0xc0
jb 0x46a7e7
test bl, 0x20
jne 0x46a71b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x46a7df
test bl, 0x10
jne 0x46a740
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 0x46a7df
test bl, 8
jne 0x46a771
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 0x46a7df
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46a7ab
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 0x46a7df
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a809
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx ecx, byte [eax*8 + 0x50e2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e130], eax
je 0x46a848
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x46a6e0
cmp dword [ebp + 0x88], 0
je 0x46a875
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46a875
cmp eax, dword [ebp + 0x84]
jbe 0x46a875
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45f0a6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bcd3
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bcc9
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x46a8dc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a8dc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a8d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45e0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bcec
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bce2
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x46a937
movzx ebx, byte [ecx]
jmp 0x46aa25
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46a94c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x46a940
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x46aa25
test bl, 0x20
jne 0x46a96f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x46aa1d
test bl, 0x10
jne 0x46a98f
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 0x46aa1d
test bl, 8
jne 0x46a9b8
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 0x46aa1d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x46a9ed
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 0x46aa1d
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46aa47
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2aa]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x45e0c0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x46aa7f
movzx ebx, byte [edi]
jmp 0x46ab3e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x46aa91
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x46aa87
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x46ab3e
test bl, 0x20
jne 0x46aab1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x46ab36
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46aace
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x46ab36
and eax, 0x3f
test bl, 8
jne 0x46aae9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x46ab36
test bl, 4
jne 0x46ab0d
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 0x46ab36
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46ab60
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx edx, byte [eax*8 + 0x50e2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50e130], eax
je 0x466796
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x46aa60
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46abc1
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46acbb
cmp ebx, 0xc0
jb 0x46acbb
test bl, 0x20
jne 0x46ac03
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46acb8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46ac2d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46acbb
mov edx, dword [esi + 8]
test bl, 8
jne 0x46ac53
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 0x46acb6
test bl, 4
jne 0x46ac82
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 0x46acb6
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 + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46acdd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x46ad04
cmp eax, 3
je 0x46ad04
xor eax, eax
jmp 0x46ad09
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bd1e
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bd14
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46ad72
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46ae73
cmp ebx, 0xc0
jb 0x46ae73
test bl, 0x20
jne 0x46adb4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46ae70
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46adde
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46ae73
mov edx, dword [esi + 8]
test bl, 8
jne 0x46ae04
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 0x46ae67
test bl, 4
jne 0x46ae33
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 0x46ae67
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 0x46ae9e
cmp ebx, 0x40
je 0x46ae9e
cmp ebx, 0x60
je 0x46ae9e
cmp ebx, 0xa0
jb 0x46ae92
cmp ebx, 0xd7ff
jbe 0x46ae9e
cmp ebx, 0xe000
jae 0x46ae9e
xor eax, eax
jmp 0x46aea3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45f882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bd37
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bd2d
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46af0c
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b00d
cmp ebx, 0xc0
jb 0x46b00d
test bl, 0x20
jne 0x46af4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b00a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46af78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46b00d
mov edx, dword [esi + 8]
test bl, 8
jne 0x46af9e
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 0x46b001
test bl, 4
jne 0x46afcd
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 0x46b001
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 0x46b050
je case.0x46b070.8192
cmp ebx, 0x85
ja 0x46b03c
je case.0x46b070.8192
cmp ebx, 9
jb case.0x46b070.8203
cmp ebx, 0xd
jbe case.0x46b070.8192
cmp ebx, 0x20
jmp 0x46b085
cmp ebx, 0xa0
je case.0x46b070.8192
cmp ebx, 0x1680
jmp 0x46b085
cmp ebx, 0x202f
ja 0x46b077
je case.0x46b070.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x46b070.8203
movzx eax, byte [eax + 0x46c5ac]
jmp dword [eax*4 + 0x46c5a4]
cmp ebx, 0x205f
je case.0x46b070.8192
cmp ebx, 0x3000
je case.0x46b070.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50f928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46b0a9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
cmp dword [eax*4 + 0x50e0b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x46b0dc
jmp 0x45ef3b
cmp dword [esi + 0x68], 0
jne 0x45f882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bd50
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bd46
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b13c
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b232
cmp ebx, 0xc0
jb 0x46b232
test bl, 0x20
jne 0x46b17e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b22f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46b1a6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46b232
mov edx, dword [esi + 8]
test bl, 8
jne 0x46b1cc
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 0x46b22f
test bl, 4
jne 0x46b1fb
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 0x46b22f
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 + 0x50f928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x46b255
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x511b28]
movzx eax, byte [eax*8 + 0x50e2a9]
mov eax, dword [eax*4 + 0x50e0b8]
cmp eax, 1
je 0x46b281
cmp eax, 3
je 0x46b281
cmp ebx, 0x5f
je 0x46b281
xor eax, eax
jmp 0x46b286
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45ef3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bd69
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bd5f
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
test edi, edi
jne case.0x4679b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46b2ef
mov esi, dword [esi]
test esi, esi
je 0x46bdb8
jmp 0x4679a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x46a566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46b3ec
cmp ebx, 0xc0
jb 0x46b3ec
test bl, 0x20
jne 0x46b331
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46b3e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46b359
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46b3ec
mov edx, dword [esi + 8]
test bl, 8
jne 0x46b37f
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 0x46b3e2
test bl, 4
jne 0x46b3ae
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 0x46b3e2
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 + 0x50e168]
lea eax, [eax*4 + 0x50e168]
cmp ebx, ecx
jb 0x46b40e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x46b453
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x46b401
cmp dword [esi + 0x68], 0
je 0x45f882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46bd82
push 0x134
call dword [0x15b2d98]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46bd78
mov esi, dword [esi]
test esi, esi
je 0x46bdab
lea edi, [eax - 6]
jmp 0x467999
cmp dword [esi + 0x68], 0
je 0x46b418
jmp 0x45f882
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 0x46b461
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x45e13a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x46b4a3
push ecx
call dword [0x15b2d94]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x45e13a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469299
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4690a5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46943b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x469640
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469809
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x469e7a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a02c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a1ce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a369
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a504
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46ad18
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b0e2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b295
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46b41e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46aeb2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x469b2d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a87b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x45e0c0
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 + 0x50dfa0]
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 0x45e0b0
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 0x46b8a6
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 0x46b8a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x46b5ff
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 0x46b8a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x46b5ff
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 0x46b8a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x46b5ff
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 0x45e0b0
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 0x46ba96
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 0x46ba96
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 0x46ba96
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 0x46ba96
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 0x46ba96
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 0x46b8a6
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 0x46b8a6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x46b857
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 0x45e0b0
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 + 0x50dfa0]
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 0x45e0b0
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 0x46ba96
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 0x46ba96
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 0x46ba96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x46ba8d
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 0x45e0b0
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 0x46b8a6
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 0x46b8a6
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 0x46ba96
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 0x46ba96
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 0x46ba96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x46ba8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x46ba8d
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