Function at 0x45d060
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 0x45d0ee
mov esi, dword [esi]
test esi, esi
je 0x46ad91
mov edi, 0xfffffff8
jmp 0x466999
mov eax, dword [esi + 0x1c]
cmp eax, dword [ebp + 8]
jb 0x45d10a
mov esi, dword [esi]
test esi, esi
je 0x46ad9e
mov edi, 0xffffffeb
jmp 0x466999
cmp dword [ebp + 0x98], 2
jne 0x45d141
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 0x45d141
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.0x45d174.98
movzx eax, byte [edx + 0x46afac]
jmp dword [eax*4 + 0x46ae60]
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 0x46a5f5
push 0x134
call dword [0x2245eb8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46a5ef
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46a645
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a63f
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46a663
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a65d
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x46a681
push 0x134
call dword [0x2245eb8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46a67b
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46a696
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a690
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
inc dword [ebp + 0x28]
mov eax, dword [ebp + 0x28]
cmp eax, dword [ebp + 0x2c]
ja 0x45d2ce
mov ecx, dword [esi + 0xc]
movzx eax, byte [ecx]
movzx edx, byte [eax + 0x50cfa0]
movzx eax, byte [ecx + 1]
add edx, eax
add dword [esi + 0xc], edx
jmp 0x45d141
mov edi, dword [esi + 4]
test edi, edi
jne 0x46a6b4
push 0x134
call dword [0x2245eb8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46a6ae
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov edx, dword [esi + 4]
test edx, edx
jne 0x46a6c9
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a6c3
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x46a6e7
push 0x134
call dword [0x2245eb8]
mov edi, eax
add esp, 4
test edi, edi
jne 0x46a6e1
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x467ed8
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.0x45d174.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 0x466a3b
mov dword [esi + 0x54], ebx
jmp 0x45dbdf
mov dword [esi + 0x54], ebx
jmp 0x45dc03
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 0x45d548
mov edi, dword [0x2249da4]
test edi, edi
je 0x45d534
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 0x45d4ee
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 0x45d523
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
jns 0x45d534
mov esi, dword [esi]
test esi, esi
je 0x466e7c
jmp 0x466999
movzx eax, byte [0x50d016]
add dword [esi + 0xc], eax
movzx eax, byte [0x50d016]
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.0x45d56e.146
movzx eax, byte [eax + 0x46b068]
jmp dword [eax*4 + 0x46b050]
mov edi, dword [ebp + 0xa4]
test edi, edi
je case.0x45d56e.145
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x45d5a7
cmp edx, dword [edi + 4]
je 0x45d5a7
xor eax, eax
mov dword [esi + 0x58], eax
jmp 0x466cd3
mov eax, 1
mov dword [esi + 0x58], eax
jmp 0x466cd3
cmp dword [ebp + 0xa4], ebx
je case.0x45d56e.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.0x45d56e.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 0x466cd3
add edi, dword [ebp + 0x24]
test ebx, ebx
jg 0x45d5f0
jmp 0x466cd3
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 0x45d654
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jl 0x45d654
mov eax, 1
mov dword [esi + 0x58], eax
jmp case.0x45d56e.145
xor eax, eax
mov dword [esi + 0x58], eax
jmp case.0x45d56e.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 0x466cd3
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 0x45d6a9
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], ebx
jge 0x45d6b8
mov dword [esi + 0x58], ebx
add edx, dword [ebp + 0x24]
test edi, edi
jg 0x45d687
jmp 0x466cd3
mov dword [esi + 0x58], 1
jmp 0x466cd3
mov dword [ebp + 0x98], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a6fc
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a6f6
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x45d754
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45d136
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 0x45d136
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45d7a3
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 0x45d136
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x10]
cmp edi, ecx
jne 0x45d7f6
cmp edx, 0x9f
je 0x45d7f6
cmp dword [ebp + 0xa4], ebx
jne 0x45d7f6
cmp dword [ebp + 0x5c], ebx
jne 0x45d7e5
cmp dword [ebp + 0x60], ebx
je 0x45d7f6
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ecx, eax
jne 0x45d7f6
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
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 0x466e7c
jmp 0x466999
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45d84f
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x466dcd
mov dword [esi + 0x58], ebx
jmp 0x466dcd
mov eax, dword [ebp + 0xac]
mov dword [esi + 0x28], eax
cmp dword [ebp + 0x98], 1
jne 0x45d87b
mov dword [esi + 0x58], 1
mov dword [ebp + 0x98], ebx
jmp 0x466f1b
mov dword [esi + 0x58], ebx
jmp 0x466f1b
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0xc]
test edx, edx
je 0x45d8e2
movzx edx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl edx, 8
or edx, eax
jle 0x45d8c8
dec dword [esi + 8]
dec edx
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x74]
jb case.0x4640c6.14
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45d8c4
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x45d8b8
test edx, edx
jg 0x45d8a0
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jae 0x45d136
mov dword [ebp + 0x84], eax
jmp 0x45d136
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 0x45d8c8
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a0
mov edi, dword [0x2249da4]
test edi, edi
je 0x45d9ec
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 0x45d9a6
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 0x45d9db
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
jns 0x45d9ec
mov esi, dword [esi]
test esi, esi
je 0x466e7c
jmp 0x466999
add dword [esi + 0xc], 6
jmp 0x45d13a
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 0x45da16
xor edx, edx
jmp 0x45da23
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 0x45da43
lea ecx, [ecx]
cmp edx, dword [ecx + 4]
jne 0x45da3d
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 0x14]
je 0x45daa4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x45da30
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 0x45dab8
lea eax, [esi + 0xb0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [esi + 0x44]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [esi + 0x58], eax
jmp 0x467004
mov esi, dword [esi]
test esi, esi
je 0x46adc2
mov edi, 0xffffffe6
jmp 0x466999
shl eax, 2
push eax
call dword [0x2245eb0]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
jne 0x45da7e
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x45dae1
jmp 0x45d141
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0x2c], eax
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a737
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a731
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x45db40
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a755
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a74f
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x45db93
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45d141
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 0x45dbdf
cmp eax, 0x8b
jne 0x45dc03
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 0x45dc20
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 0x467aed
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 0x45dc9d
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46aae7
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46aadd
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x45dcf8
cmp al, 0x81
je 0x45dcf8
mov dword [esi + 0x38], ebx
jmp 0x45dd09
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 0x45dd16
cmp al, 0x80
jbe 0x45dd1a
cmp al, 0x82
jne 0x45dd46
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 0x46adf6
mov edi, 1
jmp 0x466999
cmp al, 0x85
je 0x45dd5a
cmp al, 0x8a
je 0x45dd5a
cmp al, 0x86
je 0x45dd5a
cmp al, 0x8b
jne 0x45de21
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 0x45dd96
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x94]
jne 0x45dd96
mov eax, dword [esi + 8]
mov dword [ebp + 0x80], eax
jmp 0x45dd2c
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 0x45ddc5
or eax, 0x10000
mov dword [ebp + 0x90], eax
jmp 0x45de21
mov edx, dword [esi + 0x14]
cmp ecx, edx
jle 0x45dde5
mov eax, dword [ebp + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x45dde5
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 0x45de21
add eax, 2
mov dword [esi + 0x14], eax
mov edx, dword [esi + 0xc]
mov cl, byte [edx]
cmp cl, 0x7b
jne 0x45de57
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 0x46adcf
mov edi, 0xfffffc1a
jmp 0x466999
cmp cl, 0x78
je 0x45ded0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x38]
je 0x45ded0
cmp cl, 0x7a
mov ecx, dword [esi + 4]
jne 0x45de9e
test ecx, ecx
jne 0x46a776
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a770
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test ecx, ecx
jne 0x46a797
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a791
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x467137
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a7b5
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a7af
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
cmp dword [ebp + 0x44], ebx
je case.0x45d174.1
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne case.0x45d174.1
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
je 0x45dff8
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
cmp dword [ebp + 0x44], ebx
je 0x45df6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45df6a
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x74]
cmp ecx, edx
je 0x45e9b4
cmp ecx, dword [ebp + 0x78]
je 0x45dfd0
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45dfa8
cmp ecx, edx
jbe 0x45dfd0
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046d020
add esp, 0x14
test eax, eax
jne 0x45e9b4
jmp 0x45dfd0
mov edi, dword [ebp + 0x1c]
lea eax, [edi + edx]
cmp ecx, eax
jb 0x45dfd0
sub ecx, edi
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45dfd0
cmp edi, 1
je 0x45e9b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45e9b4
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x466999
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp dword [esi + 8], eax
jmp 0x45df35
mov eax, dword [esi + 8]
mov dword [esi + 0x10], eax
inc dword [esi + 0xc]
jmp 0x45d141
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45e0ba
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45e035
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x45e9b4
jmp 0x45e059
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45e059
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45e059
cmp edx, 1
je 0x45e9b4
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45e9b4
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb case.0x4640c6.14
cmp dword [ebp + 0x18], ebx
jne case.0x4640c6.14
cmp dword [edi], 2
jne case.0x4640c6.14
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne case.0x4640c6.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x4640c6.14
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x466999
cmp dword [ebp + 0x48], ebx
jne 0x45df3b
cmp dword [ebp + 0x88], ebx
je 0x45e9b4
cmp ecx, dword [ebp + 0x84]
jbe 0x45e9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e9b4
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x466999
cmp dword [ebp + 0x48], ebx
jne 0x45df3b
cmp dword [ebp + 0x58], ebx
je case.0x45d174.23
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45df3b
cmp dword [ebp + 0x88], ebx
je 0x45dff8
cmp eax, dword [ebp + 0x84]
jbe 0x45dff8
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45dff8
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x466999
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x45e1c5
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x45e18d
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x45e1b5
jmp 0x45e059
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x45e059
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45e059
cmp edx, 1
je 0x45e1b5
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x45e059
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
mov ecx, dword [esi + 8]
cmp ecx, eax
jne 0x45e059
cmp dword [ebp + 0x88], ebx
je 0x45e9b4
cmp ecx, dword [ebp + 0x84]
jbe 0x45e9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e9b4
jmp 0x45e0a6
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x45e4c7
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x74]
jne 0x45e215
mov dword [esi + 0x5c], ebx
jmp 0x45e34e
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
jne 0x45e22a
nop
mov al, byte [edx - 1]
dec edx
and al, 0xc0
cmp al, 0x80
je 0x45e220
cmp edx, dword [ebp + 0x84]
jae 0x45e238
mov dword [ebp + 0x84], edx
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45e2ec
test bl, 0x20
jne 0x45e260
movzx eax, byte [edx + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
jmp 0x45e2ec
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e27a
and ebx, 0xf
shl ebx, 6
or ecx, ebx
jmp 0x45e2e2
and eax, 0x3f
test bl, 8
jne 0x45e295
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 3]
jmp 0x45e2e2
test bl, 4
jne 0x45e2b9
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 0x45e2e2
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 0x45e387
cmp ebx, 0x5f
jne 0x45e304
mov dword [esi + 0x5c], 1
jmp 0x45e34e
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e326
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x45e398
cmp eax, 3
je 0x45e398
xor eax, eax
mov dword [esi + 0x5c], eax
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jb 0x45e39f
cmp dword [ebp + 0x88], 0
je 0x45e37b
cmp edx, dword [ebp + 0x84]
jbe 0x45e37b
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
mov dword [esi + 0x54], 0
jmp 0x45e605
cmp ebx, 0x100
jae 0x45e349
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45e349
mov eax, 1
jmp 0x45e34b
movzx ebx, byte [edx]
cmp ebx, 0xc0
jb 0x45e449
test bl, 0x20
jne 0x45e3bf
movzx eax, byte [edx + 1]
and ebx, 0x1f
jmp 0x45e441
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x45e3d9
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x45e441
and eax, 0x3f
test bl, 8
jne 0x45e3f4
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edx + 3]
jmp 0x45e441
test bl, 4
jne 0x45e418
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 0x45e441
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 0x45e4ac
cmp ebx, 0x5f
jne 0x45e460
mov dword [esi + 0x54], 1
jmp 0x45e605
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45e482
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x45e4bd
cmp eax, 3
je 0x45e4bd
xor eax, eax
jmp 0x45e602
cmp ebx, 0x100
jae 0x45e4a5
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45e4a5
mov eax, 1
jmp 0x45e602
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x74]
jne 0x45e4d7
mov dword [esi + 0x5c], ebx
jmp 0x45e572
cmp eax, dword [ebp + 0x84]
ja 0x45e4e6
dec eax
mov dword [ebp + 0x84], eax
mov eax, dword [esi + 8]
cmp dword [ebp + 0x54], ebx
je 0x45e55e
movzx ecx, byte [eax - 1]
cmp ecx, 0x5f
jne 0x45e500
mov dword [esi + 0x5c], 1
jmp 0x45e572
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ecx, 0x8000007f
jns 0x45e522
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x45e550
cmp eax, 3
je 0x45e550
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x45e56f
mov edx, dword [esp + 0x8c]
mov eax, 1
jmp 0x45e56f
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 0x45e5b3
cmp dword [ebp + 0x88], ebx
je 0x45e5ae
cmp eax, dword [ebp + 0x84]
jbe 0x45e5ae
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e5ae
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x4669a0
mov dword [esi + 0x54], ebx
jmp 0x45e605
cmp dword [ebp + 0x54], ebx
je 0x45e5f2
movzx ecx, byte [eax]
cmp ecx, 0x5f
jne 0x45e5c9
mov dword [esi + 0x54], 1
jmp 0x45e605
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ecx, 0x8000007f
jns 0x45e5eb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
jmp 0x45e484
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 0x45e620
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
sete cl
jmp 0x45e628
xor ecx, ecx
cmp eax, dword [esi + 0x5c]
setne cl
mov edi, dword [esp + 0x8c]
test ecx, ecx
je 0x45d141
jmp 0x45df3b
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x45e66d
mov edx, dword [esi + 8]
mov edi, dword [ebp + 0x78]
cmp edx, edi
jae 0x45e698
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edi
push ecx
push edx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x45df3b
jmp 0x45e698
mov eax, dword [ebp + 0x78]
mov edx, dword [ebp + 0x1c]
sub eax, edx
mov ecx, dword [esi + 8]
cmp ecx, eax
ja 0x45e698
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x45e698
cmp edx, 1
je 0x45df3b
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x45df3b
cmp dword [ebp + 0x88], ebx
je case.0x45d174.13
mov eax, dword [ebp + 0x78]
mov ecx, dword [esi + 8]
dec eax
cmp ecx, eax
jne case.0x45d174.13
cmp dword [ebp + 0x18], ebx
jne case.0x45d174.13
cmp dword [ebp + 0x1c], 2
jne case.0x45d174.13
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne case.0x45d174.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45e6f6
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
cmp eax, dword [ebp + 0x84]
jbe case.0x4640c6.14
jmp 0x45e092
mov edi, dword [esp + 0x8c]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x45dff8
cmp eax, dword [ebp + 0x78]
jae 0x45dff8
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x45dff8
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jb 0x45e712
inc dword [esi + 0xc]
jmp 0x45d141
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45e6d9
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45d141
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x45e76d
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
cmp edi, dword [ebp + 0x84]
jbe case.0x4640c6.14
jmp 0x45e092
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45e869
cmp ebx, 0xc0
jb 0x45e869
test bl, 0x20
jne 0x45e7aa
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45e866
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45e7d4
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45e869
mov edx, dword [esi + 8]
test bl, 8
jne 0x45e7fa
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 0x45e85d
test bl, 4
jne 0x45e829
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 0x45e85d
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 0x45e9b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45e9b4
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45e99b
cmp ebx, 0xc0
jb 0x45e99b
test bl, 0x20
jne 0x45e8dc
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45e998
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45e906
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45e99b
mov edx, dword [esi + 8]
test bl, 8
jne 0x45e92c
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 0x45e98f
test bl, 4
jne 0x45e95b
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 0x45e98f
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 0x45d8fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 4
je 0x45d8fd
inc dword [esi + 0xc]
jmp 0x45d13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45eac4
cmp ebx, 0xc0
jb 0x45eac4
test bl, 0x20
jne 0x45ea05
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45eac1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ea2f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45eac4
mov edx, dword [esi + 8]
test bl, 8
jne 0x45ea55
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 0x45eab8
test bl, 4
jne 0x45ea84
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 0x45eab8
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 0x45e9b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
jmp 0x45e87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45ebe4
cmp ebx, 0xc0
jb 0x45ebe4
test bl, 0x20
jne 0x45eb25
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ebe1
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45eb4f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ebe4
mov edx, dword [esi + 8]
test bl, 8
jne 0x45eb75
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 0x45ebd8
test bl, 4
jne 0x45eba4
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 0x45ebd8
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 0x45d8fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 1
je 0x45d8fd
inc dword [esi + 0xc]
jmp 0x45d13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45ed0d
cmp ebx, 0xc0
jb 0x45ed0d
test bl, 0x20
jne 0x45ec4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ed0a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ec78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ed0d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45ec9e
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 0x45ed01
test bl, 4
jne 0x45eccd
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 0x45ed01
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 0x45e9b4
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
jmp 0x45e87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45ee2d
cmp ebx, 0xc0
jb 0x45ee2d
test bl, 0x20
jne 0x45ed6e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ee2a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45ed98
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ee2d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45edbe
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 0x45ee21
test bl, 4
jne 0x45eded
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 0x45ee21
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 0x45d8fd
mov eax, dword [ebp + 0x40]
test byte [ebx + eax], 0x10
je 0x45d8fd
inc dword [esi + 0xc]
jmp 0x45d13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45ef56
cmp ebx, 0xc0
jb 0x45ef56
test bl, 0x20
jne 0x45ee97
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45ef53
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45eec1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45ef56
mov edx, dword [esi + 8]
test bl, 8
jne 0x45eee7
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 0x45ef4a
test bl, 4
jne 0x45ef16
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 0x45ef4a
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 0x45efcf
je 0x45ef71
cmp ebx, 0xa
je 0x45e9b4
jbe 0x45e882
cmp ebx, 0xc
jmp 0x45efe9
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45efba
cmp dword [ebp + 0x88], 0
je 0x45e9b4
cmp eax, dword [ebp + 0x84]
jbe 0x45e9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e9b4
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x4669a0
cmp byte [eax], 0xa
jne 0x45e9b4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0xc]
jmp 0x45d13a
cmp ebx, 0x85
je 0x45efef
cmp ebx, 0x2027
jbe 0x45e882
cmp ebx, 0x2029
ja 0x45e882
cmp dword [ebp + 0x68], 0
jmp 0x45e87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f100
cmp ebx, 0xc0
jb 0x45f100
test bl, 0x20
jne 0x45f041
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f0fd
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f06b
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f100
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f091
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 0x45f0f4
test bl, 4
jne 0x45f0c0
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 0x45f0f4
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 0x45f138
je 0x45d8fd
cmp ebx, 0xa0
ja 0x45f12d
je 0x45d8fd
cmp ebx, 9
je 0x45d8fd
cmp ebx, 0x20
jmp 0x45e9ae
cmp ebx, 0x1680
jmp 0x45e9ae
cmp ebx, 0x205f
ja 0x45f169
je 0x45d8fd
cmp ebx, 0x2000
jb 0x45e9b4
cmp ebx, 0x200a
jbe 0x45d8fd
cmp ebx, 0x202f
jmp 0x45e9ae
cmp ebx, 0x3000
je 0x45d8fd
inc dword [esi + 0xc]
jmp 0x45d13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f285
cmp ebx, 0xc0
jb 0x45f285
test bl, 0x20
jne 0x45f1c6
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f282
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f1f0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f285
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f216
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 0x45f279
test bl, 4
jne 0x45f245
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 0x45f279
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 0x45f2bd
je 0x45e9b4
cmp ebx, 0xa0
ja 0x45f2b2
je 0x45e9b4
cmp ebx, 9
je 0x45e9b4
cmp ebx, 0x20
jmp 0x45e87c
cmp ebx, 0x1680
jmp 0x45e87c
cmp ebx, 0x205f
ja 0x45f2ee
je 0x45e9b4
cmp ebx, 0x2000
jb 0x45e882
cmp ebx, 0x200a
jbe 0x45e9b4
cmp ebx, 0x202f
jmp 0x45e87c
cmp ebx, 0x3000
jmp 0x45e87c
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f401
cmp ebx, 0xc0
jb 0x45f401
test bl, 0x20
jne 0x45f342
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f3fe
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f36c
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f401
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f392
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 0x45f3f5
test bl, 4
jne 0x45f3c1
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 0x45f3f5
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 0x45f429
je 0x45e882
cmp ebx, 0xa
jb 0x45e9b4
cmp ebx, 0xd
jbe 0x45e882
inc dword [esi + 0xc]
jmp 0x45d13a
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45e9b4
jmp 0x45e882
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov edx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test edx, edx
je 0x45f545
cmp ebx, 0xc0
jb 0x45f545
test bl, 0x20
jne 0x45f486
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f542
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f4b0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x45f545
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f4d6
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 0x45f539
test bl, 4
jne 0x45f505
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 0x45f539
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 0x45f56a
je 0x45e9b4
cmp ebx, 0xa
jb 0x45d8fd
cmp ebx, 0xd
jbe 0x45e9b4
jmp 0x45d8fd
lea eax, [ebx - 0x2028]
cmp eax, 1
ja 0x45d8fd
inc dword [esi + 0xc]
jmp 0x45d13a
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x45f67d
cmp ebx, 0xc0
jb 0x45f67d
test bl, 0x20
jne 0x45f5c9
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45f67a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f5f1
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x45f67d
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f617
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 0x45f67a
test bl, 4
jne 0x45f646
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 0x45f67a
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 + 0x50e928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x45f6a0
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 + 0x510b28]
cmp eax, 0xa
ja case.default.0x45f6ba
jmp dword [eax*4 + 0x46b07c]
cmp dword [esi + 0x9c], 0xf
jne 0x45d136
jmp 0x45df3b
mov al, byte [edx*8 + 0x50d2a9]
cmp al, 9
je 0x45f6ea
cmp al, 5
je 0x45f6ea
cmp al, 8
je 0x45f6ea
xor ecx, ecx
jmp 0x45f6ef
mov ecx, 1
xor eax, eax
cmp dword [esi + 0x9c], 0xf
sete al
cmp ecx, eax
jne 0x45d136
jmp 0x45df3b
movzx ecx, byte [edx*8 + 0x50d2a9]
xor edx, edx
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
cmp eax, dword [ecx*4 + 0x50d0b8]
setne dl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp edx, eax
jne 0x45d136
jmp 0x45df3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50d2a9]
setne cl
xor eax, eax
cmp dword [esi + 0x9c], 0x10
sete al
cmp ecx, eax
jne 0x45d136
jmp 0x45df3b
mov eax, dword [esi + 0xc]
xor ecx, ecx
mov al, byte [eax + 2]
cmp al, byte [edx*8 + 0x50d2a8]
jmp 0x45f74b
movzx eax, byte [edx*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x45f6ea
cmp eax, 3
je 0x45f6ea
xor ecx, ecx
jmp 0x45f6ef
cmp ebx, 0x180e
ja 0x45f7e3
je case.0x45f6ba.0
cmp ebx, 0x85
ja 0x45f7cf
je case.0x45f6ba.0
cmp ebx, 9
jb case.0x45f803.8203
cmp ebx, 0xd
jbe case.0x45f6ba.0
cmp ebx, 0x20
jmp 0x45f81c
cmp ebx, 0xa0
je case.0x45f6ba.0
cmp ebx, 0x1680
jmp 0x45f81c
cmp ebx, 0x202f
ja 0x45f80a
je case.0x45f6ba.0
add ebx, 0xffffe000
cmp ebx, 0x29
ja case.0x45f803.8203
movzx eax, byte [ebx + 0x46b0b0]
jmp dword [eax*4 + 0x46b0a8]
cmp ebx, 0x205f
je case.0x45f6ba.0
cmp ebx, 0x3000
je case.0x45f6ba.0
movzx eax, byte [edx*8 + 0x50d2a9]
xor ecx, ecx
cmp dword [eax*4 + 0x50d0b8], 6
sete cl
xor eax, eax
cmp dword [esi + 0x9c], 0xf
jmp 0x45f757
movzx eax, byte [edx*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x45f6ea
cmp eax, 3
je 0x45f6ea
cmp ebx, 0x5f
je 0x45f6ea
xor ecx, ecx
jmp 0x45f6ef
mov eax, dword [esi + 0xc]
movzx eax, byte [eax + 2]
mov ecx, dword [eax*4 + 0x50d168]
lea eax, [eax*4 + 0x50d168]
cmp ebx, ecx
jb 0x45f89d
nop
lea eax, [eax + 4]
cmp ebx, ecx
je 0x45f8af
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x45f890
cmp dword [esi + 0x9c], 0x10
jne 0x45d136
jmp 0x45df3b
cmp dword [esi + 0x9c], 0x10
je 0x45d136
jmp 0x45df3b
cmp ebx, 0x24
je 0x45f6ea
cmp ebx, 0x40
je 0x45f6ea
cmp ebx, 0x60
je 0x45f6ea
cmp ebx, 0xa0
jb 0x45f8f0
cmp ebx, 0xd7ff
jbe 0x45f6ea
cmp ebx, 0xe000
jae 0x45f6ea
xor ecx, ecx
jmp 0x45f6ef
mov esi, dword [esi]
test esi, esi
je case.default.0x4669b4
mov edi, 0xfffffff2
jmp 0x466999
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
movzx ebx, byte [edi]
inc edi
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edi
test ecx, ecx
je 0x45fa22
cmp ebx, 0xc0
jb 0x45fa22
test bl, 0x20
jne 0x45f960
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x45fa1f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x45f98f
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 0x45fa22
mov edx, dword [esi + 8]
test bl, 8
jne 0x45f9b5
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 0x45fa18
test bl, 4
jne 0x45f9e4
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 0x45fa18
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45fa44
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2aa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x45fbd6
lea esp, [esp]
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x45fb6e
cmp ebx, 0xc0
jb 0x45fb6e
test bl, 0x20
jne 0x45faa5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x45fb66
test bl, 0x10
jne 0x45faca
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 0x45fb66
test bl, 8
jne 0x45faf8
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 0x45fb66
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x45fb32
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 0x45fb66
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x45fb90
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx ecx, byte [eax*8 + 0x50d2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d130], eax
je 0x45fbd6
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 0x45fa70
cmp dword [ebp + 0x88], 0
je 0x45e9b4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x45e9b4
cmp eax, dword [ebp + 0x84]
jbe 0x45e9b4
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45e9b4
jmp 0x45e0a6
mov ecx, dword [esi + 0xc]
xor eax, eax
cmp edx, 0x74
sete al
movzx ebx, byte [ecx + 3]
movzx edx, byte [ecx + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
movzx eax, byte [ecx + 1]
shl eax, 8
or edx, eax
lea eax, [ecx + 5]
imul edx, dword [ebp + 0x24]
add edx, dword [ebp + 0x30]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x50]
neg eax
sbb eax, eax
neg eax
dec eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x98], 0
test ebx, ebx
jle 0x45fd04
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 0x45fc94
mov eax, dword [ebp + 0xc]
cmp dword [eax + edi*4], 0
jge 0x45fc9d
add edx, dword [ebp + 0x24]
test ebx, ebx
jg 0x45fc70
jmp 0x45fd04
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
mov dword [esi + 0x88], ecx
jmp 0x45fd04
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 0x45fcf4
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
test ecx, ecx
js 0x45fcf4
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
jmp 0x45fcfe
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.0x45fd1f
movzx eax, byte [eax + 0x46b0e4]
jmp dword [eax*4 + 0x46b0dc]
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 + 0x50c5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x45fdad
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x45fdad
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 0x45fda9
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
mov eax, dword [esi + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
je 0x45d141
jns 0x45fdd1
cmp dword [esi + 0x90], 0
je 0x45d141
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x45fe0f
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.0046b5e0
add esp, 0x14
test eax, eax
js 0x45fe41
add eax, ebx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x45fde0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45d141
cmp dword [esp + 0x80], 0
je 0x45fe6a
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x467252
cmp eax, 0xfffffffe
jne 0x45fe4c
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x4640c6.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x4640c6.14
jmp 0x45e6e5
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edi, dword [esi + 0x90]
jmp 0x45fe80
cmp edi, dword [esi + 0x8c]
jge 0x4672a1
push dword [esp + 0x7c]
mov ebx, dword [esi + 8]
push ebp
push dword [esi + 0x88]
push ebx
push dword [esi + 0x98]
call fcn.0046b5e0
add esp, 0x14
test eax, eax
js 0x45feb5
add eax, ebx
inc edi
mov dword [esi + 8], eax
jmp 0x45fe80
cmp eax, 0xfffffffe
jne 0x4672a1
cmp dword [ebp + 0x88], 0
je 0x4672a1
mov eax, dword [ebp + 0x78]
cmp eax, dword [ebp + 0x84]
jbe 0x4672a1
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4672a1
jmp 0x45e0a6
mov ebx, dword [esp + 0x7c]
push ebx
push ebp
push dword [esi + 0x88]
push dword [esi + 8]
push dword [esi + 0x98]
call fcn.0046b5e0
add esp, 0x14
mov dword [esi + 0x88], eax
test eax, eax
jns 0x45ff79
cmp eax, 0xfffffffe
jne 0x45ff25
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je case.0x46787d.14
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x46787d.14
cmp eax, dword [ebp + 0x84]
jbe case.0x46787d.14
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x46787d.14
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff4
jmp 0x4669a4
add dword [esi + 8], eax
jmp 0x45d13a
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.0x45ffa7
movzx eax, byte [eax + 0x46b0f4]
jmp dword [eax*4 + 0x46b0ec]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x45ffca
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x84], ebx
jmp 0x45ffd5
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50c5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x46006c
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x46006c
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 0x460052
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x46006c
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x4601cc
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x460221
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x46017c
test bl, 0x20
jne 0x4600ca
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x460179
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4600f1
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x460177
test bl, 8
jne 0x460114
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 0x460177
test bl, 4
jne 0x460143
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 0x460177
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 0x46018d
cmp dword [esi + 0x9c], 0x6e
jmp 0x4601a2
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.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x460090
jmp 0x460213
cmp dword [ebp + 0x88], 0
je case.0x4640c6.14
mov eax, dword [esi + 8]
jmp 0x45e6e5
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x46021a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4601b7
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.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4601e0
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45d13a
test ebx, ebx
je 0x46024a
test edx, edx
jne 0x46a4b7
mov dword [esi + 0x84], eax
jmp 0x46733b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x90]
test edx, edx
je 0x460402
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x4603ef
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x4603c7
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x460376
test bl, 0x20
jne 0x4602bb
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x460376
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x4602e3
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x46036c
and eax, 0x3f
test bl, 8
jne 0x460309
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 0x46036c
test bl, 4
jne 0x460338
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 0x46036c
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 0x460387
cmp dword [esi + 0x9c], 0x6e
jmp 0x46039c
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 0x4603ef
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 0x460271
jmp 0x4603ef
cmp dword [ebp + 0x88], 0
je 0x4603ef
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4603ef
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x4682fc
jmp 0x45d13a
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x46047a
mov ebx, dword [esi + 8]
cmp ebx, dword [ebp + 0x78]
jae 0x460452
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 0x46047a
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 0x460411
jmp 0x46047a
cmp dword [ebp + 0x88], 0
je 0x46047a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46047a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x46737b
jmp 0x45d13a
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.0x4604c5
movzx eax, byte [eax + 0x46b108]
jmp dword [eax*4 + 0x46b100]
lea ecx, [edi - 0x62]
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
cmp ecx, 8
jae 0x4604e8
mov eax, ecx
and eax, 1
mov dword [esp + 0x84], eax
jmp 0x4604f3
mov dword [esp + 0x80], 1
movsx eax, byte [ecx + 0x50c5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [ecx + 0x50c604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x46058a
mov dword [esi + 0x8c], 0x7fffffff
jmp 0x46058a
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 0x460570
mov dword [esi + 0x8c], 0x7fffffff
add dword [esi + 0xc], 5
jmp 0x46058a
mov dword [esi + 0x8c], 1
mov dword [esi + 0x90], 1
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x4606c5
jmp 0x4605a0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46069a
cmp edx, 0xc0
jb 0x46069a
test dl, 0x20
jne 0x4605e8
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x460697
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46060f
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x460695
test dl, 8
jne 0x460632
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 0x460695
test dl, 4
jne 0x460661
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 0x460695
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.0046c860
add esp, 0xc
test eax, eax
je case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x4605a0
jmp 0x4606cc
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45d141
cmp dword [esp + 0x84], 0
jne 0x46a4c8
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 0x46085d
jmp 0x460710
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x460833
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4607fb
cmp edx, 0xc0
jb 0x4607fb
test dl, 0x20
jne 0x46075c
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ebx, 2
jmp 0x4607fb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x46077b
and edx, 0xf
mov ebx, 3
shl edx, 6
or ecx, edx
jmp 0x4607f1
and eax, 0x3f
test dl, 8
jne 0x46079b
and edx, 7
mov ebx, 4
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
movzx eax, byte [edi + 3]
jmp 0x4607f1
test dl, 4
jne 0x4607c4
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 0x4607f1
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.0046c860
add esp, 0xc
test eax, eax
je 0x46085d
mov eax, dword [esp + 0x84]
add dword [esi + 8], ebx
inc eax
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jl 0x460710
jmp 0x46085d
cmp dword [ebp + 0x88], 0
je 0x460856
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x460856
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jg 0x45e0a6
mov edi, dword [esp + 0x8c]
cmp dword [esp + 0x80], 0
jne 0x45d141
jmp 0x468111
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x460a49
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 0x4609d0
test al, 0x20
jne 0x4608d0
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 0x4609d0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x46090a
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 0x4609d0
test al, 8
jne 0x460946
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 0x4609d0
test al, 4
mov eax, dword [esi + 0x80]
jne 0x46098b
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 0x4609d0
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 0x460a09
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
cmp edx, edi
jb case.0x4640c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4640c6.14
jmp 0x45e092
test ecx, ecx
jle 0x460a3e
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.0x4640c6.14
mov ecx, dword [esi + 0x88]
test ecx, ecx
jg 0x460a10
dec dword [esi + 0x88]
jmp 0x45d13a
mov eax, dword [ebp + 0x78]
mov edi, dword [esi + 8]
sub eax, edi
cmp eax, 1
jge 0x460a96
cmp dword [ebp + 0x88], ebx
je 0x45d8fd
cmp edi, dword [ebp + 0x84]
jbe 0x45d8fd
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x45d8fd
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x4669a0
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 0x460dab
jmp 0x45df3b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x45e750
cmp dword [esp + 0x8c], ebx
je 0x460d8c
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 0x460c1b
test al, 0x20
jne 0x460b1b
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 0x460c1b
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 1]
and edx, 0x3f
test al, 0x10
jne 0x460b55
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 0x460c1b
test al, 8
jne 0x460b91
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 0x460c1b
test al, 4
mov eax, dword [esi + 0x80]
jne 0x460bd6
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 0x460c1b
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 0x460c49
mov edx, dword [ebp + 0x38]
movzx ecx, byte [eax]
mov al, byte [edi + edx]
cmp al, byte [ecx + edx]
jne 0x45df3b
inc dword [esi + 0xc]
inc dword [esi + 8]
jmp 0x45d13a
movzx ebx, byte [eax]
lea edx, [eax + 1]
mov dword [esi + 8], edx
cmp ebx, 0xc0
jb 0x460d2b
test bl, 0x20
jne 0x460c79
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x460d28
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x460ca0
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x460d26
test bl, 8
jne 0x460cc3
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 0x460d26
test bl, 4
jne 0x460cf2
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 0x460d26
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 0x45d13a
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x460d65
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
mov eax, dword [eax*8 + 0x50d2ac]
add eax, edi
mov edi, dword [esp + 0x8c]
cmp ebx, eax
je 0x45d141
jmp 0x45df3b
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 0x45df3b
lea eax, [edi + 1]
mov dword [esi + 8], eax
add dword [esi + 0xc], 2
jmp 0x45d13a
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 0x460edd
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 0x460e14
mov dword [esp + 0x84], ebx
cmp al, 0x35
jne 0x460e1f
mov dword [esp + 0x84], 1
lea eax, [ecx + 3]
mov dword [esi + 0xc], eax
jmp 0x460edd
mov dword [esi + 0x90], ebx
mov edi, 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x460ee4
mov edi, 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x460ee4
mov edi, 1
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], edi
inc dword [esi + 0xc]
mov dword [esp + 0x80], edi
jmp 0x460ee4
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 + 0x50c5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50c604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x460edd
mov dword [esi + 0x8c], 0x7fffffff
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x8c], ebx
je 0x461358
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 0x46102b
mov eax, dword [esi + 0xc]
test bl, 0x20
jne 0x460f41
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 0x46102b
test bl, 0x10
jne 0x460f76
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 0x46102b
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 0x460fb4
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 0x46102b
test bl, 4
jne 0x460fed
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 0x46102b
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 0x461367
cmp dword [esi + 0x9c], 0x2e
jb 0x46109c
mov edi, dword [esi + 0x80]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x461073
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
mov ecx, dword [eax*8 + 0x50d2ac]
add ecx, edi
cmp ecx, edi
je 0x46109c
lea eax, [esi + 0x70]
push eax
push ecx
call fcn.0046c800
add esp, 8
mov dword [esi + 0x6c], eax
jmp 0x4610a3
mov dword [esi + 0x6c], 0
cmp dword [esi + 0x90], 1
mov dword [esp + 0x94], 1
jl 0x4611d6
jmp 0x4610c0
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 0x461144
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x4610f8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x461101
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4610e7
cmp edi, 0xfffffffc
je 0x4611b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x46113a
cmp edi, 0xfffffffd
je 0x4611b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x46113a
cmp edi, 0xfffffffe
je 0x4611b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x46113a
cmp edi, 0xffffffff
je 0x4611b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4611b8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x45fe4c
sub ecx, ebx
cmp edi, ecx
ja 0x45fe4c
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x461176
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46117b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x461165
cmp edi, 0xfffffffc
je 0x4611b8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45fe4c
cmp edi, 0xfffffffd
je 0x4611b8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45fe4c
cmp edi, 0xfffffffe
je 0x4611b8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x45fe4c
cmp edi, 0xffffffff
je 0x4611b8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x45fe4c
mov edx, dword [esp + 0x94]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x94], edx
cmp edx, dword [esi + 0x90]
jle 0x4610c0
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45d141
cmp dword [esp + 0x84], 0
jne 0x46a4d9
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 0x461345
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 0x46129c
mov edx, dword [esi + 0x24]
mov ecx, edi
mov edi, ebx
sub edi, 4
jb 0x461258
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x461261
add ecx, 4
add edx, 4
sub edi, 4
jae 0x461247
cmp edi, 0xfffffffc
je 0x4612f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x461292
cmp edi, 0xfffffffd
je 0x4612f8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x461292
cmp edi, 0xfffffffe
je 0x4612f8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x461292
cmp edi, 0xffffffff
je 0x4612f8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4612f8
mov edi, dword [esi + 8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esi + 0x6c]
test ebx, ebx
jle 0x461318
sub ecx, ebx
cmp edi, ecx
ja 0x461318
mov ecx, edi
lea edx, [esi + 0x70]
mov edi, ebx
sub edi, 4
jb 0x4612c6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4612cb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4612b5
cmp edi, 0xfffffffc
je 0x4612f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x461318
cmp edi, 0xfffffffd
je 0x4612f8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x461318
cmp edi, 0xfffffffe
je 0x4612f8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x461318
cmp edi, 0xffffffff
je 0x4612f8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x461318
mov edx, dword [esp + 0x90]
add dword [esi + 8], ebx
inc edx
mov dword [esp + 0x90], edx
cmp edx, dword [esi + 0x8c]
jl 0x461220
jmp 0x461345
cmp dword [ebp + 0x88], 0
je 0x461345
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x461345
cmp eax, dword [ebp + 0x84]
jbe 0x461345
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x4684bc
jmp 0x45d13a
mov eax, dword [esi + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x80], eax
inc dword [esi + 0xc]
cmp dword [esi + 0x9c], 0x2e
jb 0x46145f
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 0x4613c4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4601b7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x4613b7
cmp dword [esi + 0x94], ecx
jne case.0x4640c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x461394
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45d13a
cmp dword [esp + 0x84], 0
je 0x4613eb
mov dword [esi + 0x84], eax
jmp 0x46741b
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x461452
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46142a
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x46141b
cmp dword [esi + 0x94], ecx
jne 0x461452
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x461400
jmp 0x461452
cmp dword [ebp + 0x88], 0
je 0x461452
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x461452
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
test edi, edi
je 0x46745b
jmp 0x45d13a
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x46149a
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x461470
mov eax, dword [esi + 0x90]
mov edi, dword [esp + 0x8c]
cmp eax, dword [esi + 0x8c]
je 0x45d141
cmp dword [esp + 0x84], 0
je 0x4614c8
mov dword [esi + 0x84], eax
jmp 0x4674e8
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x46152c
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x461504
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
jne 0x46152c
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4614e0
jmp 0x46152c
cmp dword [ebp + 0x88], 0
je 0x46152c
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x46152c
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x467528
jmp 0x45d141
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jb 0x461564
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
cmp ecx, dword [ebp + 0x84]
jbe case.0x4640c6.14
jmp 0x45e092
test edi, edi
je 0x4617dc
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 0x461665
movzx eax, byte [edx]
and eax, 0x3f
test bl, 0x20
jne 0x4615a2
and ebx, 0x1f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x461662
test bl, 0x10
jne 0x4615c3
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 0x461662
test bl, 8
jne 0x4615ee
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 0x461665
mov ecx, dword [esi + 0xc]
test bl, 4
jne 0x461627
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 0x461662
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 0x461758
test dl, 0x20
jne 0x46169f
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46174e
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4616c6
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x46174c
test dl, 8
jne 0x4616e9
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 0x46174c
test dl, 4
jne 0x461718
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 0x46174c
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 0x461775
mov edi, dword [esp + 0x8c]
cmp ebx, edx
jne 0x45d141
jmp 0x45df3b
cmp ebx, 0x7f
jbe 0x4617b2
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x46179d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
mov ecx, dword [eax*8 + 0x50d2ac]
add ecx, ebx
jmp 0x4617b9
mov eax, dword [ebp + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [esp + 0x80]
cmp ebx, eax
je 0x45df3b
mov edi, dword [esp + 0x8c]
cmp ecx, eax
jne 0x45d141
jmp 0x45df3b
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.0x4640c6.14
cmp dword [esi + 0x9c], 0x20
jne 0x460dab
mov eax, dword [ebp + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x4640c6.14
add dword [esi + 0xc], 2
jmp 0x45d13a
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 0x461976
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 0x46187b
cmp al, 0x4f
je 0x46187b
xor ebx, ebx
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x461976
mov ebx, 1
lea eax, [ecx + 3]
mov dword [esp + 0x84], ebx
mov dword [esi + 0xc], eax
jmp 0x461976
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x461976
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x461976
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x461976
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 0x461976
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 + 0x50c5f8]
mov dword [esi + 0x90], eax
movsx eax, byte [edx + 0x50c604]
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x461976
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 0x461ad1
mov eax, dword [esi + 0x80]
cmp eax, 0xc0
jb 0x461ad1
test al, 0x20
jne 0x4619c8
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 0x461ad1
test al, 0x10
jne 0x4619fb
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 0x461ad1
test al, 8
jne 0x461a3d
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 0x461ad1
movzx edx, byte [edi]
mov ecx, dword [esi + 0xc]
and edx, 0x3f
test al, 4
mov eax, dword [esi + 0x80]
jne 0x461a88
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 0x461aca
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 0x461ef5
test edx, edx
je 0x461b2c
mov edi, dword [esi + 0x80]
cmp edi, 0x7f
jbe 0x461b2c
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x50e928]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x461b10
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [esp + 0x8c]
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
mov eax, dword [eax*8 + 0x50d2ac]
add eax, edi
jmp 0x461b39
mov ecx, dword [ebp + 0x3c]
mov eax, dword [esi + 0x80]
movzx eax, byte [ecx + eax]
mov dword [esi + 0x94], eax
test edx, edx
je 0x461c80
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x461ccb
jmp 0x461b60
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ecx, byte [edx]
inc edx
mov dword [esi + 8], edx
cmp ecx, 0xc0
jb 0x461c59
movzx eax, byte [edx]
and eax, 0x3f
test cl, 0x20
jne 0x461b9a
and ecx, 0x1f
shl ecx, 6
or ecx, eax
lea eax, [edx + 1]
jmp 0x461c56
test cl, 0x10
jne 0x461bbb
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 0x461c56
test cl, 8
jne 0x461be5
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 0x461c56
test cl, 4
jne 0x461c1b
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 0x461c56
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.0x4640c6.14
cmp dword [esi + 0x94], ecx
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x461b60
jmp 0x461cc4
mov edx, 1
cmp dword [esi + 0x90], edx
jl 0x461cc4
lea ecx, [ecx]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4601b7
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je case.0x4640c6.14
cmp dword [esi + 0x94], ecx
je case.0x4640c6.14
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x90]
jle 0x461c90
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45d13a
test ebx, ebx
je 0x461cf4
test edx, edx
jne 0x46a4ea
mov dword [esi + 0x84], eax
jmp 0x4675bf
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x461e7d
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x461e6a
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x461e42
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x461e1e
test dl, 0x20
jne 0x461d52
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x461e1e
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x461d7c
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 0x461e1c
test dl, 8
jne 0x461da8
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 0x461e1c
test dl, 4
jne 0x461de0
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 0x461e1c
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 0x461e6a
cmp dword [esi + 0x94], edx
je 0x461e6a
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x461d14
jmp 0x461e6a
cmp dword [ebp + 0x88], 0
je 0x461e6a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x461e6a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x46869c
jmp 0x45d13a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x461ee2
jmp 0x461e90
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x461eba
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x461ee2
cmp dword [esi + 0x94], ecx
je 0x461ee2
inc eax
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x461e90
jmp 0x461ee2
cmp dword [ebp + 0x88], 0
je 0x461ee2
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x461ee2
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x4675ff
jmp 0x45d13a
test edx, edx
je 0x462017
mov ebx, 1
cmp dword [esi + 0x90], ebx
jl 0x462055
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x461ffc
test dl, 0x20
jne 0x461f4a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x461ff9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x461f71
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x461ff7
test dl, 8
jne 0x461f94
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 0x461ff7
test dl, 4
jne 0x461fc3
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 0x461ff7
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.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x461f10
jmp 0x46204e
mov edi, 1
cmp dword [esi + 0x90], edi
jl 0x462055
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462024
mov edx, dword [esp + 0x8c]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x8c]
je 0x45d13a
cmp dword [esp + 0x84], 0
je 0x462084
test edx, edx
jne 0x46a4ff
mov dword [esi + 0x84], eax
jmp 0x46768c
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
test edx, edx
je 0x462208
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4621f5
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4621cd
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4621b1
test dl, 0x20
jne 0x4620e2
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4621b1
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x46210c
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 0x4621af
test dl, 8
jne 0x46213b
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 0x4621af
test dl, 4
jne 0x462173
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 0x4621af
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 0x4621f5
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4620a4
jmp 0x4621f5
cmp dword [ebp + 0x88], 0
je 0x4621f5
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4621f5
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x468860
jmp 0x45d13a
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x462262
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46223a
movzx eax, byte [ecx]
cmp dword [esi + 0x80], eax
je 0x462262
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x462216
jmp 0x462262
cmp dword [ebp + 0x88], 0
je 0x462262
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x462262
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x4676cc
jmp 0x45d13a
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 0x4623b4
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 0x4623b4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4623b4
mov dword [esi + 0x90], 1
mov dword [esi + 0x8c], 0x7fffffff
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4623b4
mov dword [esi + 0x90], ebx
mov dword [esi + 0x8c], 1
inc dword [esi + 0xc]
mov dword [esp + 0x80], 1
jmp 0x4623b4
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 0x4623b4
mov eax, dword [esi + 0xc]
movzx ecx, byte [eax]
inc eax
mov dword [esi + 0xc], eax
movsx eax, byte [ecx + 0x50c5a3]
lea edx, [ecx - 0x55]
mov dword [esi + 0x90], eax
and edx, 1
movsx eax, byte [ecx + 0x50c5af]
mov dword [esp + 0x84], edx
mov dword [esi + 0x8c], eax
test eax, eax
jne 0x4623b4
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 0x4623d6
cmp ecx, 0xf
je 0x4623d6
mov dword [esi + 0x60], 0xffffffff
jmp 0x4623f9
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 0x46439b
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4631a8
cmp eax, 0xa
ja case.default.0x45f6ba
jmp dword [eax*4 + 0x46b114]
cmp dword [esi + 0x68], ebx
jne 0x45df3b
mov edx, 1
cmp ecx, edx
jl 0x46439b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edi, edi
je 0x46247f
cmp ecx, 0xc0
jb 0x46247f
test cl, 0x20
jne 0x46245b
inc eax
jmp 0x46247c
test cl, 0x10
jne 0x462465
add eax, 2
jmp 0x46247c
test cl, 8
jne 0x46246f
add eax, 3
jmp 0x46247c
test cl, 4
jne 0x462479
add eax, 4
jmp 0x46247c
add eax, 5
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x90]
jle 0x462438
jmp 0x46439b
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
mov eax, dword [esi + 8]
jmp 0x45e6e5
mov edi, 1
cmp ecx, edi
jl 0x46439b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4625aa
cmp ebx, 0xc0
jb 0x4625aa
test bl, 0x20
jne 0x4624f8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4625a7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46251f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x4625a5
test bl, 8
jne 0x462542
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 0x4625a5
test bl, 4
jne 0x462571
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 0x4625a5
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4625cc
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp eax, 9
je 0x4625f1
cmp eax, 5
je 0x4625f1
cmp eax, 8
je 0x4625f1
xor eax, eax
jmp 0x4625f6
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4624b0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x46439b
mov edi, edi
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x462718
cmp ebx, 0xc0
jb 0x462718
test bl, 0x20
jne 0x462668
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462715
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46268f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x462715
test bl, 8
jne 0x4626b2
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 0x462715
test bl, 4
jne 0x4626e1
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 0x462715
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46273a
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462620
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x46439b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x46287b
cmp ebx, 0xc0
jb 0x46287b
test bl, 0x20
jne 0x4627cb
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462878
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4627f2
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x462878
test bl, 8
jne 0x462815
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 0x462878
test bl, 4
jne 0x462844
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 0x462878
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46289d
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462783
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x46439b
nop
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x4629d8
cmp ebx, 0xc0
jb 0x4629d8
test bl, 0x20
jne 0x462928
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4629d5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46294f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4629d5
test bl, 8
jne 0x462972
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 0x4629d5
test bl, 4
jne 0x4629a1
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 0x4629d5
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4629fa
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4628e0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x46439b
lea esp, [esp]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x462b3a
cmp ebx, 0xc0
jb 0x462b3a
test bl, 0x20
jne 0x462a88
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462b37
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462aaf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x462b35
test bl, 8
jne 0x462ad2
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 0x462b35
test bl, 4
jne 0x462b01
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 0x462b35
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x462b5c
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x462b83
cmp eax, 3
je 0x462b83
xor eax, eax
jmp 0x462b88
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462a40
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x46439b
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x462caa
cmp ebx, 0xc0
jb 0x462caa
test bl, 0x20
jne 0x462bf8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462ca7
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462c1f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
lea eax, [edx + 2]
jmp 0x462ca5
test bl, 8
jne 0x462c42
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 0x462ca5
test bl, 4
jne 0x462c71
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 0x462ca5
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 0x462ced
je case.0x462d09.8192
cmp ebx, 0x85
ja 0x462cd9
je case.0x462d09.8192
cmp ebx, 9
jb case.0x462d09.8203
cmp ebx, 0xd
jbe case.0x462d09.8192
cmp ebx, 0x20
jmp 0x462d1e
cmp ebx, 0xa0
je case.0x462d09.8192
cmp ebx, 0x1680
jmp 0x462d1e
cmp ebx, 0x202f
ja 0x462d10
je case.0x462d09.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x462d09.8203
movzx eax, byte [eax + 0x46b148]
jmp dword [eax*4 + 0x46b140]
cmp ebx, 0x205f
je case.0x462d09.8192
cmp ebx, 0x3000
je case.0x462d09.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x462d42
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp dword [eax*4 + 0x50d0b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je case.0x4640c6.14
jmp 0x462d76
cmp dword [esi + 0x68], 0
jne case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462bb0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x46439b
jmp 0x462da0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edx
je 0x462e98
cmp ebx, 0xc0
jb 0x462e98
test bl, 0x20
jne 0x462de8
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x462e95
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x462e0f
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x462e95
test bl, 8
jne 0x462e32
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 0x462e95
test bl, 4
jne 0x462e61
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 0x462e95
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 + 0x50e928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x462ebb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x462ee7
cmp eax, 3
je 0x462ee7
cmp ebx, 0x5f
je 0x462ee7
xor eax, eax
jmp 0x462eec
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4640c6.14
inc edi
cmp edi, dword [esi + 0x90]
jle 0x462da0
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x46439b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46300c
cmp edx, 0xc0
jb 0x46300c
test dl, 0x20
jne 0x462f5c
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463009
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x462f83
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
lea eax, [edi + 2]
jmp 0x463009
test dl, 8
jne 0x462fa6
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 0x463009
test dl, 4
jne 0x462fd5
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 0x463009
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 + 0x50d168]
lea eax, [eax*4 + 0x50d168]
cmp edx, ecx
jb 0x46302e
lea eax, [eax + 4]
cmp edx, ecx
je 0x46304a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x463021
cmp dword [esi + 0x68], 0
je case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x462f14
jmp 0x46439b
cmp dword [esi + 0x68], 0
jne case.0x4640c6.14
jmp 0x463038
mov ebx, 1
cmp ecx, ebx
jl 0x46439b
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x8c], 0
mov dword [esi + 8], edi
je 0x46315d
cmp edx, 0xc0
jb 0x46315d
test dl, 0x20
jne 0x4630ab
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46315a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4630d2
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463158
test dl, 8
jne 0x4630f5
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 0x463158
test dl, 4
jne 0x463124
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 0x463158
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 0x463188
cmp edx, 0x40
je 0x463188
cmp edx, 0x60
je 0x463188
cmp edx, 0xa0
jb 0x46317c
cmp edx, 0xd7ff
jbe 0x463188
cmp edx, 0xe000
jae 0x463188
xor eax, eax
jmp 0x46318d
mov eax, 1
cmp eax, dword [esi + 0x68]
je case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463063
jmp 0x46439b
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4634d3
mov edi, 1
mov dword [esp + 0x94], edi
cmp ecx, edi
jl 0x46439b
jmp 0x4631d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4601b7
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x4632d0
cmp ebx, 0xc0
jb 0x4632d0
test bl, 0x20
jne 0x463219
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x4632cd
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x463240
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x4632c6
test bl, 8
jne 0x463263
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 0x4632c6
test bl, 4
jne 0x463292
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 0x4632c6
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4632f2
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2aa]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46348d
jmp 0x463320
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x46341e
cmp ebx, 0xc0
jb 0x46341e
test bl, 0x20
jne 0x463355
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x463416
test bl, 0x10
jne 0x46337a
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 0x463416
test bl, 8
jne 0x4633a8
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 0x463416
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4633e2
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 0x463416
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x463440
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x90]
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx ecx, byte [eax*8 + 0x50d2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d130], eax
je 0x463486
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 0x463320
mov edi, dword [esp + 0x94]
cmp dword [ebp + 0x88], 0
je 0x4634ba
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x4634ba
cmp eax, dword [ebp + 0x84]
jbe 0x4634ba
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc edi
mov dword [esp + 0x94], edi
cmp edi, dword [esi + 0x90]
jle 0x4631d0
jmp 0x46439b
mov edx, dword [esp + 0x8c]
add eax, 0xfffffffa
test edx, edx
je 0x463f9f
cmp eax, 0xf
ja case.0x4664e7.9
jmp dword [eax*4 + 0x46b174]
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4601b7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x463537
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne case.0x4640c6.14
jmp 0x46355b
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46355b
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46355b
cmp edx, 1
je case.0x4640c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4640c6.14
cmp dword [ebp + 0x88], 0
je 0x463596
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x463596
cmp dword [ebp + 0x18], 0
jne 0x463596
cmp dword [edi], 2
jne 0x463596
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x463596
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4635b2
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4635b2
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4635a1
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463502
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
mov edx, dword [ebp + 0x78]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x46248d
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x463608
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x463608
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x4635f0
inc edi
cmp edi, dword [esi + 0x90]
jle 0x4635d4
jmp 0x46439b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
ja 0x45df3b
lea eax, [ecx + edx]
mov dword [esi + 8], eax
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
mov edi, edi
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46372c
test dl, 0x20
jne 0x46367a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463729
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4636a1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463727
test dl, 8
jne 0x4636c4
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 0x463727
test dl, 4
jne 0x4636f3
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 0x463727
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 0x463750
je 0x46373d
cmp edx, 0xa
je 0x463771
lea eax, [edx - 0xb]
jmp 0x46375e
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x463771
cmp byte [eax], 0xa
jne 0x463771
inc eax
mov dword [esi + 8], eax
jmp 0x463771
cmp edx, 0x85
je 0x463767
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4640c6.14
cmp dword [ebp + 0x68], 0
jne case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463640
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x46387c
test dl, 0x20
jne 0x4637ca
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463879
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4637f1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463877
test dl, 8
jne 0x463814
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 0x463877
test dl, 4
jne 0x463843
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 0x463877
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 0x4638ae
je case.0x4640c6.14
cmp edx, 0xa0
ja 0x4638a6
je case.0x4640c6.14
cmp edx, 9
je case.0x4640c6.14
cmp edx, 0x20
jmp 0x4638de
cmp edx, 0x1680
jmp 0x4638de
cmp edx, 0x205f
ja 0x4638d8
je case.0x4640c6.14
cmp edx, 0x2000
jb 0x4638e4
cmp edx, 0x200a
jbe case.0x4640c6.14
cmp edx, 0x202f
jmp 0x4638de
cmp edx, 0x3000
je case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463790
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x4639ef
test dl, 0x20
jne 0x46393d
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x4639ec
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463964
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x4639ea
test dl, 8
jne 0x463987
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 0x4639ea
test dl, 4
jne 0x4639b6
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 0x4639ea
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 0x463a15
je 0x463a47
cmp edx, 0xa0
ja 0x463a0d
je 0x463a47
cmp edx, 9
je 0x463a47
cmp edx, 0x20
jmp 0x463a41
cmp edx, 0x1680
jmp 0x463a41
cmp edx, 0x205f
ja 0x463a3b
je 0x463a47
cmp edx, 0x2000
jb case.0x4640c6.14
cmp edx, 0x200a
jbe 0x463a47
cmp edx, 0x202f
jmp 0x463a41
cmp edx, 0x3000
jne case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463903
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
jmp 0x463a70
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x463b5c
test dl, 0x20
jne 0x463aaa
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463b59
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463ad1
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463b57
test dl, 8
jne 0x463af4
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 0x463b57
test dl, 4
jne 0x463b23
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 0x463b57
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 0x463b74
je case.0x4640c6.14
cmp edx, 0xa
jb 0x463b88
cmp edx, 0xd
jmp 0x463b82
cmp edx, 0x2028
jb 0x463b88
cmp edx, 0x2029
jbe case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463a70
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
jmp 0x463bb0
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x463c9c
test dl, 0x20
jne 0x463bea
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463c99
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463c11
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463c97
test dl, 8
jne 0x463c34
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 0x463c97
test dl, 4
jne 0x463c63
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 0x463c97
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 0x463cae
je 0x463cbd
lea eax, [edx - 0xa]
cmp eax, 3
jmp 0x463cb7
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463bb0
jmp 0x46439b
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
lea esp, [esp]
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x4601b7
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x463dcc
test dl, 0x20
jne 0x463d1a
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x463dc9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x463d41
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x463dc7
test dl, 8
jne 0x463d64
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 0x463dc7
test dl, 4
jne 0x463d93
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 0x463dc7
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 0x463de1
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne case.0x4640c6.14
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463ce0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46248d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4640c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x4640c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x463e00
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x46248d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x463e73
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne case.0x4640c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x463e98
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x463e98
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x463e80
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463e50
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46248d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4640c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x4640c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x463eb3
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
mov edx, dword [ebp + 0x78]
nop
mov ecx, dword [esi + 8]
cmp ecx, edx
jae 0x46248d
movzx edx, byte [ecx]
cmp edx, 0x80
jae 0x463f23
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x4640c6.14
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x463f48
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x463f48
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x463f30
inc edi
cmp edi, dword [esi + 0x90]
jle 0x463f00
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46248d
movzx edx, byte [ecx]
cmp edx, 0x80
jae case.0x4640c6.14
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x4640c6.14
lea eax, [ecx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x463f63
jmp 0x46439b
cmp eax, 0xf
ja case.0x4664e7.9
jmp dword [eax*4 + 0x46b1b4]
mov ebx, 1
cmp ecx, ebx
jl 0x4643a2
lea esp, [esp]
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4601b7
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x463ff0
push 0
push edi
push eax
push edx
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne case.0x4640c6.14
jmp 0x464014
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x464014
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x464014
cmp edx, 1
je case.0x4640c6.14
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je case.0x4640c6.14
cmp dword [ebp + 0x88], 0
je 0x46404f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x46404f
cmp dword [ebp + 0x18], 0
jne 0x46404f
cmp dword [edi], 2
jne 0x46404f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x46404f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x90]
jle 0x463fc0
jmp 0x46439b
mov eax, dword [ebp + 0x78]
mov edx, dword [esi + 8]
sub eax, ecx
cmp edx, eax
jbe 0x463626
cmp dword [ebp + 0x88], ebx
je case.0x4640c6.14
cmp edx, dword [ebp + 0x84]
jbe case.0x4640c6.14
jmp 0x45e092
mov edx, 1
cmp ecx, edx
jl 0x46439b
mov edi, edi
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x46248d
movzx eax, byte [ecx]
inc ecx
sub eax, 0xa
mov dword [esi + 8], ecx
cmp eax, 0x7b
ja case.0x4640c6.14
movzx eax, byte [eax + 0x46b204]
jmp dword [eax*4 + 0x46b1f4]
cmp ecx, dword [ebp + 0x78]
jae case.0x4640c6.10
cmp byte [ecx], 0xa
jne case.0x4640c6.10
lea eax, [ecx + 1]
mov dword [esi + 8], eax
jmp case.0x4640c6.10
cmp dword [ebp + 0x68], ebx
jne case.0x4640c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4640a0
jmp 0x46439b
mov edx, 1
cmp ecx, edx
jl 0x46439b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je case.0x4640c6.14
cmp ecx, 0x20
je case.0x4640c6.14
cmp ecx, 0xa0
je case.0x4640c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464103
jmp 0x46439b
mov edx, 1
cmp ecx, edx
jl 0x46439b
nop
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 9
je 0x464179
cmp ecx, 0x20
je 0x464179
cmp ecx, 0xa0
jne case.0x4640c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464150
jmp 0x46439b
mov edx, 1
cmp ecx, edx
jl 0x46439b
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl 0x4641c1
cmp ecx, 0xd
jle case.0x4640c6.14
cmp ecx, 0x85
je case.0x4640c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x464194
jmp 0x46439b
mov edx, 1
cmp ecx, edx
jl 0x46439b
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
cmp ecx, 0xa
jl case.0x4640c6.14
cmp ecx, 0xd
jle 0x46420d
cmp ecx, 0x85
jne case.0x4640c6.14
inc edx
cmp edx, dword [esi + 0x90]
jle 0x4641e0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
jmp 0x464230
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne case.0x4640c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464230
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4640c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464270
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne case.0x4640c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4642b0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
lea ecx, [ecx]
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4640c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x4642f0
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
jmp 0x464330
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4640c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464330
jmp 0x46439b
mov edi, 1
cmp ecx, edi
jl 0x4643a2
jmp 0x464370
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x46248d
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4640c6.14
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x90]
jle 0x464370
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x90]
cmp ecx, dword [esi + 0x8c]
je 0x45d13a
cmp dword [esp + 0x84], 0
je 0x464402
mov eax, dword [esi + 0x60]
test eax, eax
js 0x4643e5
cmp eax, 0xa
ja case.0x4664e7.9
jmp dword [eax*4 + 0x46b280]
mov esi, dword [esi]
test esi, esi
je case.default.0x4669b4
mov edi, 0xfffffff2
jmp 0x4669a0
cmp dword [esi + 0x7c], 0x16
je 0x46a5d3
test edx, edx
jne 0x46a5be
mov dword [esi + 0x84], ecx
jmp 0x467835
mov eax, dword [esi + 8]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x60]
test eax, eax
js 0x46543b
cmp eax, 0xa
ja case.0x4664e7.9
jmp dword [eax*4 + 0x46b2ac]
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x465428
mov ebx, dword [esp + 0x8c]
jmp 0x464440
mov edx, dword [esi + 8]
mov eax, 1
cmp edx, dword [ebp + 0x78]
jae 0x4644ab
movzx ecx, byte [edx]
test ebx, ebx
je 0x46448e
cmp ecx, 0xc0
jb 0x46448e
test cl, 0x20
jne 0x464468
mov eax, 2
jmp 0x46448e
test cl, 0x10
jne 0x464474
mov eax, 3
jmp 0x46448e
test cl, 8
jne 0x464480
mov eax, 4
jmp 0x46448e
test cl, 4
mov eax, 0
setne al
add eax, 5
cmp dword [esi + 0x68], 0
jne 0x465428
add eax, edx
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x464440
jmp 0x465428
cmp dword [ebp + 0x88], 0
je 0x465428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x465428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x465428
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
mov edx, ebx
jmp 0x4669a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46466e
movzx ebx, byte [edi]
test edx, edx
je 0x4645ec
cmp ebx, 0xc0
jb 0x4645ec
test bl, 0x20
jne 0x46454e
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x4645e4
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46456d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x4645e4
and eax, 0x3f
test bl, 8
jne 0x46458d
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x4645e4
test bl, 4
jne 0x4645b6
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 0x4645e4
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46460e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp eax, 9
je 0x464633
cmp eax, 5
je 0x464633
cmp eax, 8
je 0x464633
xor eax, eax
jmp 0x464638
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x465428
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 0x464510
jmp 0x465428
cmp dword [ebp + 0x88], 0
je 0x465428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x465428
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x465428
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x4669a0
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
jmp 0x4646d0
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x464852
movzx ebx, byte [edi]
test edx, edx
je 0x4647d3
cmp ebx, 0xc0
jb 0x4647d3
test bl, 0x20
jne 0x46471a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x4647cb
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x464742
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x4647cb
and eax, 0x3f
test bl, 8
jne 0x464768
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 0x4647cb
test bl, 4
jne 0x464797
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 0x4647cb
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4647f5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x465428
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 0x4646d0
jmp 0x465428
cmp dword [ebp + 0x88], 0
je 0x465428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x465428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jmp 0x464693
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x464852
movzx ebx, byte [edi]
test edx, edx
je 0x46499f
cmp ebx, 0xc0
jb 0x46499f
test bl, 0x20
jne 0x4648e6
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x464997
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x46490e
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x464997
and eax, 0x3f
test bl, 8
jne 0x464934
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 0x464997
test bl, 4
jne 0x464963
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 0x464997
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4649c1
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x465428
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 0x4648a0
jmp 0x465428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x464852
movzx ebx, byte [edi]
test edx, edx
je 0x464b33
cmp ebx, 0xc0
jb 0x464b33
test bl, 0x20
jne 0x464a7a
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x464b2b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x464aa2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x464b2b
and eax, 0x3f
test bl, 8
jne 0x464ac8
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 0x464b2b
test bl, 4
jne 0x464af7
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 0x464b2b
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x464b55
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x465428
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 0x464a30
jmp 0x465428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46466e
movzx ebx, byte [edi]
test edx, edx
je 0x464ca3
cmp ebx, 0xc0
jb 0x464ca3
test bl, 0x20
jne 0x464c02
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov ecx, 2
jmp 0x464c9b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x464c24
and ebx, 0xf
shl ebx, 6
or ebx, ecx
mov ecx, 3
jmp 0x464c9b
and eax, 0x3f
test bl, 8
jne 0x464c44
and ebx, 7
shl ebx, 6
or ebx, ecx
mov ecx, 4
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x464c9b
test bl, 4
jne 0x464c6d
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 0x464c9b
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x464cc5
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x464cec
cmp eax, 3
je 0x464cec
xor eax, eax
jmp 0x464cf1
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x465428
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 0x464bc4
jmp 0x465428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x464852
movzx ebx, byte [edi]
test edx, edx
je 0x464e4d
cmp ebx, 0xc0
jb 0x464e4d
test bl, 0x20
jne 0x464d92
movzx eax, byte [edi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [esp + 0x84], 2
jmp 0x464e4d
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x464dba
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ecx, ebx
jmp 0x464e43
and eax, 0x3f
test bl, 8
jne 0x464de0
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 0x464e43
test bl, 4
jne 0x464e0f
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 0x464e43
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 0x464e90
je case.0x464eb0.8192
cmp ebx, 0x85
ja 0x464e7c
je case.0x464eb0.8192
cmp ebx, 9
jb case.0x464eb0.8203
cmp ebx, 0xd
jbe case.0x464eb0.8192
cmp ebx, 0x20
jmp 0x464ec5
cmp ebx, 0xa0
je case.0x464eb0.8192
cmp ebx, 0x1680
jmp 0x464ec5
cmp ebx, 0x202f
ja 0x464eb7
je case.0x464eb0.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x464eb0.8203
movzx eax, byte [eax + 0x46b2e0]
jmp dword [eax*4 + 0x46b2d8]
cmp ebx, 0x205f
je case.0x464eb0.8192
cmp ebx, 0x3000
je case.0x464eb0.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x464ee9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp dword [eax*4 + 0x50d0b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
je 0x465428
mov edx, dword [esp + 0x8c]
jmp 0x464f24
cmp dword [esi + 0x68], 0
jne 0x465428
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 0x464d40
jmp 0x465428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x90], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
lea esp, [esp]
mov edi, dword [esi + 8]
mov dword [esp + 0x84], 1
cmp edi, dword [ebp + 0x78]
jae 0x464852
movzx ebx, byte [edi]
test edx, edx
je 0x465073
cmp ebx, 0xc0
jb 0x465073
test bl, 0x20
jne 0x464fba
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov dword [esp + 0x84], 2
jmp 0x46506b
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x464fe2
and ebx, 0xf
mov dword [esp + 0x84], 3
shl ebx, 6
or ebx, ecx
jmp 0x46506b
and eax, 0x3f
test bl, 8
jne 0x465008
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 0x46506b
test bl, 4
jne 0x465037
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 0x46506b
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 + 0x50e928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x465096
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x4650c2
cmp eax, 3
je 0x4650c2
cmp ebx, 0x5f
je 0x4650c2
xor eax, eax
jmp 0x4650c7
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x465428
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 0x464f70
jmp 0x465428
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
cmp eax, dword [esi + 0x8c]
jge 0x465428
lea esp, [esp]
mov edi, dword [esi + 8]
mov ebx, 1
cmp edi, dword [ebp + 0x78]
jae 0x46525f
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x465201
cmp edx, 0xc0
jb 0x465201
test dl, 0x20
jne 0x465164
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ebx, 2
jmp 0x4651f9
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x465183
and edx, 0xf
mov ebx, 3
shl edx, 6
or edx, ecx
jmp 0x4651f9
and eax, 0x3f
test dl, 8
jne 0x4651a3
and edx, 7
mov ebx, 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x4651f9
test dl, 4
jne 0x4651cc
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 0x4651f9
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 + 0x50d168]
lea eax, [eax*4 + 0x50d168]
cmp edx, ecx
jb 0x465223
lea eax, [eax + 4]
cmp edx, ecx
je 0x465253
mov ecx, dword [eax]
cmp edx, ecx
jae 0x465216
cmp dword [esi + 0x68], 0
je 0x465428
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 0x465120
jmp 0x465428
cmp dword [esi + 0x68], 0
jne 0x465428
jmp 0x46522d
cmp dword [ebp + 0x88], 0
je 0x465428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x465428
mov dword [ebp + 0x64], ebx
cmp dword [ebp + 0x88], ebx
jle 0x465428
jmp 0x45e0a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x465428
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x465400
cmp dword [esp + 0x8c], 0
movzx edx, byte [edi]
je 0x4653b7
cmp edx, 0xc0
jb 0x4653b7
test dl, 0x20
jne 0x4652ed
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x4653b7
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x465317
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 0x4653b7
test dl, 8
jne 0x465343
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 0x4653b7
test dl, 4
jne 0x46537b
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 0x4653b7
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 0x4653e2
cmp edx, 0x40
je 0x4653e2
cmp edx, 0x60
je 0x4653e2
cmp edx, 0xa0
jb 0x4653d6
cmp edx, 0xd7ff
jbe 0x4653e2
cmp edx, 0xe000
jae 0x4653e2
xor ecx, ecx
jmp 0x4653e7
mov ecx, 1
cmp ecx, dword [esi + 0x68]
je 0x465428
add eax, edi
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4652a1
jmp 0x465428
cmp dword [ebp + 0x88], 0
je 0x465428
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x465428
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
je 0x4698dc
jmp 0x45d13a
mov eax, dword [esi + 0x7c]
cmp eax, 0x16
jne 0x4657d7
mov edi, dword [esi + 0x90]
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jge 0x465788
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x465760
movzx ebx, byte [edx]
inc edx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 8], edx
test ecx, ecx
je 0x465560
cmp ebx, 0xc0
jb 0x465560
test bl, 0x20
jne 0x4654a9
movzx eax, byte [edx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edx + 1]
jmp 0x46555d
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4654d0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
lea eax, [edx + 2]
jmp 0x465556
test bl, 8
jne 0x4654f3
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 0x465556
test bl, 4
jne 0x465522
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 0x465556
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x465582
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2aa]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x46571d
jmp 0x4655b0
mov eax, dword [esi + 8]
mov edi, 1
movzx ebx, byte [eax]
test ecx, ecx
je 0x4656ae
cmp ebx, 0xc0
jb 0x4656ae
test bl, 0x20
jne 0x4655e5
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4656a6
test bl, 0x10
jne 0x46560a
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 0x4656a6
test bl, 8
jne 0x465638
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 0x4656a6
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x465672
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 0x4656a6
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4656d0
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x84]
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx ecx, byte [eax*8 + 0x50d2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d130], eax
je 0x465716
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 0x4655b0
mov edi, dword [esp + 0x90]
cmp dword [ebp + 0x88], 0
je 0x46574a
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x46574a
cmp eax, dword [ebp + 0x84]
jbe 0x46574a
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc edi
mov dword [esp + 0x90], edi
cmp edi, dword [esi + 0x8c]
jl 0x465460
jmp 0x465788
cmp dword [ebp + 0x88], 0
je 0x465788
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x465788
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
cmp dword [esp + 0x80], 0
jne 0x45d13a
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ad05
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46acfb
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
add eax, 0xfffffffa
test edx, edx
je 0x4664de
cmp eax, 0xf
ja case.0x4664e7.9
jmp dword [eax*4 + 0x46b30c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4658c6
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x465839
push dword [esp + 0x8c]
push edi
push eax
push edx
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x4664cb
jmp 0x46585d
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x46585d
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x46585d
cmp edx, 1
je 0x4664cb
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x4664cb
cmp dword [ebp + 0x88], 0
je 0x465898
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x465898
cmp dword [ebp + 0x18], 0
jne 0x465898
cmp dword [edi], 2
jne 0x465898
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x465898
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4658b4
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4658b4
inc ecx
mov dword [esi + 8], ecx
cmp ecx, dword [ebp + 0x78]
jb 0x4658a3
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x465804
jmp 0x4664cb
cmp dword [ebp + 0x88], 0
je 0x4664cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4664cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4664cb
jmp 0x45e0a6
mov eax, dword [esi + 0x8c]
cmp eax, 0x7fffffff
jge 0x465958
mov edi, dword [esi + 0x90]
cmp edi, eax
jge 0x4664cb
mov edx, dword [ebp + 0x78]
lea esp, [esp]
mov eax, dword [esi + 8]
cmp eax, edx
jae 0x4658c6
inc eax
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jae 0x46594a
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46594a
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov edx, dword [ebp + 0x78]
cmp eax, edx
jb 0x465932
inc edi
cmp edi, dword [esi + 0x8c]
jl 0x465920
jmp 0x4664cb
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x4664cb
cmp eax, dword [ebp + 0x84]
jbe 0x4664cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4664cb
jmp 0x464699
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 0x4659df
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x4664cb
cmp edx, dword [ebp + 0x84]
jbe 0x4664cb
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x4664cb
jmp 0x45e0a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov eax, 1
cmp edi, dword [ebp + 0x78]
jae 0x4658c6
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x465b0a
test dl, 0x20
jne 0x465a3e
movzx eax, byte [edi + 1]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, 2
jmp 0x465b0a
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x465a68
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 0x465b08
test dl, 8
jne 0x465a94
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 0x465b08
test dl, 4
jne 0x465acc
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 0x465b08
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 0x465b26
lea eax, [edi + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x4664cb
cmp byte [eax], 0xa
jne 0x465b60
inc eax
jmp 0x465b5d
cmp edx, 0xa
je 0x465b5b
cmp dword [ebp + 0x68], 0
jne 0x4664cb
cmp edx, 0xb
je 0x465b5b
cmp edx, 0xc
je 0x465b5b
cmp edx, 0x85
je 0x465b5b
cmp edx, 0x2028
je 0x465b5b
cmp edx, 0x2029
jne 0x4664cb
add eax, edi
mov dword [esi + 8], eax
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x465a00
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x465c58
test dl, 0x20
jne 0x465bba
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x465c50
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x465bd9
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x465c50
and eax, 0x3f
test dl, 8
jne 0x465bf9
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x465c50
test dl, 4
jne 0x465c22
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 0x465c50
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 0x465c7e
je 0x465cac
cmp edx, 0xa0
ja 0x465c76
je 0x465cac
cmp edx, 9
je 0x465cac
cmp edx, 0x20
jmp 0x465ca6
cmp edx, 0x1680
jmp 0x465ca6
cmp edx, 0x205f
ja 0x465ca0
je 0x465cac
cmp edx, 0x2000
jb 0x465ca8
cmp edx, 0x200a
jbe 0x465cac
cmp edx, 0x202f
jmp 0x465ca6
cmp edx, 0x3000
je 0x465cac
xor edx, edx
jmp 0x465cb1
mov edx, 1
xor eax, eax
cmp dword [esi + 0x7c], 0x12
sete al
cmp edx, eax
je 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x465b84
jmp 0x4664cb
cmp dword [ebp + 0x88], 0
je 0x4664cb
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x4664cb
mov dword [ebp + 0x64], ecx
cmp dword [ebp + 0x88], ecx
jle 0x4664cb
jmp 0x45e0a6
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
lea esp, [esp]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x465df0
test dl, 0x20
jne 0x465d52
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x465de8
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x465d71
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x465de8
and eax, 0x3f
test dl, 8
jne 0x465d91
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x465de8
test dl, 4
jne 0x465dba
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 0x465de8
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 0x465e2f
je 0x465e3a
cmp edx, 0xa
jb 0x465e04
cmp edx, 0xd
jbe 0x465e3a
xor edx, edx
xor eax, eax
cmp dword [esi + 0x7c], 0x14
sete al
cmp edx, eax
je 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x465d20
jmp 0x4664cb
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x465e04
mov edx, 1
jmp 0x465e06
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x465f27
test dl, 0x20
jne 0x465e89
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x465f1f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x465ea8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x465f1f
and eax, 0x3f
test dl, 8
jne 0x465ec8
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x465f1f
test dl, 4
jne 0x465ef1
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 0x465f1f
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 0x465f3c
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jne 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x465e53
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
jmp 0x465f70
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466044
test dl, 0x20
jne 0x465fa6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46603c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x465fc5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46603c
and eax, 0x3f
test dl, 8
jne 0x465fe5
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46603c
test dl, 4
jne 0x46600e
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 0x46603c
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 0x4664cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x465f70
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
jmp 0x466090
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466164
test dl, 0x20
jne 0x4660c6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46615c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4660e5
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46615c
and eax, 0x3f
test dl, 8
jne 0x466105
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46615c
test dl, 4
jne 0x46612e
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 0x46615c
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 0x466179
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jne 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x466090
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466277
test dl, 0x20
jne 0x4661d9
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46626f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x4661f8
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46626f
and eax, 0x3f
test dl, 8
jne 0x466218
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46626f
test dl, 4
jne 0x466241
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 0x46626f
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 0x4664cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4661a3
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
lea ebx, [ebx]
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x466394
test dl, 0x20
jne 0x4662f6
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46638c
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466315
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46638c
and eax, 0x3f
test dl, 8
jne 0x466335
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46638c
test dl, 4
jne 0x46635e
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 0x46638c
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 0x4663a9
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4662c0
jmp 0x4664cb
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x4664cb
mov edi, dword [esi + 8]
mov ecx, 1
cmp edi, dword [ebp + 0x78]
jae 0x465cda
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x4664a7
test dl, 0x20
jne 0x466409
movzx eax, byte [edi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x46649f
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test dl, 0x10
jne 0x466428
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x46649f
and eax, 0x3f
test dl, 8
jne 0x466448
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
jmp 0x46649f
test dl, 4
jne 0x466471
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 0x46649f
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 0x4664cb
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je 0x4664cb
lea eax, [ecx + edi]
inc ebx
mov dword [esi + 8], eax
cmp ebx, dword [esi + 0x8c]
jl 0x4663d3
cmp dword [esp + 0x80], 0
je 0x468d98
jmp 0x45d13a
cmp eax, 0xf
ja case.0x4664e7.9
jmp dword [eax*4 + 0x46b34c]
mov ebx, dword [esi + 0x90]
cmp ebx, dword [esi + 0x8c]
jge 0x466977
mov ecx, dword [esi + 8]
mov eax, dword [ebp + 0x78]
cmp ecx, eax
jae 0x4665a4
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x466530
push 0
push edi
push eax
push edx
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x466977
jmp 0x466554
mov edx, dword [edi]
sub eax, edx
cmp ecx, eax
ja 0x466554
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x466554
cmp edx, 1
je 0x466977
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x466977
cmp dword [ebp + 0x88], 0
je 0x46658f
mov eax, dword [esi + 8]
inc eax
cmp eax, dword [ebp + 0x78]
jb 0x46658f
cmp dword [ebp + 0x18], 0
jne 0x46658f
cmp dword [edi], 2
jne 0x46658f
mov eax, dword [esi + 8]
mov al, byte [eax]
cmp al, byte [ebp + 0x34]
jne 0x46658f
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc dword [esi + 8]
inc ebx
cmp ebx, dword [esi + 0x8c]
jl 0x466500
jmp 0x466977
cmp dword [ebp + 0x88], 0
je 0x466977
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x84]
jbe 0x466977
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x466977
jmp 0x45e0a6
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 0x466628
mov dword [esi + 8], edx
cmp dword [ebp + 0x88], 0
je 0x466977
cmp edx, dword [ebp + 0x84]
jbe 0x466977
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x466977
jmp 0x45e0a6
lea eax, [ecx + edi]
mov dword [esi + 8], eax
jmp 0x466977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x466977
jmp 0x466650
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4665a4
movzx eax, byte [ecx]
cmp eax, 0xd
jne 0x46667b
lea eax, [ecx + 1]
mov dword [esi + 8], eax
cmp eax, dword [ebp + 0x78]
jae 0x466977
cmp byte [eax], 0xa
jne 0x4666a5
inc eax
jmp 0x4666a2
cmp eax, 0xa
je 0x46669f
cmp dword [ebp + 0x68], 0
jne 0x466977
cmp eax, 0xb
je 0x46669f
cmp eax, 0xc
je 0x46669f
cmp eax, 0x85
jne 0x466977
lea eax, [ecx + 1]
mov dword [esi + 8], eax
inc edx
cmp edx, dword [esi + 0x8c]
jl 0x466650
jmp 0x466977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x466977
jmp 0x4666d0
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4665a4
mov al, byte [ecx]
cmp al, 9
je 0x466977
cmp al, 0x20
je 0x466977
cmp al, 0xa0
je 0x466977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4666d0
jmp 0x466977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x466977
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4665a4
mov al, byte [ecx]
cmp al, 9
je 0x46673e
cmp al, 0x20
je 0x46673e
cmp al, 0xa0
jne 0x466977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x466720
jmp 0x466977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x466977
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4665a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x466786
cmp al, 0xd
jbe 0x466977
cmp al, 0x85
je 0x466977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x466764
jmp 0x466977
mov edx, dword [esi + 0x90]
cmp edx, dword [esi + 0x8c]
jge 0x466977
lea esp, [esp]
mov ecx, dword [esi + 8]
cmp ecx, dword [ebp + 0x78]
jae 0x4665a4
mov al, byte [ecx]
cmp al, 0xa
jb 0x466977
cmp al, 0xd
jbe 0x4667d2
cmp al, 0x85
jne 0x466977
lea eax, [ecx + 1]
inc edx
mov dword [esi + 8], eax
cmp edx, dword [esi + 0x8c]
jl 0x4667b0
jmp 0x466977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466977
jmp 0x466800
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4665a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jne 0x466977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x466800
jmp 0x466977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466977
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4665a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je 0x466977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x466842
jmp 0x466977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466977
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4665a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jne 0x466977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x466884
jmp 0x466977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466977
jmp 0x4668d0
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4665a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je 0x466977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x4668d0
jmp 0x466977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466977
jmp 0x466910
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4665a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne 0x466977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x466910
jmp 0x466977
mov edi, dword [esi + 0x90]
cmp edi, dword [esi + 0x8c]
jge 0x466977
jmp 0x466950
mov edx, dword [esi + 8]
cmp edx, dword [ebp + 0x78]
jae 0x4665a4
movzx ecx, byte [edx]
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je 0x466977
lea eax, [edx + 1]
inc edi
mov dword [esi + 8], eax
cmp edi, dword [esi + 0x8c]
jl 0x466950
cmp dword [esp + 0x80], 0
je 0x4679da
jmp 0x45d13a
mov esi, dword [esi]
test esi, esi
je 0x46ae51
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.0x4669b4
jmp dword [eax*4 + 0x46b38c]
cmp edi, 0xfffffc1b
je 0x466a86
cmp edi, 0xfffffc20
jne 0x466a03
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.0x4669b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x4669ff
cmp byte [ecx], 0x77
jne case.0x4669b4.49
xor edi, edi
jmp 0x466a0b
test edi, edi
jne case.0x4669b4.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 0x466a86
cmp dword [esi + 0x9c], 0x88
jb 0x466a51
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46a7da
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a7d0
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
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 0x466e7c
mov edx, dword [esp + 0x8c]
jmp 0x4669a4
cmp edi, 0xfffffc20
jne 0x466b43
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 0x466b91
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x466b0e
cmp byte [ecx], 0x77
jne 0x466b91
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 0x466ba7
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a4
test edi, edi
je 0x466b0e
cmp edi, 0xfffffc1b
jne 0x466b91
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x81
je 0x466b83
cmp al, 0x77
jne 0x466b74
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 0x466b60
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 0x466e7c
mov edx, dword [esp + 0x8c]
jmp 0x4669a4
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
mov eax, dword [esi + 0x9c]
cmp eax, 0x88
jae 0x466bf9
cmp eax, 0x81
je 0x466bf9
cmp dword [ebp + 0x6c], 0
jne 0x466c03
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 0x466c03
mov ecx, edx
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x50cfa0]
add eax, ecx
mov dword [esi + 0xc], eax
jmp 0x45d0c0
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 0x46a7fc
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a7f2
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
cmp edi, 1
jne 0x466cc3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esi + 0x14]
jle 0x466c60
mov dword [esi + 0x14], eax
mov dword [esi + 0x58], 1
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x92
jne 0x466c73
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 0x466ca9
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 0x466c90
mov edx, dword [esp + 0x88]
mov ecx, 3
movzx eax, byte [edx + 0x50cfa0]
sub ecx, eax
add dword [esi + 0xc], ecx
jmp case.0x45d56e.145
test edi, edi
je 0x466cd3
cmp edi, 0xfffffc20
jne case.0x4669b4.49
mov edx, dword [esp + 0x88]
cmp dword [esi + 0x58], 0
je 0x466ce9
movzx eax, byte [edx + 0x50cfa0]
jmp 0x466cec
mov eax, dword [esi + 0x78]
add dword [esi + 0xc], eax
cmp dword [esi + 0x58], 0
mov eax, dword [esi + 0xc]
jne 0x466d09
cmp byte [eax - 3], 0x77
mov edi, dword [esp + 0x8c]
jne 0x45d141
cmp dword [esi + 0x9c], 0x8c
jne 0x45d0c0
mov dword [ebp + 0x98], 2
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a81e
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a814
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
cmp edi, 1
je 0x466e02
cmp edi, 0xfffffc19
je 0x466e02
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jne 0x466daa
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.0x4669b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x466db2
cmp byte [ecx], 0x77
jmp 0x466dac
test edi, edi
jne case.0x4669b4.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 0x466e08
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a837
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a82d
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x78
jne 0x466e21
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a4
cmp dword [esi + 0x58], 0
je 0x46a45e
mov esi, dword [esi]
test esi, esi
je 0x46adf6
mov edi, 1
jmp 0x4669a4
mov eax, dword [esi + 0x28]
mov dword [ebp + 0xac], eax
cmp edi, 0xfffffc20
jg 0x466eed
je 0x466e86
cmp edi, 0xfffffc19
je 0x467723
cmp edi, 0xfffffc1b
jle case.0x4669b4.49
cmp edi, 0xfffffc1f
jle 0x466eae
mov esi, dword [esi]
test esi, esi
jne 0x4669a4
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 0x466eae
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x466f00
cmp byte [ecx], 0x77
je 0x466f00
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 0x466eb1
cmp dword [esi + 0x58], 0
je 0x467137
mov esi, dword [esi]
test esi, esi
je 0x46adf6
mov edx, dword [esp + 0x8c]
mov edi, 1
jmp 0x4669a4
mov eax, edi
sub eax, 0
je 0x466f00
dec eax
je 0x467723
jmp case.0x4669b4.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 0x466ec8
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a84d
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a843
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov eax, dword [esi + 0x48]
shl eax, 2
push eax
push dword [esi + 0x44]
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 0x4c]
lea ebx, [esi + 0x3c]
mov dword [ebp + 0x90], eax
add esp, 0xc
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
cmp edi, 1
je 0x46a48c
cmp edi, 0xfffffc19
je 0x46a48c
lea eax, [edi + 0x3e4]
cmp eax, 4
ja 0x466fb9
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x45df3b
push ecx
call dword [0x2245eb4]
add esp, 4
jmp 0x45df3b
test edi, edi
je 0x466fe3
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x466fd4
push ecx
call dword [0x2245eb4]
add esp, 4
mov esi, dword [esi]
test esi, esi
je 0x466e7c
jmp 0x466999
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 0x467049
cmp dword [esi + 0x58], 0
je 0x467014
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46a893
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46a889
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov eax, dword [ebx]
mov dword [ebp + 0xa4], eax
jmp 0x466f99
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x34]
mov al, byte [eax]
cmp al, 0x81
jne 0x4670a3
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a8e1
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a8d7
mov esi, dword [esi]
test esi, esi
je 0x46adab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4669a4
cmp al, 0x88
jb 0x46a5e4
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a903
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a8f9
mov esi, dword [esi]
test esi, esi
je 0x46adab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x34]
mov dword [ebp + 0xb4], eax
mov esi, dword [esi]
test esi, esi
je 0x46ae03
mov edi, 0xfffffc1b
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
mov edx, dword [esi + 0x2c]
jmp 0x467120
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 0x467120
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
jmp 0x45d13a
test edi, edi
je 0x45e9b4
jmp case.0x4669b4.49
test edi, edi
je 0x4670ef
jmp case.0x4669b4.49
cmp edi, 0xfffffc1b
jne 0x46716b
mov eax, dword [ebp + 0xb4]
cmp eax, dword [esi + 0x34]
jmp 0x46716d
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x34]
cmp byte [eax], 0x81
jne 0x467f5b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a925
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a91b
mov esi, dword [esi]
test esi, esi
je 0x46adab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4671e0
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
push ebx
push ebp
push dword [esi + 0x88]
push edi
push dword [esi + 0x98]
call fcn.0046b5e0
add esp, 0x14
test eax, eax
jns 0x467247
cmp eax, 0xfffffffe
jne 0x467209
mov eax, dword [ebp + 0x78]
mov dword [esi + 8], eax
cmp dword [ebp + 0x88], 0
je 0x468d21
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x468d21
cmp eax, dword [ebp + 0x84]
jbe 0x468d21
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45ff5e
jmp 0x468d21
add eax, edi
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a94a
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a940
mov esi, dword [esi]
test esi, esi
je 0x46adab
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffffa
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x88]
sub dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb case.0x4640c6.14
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a963
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a959
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x467307
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x468e06
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 0x468d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a97c
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a972
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jb 0x45df3b
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a995
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a98b
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4673e1
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x468e06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x467411
cmp dword [esi + 0x94], ecx
je 0x467411
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a4
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a9ae
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a9a4
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
dec dword [esi + 8]
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a9c7
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a9bd
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4674c1
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x468e06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
jne 0x468d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a9e0
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a9d6
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
dec dword [esi + 8]
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46a9f9
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46a9ef
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46758e
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x468e06
movzx ecx, byte [eax]
cmp dword [esi + 0x80], ecx
je 0x467723
cmp dword [esi + 0x94], ecx
je 0x467723
inc eax
mov dword [esi + 8], eax
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aa12
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aa08
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aa2b
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aa21
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x467665
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x468e06
movzx edx, byte [eax]
inc eax
mov ecx, dword [esi + 0x80]
mov dword [esi + 8], eax
cmp ecx, edx
je 0x468d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aa41
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aa37
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aa57
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aa4d
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x467734
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x46777b
cmp dword [ebp + 0x88], 0
je 0x467763
cmp ecx, dword [ebp + 0x84]
jbe 0x467763
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45ff5e
mov esi, dword [esi]
test esi, esi
je 0x46adb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4669a4
cmp dword [esi + 0x7c], 0xc
jne 0x4677a2
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x4677c4
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x4677e1
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.0x4677bd.15
jmp dword [eax*4 + 0x46b498]
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x4677a2
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x4677a2
cmp edi, 1
je 0x4677e1
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
jne 0x4677a2
mov esi, dword [esi]
test esi, esi
je 0x46adb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4669a4
cmp dword [ebp + 0x88], 0
je case.0x4677bd.13
cmp edx, dword [ebp + 0x78]
jb case.0x4677bd.13
cmp dword [ebp + 0x18], 0
jne case.0x4677bd.13
cmp dword [ebp + 0x1c], 2
jne case.0x4677bd.13
movzx eax, byte [ebp + 0x34]
cmp ecx, eax
jne case.0x4677bd.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45ff5e
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aa6d
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aa63
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x46787d.14
movzx eax, byte [ecx + 0x46b4e8]
jmp dword [eax*4 + 0x46b4d8]
cmp edx, dword [ebp + 0x78]
jae case.0x4677bd.13
cmp byte [edx], 0xa
jne case.0x4677bd.13
lea eax, [edx + 1]
mov dword [esi + 8], eax
jmp case.0x4677bd.13
cmp dword [ebp + 0x68], 0
je case.0x4677bd.13
jmp case.0x46787d.14
cmp ecx, 9
je case.0x46787d.14
cmp ecx, 0x20
je case.0x46787d.14
cmp ecx, 0xa0
jmp 0x46797a
cmp ecx, 9
je case.0x4677bd.13
cmp ecx, 0x20
je case.0x4677bd.13
cmp ecx, 0xa0
je case.0x4677bd.13
jmp case.0x46787d.14
cmp ecx, 0xa
jb case.0x4677bd.13
cmp ecx, 0xd
jbe case.0x46787d.14
cmp ecx, 0x85
jmp 0x46797a
cmp ecx, 0xa
jb case.0x46787d.14
cmp ecx, 0xd
jbe case.0x4677bd.13
cmp ecx, 0x85
je case.0x4677bd.13
jmp case.0x46787d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
je case.0x4677bd.13
jmp case.0x46787d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 4
jmp 0x46797a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
je case.0x4677bd.13
jmp case.0x46787d.14
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 1
jmp 0x46797a
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
je case.0x4677bd.13
mov esi, dword [esi]
test esi, esi
je 0x46adb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4669a4
mov eax, dword [ebp + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4677bd.13
mov esi, dword [esi]
test esi, esi
je 0x46adb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4669a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4669b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
cmp dword [esi + 0x7c], 0x11
mov eax, dword [esi + 8]
jne 0x4679da
cmp eax, dword [esi + 0x30]
jbe 0x4679da
cmp byte [eax], 0xa
jne 0x4679da
cmp byte [eax - 1], 0xd
jne 0x4679da
dec dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
je 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aa83
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aa79
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
cmp edi, 0xfffffc1a
jne 0x467a71
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 0x467a69
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 0x467a50
jmp 0x467ac8
mov dword [esi + 8], eax
jmp 0x467aed
cmp edi, 0xfffffc20
jne 0x467aa5
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.0x4669b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467aad
cmp byte [ecx], 0x77
jmp 0x467aa7
test edi, edi
jne case.0x4669b4.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 0x467ae1
cmp dword [esi + 0x5c], 0
jne 0x467137
cmp dword [esi + 0x54], 0
jne 0x467137
jmp 0x468d21
mov eax, dword [esi + 0xa0]
mov dword [ebp + 0x90], eax
cmp dword [esi + 0x9c], 0x88
jb 0x467b03
mov dword [ebp + 0x98], 2
mov edx, dword [esi + 4]
test edx, edx
jne 0x46aac5
push 0x134
call dword [0x2245eb8]
mov edx, eax
add esp, 4
test edx, edx
jne 0x46aabb
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
mov esi, dword [esi]
test edi, edi
jne 0x466e74
test esi, esi
je 0x46ae1d
mov edi, 0xfffffc1c
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46ae37
mov edi, 0xfffffc1e
jmp 0x4669a4
cmp edi, 1
je 0x467b83
cmp edi, 0xfffffc19
jne 0x467b9d
cmp dword [ebp + 0xac], 0
jne 0x467b9d
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
jmp 0x466b91
cmp edi, 0xfffffc1f
jne 0x466b91
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0x7c]
add eax, 2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x467bd2
test dl, dl
je 0x467bce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x467bd2
add eax, 2
add ecx, 2
test dl, dl
jne 0x467bb2
xor eax, eax
jmp 0x467bd7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x466b91
mov eax, dword [esi + 8]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46ae37
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffc1e
jmp 0x4669a4
cmp edi, 1
je 0x467c0d
cmp edi, 0xfffffc19
jne case.0x4669b4.51
cmp dword [ebp + 0xac], 0
jne case.0x4669b4.51
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
mov esi, dword [esi]
test edi, edi
jne 0x466e74
test esi, esi
je 0x46ae10
mov edi, 0xfffffc1d
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46ae44
mov edi, 0xfffffc1f
jmp 0x4669a4
cmp edi, 1
je 0x467c70
cmp edi, 0xfffffc19
jne case.0x4669b4.54
cmp dword [ebp + 0xac], 0
jne case.0x4669b4.54
mov eax, dword [esi + 0xc]
add eax, 2
mov dword [ebp + 0xac], eax
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0xc]
mov dword [ebp + 0x7c], eax
mov esi, dword [esi]
test esi, esi
je 0x46ae2a
mov edi, 0xfffffc20
jmp 0x4669a4
cmp edi, 0xfffffc1a
jne 0x467d11
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 0x467d09
mov edx, dword [esi + 0xc]
jmp 0x467cf0
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 0x467cf0
jmp 0x467d78
mov dword [esi + 8], eax
jmp 0x45dc72
cmp edi, 0xfffffc20
jne 0x467d45
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.0x4669b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467d4d
cmp byte [ecx], 0x77
jmp 0x467d47
test edi, edi
jne case.0x4669b4.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 0x45dc72
cmp dword [esi + 0x5c], 0
jne 0x467db8
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 0x45d136
cmp dword [esi + 0x5c], 0
jne 0x45d136
jmp 0x468d21
cmp edi, 1
jne 0x467e74
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x82
je 0x467df1
cmp al, 0x77
jne 0x468d21
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 0x467df1
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 0x45d136
cmp ecx, dword [esi + 0x38]
je 0x45d136
mov ecx, dword [esi + 4]
cmp al, 0x7a
jne 0x467f0d
test ecx, ecx
jne 0x46ab2e
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ab24
mov esi, dword [esi]
test esi, esi
je 0x46adab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4669a4
cmp edi, 0xfffffc20
jne 0x467ea8
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.0x4669b4.49
mov eax, dword [esi + 0xc]
cmp byte [eax], 0x77
je 0x467eb0
cmp byte [ecx], 0x77
jmp 0x467eaa
test edi, edi
jne case.0x4669b4.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 0x467de0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ab09
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46aaff
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test ecx, ecx
jne 0x46ab53
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ab49
mov esi, dword [esi]
test esi, esi
je 0x46adab
mov edx, dword [esp + 0x8c]
lea edi, [eax - 6]
jmp 0x4669a4
test edi, edi
je 0x46a5e4
jmp case.0x4669b4.49
test edi, edi
jne case.0x4669b4.49
add dword [esi + 0xc], 3
jmp 0x45d0c0
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x467f89
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46808a
cmp ebx, 0xc0
jb 0x46808a
test bl, 0x20
jne 0x467fcb
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x468087
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x467ff5
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46808a
mov edx, dword [esi + 8]
test bl, 8
jne 0x46801b
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 0x46807e
test bl, 4
jne 0x46804a
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 0x46807e
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.0046c860
add esp, 0xc
test eax, eax
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ab75
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ab6b
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x468d21
cmp dword [esp + 0x8c], edi
je 0x468111
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x468111
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x468105
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ab8e
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ab84
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46816b
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x468260
test bl, 0x20
jne 0x4681a5
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46825d
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4681cf
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x468260
mov edx, dword [esi + 8]
test bl, 8
jne 0x4681f8
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 0x46825b
test bl, 4
jne 0x468227
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 0x46825b
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 0x468276
cmp dword [esi + 0x9c], 0x6e
jne 0x468293
jmp 0x45df3b
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 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aba7
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ab9d
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov ecx, dword [esi + 8]
lea edx, [ecx - 1]
mov dword [esi + 8], edx
cmp ecx, dword [esi + 0x30]
jbe 0x45df3b
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x4682fc
dec edx
mov dword [esi + 8], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x4682f0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46abc0
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46abb6
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468356
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
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 0x4683c5
mov edx, dword [esi + 0x24]
mov ecx, ebx
sub edi, 4
jb 0x468385
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x46838a
add ecx, 4
add edx, 4
sub edi, 4
jae 0x468374
cmp edi, 0xfffffffc
je 0x4683b7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4683c2
cmp edi, 0xfffffffd
je 0x4683b7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4683c2
cmp edi, 0xfffffffe
je 0x4683b7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4683c2
cmp edi, 0xffffffff
je 0x4683b7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4683c2
mov eax, dword [esi + 0x88]
jmp 0x468430
mov ecx, dword [ebp + 0x78]
mov edi, dword [esi + 0x6c]
test edi, edi
jle 0x468470
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x468470
lea edx, [esi + 0x70]
mov ecx, ebx
sub edi, 4
jb 0x4683f7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4683fc
add ecx, 4
add edx, 4
sub edi, 4
jae 0x4683e6
cmp edi, 0xfffffffc
je 0x46842d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x468470
cmp edi, 0xfffffffd
je 0x46842d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x468470
cmp edi, 0xfffffffe
je 0x46842d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x468470
cmp edi, 0xffffffff
je 0x46842d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x468470
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 0x46abd9
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46abcf
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
cmp dword [ebp + 0x88], 0
je case.0x4640c6.14
cmp ebx, dword [ebp + 0x78]
jb case.0x4640c6.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x4640c6.14
jmp 0x45e092
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4684bc
lea ecx, [ecx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4684b0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46abf2
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46abe8
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468522
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx edx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x468622
movzx eax, byte [edi]
and eax, 0x3f
test dl, 0x20
jne 0x46855c
and edx, 0x1f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x46861f
test dl, 0x10
jne 0x46857e
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 0x468622
mov ecx, dword [esi + 8]
test dl, 8
jne 0x4685ae
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 0x46861f
test dl, 4
jne 0x4685e4
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 0x46861f
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 0x4677e1
cmp dword [esi + 0x94], edx
je 0x4677e1
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x468669
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x467275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1c
jmp 0x46aa8d
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46869c
mov edi, edi
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x468690
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ac0b
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac01
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468702
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
cmp ebx, 0xc0
jb 0x4687f7
test bl, 0x20
jne 0x46873c
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4687f4
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x468766
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x4687f7
mov edx, dword [esi + 8]
test bl, 8
jne 0x46878f
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 0x4687f2
test bl, 4
jne 0x4687be
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 0x4687f2
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 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ac24
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac1a
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x468860
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x468854
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ac3d
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac33
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4688c6
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov ecx, dword [esi + 8]
mov edx, dword [ebp + 0x78]
cmp ecx, edx
jb 0x468902
cmp dword [ebp + 0x88], 0
je 0x468d21
cmp ecx, dword [ebp + 0x84]
jbe 0x468d21
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45ff5e
jmp 0x468d21
cmp dword [esi + 0x7c], 0xc
jne 0x468954
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x46892f
push dword [esp + 0x8c]
lea eax, [ebp + 0x1c]
push eax
push edx
push edi
push ecx
call fcn.0046ced0
add esp, 0x14
test eax, eax
jne 0x468d21
jmp 0x468954
mov edi, dword [ebp + 0x1c]
sub edx, edi
cmp ecx, edx
ja 0x468954
mov al, byte [ecx]
cmp al, byte [ebp + 0x34]
jne 0x468954
cmp edi, 1
je 0x468d21
mov al, byte [ecx + 1]
cmp al, byte [ebp + 0x35]
je 0x468d21
mov eax, dword [esi + 8]
movzx edx, byte [eax]
lea edi, [eax + 1]
mov dword [esi + 8], edi
cmp edx, 0xc0
jb 0x468a3c
test dl, 0x20
jne 0x468987
movzx eax, byte [edi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
lea eax, [edi + 1]
jmp 0x468a39
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x4689ae
and edx, 0xf
shl edx, 6
or ecx, edx
shl ecx, 6
or ecx, eax
lea eax, [edi + 2]
jmp 0x468a37
test dl, 8
jne 0x4689d4
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 0x468a37
test dl, 4
jne 0x468a03
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 0x468a37
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.0x468a4b.15
jmp dword [eax*4 + 0x46b564]
cmp dword [ebp + 0x88], 0
je case.0x468a4b.13
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb case.0x468a4b.13
cmp dword [ebp + 0x18], 0
jne case.0x468a4b.13
cmp dword [ebp + 0x1c], 2
jne case.0x468a4b.13
movzx eax, byte [ebp + 0x34]
cmp edx, eax
jne case.0x468a4b.13
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle case.0x468a4b.13
jmp 0x45ff5e
cmp edx, 0xd
ja 0x468ace
je 0x468abb
cmp edx, 0xa
je case.0x468a4b.13
jbe 0x468d21
cmp edx, 0xc
jmp 0x468ae8
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae case.0x468a4b.13
cmp byte [eax], 0xa
jne case.0x468a4b.13
inc eax
mov dword [esi + 8], eax
jmp case.0x468a4b.13
cmp edx, 0x85
je 0x468aee
cmp edx, 0x2027
jbe 0x468d21
cmp edx, 0x2029
ja 0x468d21
cmp dword [ebp + 0x68], 0
je case.0x468a4b.13
jmp 0x468d21
cmp edx, 0x180e
ja 0x468b6d
je 0x468d21
cmp edx, 0xa0
ja 0x468b65
je 0x468d21
cmp edx, 9
je 0x468d21
cmp edx, 0x20
je 0x468d21
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x468b56
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x467275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2a
jmp 0x46aa8d
cmp edx, 0x1680
jmp 0x468b21
cmp edx, 0x205f
ja 0x468b97
je 0x468d21
cmp edx, 0x2000
jb case.0x468a4b.13
cmp edx, 0x200a
jbe 0x468d21
cmp edx, 0x202f
jmp 0x468b21
cmp edx, 0x3000
jmp 0x468d1b
cmp edx, 0x180e
ja 0x468bd4
je case.0x468a4b.13
cmp edx, 0xa0
ja 0x468bcc
je case.0x468a4b.13
cmp edx, 9
je case.0x468a4b.13
cmp edx, 0x20
jmp 0x468c08
cmp edx, 0x1680
jmp 0x468c08
cmp edx, 0x205f
ja 0x468c02
je case.0x468a4b.13
cmp edx, 0x2000
jb 0x468d21
cmp edx, 0x200a
jbe case.0x468a4b.13
cmp edx, 0x202f
jmp 0x468c08
cmp edx, 0x3000
je case.0x468a4b.13
jmp 0x468d21
cmp edx, 0x85
ja 0x468c38
je 0x468d21
cmp edx, 0xa
jb case.0x468a4b.13
cmp edx, 0xd
jbe 0x468d21
jmp case.0x468a4b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x468a4b.13
jmp 0x468d21
cmp edx, 0x85
ja 0x468c68
je case.0x468a4b.13
cmp edx, 0xa
jb 0x468d21
cmp edx, 0xd
jmp 0x468c71
lea eax, [edx - 0x2028]
cmp eax, 1
jbe case.0x468a4b.13
jmp 0x468d21
cmp edx, 0x100
jae case.0x468a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
je case.0x468a4b.13
jmp 0x468d21
cmp edx, 0x100
jae 0x468d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 4
jmp 0x468d1b
cmp edx, 0x100
jae case.0x468a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
je case.0x468a4b.13
jmp 0x468d21
cmp edx, 0x100
jae 0x468d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 1
jmp 0x468d1b
cmp edx, 0x100
jae case.0x468a4b.13
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
je case.0x468a4b.13
mov esi, dword [esi]
test esi, esi
je 0x46adb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4669a4
cmp edx, 0x100
jae 0x468d21
mov eax, dword [ebp + 0x40]
test byte [edx + eax], 0x10
jne case.0x468a4b.13
mov esi, dword [esi]
test esi, esi
je 0x46adb8
mov edx, dword [esp + 0x8c]
xor edi, edi
jmp 0x4669a4
mov esi, dword [esi]
test esi, esi
je case.default.0x4669b4
mov edx, dword [esp + 0x8c]
mov edi, 0xfffffff2
jmp 0x4669a4
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x468d7c
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x468d70
cmp dword [esi + 0x7c], 0x11
jne 0x468d98
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x468d98
cmp byte [eax], 0xa
jne 0x468d98
dec eax
cmp byte [eax], 0xd
jne 0x468d98
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ac56
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac4c
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468dfe
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x468e1e
cmp dword [ebp + 0x88], 0
je 0x467723
cmp eax, dword [ebp + 0x84]
jmp 0x469579
movzx ecx, byte [eax]
inc eax
mov dword [esi + 8], eax
test edx, edx
je 0x468e5d
cmp ecx, 0xc0
jb 0x468e5d
test cl, 0x20
jne 0x468e39
inc eax
jmp 0x468e5a
test cl, 0x10
jne 0x468e43
add eax, 2
jmp 0x468e5a
test cl, 8
jne 0x468e4d
add eax, 3
jmp 0x468e5a
test cl, 4
jne 0x468e57
add eax, 4
jmp 0x468e5a
add eax, 5
mov dword [esi + 8], eax
cmp dword [esi + 0x68], 0
je 0x468e74
mov esi, dword [esi]
test esi, esi
je 0x46adb8
xor edi, edi
jmp 0x4669a4
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x468ea3
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x467275
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x24
jmp 0x46aa8d
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x468ed7
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x468fd1
cmp ebx, 0xc0
jb 0x468fd1
test bl, 0x20
jne 0x468f19
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x468fce
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x468f43
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x468fd1
mov edx, dword [esi + 8]
test bl, 8
jne 0x468f69
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 0x468fcc
test bl, 4
jne 0x468f98
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 0x468fcc
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x468ff3
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp eax, 9
je 0x469018
cmp eax, 5
je 0x469018
cmp eax, 8
je 0x469018
xor eax, eax
jmp 0x46901d
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ac6f
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac65
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469086
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46917c
cmp ebx, 0xc0
jb 0x46917c
test bl, 0x20
jne 0x4690c8
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469179
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x4690f0
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46917c
mov edx, dword [esi + 8]
test bl, 8
jne 0x469116
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 0x469179
test bl, 4
jne 0x469145
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 0x469179
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46919e
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ac88
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac7e
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469228
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46931e
cmp ebx, 0xc0
jb 0x46931e
test bl, 0x20
jne 0x46926a
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46931b
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469292
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46931e
mov edx, dword [esi + 8]
test bl, 8
jne 0x4692b8
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 0x46931b
test bl, 4
jne 0x4692e7
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 0x46931b
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x469340
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46aca1
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ac97
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x4693c3
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x4694b9
cmp ebx, 0xc0
jb 0x4694b9
test bl, 0x20
jne 0x469405
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x4694b6
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46942d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x4694b9
mov edx, dword [esi + 8]
test bl, 8
jne 0x469453
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 0x4694b6
test bl, 4
jne 0x469482
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 0x4694b6
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4694db
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a8]
cmp eax, dword [esi + 0x64]
sete cl
cmp ecx, dword [esi + 0x68]
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46acba
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46acb0
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46955e
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jb 0x4695a7
cmp dword [ebp + 0x88], 0
je 0x467723
cmp edi, dword [ebp + 0x84]
jbe 0x467723
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jle 0x467723
mov esi, dword [esi]
test esi, esi
je 0x46addc
mov edi, 0xfffffff4
jmp 0x4669a4
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469695
cmp ebx, 0xc0
jb 0x469695
test bl, 0x20
jne 0x4695dd
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469692
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469607
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469695
mov edx, dword [esi + 8]
test bl, 8
jne 0x46962d
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 0x469690
test bl, 4
jne 0x46965c
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 0x469690
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x4696b7
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2aa]
mov dword [esp + 0x80], eax
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jae 0x469848
lea esp, [esp]
cmp dword [esp + 0x8c], 0
mov edi, 1
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
je 0x4697e7
cmp ebx, 0xc0
jb 0x4697e7
test bl, 0x20
jne 0x46971b
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov edi, 2
jmp 0x4697df
test bl, 0x10
jne 0x469740
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 0x4697df
test bl, 8
jne 0x469771
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 0x4697df
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4697ab
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 0x4697df
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x469809
dec ebx
or ebx, 0xffffff80
inc ebx
mov edx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx ecx, byte [eax*8 + 0x50d2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d130], eax
je 0x469848
add dword [esi + 8], edi
mov eax, dword [esi + 8]
mov dword [esp + 0x80], ecx
cmp eax, dword [ebp + 0x78]
jb 0x4696e0
cmp dword [ebp + 0x88], 0
je 0x469875
mov eax, dword [esi + 8]
cmp eax, dword [ebp + 0x78]
jb 0x469875
cmp eax, dword [ebp + 0x84]
jbe 0x469875
mov dword [ebp + 0x64], 1
cmp dword [ebp + 0x88], 1
jg 0x45e0a6
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46acd3
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46acc9
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
je 0x4698dc
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x4698dc
lea ebx, [ebx]
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x4698d0
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0x30]
jbe 0x45d0c0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46acec
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ace2
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
dec dword [esi + 8]
mov ecx, dword [esi + 8]
test edx, edx
jne 0x469937
movzx ebx, byte [ecx]
jmp 0x469a25
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x46994c
nop
dec ecx
mov dword [esi + 8], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x469940
mov eax, dword [esi + 8]
movzx ebx, byte [eax]
cmp ebx, 0xc0
jb 0x469a25
test bl, 0x20
jne 0x46996f
movzx eax, byte [eax + 1]
and ebx, 0x1f
jmp 0x469a1d
test bl, 0x10
jne 0x46998f
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 0x469a1d
test bl, 8
jne 0x4699b8
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 0x469a1d
movzx eax, byte [eax + 1]
mov ecx, dword [esi + 8]
and eax, 0x3f
test bl, 4
jne 0x4699ed
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 0x469a1d
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x469a47
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2aa]
mov dword [esp + 0x80], eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0x30]
jbe 0x45d0c0
dec edi
cmp dword [esp + 0x8c], 0
jne 0x469a7f
movzx ebx, byte [edi]
jmp 0x469b3e
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x469a91
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x469a87
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x469b3e
test bl, 0x20
jne 0x469ab1
movzx eax, byte [edi + 1]
and ebx, 0x1f
jmp 0x469b36
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
and ecx, 0x3f
test bl, 0x10
jne 0x469ace
and ebx, 0xf
shl ebx, 6
or ebx, ecx
jmp 0x469b36
and eax, 0x3f
test bl, 8
jne 0x469ae9
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi + 3]
jmp 0x469b36
test bl, 4
jne 0x469b0d
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 0x469b36
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x469b60
dec ebx
or ebx, 0xffffff80
inc ebx
mov ecx, dword [esp + 0x80]
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx edx, byte [eax*8 + 0x50d2aa]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x50d130], eax
je 0x465796
mov dword [esi + 8], edi
mov dword [esp + 0x80], edx
jmp 0x469a60
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469bc1
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469cbb
cmp ebx, 0xc0
jb 0x469cbb
test bl, 0x20
jne 0x469c03
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469cb8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469c2d
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469cbb
mov edx, dword [esi + 8]
test bl, 8
jne 0x469c53
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 0x469cb6
test bl, 4
jne 0x469c82
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 0x469cb6
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 + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x469cdd
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x469d04
cmp eax, 3
je 0x469d04
xor eax, eax
jmp 0x469d09
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ad1e
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ad14
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469d72
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x469e73
cmp ebx, 0xc0
jb 0x469e73
test bl, 0x20
jne 0x469db4
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x469e70
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469dde
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x469e73
mov edx, dword [esi + 8]
test bl, 8
jne 0x469e04
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 0x469e67
test bl, 4
jne 0x469e33
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 0x469e67
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 0x469e9e
cmp ebx, 0x40
je 0x469e9e
cmp ebx, 0x60
je 0x469e9e
cmp ebx, 0xa0
jb 0x469e92
cmp ebx, 0xd7ff
jbe 0x469e9e
cmp ebx, 0xe000
jae 0x469e9e
xor eax, eax
jmp 0x469ea3
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45e882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ad37
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ad2d
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x469f0c
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a00d
cmp ebx, 0xc0
jb 0x46a00d
test bl, 0x20
jne 0x469f4e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a00a
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x469f78
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
or ecx, eax
add dword [esi + 8], 2
mov ebx, ecx
jmp 0x46a00d
mov edx, dword [esi + 8]
test bl, 8
jne 0x469f9e
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 0x46a001
test bl, 4
jne 0x469fcd
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 0x46a001
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 0x46a050
je case.0x46a070.8192
cmp ebx, 0x85
ja 0x46a03c
je case.0x46a070.8192
cmp ebx, 9
jb case.0x46a070.8203
cmp ebx, 0xd
jbe case.0x46a070.8192
cmp ebx, 0x20
jmp 0x46a085
cmp ebx, 0xa0
je case.0x46a070.8192
cmp ebx, 0x1680
jmp 0x46a085
cmp ebx, 0x202f
ja 0x46a077
je case.0x46a070.8192
lea eax, [ebx - 0x2000]
cmp eax, 0x29
ja case.0x46a070.8203
movzx eax, byte [eax + 0x46b5ac]
jmp dword [eax*4 + 0x46b5a4]
cmp ebx, 0x205f
je case.0x46a070.8192
cmp ebx, 0x3000
je case.0x46a070.8192
mov eax, ebx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x50e928]
shl eax, 7
and ebx, 0x8000007f
jns 0x46a0a9
dec ebx
or ebx, 0xffffff80
inc ebx
add eax, ebx
xor ecx, ecx
movzx eax, word [eax*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
cmp dword [eax*4 + 0x50d0b8], 6
sete cl
cmp ecx, dword [esi + 0x68]
jne 0x46a0dc
jmp 0x45df3b
cmp dword [esi + 0x68], 0
jne 0x45e882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ad50
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ad46
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a13c
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a232
cmp ebx, 0xc0
jb 0x46a232
test bl, 0x20
jne 0x46a17e
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a22f
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a1a6
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a232
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a1cc
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 0x46a22f
test bl, 4
jne 0x46a1fb
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 0x46a22f
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 + 0x50e928]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x46a255
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x510b28]
movzx eax, byte [eax*8 + 0x50d2a9]
mov eax, dword [eax*4 + 0x50d0b8]
cmp eax, 1
je 0x46a281
cmp eax, 3
je 0x46a281
cmp ebx, 0x5f
je 0x46a281
xor eax, eax
jmp 0x46a286
mov eax, 1
cmp eax, dword [esi + 0x68]
je 0x45df3b
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ad69
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ad5f
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
test edi, edi
jne case.0x4669b4.49
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x8c]
jl 0x46a2ef
mov esi, dword [esi]
test esi, esi
je 0x46adb8
jmp 0x4669a4
mov edi, dword [esi + 8]
cmp edi, dword [ebp + 0x78]
jae 0x469566
movzx ebx, byte [edi]
inc edi
mov dword [esi + 8], edi
test edx, edx
je 0x46a3ec
cmp ebx, 0xc0
jb 0x46a3ec
test bl, 0x20
jne 0x46a331
movzx eax, byte [edi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
lea eax, [edi + 1]
jmp 0x46a3e9
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46a359
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add dword [esi + 8], 2
jmp 0x46a3ec
mov edx, dword [esi + 8]
test bl, 8
jne 0x46a37f
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 0x46a3e2
test bl, 4
jne 0x46a3ae
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 0x46a3e2
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 + 0x50d168]
lea eax, [eax*4 + 0x50d168]
cmp ebx, ecx
jb 0x46a40e
lea eax, [eax + 4]
cmp ebx, ecx
je 0x46a453
mov ecx, dword [eax]
cmp ebx, ecx
jae 0x46a401
cmp dword [esi + 0x68], 0
je 0x45e882
inc dword [esi + 0x84]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x46ad82
push 0x134
call dword [0x2245eb8]
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x46ad78
mov esi, dword [esi]
test esi, esi
je 0x46adab
lea edi, [eax - 6]
jmp 0x466999
cmp dword [esi + 0x68], 0
je 0x46a418
jmp 0x45e882
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 0x46a461
lea eax, [edx + 3]
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0x8c]
mov dword [esi + 0x14], eax
jmp 0x45d13a
mov ecx, dword [esi + 0x44]
lea eax, [esi + 0xb0]
cmp ecx, eax
je 0x46a4a3
push ecx
call dword [0x2245eb4]
add esp, 4
mov eax, dword [ebp + 0x80]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x7c]
mov dword [esi + 0x10], eax
jmp 0x45d13a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x468299
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4680a5
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46843b
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x468640
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x468809
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x468e7a
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46902c
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x4691ce
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469369
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469504
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469d18
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a0e2
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a295
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46a41e
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x469eb2
mov eax, dword [esi + 0x90]
mov ebx, dword [esp + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x468b2d
mov eax, dword [esi + 0x90]
mov dword [esi + 0x84], eax
jmp 0x46987b
mov eax, dword [esi + 0x34]
mov dword [esi + 0xc], eax
jmp 0x45d0c0
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 + 0x50cfa0]
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 0x45d0b0
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 0x46a8a6
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 0x46a8a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x38
jmp 0x46a5ff
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 0x46a8a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x39
jmp 0x46a5ff
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 0x46a8a6
mov dword [edi + 4], ebx
mov dword [esi + 4], edi
mov dword [esi + 0x130], 0x3a
jmp 0x46a5ff
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 0x45d0b0
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 0x46aa96
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 0x46aa96
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 0x46aa96
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 0x46aa96
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 0x46aa96
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 0x46a8a6
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 0x46a8a6
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x31
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 4
jmp 0x46a857
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 0x45d0b0
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 + 0x50cfa0]
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 0x45d0b0
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 0x46aa96
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 0x46aa96
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 0x46aa96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xe
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0xf
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x11
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x13
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x18
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x19
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1a
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1b
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1d
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1f
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x21
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x23
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2b
jmp 0x46aa8d
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 0x45d0b0
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 0x46a8a6
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 0x46a8a6
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 0x46aa96
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 0x46aa96
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 0x46aa96
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x14
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x15
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x10
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x12
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x16
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x17
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x1e
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x20
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x22
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2e
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x25
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x26
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x27
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x28
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x29
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2c
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x2d
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3b
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3c
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3d
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x3e
jmp 0x46aa8d
mov dword [ecx + 4], 0
mov dword [esi + 4], ecx
mov dword [esi + 0x130], 0x43
jmp 0x46aa8d
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