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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [ebp + 0x20]
xor edx, edx
mov ecx, dword [ebp + 0x1c]
push ebx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0xc], edx
mov edx, dword [eax + 0x8c]
mov ebx, edx
mov eax, dword [eax + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
mov dword [ebp - 4], eax
mov dword [eax + 0x18], edi
mov dword [eax + 0x48], edi
mov dword [eax + 0x44], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 4]
shr edx, 0x11
and edx, 1
shr ebx, 0x13
mov dword [ebp - 0x28], edx
and ebx, 1
mov dword [edi + 0x38], eax
lea edx, [ecx - 0x38]
mov dword [edi + 0x3c], eax
mov eax, edi
mov dword [ebp - 0x30], edx
xor edx, edx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], edx
mov dword [eax + 0x40], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x4c], 0xffffffff
nop word [eax + eax]
mov dword [eax + 0x1c], edx
mov dword [eax], esi
mov dword [eax + 0x10], ecx
test edx, edx
je 0x64fef1
mov ecx, dword [ebp + 0x20]
mov edi, dword [ebp - 4]
sub eax, dword [ecx + 0x10]
mov dword [edi + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x64feec
movzx eax, dx
mov dword [edi + 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x20]
mov edi, dword [ebp + 0x20]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x20]
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
cmp edx, ecx
jae 0x65e3a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x24]
jb 0x64ff31
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, eax
jmp 0x64ff2e
lea eax, [esi + 2]
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov cl, byte [esi]
mov byte [eax + 0x31], cl
movzx eax, cl
mov byte [ebp + 0xb], cl
cmp eax, 0xa6
ja case.0x65b27d.15
movzx eax, byte [eax + 0x65e510]
jmp dword [eax*4 + 0x65e3b4]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
jne 0x64ffd9
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp + 0x20]
shl edi, 8
or edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
nop dword [eax]
cmp eax, 0xffffffff
je case.0x65b27d.15
mov ecx, dword [ebx + 0x10]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x14], ecx
sub edx, dword [ebp + 0x1c]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x64ffa7
mov eax, dword [edx + 0x4c]
jmp 0x64ff80
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov edi, dword [ebp - 4]
mov eax, dword [edx + 0x38]
sub eax, dword [ebx + 0x5c]
mov dword [edi + ecx*4 + 0x54], eax
mov eax, edi
mov eax, dword [eax + 0x38]
sub eax, dword [ebx + 0x5c]
mov dword [edi + ecx*4 + 0x58], eax
mov eax, edi
cmp ecx, dword [eax + 0x50]
jb 0x64ffd6
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edi, dword [ebp - 4]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x749128]
add eax, ecx
jmp 0x64ff29
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x70]
jbe 0x64fffd
mov dword [edi + 0x70], ecx
mov dword [ebp - 0x24], eax
mov esi, 0xfffffc19
jmp 0x650245
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
je 0x650066
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x65b27d.15
mov edx, dword [edi + 0x10]
add edx, eax
mov ecx, edx
mov dword [ebp - 0x14], edx
sub ecx, dword [ebp + 0x1c]
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x650040
mov eax, dword [ecx + 0x4c]
jmp 0x650016
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 0x3c], eax
add dword [ecx], 3
jmp 0x64ff31
mov edx, dword [eax + 0x3c]
mov ecx, dword [eax + 0x38]
cmp ecx, edx
jne 0x650099
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x88]
test al, 4
jne 0x65023d
test al, 8
je 0x650099
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x20]
mov eax, dword [eax + 0x5c]
add eax, dword [ebx + 0x44]
cmp edx, eax
je 0x65023d
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jae 0x65e2e3
mov edi, dword [ebp + 0x20]
mov eax, dword [eax + 0x8c]
or eax, dword [edi + 0x88]
test eax, 0x20000000
je 0x65e2e1
cmp byte [ebp + 0xb], 0
jne 0x65e2d8
xor esi, esi
jmp 0x650242
mov eax, dword [ebp + 0x20]
mov esi, dword [eax + 0x98]
test esi, esi
je 0x65010d
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
mov edx, dword [eax + 0x64]
cmp ecx, edx
jae 0x65014d
push ebx
add eax, 0x9c
push eax
push edx
push esi
push ecx
call fcn.00661f30
add esp, 0x14
test eax, eax
je 0x650146
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x650242
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
sub eax, edx
cmp ecx, eax
ja 0x65014b
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x65014b
cmp edx, 1
je case.0x65b2c7.14
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
jne 0x65014b
xor esi, esi
jmp 0x650242
mov eax, dword [ebp + 0x20]
jmp 0x65014d
mov eax, edi
movzx eax, word [eax + 0x4c]
mov edi, dword [ebp + 0x20]
mov edx, eax
test ax, ax
je case.0x64ff53.13
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [edi + 0x64]
dec eax
cmp ecx, eax
jne case.0x64ff53.13
mov eax, edi
cmp dword [eax + 0x98], 0
jne 0x650199
cmp dword [eax + 0x9c], 2
jne 0x650199
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne case.0x64ff53.13
mov eax, edi
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x6501d5
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6501d1
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x6501bf
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x6501ff
cmp ecx, dword [edi + 0x64]
jae 0x6501ff
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x6501f9
mov eax, dword [ebp - 4]
inc ecx
mov dword [eax + 0x38], ecx
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jb 0x6501e2
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
inc dword [eax]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jb 0x65028f
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x65023d
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x65022d
cmp dword [eax + 0x34], 0
je 0x65023d
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x70]
jbe 0x650250
mov dword [edi + 0x70], ecx
cmp dword [eax + 0x18], 0
je 0x65e36e
sub eax, dword [eax + 0x10]
mov edx, dword [ebp + 0x20]
mov edi, eax
mov dword [ebp - 4], eax
mov ebx, edi
mov eax, dword [edx + 0xa4]
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xe0
ja case.0x65b27d.15
movzx eax, byte [eax + 0x65e6b0]
jmp dword [eax*4 + 0x65e5b8]
mov edi, dword [ebp - 4]
lea eax, [ecx + 1]
mov dword [edi + 0x38], eax
lea eax, [esi + 1]
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
mov eax, dword [ebp - 4]
test ebx, ebx
je 0x6503b5
mov edi, dword [ebp - 4]
mov ecx, 1
mov dword [eax + 0xc], 1
lea eax, [esi + 1]
mov dword [edi], eax
movzx eax, byte [eax]
cmp eax, 0xc0
jb 0x65032d
test al, 0x20
jne 0x6502e2
mov eax, edi
mov ecx, 2
mov dword [eax + 0xc], 2
jmp 0x650330
test al, 0x10
jne 0x6502f7
mov eax, dword [ebp - 4]
mov ecx, 3
mov dword [eax + 0xc], 3
jmp 0x65032d
test al, 8
jne 0x65030c
mov eax, dword [ebp - 4]
mov ecx, 4
mov dword [eax + 0xc], 4
jmp 0x65032d
test al, 4
mov eax, dword [ebp - 4]
jne 0x650321
mov dword [eax + 0xc], 5
mov ecx, 5
jmp 0x65032d
mov dword [eax + 0xc], 6
mov ecx, 6
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov edx, dword [eax + 0x38]
mov esi, dword [edi + 0x64]
mov eax, esi
sub eax, edx
cmp ecx, eax
jbe 0x650382
cmp edx, esi
jb 0x6501d1
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x6501d1
mov eax, edi
cmp edx, dword [eax + 0x6c]
ja 0x650369
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [edi]
mov bl, byte [eax]
inc eax
mov dl, byte [ecx]
mov dword [edi + 0x38], eax
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, edi
cmp dl, bl
jne 0x6503ab
add dword [eax + 0xc], 0xffffffff
jne 0x650385
jmp 0x64ff2b
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x650245
mov ecx, dword [ebp + 0x20]
mov edi, dword [eax + 0x38]
mov eax, dword [ecx + 0x64]
sub eax, edi
cmp eax, 1
jge 0x6503f5
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je 0x65023d
mov eax, dword [ebp + 0x20]
cmp edi, dword [eax + 0x6c]
ja 0x6503e6
cmp dword [eax + 0x34], 0
je 0x65023d
mov dword [eax + 0x2c], 1
cmp ecx, 1
jmp 0x650237
mov cl, byte [edi]
lea eax, [edi + 1]
mov edi, dword [ebp - 4]
mov dl, byte [esi + 1]
mov dword [edi + 0x38], eax
cmp dl, cl
jne 0x65023d
lea eax, [esi + 2]
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp - 0x1c], ebx
cmp ebx, dword [edi + 0x64]
jb 0x650460
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x6501d1
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x6c]
ja 0x650447
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
cmp dword [ebp - 8], 0
je 0x65077e
inc esi
mov dword [eax + 0xc], 1
mov dword [eax], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp + 0xc], 1
movzx ebx, byte [esi]
cmp ebx, 0xc0
jb 0x6505b1
test bl, 0x20
jne 0x6504b7
movzx eax, byte [esi + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp + 0xc], 2
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 2
jmp 0x6505ae
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test bl, 0x10
jne 0x6504ed
movzx eax, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp + 0xc], 3
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
jmp 0x6505ae
test bl, 8
jne 0x650528
movzx eax, byte [esi + 2]
and ebx, 7
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp + 0xc], 4
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
jmp 0x6505ae
movzx edx, byte [esi + 2]
movzx edi, byte [esi + 3]
and edx, 0x3f
mov dword [ebp + 0xc], ecx
and edi, 0x3f
movzx ecx, byte [esi + 4]
and ecx, 0x3f
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0xc]
test bl, 4
jne 0x650576
and ebx, 3
mov dword [eax + 0xc], 5
shl ebx, 6
or ebx, ecx
mov dword [ebp + 0xc], 5
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, edi
mov edi, dword [ebp + 0x20]
shl ebx, 6
or ebx, dword [ebp + 8]
jmp 0x6505b1
movzx eax, byte [esi + 5]
and ebx, 1
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp + 0xc], 6
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, edi
mov edi, dword [ebp + 0x20]
shl ebx, 6
or ebx, dword [ebp + 8]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx]
cmp ebx, 0x80
jae 0x6505e5
mov ecx, dword [edi + 0x38]
mov al, byte [ecx + ebx]
cmp al, byte [ecx + edx]
je 0x6505d1
xor esi, esi
jmp 0x650242
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [edi + 0x38], eax
jmp 0x64ff2b
inc ecx
mov dword [ebp - 0x34], ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x650619
mov al, byte [ecx]
lea edi, [ecx + 1]
mov byte [ebp + 0xb], al
mov eax, dword [ebp - 4]
test dl, 0x20
jne 0x650678
movzx eax, byte [ebp + 0xb]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
add eax, esi
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
cmp edx, ebx
je 0x64ff2e
mov eax, ebx
test eax, eax
jns 0x650637
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, ebx
shl ecx, 7
and eax, 0x8000007f
jns 0x650653
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x72de64]
add eax, ebx
cmp edx, eax
je 0x64ff2e
xor esi, esi
jmp 0x650242
lea esi, [ecx + 2]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x2c]
test dl, 0x10
jne 0x6506ae
movzx ecx, byte [ebp + 0xb]
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x650619
lea esi, [ecx + 3]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x2c]
test dl, 8
jne 0x6506f2
movzx ecx, byte [ebp + 0xb]
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, dword [ebp - 0x10]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x1c]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x650619
mov ecx, dword [ebp - 0x34]
movzx edi, byte [ebp + 0xb]
and edi, 0x3f
lea esi, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 1]
and esi, 0x3f
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 2]
and esi, 0x3f
mov dword [ebp - 0x1c], esi
movzx esi, byte [ecx + 3]
and esi, 0x3f
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x2c]
test dl, 4
jne 0x65074a
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x34]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, dword [ebp - 0x10]
jmp 0x650616
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
jmp 0x65061c
cmp dword [ebp - 0x28], 0
je 0x6507fb
movzx edx, byte [esi + 1]
movzx edi, byte [ebx]
cmp edx, 0x80
jae 0x6507b3
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
mov al, byte [ecx + edx]
cmp al, byte [ecx + edi]
jne 0x65023d
mov edi, dword [ebp - 4]
lea eax, [ebx + 1]
mov dword [edi + 0x38], eax
jmp 0x64ff26
cmp edi, edx
je 0x6507a5
mov eax, edx
test eax, eax
jns 0x6507c0
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x6507dc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x72de64]
add eax, edx
cmp edi, eax
je 0x6507a5
jmp 0x65023d
mov edx, dword [edi + 0x38]
movzx eax, byte [esi + 1]
movzx ecx, byte [ebx]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x6507a5
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp + 0xc], ebx
cmp ebx, dword [edi + 0x64]
jb 0x65085c
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x6501d1
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x6c]
ja 0x650843
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
cmp dword [ebp - 8], 0
je 0x650b37
lea ecx, [esi + 1]
mov dword [eax], ecx
movzx edx, byte [ecx]
mov dword [ebp - 0x34], ecx
inc ecx
mov dword [eax], ecx
cmp edx, 0xc0
jb 0x650991
mov cl, byte [ecx]
lea edi, [esi + 3]
test dl, 0x20
jne 0x6508a2
and edx, 0x1f
movzx eax, cl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edi
jmp 0x65098e
movzx ecx, cl
lea ebx, [esi + 4]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp + 0xc]
test dl, 0x10
jne 0x6508d6
movzx eax, byte [edi]
and edx, 0xf
and ecx, 0x3f
shl edx, 6
or edx, ecx
and eax, 0x3f
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], ecx
jmp 0x65098e
lea ebx, [esi + 5]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp + 0xc]
test dl, 8
jne 0x650912
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and ecx, 0x3f
or edx, ecx
and eax, 0x3f
mov ecx, dword [ebp - 0x2c]
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], ecx
jmp 0x65098e
lea ebx, [esi + 6]
and ecx, 0x3f
movzx esi, byte [edi]
mov dword [ebp - 0x1c], ebx
and esi, 0x3f
mov ebx, dword [ebp + 8]
movzx edi, byte [ebx]
mov ebx, dword [ebp - 0x2c]
and edi, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp + 0xc]
test dl, 4
jne 0x65095d
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, 6
or edx, esi
mov dword [eax], ecx
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x650991
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x1c]
shl edx, 6
or edx, esi
shl edx, 6
movzx eax, byte [ecx]
or edx, edi
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x34]
add eax, 6
mov dword [edi], eax
mov eax, dword [ebp - 4]
movzx ebx, byte [ebx]
mov ecx, dword [ebp + 0xc]
inc ecx
mov dword [ebp - 0x34], ecx
mov dword [eax + 0x38], ecx
cmp ebx, 0xc0
jb 0x650ac9
mov al, byte [ecx]
lea edi, [ecx + 1]
mov byte [ebp + 0xb], al
mov eax, dword [ebp - 4]
test bl, 0x20
jne 0x6509d4
movzx eax, byte [ebp + 0xb]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x650ac6
lea esi, [ecx + 2]
test bl, 0x10
jne 0x650a01
movzx ecx, byte [ebp + 0xb]
and ebx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x650ac6
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test bl, 8
jne 0x650a42
movzx ecx, byte [ebp + 0xb]
and ebx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov ecx, dword [ebp + 0xc]
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x650ac6
mov ecx, dword [ebp - 0x34]
movzx esi, byte [ebp + 0xb]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x2c], esi
and edi, 0x3f
lea esi, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 2]
and esi, 0x3f
mov dword [ebp + 8], esi
movzx esi, byte [ecx + 3]
and esi, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x2c]
test bl, 4
jne 0x650a98
and ebx, 3
shl ebx, 6
or ebx, esi
mov esi, dword [ebp - 0x34]
shl ebx, 6
or ebx, edi
mov dword [eax + 0x38], esi
shl ebx, 6
or ebx, dword [ebp + 8]
shl ebx, 6
or ebx, dword [ebp + 0xc]
jmp 0x650ac9
movzx eax, byte [ecx + 4]
and ebx, 1
shl ebx, 6
and eax, 0x3f
or ebx, esi
shl ebx, 6
or ebx, edi
mov edi, dword [ebp - 4]
shl ebx, 6
or ebx, dword [ebp + 8]
shl ebx, 6
or ebx, dword [ebp + 0xc]
shl ebx, 6
or ebx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
cmp edx, ebx
jne 0x650ad7
xor esi, esi
jmp 0x650242
cmp byte [eax + 0x31], 0x20
jne 0x64ff2e
cmp edx, 0x7f
jbe 0x650b21
mov eax, edx
test eax, eax
jns 0x650aef
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x650b0b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x72de64]
jmp 0x650b28
mov eax, dword [edi + 0x3c]
movzx edx, byte [eax + edx]
cmp edx, ebx
jne 0x64ff2e
xor esi, esi
jmp 0x650242
cmp dword [ebp - 0x28], 0
lea eax, [ebx + 1]
mov edi, dword [ebp - 4]
je 0x650bca
movzx ecx, byte [ebx]
mov dword [edi + 0x38], eax
lea eax, [esi + 2]
movzx edx, byte [esi + 1]
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
mov dword [ebp + 0xc], ecx
cmp edx, ecx
jne 0x650b67
xor esi, esi
jmp 0x650242
cmp byte [ebp + 0xb], 0x20
jne 0x64ff2e
cmp edx, 0x7f
jbe 0x650bb4
mov eax, edx
test eax, eax
jns 0x650b7f
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x650b9b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
mov ecx, dword [ebp + 0xc]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x72de64]
jmp 0x650bbb
mov eax, dword [edi + 0x3c]
movzx edx, byte [eax + edx]
cmp edx, ecx
jne 0x64ff2e
xor esi, esi
jmp 0x650242
movzx ecx, byte [esi + 1]
movzx edx, byte [ebx]
mov dword [edi + 0x38], eax
cmp ecx, edx
je 0x65023d
cmp byte [ebp + 0xb], 0x20
jne 0x64ff26
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + ecx]
cmp eax, edx
je 0x65023d
jmp 0x64ff26
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x650cee
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x650ceb
mov dword [ebp - 0xc], 1
jmp 0x650c24
mov dword [ebp - 0xc], 0
jmp 0x650c24
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x650cf1
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x650cf1
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x650cf1
mov edi, dword [ebp - 4]
cmp cl, 0x2e
movzx ecx, byte [esi]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
inc esi
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x74d7ec]
mov dword [edi + 0x20], eax
mov eax, dword [ecx*4 + 0x74d818]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x74d844]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov cl, byte [ebp + 0xb]
test ebx, ebx
je 0x651158
mov dword [eax + 0xc], 1
lea edi, [esi + 1]
mov dword [eax + 8], esi
movzx ebx, byte [esi]
cmp ebx, 0xc0
jb 0x651151
lea ecx, [esi + 2]
test bl, 0x20
jne 0x650d39
movzx edx, byte [edi]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or edx, ebx
mov dword [eax + 0xc], 2
mov esi, eax
jmp 0x650e2c
test bl, 0x10
jne 0x650d69
movzx edx, byte [edi]
and ebx, 0xf
movzx eax, byte [ecx]
and edx, 0x3f
shl ebx, 6
lea ecx, [esi + 3]
or edx, ebx
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 3
jmp 0x650e27
test bl, 8
jne 0x650da7
movzx eax, byte [edi]
mov edx, ebx
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx]
and eax, 0x3f
shl edx, 6
or edx, eax
lea ecx, [esi + 4]
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 4
jmp 0x650e27
movzx edx, byte [esi + 3]
movzx edi, byte [edi]
and edx, 0x3f
movzx ecx, byte [ecx]
and edi, 0x3f
mov dword [ebp + 8], edx
and ecx, 0x3f
movzx edx, byte [esi + 4]
and edx, 0x3f
mov dword [ebp + 0xc], edx
mov edx, ebx
test bl, 4
jne 0x650df5
and edx, 3
mov dword [eax + 0xc], 5
shl edx, 6
or edx, edi
shl edx, 6
or edx, ecx
lea ecx, [esi + 5]
shl edx, 6
mov esi, eax
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x650e2c
movzx eax, byte [esi + 5]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
shl edx, 6
or edx, ecx
lea ecx, [esi + 6]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 6
mov esi, eax
mov eax, dword [ebp - 4]
mov dword [esi], ecx
cmp byte [eax + 0x31], 0x2e
jb 0x650e77
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x72de64]
add ecx, edx
cmp ecx, edx
je 0x650e77
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.00662230
add esp, 8
mov ecx, eax
jmp 0x650e79
xor ecx, ecx
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], 1
mov dword [eax + 0x14], ecx
mov ecx, dword [eax + 0x20]
cmp ecx, 1
jb 0x650fb0
mov ebx, dword [eax + 0x38]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x64]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x650f12
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x650ec9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x650ed2
add ecx, 4
add edx, 4
sub esi, 4
jae 0x650eb8
cmp esi, 0xfffffffc
je 0x650f93
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x650f0f
cmp esi, 0xfffffffd
je 0x650f93
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x650f0f
cmp esi, 0xfffffffe
je 0x650f93
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x650f0f
cmp esi, 0xffffffff
je 0x650f93
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x650f93
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x6510e2
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x6510e2
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x650f51
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x650f56
add ecx, 4
add edx, 4
sub esi, 4
jae 0x650f40
cmp esi, 0xfffffffc
je 0x650f93
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x6510e2
cmp esi, 0xfffffffd
je 0x650f93
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x6510e2
cmp esi, 0xfffffffe
je 0x650f93
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x6510e2
cmp esi, 0xffffffff
je 0x650f93
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x6510e2
mov eax, dword [ebp - 4]
add ebx, edi
mov edx, dword [ebp + 0xc]
inc edx
mov dword [ebp + 0xc], edx
mov dword [eax + 0x38], ebx
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 4]
cmp edx, ecx
jbe 0x650e95
mov edx, dword [eax + 0x24]
mov ebx, dword [ebp - 8]
cmp ecx, edx
je 0x65dbd5
cmp dword [ebp - 0xc], 0
je 0x65dd55
mov ebx, dword [eax + 0x38]
mov dword [eax + 4], ebx
mov ecx, dword [eax + 0x20]
mov dword [ebp + 0xc], ecx
cmp ecx, edx
jae 0x65113c
nop dword [eax]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x64]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x651059
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x651014
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x65101d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x651003
cmp esi, 0xfffffffc
je 0x6510c5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x651056
cmp esi, 0xfffffffd
je 0x6510c5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x651056
cmp esi, 0xfffffffe
je 0x6510c5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x651056
cmp esi, 0xffffffff
je 0x6510c5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x6510c5
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x14]
test edi, edi
je 0x651108
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x651108
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x651093
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x651098
add ecx, 4
add edx, 4
sub esi, 4
jae 0x651082
cmp esi, 0xfffffffc
je 0x6510c5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x651108
cmp esi, 0xfffffffd
je 0x6510c5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x651108
cmp esi, 0xfffffffe
je 0x6510c5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x651108
cmp esi, 0xffffffff
je 0x6510c5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x651108
mov eax, dword [ebp - 4]
add ebx, edi
mov esi, dword [ebp + 0xc]
inc esi
mov dword [ebp + 0xc], esi
mov dword [eax + 0x38], ebx
cmp esi, dword [eax + 0x24]
mov eax, dword [ebp - 4]
jb 0x650fe0
jmp 0x651139
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x64]
jb 0x65023d
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x65023d
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x6c]
jmp 0x6503da
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x64]
jb 0x651139
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x651139
mov eax, dword [ebp + 0x20]
cmp ebx, dword [eax + 0x6c]
ja 0x651129
cmp dword [eax + 0x34], 0
je 0x651139
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp - 8]
je 0x65dbd5
mov ecx, dword [eax + 0x38]
jmp 0x65d7bf
mov dword [eax], edi
mov dword [eax + 0x28], ebx
jmp 0x651168
movzx ebx, byte [esi]
mov edi, dword [ebp - 4]
mov dword [eax + 0x28], ebx
lea eax, [esi + 1]
mov dword [edi], eax
mov eax, edi
cmp cl, 0x2e
jb 0x6512c9
cmp dword [ebp - 0x28], 0
je 0x6511b2
cmp dword [ebp - 8], 0
jne 0x6511b2
cmp ebx, 0x7f
jbe 0x6511b2
mov edx, dword [ebp + 0x20]
mov eax, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, ebx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x72de64]
add ecx, ebx
jmp 0x6511bc
mov edx, dword [ebp + 0x20]
mov eax, dword [edx + 0x3c]
movzx ecx, byte [eax + ebx]
mov eax, dword [ebp - 4]
mov edi, 1
mov dword [eax + 0x2c], ecx
mov esi, dword [eax + 0x20]
cmp esi, edi
jb 0x651231
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x6511f5
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je 0x6511e7
cmp dword [eax + 0x2c], edx
jne 0x65023d
inc ecx
inc edi
mov dword [eax + 0x38], ecx
cmp edi, esi
ja 0x651231
mov edx, dword [ebp + 0x20]
jmp 0x6511d1
mov edi, dword [ebp + 0x20]
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6501d1
mov eax, edi
cmp ecx, dword [eax + 0x6c]
ja 0x651218
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
mov edi, dword [eax + 0x24]
mov ebx, dword [ebp - 8]
cmp esi, edi
je 0x65dbd5
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x65b075
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edi
jae 0x651272
mov edx, dword [ebp + 0x20]
cmp ecx, dword [edx + 0x64]
jae 0x651277
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je 0x651269
cmp dword [eax + 0x2c], edx
jne 0x651272
inc ecx
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edi
jb 0x651254
mov edi, dword [ebp + 0x20]
jmp 0x6512a3
mov edi, edx
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6512a3
mov eax, edi
cmp ecx, dword [eax + 0x6c]
ja 0x651291
cmp dword [eax + 0x34], 0
je 0x6512a1
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
cmp ebx, 2
mov ebx, dword [ebp - 8]
je 0x64ff31
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x64ff2b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1a
jmp 0x65e1ff
mov esi, dword [eax + 0x20]
mov ebx, 1
cmp esi, ebx
jb 0x651300
mov edx, dword [eax + 0x38]
mov edi, dword [ebp - 4]
nop dword [eax + eax]
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 0x64]
jae 0x651346
movzx eax, byte [edx]
inc edx
mov dword [edi + 0x38], edx
cmp dword [edi + 0x28], eax
jne 0x65023d
inc ebx
cmp ebx, esi
jbe 0x6512e0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp esi, edx
je 0x64ff31
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x65b0d2
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edx
jae 0x651389
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x64]
jae 0x651360
mov ebx, dword [ebp - 4]
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
jne 0x65138c
mov eax, ebx
inc ecx
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edx
jb 0x651326
jmp 0x651389
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x65023d
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 0x6c]
jmp 0x6503da
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x651389
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x651379
cmp dword [eax + 0x34], 0
je 0x651389
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov ebx, dword [ebp - 4]
cmp edi, 2
mov edi, dword [ebp + 0x20]
je 0x64ff2e
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x64ff2b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1c
jmp 0x65e1ff
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], ecx
mov dword [eax], esi
jmp 0x6514ff
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x6514fc
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x6514fc
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edi, esi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x6514fc
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edi, esi
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x6514fc
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov edi, esi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x6514fc
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov edi, esi
mov dword [eax + 0x24], ecx
mov dword [eax], esi
jmp 0x6514fc
mov edi, dword [ebp - 4]
cmp cl, 0x48
movzx ecx, byte [esi]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [ebp - 4]
inc esi
mov dword [eax], esi
mov eax, dword [ecx*4 + 0x74d7ec]
mov dword [edi + 0x20], eax
mov eax, dword [ecx*4 + 0x74d818]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + 0x74d844]
mov dword [ebp - 0xc], eax
mov eax, edi
mov edi, dword [eax]
mov eax, dword [ebp - 4]
movzx ecx, byte [esi]
lea esi, [edi + 1]
mov dword [eax + 0x28], ecx
mov edx, ecx
mov dword [eax], esi
test ebx, ebx
je 0x651633
cmp ecx, 0xc0
jb 0x651633
mov bl, byte [esi]
test cl, 0x20
jne 0x651543
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 2]
jmp 0x651629
test cl, 0x10
jne 0x651572
mov edx, ecx
movzx eax, bl
and edx, 0xf
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 3]
jmp 0x651629
test cl, 8
jne 0x6515ad
mov edx, ecx
movzx eax, bl
and edx, 7
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 1]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 4]
jmp 0x651629
movzx edx, byte [esi + 1]
and edx, 0x3f
movzx ebx, bl
mov dword [ebp + 8], edx
and ebx, 0x3f
movzx edx, byte [esi + 2]
and edx, 0x3f
mov dword [ebp + 0xc], edx
movzx edx, byte [esi + 3]
and edx, 0x3f
mov dword [ebp - 0x2c], edx
mov edx, ecx
test cl, 4
jne 0x6515fa
and edx, 3
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp - 0x2c]
mov dword [eax + 0x28], edx
lea eax, [edi + 5]
jmp 0x651629
movzx eax, byte [esi + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp - 0x2c]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 6]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 8]
mov dword [edi], eax
mov eax, edi
cmp byte [eax + 0x31], 0x48
jb 0x651abc
test ebx, ebx
jne 0x651646
cmp dword [ebp - 0x28], ebx
je 0x65167b
cmp edx, 0x7f
jbe 0x65167b
mov edi, dword [ebp + 0x20]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x72de64]
add ecx, edx
jmp 0x651685
mov edi, dword [ebp + 0x20]
mov eax, dword [edi + 0x3c]
movzx ecx, byte [eax + edx]
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], ecx
mov edx, dword [eax + 0x20]
test ebx, ebx
je 0x6518b5
mov ebx, 1
mov dword [ebp + 8], ebx
cmp edx, ebx
jb 0x651806
mov ecx, dword [eax + 0x38]
nop dword [eax]
cmp ecx, dword [edi + 0x64]
jae 0x65187b
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x6517e5
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x6516f1
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x6517df
lea edi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x651722
movzx eax, byte [esi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edi
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x6517dc
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x34]
test dl, 8
jne 0x65175c
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [edi]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x6517d6
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x2c], eax
and edi, 0x3f
mov eax, dword [ebp + 0xc]
movzx ebx, bl
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x6517ad
and edx, 3
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x2c]
shl edx, 6
mov ecx, esi
or edx, edi
mov dword [eax + 0x38], esi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x6517e2
and edx, 1
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 8]
cmp dword [eax + 0x28], edx
je case.0x65b2c7.14
cmp dword [eax + 0x2c], edx
je case.0x65b2c7.14
mov edx, dword [eax + 0x20]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, edx
jbe 0x6516b0
mov ebx, dword [ebp - 8]
mov edi, dword [eax + 0x24]
mov dword [ebp + 0xc], edi
cmp edx, edi
je 0x65dbd5
cmp dword [ebp - 0xc], 0
je 0x65dbdd
cmp dword [ebp - 8], 0
mov ecx, edi
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 8], ebx
je 0x651a53
cmp ebx, ecx
jae 0x651a05
mov edx, dword [ebp + 0x20]
mov ecx, 1
cmp esi, dword [edx + 0x64]
jae 0x651a1d
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x6519ea
test dl, 0x20
jne 0x65192a
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x6519df
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6501d1
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x65189c
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
mov esi, 1
cmp edx, esi
jb 0x651809
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x6518f0
movzx edx, byte [ecx]
cmp dword [eax + 0x28], edx
je case.0x65b2c7.14
cmp dword [eax + 0x2c], edx
je case.0x65b2c7.14
inc ecx
inc esi
mov dword [eax + 0x38], ecx
mov edx, dword [eax + 0x20]
cmp esi, edx
jbe 0x6518c5
jmp 0x651809
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6501d1
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x651911
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x65194c
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x6519df
movzx edi, byte [esi + 2]
movzx ebx, byte [esi + 3]
and edi, 0x3f
and ebx, 0x3f
test dl, 8
jne 0x651981
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
jmp 0x6519ea
movzx eax, byte [esi + 4]
and eax, 0x3f
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x6519b8
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x6519ea
movzx eax, byte [esi + 5]
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp - 0x2c]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], edx
je 0x651a05
cmp dword [eax + 0x2c], edx
je 0x651a05
inc ebx
add esi, ecx
mov dword [eax + 0x38], esi
mov dword [ebp + 8], ebx
cmp ebx, edi
jb 0x651841
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp - 8]
je 0x64ff31
mov ecx, dword [eax + 0x38]
jmp 0x65d7f0
mov edi, edx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x651a4e
mov eax, edx
cmp esi, dword [eax + 0x6c]
ja 0x651a37
cmp dword [eax + 0x34], 0
je 0x651a47
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov eax, dword [ebp - 4]
mov edi, edx
jmp 0x651a08
mov eax, dword [ebp - 4]
jmp 0x651a08
cmp ebx, ecx
jae 0x651a75
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x651a8d
movzx ecx, byte [esi]
cmp dword [eax + 0x28], ecx
je 0x651a75
cmp dword [eax + 0x2c], ecx
je 0x651a75
inc esi
inc ebx
mov dword [eax + 0x38], esi
cmp ebx, edi
jb 0x651a57
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp - 8]
je 0x64ff31
mov ecx, dword [eax + 0x38]
jmp 0x65d739
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x651ab7
mov eax, edi
cmp esi, dword [eax + 0x6c]
ja 0x651aa7
cmp dword [eax + 0x34], 0
je 0x651ab7
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov eax, dword [ebp - 4]
jmp 0x651a78
mov esi, dword [eax + 0x20]
test ebx, ebx
mov ebx, 1
je 0x651c69
mov dword [ebp + 8], ebx
cmp esi, ebx
jb 0x651c9a
mov ecx, dword [eax + 0x38]
mov edi, dword [ebp + 0x20]
nop dword [eax]
cmp ecx, dword [edi + 0x64]
jae 0x651c2f
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x651c15
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x651b21
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x651c0f
lea edi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x651b52
movzx eax, byte [esi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edi
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x651c0c
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x34]
test dl, 8
jne 0x651b8c
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [edi]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x651c06
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x2c], eax
and edi, 0x3f
mov eax, dword [ebp + 0xc]
movzx ebx, bl
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x651bdd
and edx, 3
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x2c]
shl edx, 6
mov ecx, esi
or edx, edi
mov dword [eax + 0x38], esi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x651c12
and edx, 1
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
movzx eax, byte [esi]
shl edx, 6
and eax, 0x3f
or edx, eax
add ecx, 5
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 8]
cmp dword [eax + 0x28], edx
je case.0x65b2c7.14
mov esi, dword [eax + 0x20]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, esi
jbe 0x651ae0
jmp 0x651c9a
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6501d1
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x651c50
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
cmp esi, 1
jb 0x651c9a
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x20]
cmp edx, dword [eax + 0x64]
jae 0x651346
mov edi, dword [ebp - 4]
movzx eax, byte [edx]
inc edx
mov dword [edi + 0x38], edx
cmp dword [edi + 0x28], eax
mov eax, edi
je 0x6503ab
mov esi, dword [eax + 0x20]
inc ebx
cmp ebx, esi
jbe 0x651c71
mov edx, dword [eax + 0x24]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x34], edx
cmp esi, edx
je 0x64ff31
cmp dword [ebp - 0xc], 0
je 0x65dbf0
cmp dword [ebp - 8], 0
mov ecx, edx
mov esi, dword [eax + 0x38]
mov dword [eax + 4], esi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 8], ebx
je 0x651e23
cmp ebx, ecx
jae 0x651e0e
nop dword [eax + eax]
mov edx, dword [ebp + 0x20]
mov ecx, 1
cmp esi, dword [edx + 0x64]
jae 0x651de3
movzx edx, byte [esi]
cmp edx, 0xc0
jb 0x651dca
test dl, 0x20
jne 0x651d16
movzx eax, byte [esi + 1]
and edx, 0x1f
mov ecx, 2
jmp 0x651dbf
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x651d38
movzx eax, byte [esi + 2]
and edx, 0xf
shl edx, 6
or edx, ecx
mov ecx, 3
jmp 0x651dbf
movzx edi, byte [esi + 2]
movzx ebx, byte [esi + 3]
and edi, 0x3f
and ebx, 0x3f
test dl, 8
jne 0x651d67
and edx, 7
shl edx, 6
or edx, ecx
mov ecx, 4
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
jmp 0x651dca
movzx eax, byte [esi + 4]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x651d9b
and edx, 3
shl edx, 6
or edx, ecx
mov ecx, 5
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x651dca
movzx eax, byte [esi + 5]
and edx, 1
shl edx, 6
or edx, ecx
mov ecx, 6
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
mov ebx, dword [ebp + 8]
shl edx, 6
or edx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], edx
je 0x651e0e
inc ebx
add esi, ecx
mov dword [eax + 0x38], esi
mov dword [ebp + 8], ebx
cmp ebx, dword [ebp - 0x34]
jb 0x651ce0
jmp 0x651e0e
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x651e0b
mov eax, edx
cmp esi, dword [eax + 0x6c]
ja 0x651dfb
cmp dword [eax + 0x34], 0
je 0x651e0b
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov ebx, dword [ebp - 8]
je 0x65dbd5
mov ecx, dword [eax + 0x38]
jmp 0x65d821
cmp ebx, ecx
jae 0x651e73
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x64]
jae 0x651e47
mov edi, dword [ebp - 4]
movzx eax, byte [esi]
cmp dword [edi + 0x28], eax
mov eax, edi
je 0x651e73
inc esi
inc ebx
mov dword [eax + 0x38], esi
cmp ebx, edx
jb 0x651e27
jmp 0x651e70
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x651e70
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x6c]
ja 0x651e60
cmp dword [eax + 0x34], 0
je 0x651e70
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
je 0x64ff31
mov ecx, dword [eax + 0x38]
jmp 0x65d753
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
add esi, 0x21
mov dword [edi + 8], eax
mov eax, edi
mov dword [eax], esi
movzx ecx, byte [esi]
lea edx, [ecx - 0x62]
cmp edx, 0xb
ja case.default.0x651eb1
movzx eax, byte [edx + 0x65e79c]
jmp dword [eax*4 + 0x65e794]
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov edx, dword [ecx*4 + 0x74d664]
mov dword [edi], eax
mov eax, edi
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + str.UTF8_]
mov ecx, dword [ecx*4 + 0x74d6bc]
mov dword [edi + 0x24], eax
mov eax, edi
mov dword [ebp - 0xc], ecx
jmp 0x651f3e
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov edi, dword [ebp - 4]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], edx
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, 0xffffffff
cmove ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], ecx
movzx eax, byte [esi]
mov eax, dword [eax*4 + 0x74d6bc]
mov dword [ebp - 0xc], eax
lea eax, [esi + 5]
mov dword [edi], eax
mov eax, edi
jmp 0x651f3e
mov dword [eax + 0x24], 1
mov edx, 1
mov dword [eax + 0x20], 1
test ebx, ebx
je 0x652189
mov edi, 1
mov dword [ebp + 8], edi
cmp edx, edi
jb 0x6520d8
mov esi, dword [eax + 0x38]
nop dword [eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x65214e
movzx ebx, byte [esi]
inc esi
mov dword [eax + 0x38], esi
cmp ebx, 0xc0
jb 0x652097
mov cl, byte [esi]
lea edx, [esi + 1]
test bl, 0x20
jne 0x651fa4
and ebx, 0x1f
movzx eax, cl
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov esi, edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edx
jmp 0x652094
movzx ecx, cl
lea edi, [esi + 2]
mov dword [ebp - 0x34], edi
test bl, 0x10
jne 0x651fd5
movzx eax, byte [edx]
and ebx, 0xf
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
shl ebx, 6
mov esi, edi
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x652091
lea edi, [esi + 3]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x34]
test bl, 8
jne 0x652014
movzx eax, byte [edx]
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
and eax, 0x3f
mov ecx, dword [ebp + 0xc]
mov esi, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x652091
movzx edx, byte [edx]
lea eax, [esi + 4]
movzx edi, byte [edi]
and ecx, 0x3f
mov dword [ebp - 0x2c], eax
and edx, 0x3f
mov eax, dword [ebp + 0xc]
and edi, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test bl, 4
jne 0x652062
and ebx, 3
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x2c]
shl ebx, 6
mov esi, ecx
or ebx, edx
mov dword [eax + 0x38], ecx
shl ebx, 6
or ebx, edi
mov edi, dword [ebp + 8]
shl ebx, 6
or ebx, dword [ebp + 0xc]
jmp 0x652097
and ebx, 1
shl ebx, 6
or ebx, ecx
mov ecx, dword [ebp - 0x2c]
shl ebx, 6
or ebx, edx
shl ebx, 6
movzx eax, byte [ecx]
or ebx, edi
shl ebx, 6
and eax, 0x3f
or ebx, dword [ebp + 0xc]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
add esi, 5
mov dword [eax + 0x38], esi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 4]
cmp ebx, 0xff
jbe 0x6520ab
cmp byte [eax + 0x31], 0x6e
je 0x65023d
jmp 0x6520c9
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
mov eax, dword [ebp - 4]
je 0x6503ab
mov edx, dword [eax + 0x20]
inc edi
mov dword [ebp + 8], edi
cmp edi, edx
jbe 0x651f60
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x2c], ecx
cmp edx, ecx
je 0x65dbd5
cmp dword [ebp - 0xc], 0
je 0x65dc03
cmp dword [ebp - 8], 0
mov edi, dword [eax + 0x38]
mov dword [eax + 4], edi
mov ebx, dword [eax + 0x20]
mov dword [ebp + 0xc], ebx
je 0x652345
cmp ebx, ecx
jae 0x652300
mov edx, dword [ebp + 0x20]
mov esi, 1
cmp edi, dword [edx + 0x64]
jae 0x652305
movzx ebx, byte [edi]
cmp ebx, 0xc0
jb 0x6522c1
test bl, 0x20
jne 0x652216
movzx eax, byte [edi + 1]
and ebx, 0x1f
mov esi, 2
jmp 0x6522b6
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x6501d1
mov eax, edi
cmp esi, dword [eax + 0x6c]
ja 0x652170
cmp dword [eax + 0x34], 0
je 0x6501cf
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov edi, eax
xor esi, esi
jmp 0x650242
mov ebx, 1
cmp edx, ebx
jb 0x6520d8
mov edi, dword [eax + 0x38]
jmp 0x6521a3
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
cmp edi, dword [edx + 0x64]
jae 0x6521dd
movzx esi, byte [edi]
mov edx, 1
inc edi
mov ecx, esi
mov dword [eax + 0x38], edi
and ecx, 7
mov eax, dword [eax + 8]
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [ebp - 4]
je 0x6503ab
mov edx, dword [eax + 0x20]
inc ebx
cmp ebx, edx
jbe 0x6521a0
jmp 0x6520db
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x65220d
cmp edi, dword [edx + 0x6c]
mov edi, edx
ja 0x6521f5
cmp dword [edi + 0x34], 0
je 0x65220f
mov dword [edi + 0x2c], 1
cmp ecx, 1
jbe 0x65220f
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, edx
xor esi, esi
jmp 0x650242
movzx ecx, byte [edi + 1]
and ecx, 0x3f
test bl, 0x10
jne 0x652238
movzx eax, byte [edi + 2]
and ebx, 0xf
shl ebx, 6
mov esi, 3
or ebx, ecx
jmp 0x6522b6
movzx edx, byte [edi + 2]
movzx esi, byte [edi + 3]
and edx, 0x3f
and esi, 0x3f
test bl, 8
jne 0x652264
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 4
jmp 0x6522c1
movzx eax, byte [edi + 4]
and eax, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp - 4]
test bl, 4
jne 0x652295
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 5
shl ebx, 6
or ebx, dword [ebp + 8]
jmp 0x6522c1
movzx eax, byte [edi + 5]
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, 6
shl ebx, 6
or ebx, dword [ebp + 8]
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 4]
cmp ebx, 0xff
jbe 0x6522d1
cmp byte [eax + 0x31], 0x6e
je 0x652300
jmp 0x6522eb
mov eax, dword [eax + 8]
mov ecx, ebx
and ecx, 7
shr ebx, 3
mov edx, 1
shl edx, cl
test byte [ebx + eax], dl
je 0x652300
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0xc]
add edi, esi
inc ebx
mov dword [eax + 0x38], edi
mov dword [ebp + 0xc], ebx
cmp ebx, dword [ebp - 0x2c]
jb 0x652114
mov edi, dword [ebp + 0x20]
jmp 0x65232d
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x65232b
cmp edi, dword [edx + 0x6c]
mov edi, edx
ja 0x65231d
cmp dword [edi + 0x34], 0
je 0x65232d
mov dword [edi + 0x2c], esi
cmp ecx, 1
ja 0x652201
jmp 0x65232d
mov edi, edx
cmp dword [ebp - 0xc], 2
je 0x64ff2e
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x65e1ff
cmp ebx, ecx
jae 0x652382
jmp 0x652353
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
cmp edi, dword [edx + 0x64]
jae 0x652387
movzx esi, byte [edi]
mov edx, 1
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
shl edx, cl
test byte [esi + eax], dl
je 0x652382
mov eax, dword [ebp - 4]
inc edi
inc ebx
mov dword [eax + 0x38], edi
cmp ebx, dword [ebp - 0x2c]
jb 0x652350
mov edi, dword [ebp + 0x20]
jmp 0x6523b3
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x6523b1
cmp edi, dword [edx + 0x6c]
mov edi, edx
ja 0x65239f
cmp dword [edi + 0x34], 0
je 0x6523b3
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
jmp 0x6523b3
mov edi, edx
cmp dword [ebp - 0xc], 2
je 0x64ff2e
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x65023d
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x18
jmp 0x65e1ff
mov edi, dword [ebp - 4]
lea eax, [esi + 3]
mov dword [edi + 8], eax
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, edi
add edx, esi
mov dword [eax], edx
movzx ebx, byte [edx]
lea ecx, [ebx - 0x62]
cmp ecx, 0xb
ja case.default.0x652409
movzx eax, byte [ecx + 0x65e7b0]
jmp dword [eax*4 + 0x65e7a8]
mov edi, dword [ebp - 4]
lea eax, [edx + 1]
mov ecx, dword [ebx*4 + 0x74d664]
mov esi, dword [ebx*4 + str.UTF8_]
mov ebx, dword [ebx*4 + 0x74d6bc]
mov dword [edi], eax
mov eax, edi
mov dword [ebp - 0xc], ebx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], esi
jmp 0x652482
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x20], ecx
movzx esi, byte [edx + 3]
movzx eax, byte [edx + 4]
shl esi, 8
or esi, eax
mov eax, dword [ebp - 4]
lea eax, [eax + 0x24]
mov dword [eax], esi
jne 0x65246d
mov dword [eax], 0xffffffff
or esi, 0xffffffff
movzx eax, byte [edx]
mov edi, dword [ebp - 4]
mov eax, dword [eax*4 + 0x74d6bc]
mov dword [ebp - 0xc], eax
lea eax, [edx + 5]
mov dword [edi], eax
mov eax, dword [ebp - 4]
cmp ecx, 1
jb 0x65261e
mov edi, dword [ebp + 0x20]
mov ebx, 1
mov dword [ebp + 8], ebx
jmp 0x6524b9
mov edi, dword [ebp + 0x20]
mov ebx, 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
mov dword [ebp + 8], ebx
jmp 0x6524b9
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x6527ba
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x6525f2
cmp edx, 0xc0
jb 0x6525f2
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x652505
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x6525e9
lea esi, [ecx + 2]
test dl, 0x10
jne 0x652531
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x6525e9
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x652571
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x6525e9
movzx edi, byte [edi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and edi, 0x3f
movzx eax, byte [ecx + 3]
movzx esi, bl
and eax, 0x3f
movzx ebx, byte [ecx + 2]
and esi, 0x3f
and ebx, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x6525bc
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x6525ec
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x20]
push dword [ebp - 8]
push dword [eax + 8]
push edx
call fcn.006648c0
add esp, 0xc
test eax, eax
mov eax, dword [ebp - 4]
je 0x6527b3
mov ecx, dword [eax + 0x20]
inc ebx
mov dword [ebp + 8], ebx
cmp ebx, ecx
jbe 0x6524b6
mov esi, dword [eax + 0x24]
mov edi, dword [ebp + 0x20]
cmp ecx, esi
je 0x64ff2e
cmp dword [ebp - 0xc], 0
je 0x65dd41
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [eax + 0x20]
mov dword [ebp + 8], ebx
cmp ebx, esi
jae 0x65279b
jmp 0x652653
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov esi, 1
cmp edx, dword [edi + 0x64]
jae 0x652779
cmp dword [ebp - 8], 0
movzx ecx, byte [edx]
je 0x65274e
cmp ecx, 0xc0
jb 0x65274e
test cl, 0x20
jne 0x652693
movzx eax, byte [edx + 1]
and ecx, 0x1f
mov esi, 2
jmp 0x652743
test cl, 0x10
jne 0x6526b5
movzx eax, byte [edx + 1]
and ecx, 0xf
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov esi, 3
movzx eax, byte [edx + 2]
jmp 0x652743
movzx esi, byte [edx + 1]
movzx edi, byte [edx + 2]
and esi, 0x3f
movzx ebx, byte [edx + 3]
and edi, 0x3f
and ebx, 0x3f
test cl, 8
jne 0x6526eb
and ecx, 7
shl ecx, 6
or ecx, esi
mov esi, 4
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 8]
jmp 0x65274e
movzx eax, byte [edx + 4]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test cl, 4
jne 0x65271f
and ecx, 3
shl ecx, 6
or ecx, esi
mov esi, 5
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 8]
shl ecx, 6
or ecx, dword [ebp + 0xc]
jmp 0x65274e
movzx eax, byte [edx + 5]
and ecx, 1
shl ecx, 6
or ecx, esi
mov esi, 6
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, ebx
mov ebx, dword [ebp + 8]
shl ecx, 6
or ecx, dword [ebp + 0xc]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push ecx
call fcn.006648c0
add esp, 0xc
test eax, eax
je 0x65279b
mov eax, dword [ebp - 4]
inc ebx
mov dword [ebp + 8], ebx
add dword [eax + 0x38], esi
mov edx, dword [eax + 0x38]
cmp ebx, dword [eax + 0x24]
jb 0x652650
jmp 0x65279b
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x65279b
cmp edx, dword [edi + 0x6c]
ja 0x65278f
cmp dword [edi + 0x34], 0
je 0x65279b
mov dword [edi + 0x2c], esi
cmp ecx, 1
ja 0x652201
cmp dword [ebp - 0xc], 2
je 0x64ff2b
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x65e1ff
xor esi, esi
jmp 0x650245
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x6527d8
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x65282f
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x652818
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x65295a
cmp edx, 0xc0
jb 0x65295a
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x65286d
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x652954
lea esi, [ecx + 2]
test dl, 0x10
jne 0x652899
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x652954
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x6528d9
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x652954
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x652927
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x652954
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0xff
ja 0x652afe
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
je 0x652afe
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x6529ba
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x6529a3
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x652ae5
cmp edx, 0xc0
jb 0x652ae5
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x6529f8
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x652adf
lea esi, [ecx + 2]
test dl, 0x10
jne 0x652a24
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x652adf
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x652a64
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x652adf
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x652ab2
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x652adf
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0xff
ja case.0x65b2c7.14
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x652b48
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x652b31
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x652c73
cmp edx, 0xc0
jb 0x652c73
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x652b86
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x652c6d
lea esi, [ecx + 2]
test dl, 0x10
jne 0x652bb2
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x652c6d
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x652bf2
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x652c6d
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x652c40
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x652c6d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0xff
ja 0x652afe
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
je 0x652afe
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x652cd3
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x652cbc
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x652dfe
cmp edx, 0xc0
jb 0x652dfe
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x652d11
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x652df8
lea esi, [ecx + 2]
test dl, 0x10
jne 0x652d3d
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x652df8
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x652d7d
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x652df8
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x652dcb
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x652df8
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0xff
ja case.0x65b2c7.14
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x652e61
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x652e4a
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x652f8c
cmp edx, 0xc0
jb 0x652f8c
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x652e9f
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x652f86
lea esi, [ecx + 2]
test dl, 0x10
jne 0x652ecb
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x652f86
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x652f0b
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x652f86
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x652f59
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x652f86
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0xff
ja 0x652afe
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
je 0x652afe
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x652fec
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x652fd5
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x653117
cmp edx, 0xc0
jb 0x653117
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x65302a
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x653111
lea esi, [ecx + 2]
test dl, 0x10
jne 0x653056
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x653111
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x653096
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x653111
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x6530e4
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x653111
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0xff
ja case.0x65b2c7.14
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x65317a
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x653163
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
mov esi, ecx
test ebx, ebx
je 0x653288
cmp edx, 0xc0
jb 0x653288
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x6531ac
movzx eax, bl
and edx, 0x1f
jmp 0x653277
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp + 0xc], edi
test dl, 0x10
jne 0x6531cf
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x653274
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x6531fe
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 8]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x653274
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp + 8]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test dl, 4
jne 0x653255
mov ecx, dword [ebp - 0x2c]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x653285
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 8]
cmp edx, 0xd
ja 0x6532f1
je 0x65329f
cmp edx, 0xa
je 0x6532ca
jbe case.0x65b2c7.14
cmp edx, 0xc
jmp 0x65330b
cmp esi, dword [edi + 0x64]
jb 0x6532d7
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x6532ca
cmp esi, dword [edi + 0x6c]
ja 0x6532ba
cmp dword [edi + 0x34], 0
je 0x6532ca
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
inc dword [eax]
jmp 0x64ff31
cmp byte [esi], 0xa
jne 0x6532ca
mov edi, dword [ebp - 4]
lea eax, [esi + 1]
mov dword [edi + 0x38], eax
mov eax, edi
mov edi, dword [ebp + 0x20]
inc dword [eax]
jmp 0x64ff31
cmp edx, 0x85
je 0x653314
cmp edx, 0x2027
jbe case.0x65b2c7.14
cmp edx, 0x2029
jbe 0x653314
xor esi, esi
jmp 0x650242
cmp word [edi + 0x4e], 2
jne 0x6532ca
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x653362
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x65334b
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x653490
cmp edx, 0xc0
jb 0x653490
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x6533a0
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x653487
lea esi, [ecx + 2]
test dl, 0x10
jne 0x6533cc
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x653487
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x65340c
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x653487
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x65345a
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65348a
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0x180e
ja 0x6534d8
je case.0x65b2c7.14
cmp edx, 0xa0
ja 0x6534c5
je case.0x65b2c7.14
cmp edx, 9
je case.0x65b2c7.14
cmp edx, 0x20
je case.0x65b2c7.14
inc dword [eax]
jmp 0x64ff31
cmp edx, 0x1680
je case.0x65b2c7.14
inc dword [eax]
jmp 0x64ff31
cmp edx, 0x205f
ja 0x653511
je case.0x65b2c7.14
cmp edx, 0x2000
jb 0x6501ff
cmp edx, 0x200a
jbe case.0x65b2c7.14
cmp edx, 0x202f
je case.0x65b2c7.14
inc dword [eax]
jmp 0x64ff31
cmp edx, 0x3000
je case.0x65b2c7.14
inc dword [eax]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x653564
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x65354d
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x653692
cmp edx, 0xc0
jb 0x653692
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x6535a2
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x653689
lea esi, [ecx + 2]
test dl, 0x10
jne 0x6535ce
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x653689
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x65360e
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x653689
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x65365c
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65368c
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0x180e
ja 0x6536c4
je 0x6501ff
cmp edx, 0xa0
ja 0x6536bc
je 0x6501ff
cmp edx, 9
je 0x6501ff
cmp edx, 0x20
jmp 0x6536f8
cmp edx, 0x1680
jmp 0x6536f8
cmp edx, 0x205f
ja 0x6536f2
je 0x6501ff
cmp edx, 0x2000
jb case.0x65b2c7.14
cmp edx, 0x200a
jbe 0x6501ff
cmp edx, 0x202f
jmp 0x6536f8
cmp edx, 0x3000
je 0x6501ff
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x653745
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x65372e
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x653870
cmp edx, 0xc0
jb 0x653870
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x653783
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x65386a
lea esi, [ecx + 2]
test dl, 0x10
jne 0x6537af
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x65386a
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x6537ef
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x65386a
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x65383d
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65386a
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0x85
ja 0x65389a
je case.0x65b2c7.14
cmp edx, 0xa
jb 0x652afe
cmp edx, 0xd
jbe case.0x65b2c7.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x64ff31
lea eax, [edx - 0x2028]
cmp eax, 1
ja 0x652afe
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x6538f0
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x6538d9
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x653a1b
cmp edx, 0xc0
jb 0x653a1b
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x65392e
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x653a15
lea esi, [ecx + 2]
test dl, 0x10
jne 0x65395a
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x653a15
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x65399a
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 8]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x653a15
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x34], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 8], esi
mov esi, dword [ebp + 0xc]
test dl, 4
jne 0x6539e8
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x653a15
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp - 8]
cmp edx, 0x85
ja 0x653a42
je 0x652afe
cmp edx, 0xa
jb case.0x65b2c7.14
cmp edx, 0xd
jbe 0x652afe
xor esi, esi
jmp 0x650242
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x65b2c7.14
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x64ff31
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x653a9b
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x653a84
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
test ebx, ebx
je 0x653bc0
cmp edx, 0xc0
jb 0x653bc0
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x653ad9
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], edi
jmp 0x653bc0
lea esi, [ecx + 2]
test dl, 0x10
jne 0x653b05
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
jmp 0x653bc0
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x653b45
movzx eax, byte [edi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
mov ecx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
jmp 0x653bc0
movzx edi, byte [edi]
movzx esi, bl
and edi, 0x3f
and esi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], esi
movzx esi, byte [ecx + 3]
mov dword [ebp - 0x2c], ebx
and esi, 0x3f
movzx ebx, byte [ecx + 2]
and ebx, 0x3f
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x34]
test dl, 4
jne 0x653b93
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x2c]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x653bc0
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
mov edi, dword [ebp - 4]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [edi + 0x38], eax
mov eax, edx
xor ebx, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
mov cl, byte [ebp + 0xb]
cmp cl, 0xf
lea edi, [eax + eax*2]
sete bl
mov eax, dword [ebp - 4]
mov esi, dword [eax]
movzx eax, byte [esi + 1]
cmp eax, 0xd
ja case.0x65b27d.15
jmp dword [eax*4 + 0x65e7bc]
cmp cl, 0xf
jne 0x653eb4
jmp 0x65023d
mov al, byte [edi*4 + 0x72de61]
cmp al, 9
je 0x653c2b
cmp al, 5
je 0x653c2b
cmp al, 8
je 0x653c2b
xor eax, eax
jmp 0x653c30
mov eax, 1
cmp eax, ebx
jne 0x653eb4
jmp 0x65023d
movzx ecx, byte [edi*4 + 0x72de61]
xor edx, edx
movzx eax, byte [esi + 2]
cmp eax, dword [ecx*4 + 0x7492a0]
sete dl
cmp edx, ebx
jne 0x653eb4
jmp 0x65023d
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x72de61]
sete cl
cmp ecx, ebx
jne 0x653eb4
jmp 0x65023d
mov al, byte [esi + 2]
xor ecx, ecx
cmp al, byte [edi*4 + 0x72de60]
sete cl
cmp ecx, ebx
jne 0x653eb4
jmp 0x65023d
mov al, byte [esi + 2]
cmp al, byte [edi*4 + 0x72de60]
je 0x653c2b
movzx edx, word [edi*4 + 0x72de68]
movzx ecx, al
and edx, 0x3ff
mov eax, ecx
and ecx, 0x1f
shr eax, 5
add edx, eax
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x72db68], eax
jne 0x653c2b
xor eax, eax
jmp 0x653c30
movzx eax, byte [edi*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x653c2b
cmp eax, 3
je 0x653c2b
xor eax, eax
jmp 0x653c30
cmp edx, 0x180e
ja 0x653d47
je case.0x653bff.0
cmp edx, 0x85
ja 0x653d33
je case.0x653bff.0
cmp edx, 9
jb case.0x653d67.8203
cmp edx, 0xd
jbe case.0x653bff.0
cmp edx, 0x20
jmp 0x653d80
cmp edx, 0xa0
je case.0x653bff.0
cmp edx, 0x1680
jmp 0x653d80
cmp edx, 0x202f
ja 0x653d6e
je case.0x653bff.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x653d67.8203
movzx eax, byte [edx + 0x65e7fc]
jmp dword [eax*4 + 0x65e7f4]
cmp edx, 0x205f
je case.0x653bff.0
cmp edx, 0x3000
je case.0x653bff.0
movzx eax, byte [edi*4 + 0x72de61]
xor ecx, ecx
cmp dword [eax*4 + 0x7492a0], 6
sete cl
cmp ecx, ebx
jne 0x653eb4
jmp 0x65023d
movzx eax, byte [edi*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x653c2b
cmp eax, 3
je 0x653c2b
cmp edx, 0x5f
je 0x653c2b
xor eax, eax
jmp 0x653c30
movzx eax, byte [esi + 2]
mov ecx, dword [eax*4 + 0x72d898]
lea eax, [eax*4 + 0x72d898]
cmp edx, ecx
jb 0x653dfd
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x653e0c
mov ecx, dword [eax]
cmp edx, ecx
jae 0x653df0
cmp byte [ebp + 0xb], 0xf
je 0x653eb4
jmp 0x65023d
cmp byte [ebp + 0xb], 0xf
jne 0x653eb4
jmp 0x65023d
cmp edx, 0x24
je 0x653c2b
cmp edx, 0x40
je 0x653c2b
cmp edx, 0x60
je 0x653c2b
cmp edx, 0xa0
jb 0x653e4a
cmp edx, 0xd7ff
jbe 0x653c2b
cmp edx, 0xe000
jae 0x653c2b
xor eax, eax
jmp 0x653c30
mov ax, word [edi*4 + 0x72de68]
xor ecx, ecx
shr ax, 0xb
cmp al, byte [esi + 2]
sete cl
cmp ecx, ebx
jne 0x653eb4
jmp 0x65023d
movzx ecx, byte [esi + 2]
movzx edx, word [edi*4 + 0x72de6a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x72d310]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
je 0x65023d
mov eax, dword [ebp - 4]
add dword [eax], 3
jmp 0x64ff2b
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jb 0x653eff
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x653ee8
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
mov esi, ecx
test ebx, ebx
je 0x65400d
cmp edx, 0xc0
jb 0x65400d
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x653f31
movzx eax, bl
and edx, 0x1f
jmp 0x653ffc
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp + 0xc], edi
test dl, 0x10
jne 0x653f54
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x653ff9
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x653f83
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 8]
and eax, 0x3f
movzx ecx, bl
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
jmp 0x653ff9
movzx esi, byte [esi]
movzx edi, bl
and esi, 0x3f
and edi, 0x3f
lea ebx, [ecx + 4]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ebx
movzx ebx, byte [edi]
mov edi, dword [ebp + 8]
and ebx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x34]
test dl, 4
jne 0x653fda
mov ecx, dword [ebp - 0x2c]
and edx, 3
shl edx, 6
or edx, edi
mov dword [eax + 0x38], ecx
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
mov esi, ecx
jmp 0x65400a
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 8]
push 0
push ebx
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push edx
call fcn.00663fc0
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jb 0x652b01
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x652afe
cmp ecx, dword [edi + 0x6c]
ja 0x65404f
cmp dword [edi + 0x34], 0
je 0x652afe
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
mov eax, dword [ebp - 4]
inc dword [eax]
jmp 0x64ff31
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 4]
add esi, 3
mov ecx, esi
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], esi
jmp 0x654188
mov edi, dword [ebp - 4]
mov dword [edi + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov eax, edi
mov dword [eax + 0x24], ecx
xor ecx, ecx
cmp byte [esi], 0x5c
setne cl
add esi, 3
mov dword [ebp - 0xc], ecx
xor ebx, ebx
mov dword [eax], esi
mov ecx, esi
jmp 0x654188
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov ecx, esi
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x654188
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov ecx, esi
mov ebx, 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x654188
mov eax, dword [ebp - 4]
inc esi
mov dword [ebp - 0xc], 2
mov ecx, esi
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x654188
mov edi, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [edi + 0x20], 0
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
add esi, 3
shl ecx, 8
or ecx, eax
mov eax, edi
xor ebx, ebx
mov dword [eax + 0x24], ecx
mov ecx, esi
mov dword [eax], esi
jmp 0x654188
movzx ecx, byte [esi]
inc esi
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 4]
mov ebx, dword [ecx*4 + str.UTF_]
mov dword [eax], esi
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x74d6c4]
mov dword [edi + 0x24], eax
mov eax, dword [ecx*4 + str.NO_JIT_]
mov dword [ebp - 0xc], eax
mov eax, edi
mov ecx, dword [eax]
mov dword [ebp + 8], ebx
mov dl, byte [esi]
inc ecx
mov edi, dword [ebp - 4]
movzx eax, dl
mov dword [edi + 0x28], eax
mov eax, edi
mov dword [eax], ecx
cmp dl, 0x10
je 0x6541aa
cmp dl, 0xf
je 0x6541aa
or edx, 0xffffffff
jmp 0x6541c6
movzx edx, byte [ecx]
inc ecx
mov edi, dword [ebp - 4]
mov dword [eax], ecx
movzx eax, byte [ecx]
mov dword [edi + 0x2c], eax
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, edi
mov ebx, dword [edi + 0x20]
mov dword [ebp + 8], ebx
mov dword [ebp - 0x2c], edx
test ebx, ebx
je 0x655a8f
mov edi, dword [eax + 0x28]
mov dword [ebp - 0x10], edi
test edx, edx
js 0x655b1f
xor ecx, ecx
cmp edi, 0xf
sete cl
mov dword [ebp + 0xc], ecx
cmp edx, 0xd
ja case.0x65b27d.15
jmp dword [edx*4 + 0x65e828]
cmp edi, 0xf
je 0x65023d
mov edi, dword [ebp + 0x20]
mov esi, 1
cmp ebx, esi
jb 0x6556a9
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65426e
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx ebx, byte [ecx]
mov ecx, edx
mov dword [eax + 0x38], edx
je 0x654260
cmp ebx, 0xc0
jb 0x654260
test bl, 0x20
jne 0x65423e
lea ecx, [edx + 1]
jmp 0x65425d
test bl, 0x10
jne 0x654248
lea ecx, [edx + 2]
jmp 0x65425d
test bl, 8
jne 0x654252
lea ecx, [edx + 3]
jmp 0x65425d
lea ecx, [edx + 4]
test bl, 4
je 0x65425d
lea ecx, [edx + 5]
mov dword [eax + 0x38], ecx
inc esi
cmp esi, dword [ebp + 8]
jbe 0x654216
mov ebx, dword [ebp - 4]
jmp 0x655a95
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x65428c
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp + 8], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x6542c3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x654471
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x6543d4
cmp edx, 0xc0
jb 0x6543d4
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x654313
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6543d7
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x654347
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp + 8]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6543d7
mov dword [ebp - 0x1c], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x654384
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x1c]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x6543d7
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x10], eax
and esi, 0x3f
mov eax, dword [ebp - 0x34]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x1c]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x65441f
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x10]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x6543e0
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x6543fb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x72de61]
cmp al, 9
je 0x654451
cmp al, 5
je 0x654451
cmp al, 8
je 0x654451
xor eax, eax
jmp 0x654456
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6543d7
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebx + 0x20]
jbe 0x6542c0
jmp 0x655a92
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x654491
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp - 0x1c], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x6544c3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x654673
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x6545d8
cmp edx, 0xc0
jb 0x6545d8
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x654513
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6545db
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x34], edi
test dl, 0x10
jne 0x654547
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6545db
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x654584
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x6545db
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x38], eax
and esi, 0x3f
mov eax, dword [ebp - 0x34]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x65463e
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x38]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x6545e4
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x6545ff
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, dword [ebp + 8]
jbe 0x6544c0
jmp 0x655a92
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6545db
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x654693
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp - 0x1c], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x6546c3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x65486c
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x6547d8
cmp edx, 0xc0
jb 0x6547d8
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x654713
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6547db
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x654747
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6547db
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x654784
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x6547db
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x654837
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x6547e4
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x6547ff
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, dword [ebp + 8]
jbe 0x6546c0
jmp 0x655a92
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6547db
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x65488c
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp - 0x1c], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x6548c3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x654a6c
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x6549d8
cmp edx, 0xc0
jb 0x6549d8
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x654913
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6549db
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x654947
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6549db
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x654984
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x6549db
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x654a37
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x6549e4
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x6549ff
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de60]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, dword [ebp + 8]
jbe 0x6548c0
jmp 0x655a92
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x6549db
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x654a8c
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp - 0x1c], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x654ac3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x654c9c
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x654bd8
cmp edx, 0xc0
jb 0x654bd8
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x654b13
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x654bdb
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x654b47
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x654bdb
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x654b84
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x654bdb
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x654c47
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x654be4
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x654bff
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebx + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x72de60]
cmp eax, ecx
je 0x654c7c
movzx edx, word [edx*4 + 0x72de68]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x72db68], eax
jne 0x654c7c
xor eax, eax
jmp 0x654c81
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x654bdb
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, dword [ebp + 8]
jbe 0x654ac0
jmp 0x655a92
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x654cbc
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp - 0x1c], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x654cf3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x654ea7
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x654e04
cmp edx, 0xc0
jb 0x654e04
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x654d43
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x654e07
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x654d77
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x654e07
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x654db4
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x654e07
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x654e55
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x654e10
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x654e2b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x654e87
cmp eax, 3
je 0x654e87
xor eax, eax
jmp 0x654e8c
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x654e07
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, dword [ebp + 8]
jbe 0x654cf0
jmp 0x655a92
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x654ec7
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov esi, 1
mov dword [ebp + 8], esi
cmp ebx, esi
jb 0x655a8f
nop
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x655121
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x655006
cmp edx, 0xc0
jb 0x655006
mov bl, byte [ecx]
lea edi, [ecx + 1]
test dl, 0x20
jne 0x654f42
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], edi
mov edi, dword [ebp - 0x10]
jmp 0x655009
lea esi, [ecx + 2]
test dl, 0x10
jne 0x654f74
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x10]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
mov esi, dword [ebp + 8]
jmp 0x655009
lea edi, [ecx + 3]
mov dword [ebp - 0x38], edi
lea edi, [ecx + 1]
test dl, 8
jne 0x654fb7
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x10]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi]
mov esi, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x38], eax
jmp 0x655009
movzx edi, byte [edi]
lea eax, [ecx + 4]
mov dword [ebp - 0x38], eax
and edi, 0x3f
movzx eax, byte [ecx + 3]
movzx esi, bl
and eax, 0x3f
movzx ebx, byte [ecx + 2]
and esi, 0x3f
and ebx, 0x3f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x65503c
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x38]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x10]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 4]
cmp edx, 0x180e
ja 0x655085
je case.0x6550a1.8192
cmp edx, 0x85
ja 0x655071
je case.0x6550a1.8192
cmp edx, 9
jb case.0x6550a1.8203
cmp edx, 0xd
jbe case.0x6550a1.8192
cmp edx, 0x20
jmp 0x6550b6
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
mov esi, dword [ebp + 8]
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x10]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
jmp 0x655009
cmp edx, 0xa0
je case.0x6550a1.8192
cmp edx, 0x1680
jmp 0x6550b6
cmp edx, 0x202f
ja 0x6550a8
je case.0x6550a1.8192
lea eax, [edx - 0x2000]
cmp eax, 0x29
ja case.0x6550a1.8203
movzx eax, byte [eax + 0x65e868]
jmp dword [eax*4 + 0x65e860]
cmp edx, 0x205f
je case.0x6550a1.8192
cmp edx, 0x3000
je case.0x6550a1.8192
mov eax, edx
test eax, eax
jns 0x6550c1
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x6550dc
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
cmp dword [eax*4 + 0x7492a0], 6
sete cl
cmp ecx, dword [ebp + 0xc]
jmp 0x655106
cmp edi, 0xf
je 0x65023d
inc esi
mov dword [ebp + 8], esi
cmp esi, dword [ebx + 0x20]
ja 0x655a92
mov eax, dword [ebp - 4]
jmp 0x654ef0
mov edi, edx
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x655141
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp + 8], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x655173
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x65531d
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x655284
cmp edx, 0xc0
jb 0x655284
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x6551c3
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x655287
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x6551f7
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp + 8]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x655287
mov dword [ebp - 0x1c], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x655234
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x1c]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x655287
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x1c]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x6552cb
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x6552fd
cmp eax, 3
je 0x6552fd
cmp edx, 0x5f
je 0x6552fd
xor eax, eax
jmp 0x655302
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x1c]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x655287
mov eax, 1
cmp eax, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebx + 0x20]
jbe 0x655170
jmp 0x655a92
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x65533d
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov esi, 1
mov dword [ebp + 8], esi
cmp ebx, esi
jb 0x655a8f
mov edx, dword [ebp + 0x20]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x64]
jae 0x6554e8
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x655497
cmp edx, 0xc0
jb 0x655497
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x6553b3
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x65548e
lea edi, [ecx + 2]
mov dword [ebp + 0xc], edi
test dl, 0x10
jne 0x6553de
movzx eax, byte [esi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edi
jmp 0x655488
lea edi, [ecx + 3]
mov dword [ebp + 0xc], edi
lea edi, [ecx + 2]
test dl, 8
jne 0x655415
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x655488
movzx edi, byte [ecx + 1]
lea eax, [ecx + 4]
mov dword [ebp - 0x38], eax
and edi, 0x3f
movzx eax, byte [ecx + 3]
movzx esi, bl
and eax, 0x3f
movzx ebx, byte [ecx + 2]
and esi, 0x3f
and ebx, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x655461
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x38]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x655491
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax*4 + 0x72d898]
lea eax, [eax*4 + 0x72d898]
cmp edx, ecx
jb 0x6554bd
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x6554dd
mov ecx, dword [eax]
cmp edx, ecx
jae 0x6554b0
cmp edi, 0xf
jne 0x65023d
mov ebx, dword [ebp - 4]
inc esi
mov dword [ebp + 8], esi
cmp esi, dword [ebx + 0x20]
ja 0x655a92
mov eax, ebx
jmp 0x655364
cmp edi, 0xf
je 0x65023d
jmp 0x6554c6
mov edi, edx
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x655508
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, dword [ebp + 0x20]
mov ebx, 1
mov dword [ebp - 0x1c], ebx
cmp dword [ebp + 8], ebx
jb 0x6556a9
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x6556b1
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], ecx
je 0x655663
cmp edx, 0xc0
jb 0x655663
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65557f
mov edi, dword [ebp - 4]
and edx, 0x1f
movzx eax, bl
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [edi + 0x38], esi
jmp 0x65565a
lea edi, [ecx + 2]
mov dword [ebp + 8], edi
test dl, 0x10
jne 0x6555aa
movzx eax, byte [esi]
and edx, 0xf
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, edi
jmp 0x655654
lea edi, [ecx + 3]
mov dword [ebp + 8], edi
lea edi, [ecx + 2]
test dl, 8
jne 0x6555e1
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
movzx ecx, bl
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x655654
movzx edi, byte [ecx + 1]
lea eax, [ecx + 4]
mov dword [ebp - 0x38], eax
and edi, 0x3f
movzx eax, byte [ecx + 3]
movzx esi, bl
and eax, 0x3f
movzx ebx, byte [ecx + 2]
and esi, 0x3f
and ebx, 0x3f
mov dword [ebp + 8], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x65562d
and edx, 3
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x38]
shl edx, 6
or edx, edi
mov dword [eax + 0x38], esi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65565d
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov edi, dword [ebp - 4]
mov dword [edi + 0x38], eax
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 0x20]
cmp edx, 0x24
je 0x65568e
cmp edx, 0x40
je 0x65568e
cmp edx, 0x60
je 0x65568e
cmp edx, 0xa0
jb 0x655682
cmp edx, 0xd7ff
jbe 0x65568e
cmp edx, 0xe000
jae 0x65568e
xor ecx, ecx
jmp 0x655693
mov ecx, 1
cmp ecx, dword [ebp + 0xc]
je case.0x65b2c7.14
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, dword [eax + 0x20]
jbe 0x655533
mov ebx, dword [ebp - 4]
jmp 0x655a95
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x6556cf
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, 1
mov dword [ebp - 0x1c], edi
cmp ebx, edi
jb 0x655a8f
mov esi, dword [eax + 0x38]
jmp 0x655703
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x6558af
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x655818
cmp edx, 0xc0
jb 0x655818
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x655753
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65581b
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x655787
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65581b
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x6557c4
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp - 0x1c]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x65581b
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x65587a
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, edx
test eax, eax
jns 0x655824
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65583f
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x72de68]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp + 0xc]
je 0x65023d
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, dword [ebp + 8]
jbe 0x655700
jmp 0x655a92
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65581b
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x6558cf
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, dword [ebp + 8]
mov ebx, 1
mov dword [ebp - 0x1c], ebx
cmp edi, ebx
jb 0x655a8f
mov esi, dword [eax + 0x38]
nop dword [eax]
mov ecx, dword [ebp + 0x20]
cmp esi, dword [ecx + 0x64]
jae 0x655ae8
cmp dword [ebp - 8], 0
lea ecx, [esi + 1]
movzx edx, byte [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x655a15
cmp edx, 0xc0
jb 0x655a15
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x655942
movzx eax, bl
and edx, 0x1f
jmp 0x6559ff
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x655965
movzx eax, byte [edi]
and edx, 0xf
movzx ecx, bl
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x6559ff
mov dword [ebp - 0x10], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x655991
movzx eax, byte [edi]
and edx, 7
movzx ecx, bl
and eax, 0x3f
shl edx, 6
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
jmp 0x6559ff
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x10]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x6559e0
and edx, 3
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
jmp 0x655a0f
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
or edx, edi
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x10]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edi
mov dword [edi + 0x38], esi
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
mov eax, edx
test eax, eax
jns 0x655a21
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x655a3c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x72de6a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x72d310]
and ecx, eax
mov eax, dword [ebp - 4]
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp + 0xc]
je 0x6503ab
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, edi
jbe 0x655900
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebx + 0x24]
mov edx, dword [ebx + 0x20]
mov dword [ebp + 0xc], esi
mov dword [ebp + 8], edx
cmp edx, esi
je 0x64ff2e
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x2c]
je 0x65dc16
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov edi, dword [ebx + 0x28]
mov dword [ebp - 0x1c], edi
test ecx, ecx
js 0x658728
xor ecx, ecx
cmp edi, 0xf
sete cl
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xd
ja case.0x65b27d.15
jmp dword [ecx*4 + 0x65e894]
mov edi, ecx
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
ja 0x655b08
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
cmp edi, 0x16
jne 0x655d27
mov edi, 1
mov dword [ebp + 8], edi
cmp ebx, edi
jb 0x655a8f
mov ecx, dword [ebp + 0x20]
mov esi, dword [ecx + 0x64]
jmp 0x655b43
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, esi
jae 0x655cef
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x655c55
cmp edx, 0xc0
jb 0x655c55
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x655b90
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x655c58
mov edi, esi
lea esi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x655bc4
movzx eax, byte [edi]
and edx, 0xf
mov edi, dword [ebp + 8]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x655c58
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x655c01
movzx eax, byte [edi]
and edx, 7
mov edi, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebx + 0x38], esi
or edx, eax
jmp 0x655c58
movzx esi, byte [esi]
lea eax, [ecx + 4]
mov dword [ebp - 0x34], eax
and esi, 0x3f
mov eax, dword [ebp - 0x38]
movzx edi, bl
and edi, 0x3f
movzx ebx, byte [eax]
mov eax, dword [ebp + 0xc]
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x655cba
and edx, 3
shl edx, 6
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x34]
mov dword [eax + 0x38], esi
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x20]
push 0
push dword [ebp - 8]
push dword [eax + 0x64]
push dword [eax + 0x5c]
push esi
push edx
call fcn.00663fc0
mov ecx, eax
add esp, 0x18
mov eax, dword [ebp + 0x20]
mov dword [ebx + 0x38], ecx
mov esi, dword [eax + 0x64]
cmp ecx, esi
jb 0x655ca8
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x655ca8
mov eax, dword [ebp + 0x20]
cmp ecx, dword [eax + 0x6c]
ja 0x655c98
cmp dword [eax + 0x34], 0
je 0x655ca8
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x652201
inc edi
mov dword [ebp + 8], edi
cmp edi, dword [ebx + 0x20]
jbe 0x655b40
jmp 0x655a92
movzx eax, byte [ecx + 4]
and edx, 1
shl edx, 6
and eax, 0x3f
or edx, edi
mov edi, dword [ebp + 8]
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x655c58
mov edi, dword [ebp + 0x20]
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x655d10
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
lea ecx, [edi - 6]
cmp ecx, 0xf
ja case.0x65b27d.15
cmp dword [ebp - 8], 0
je switch.0x00656d65
jmp dword [ecx*4 + 0x65e8cc]
mov edi, dword [ebp + 0x20]
mov esi, 1
mov dword [ebp + 0xc], esi
cmp ebx, esi
jb 0x6556a9
mov ecx, dword [eax + 0x38]
nop dword [eax]
cmp ecx, dword [edi + 0x64]
jae 0x656a46
movzx edx, byte [ecx]
inc ecx
mov dword [eax + 0x38], ecx
cmp edx, 0xc0
jb 0x6569e2
mov bl, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x656914
movzx eax, bl
and edx, 0x1f
mov ebx, dword [ebp - 4]
and eax, 0x3f
shl edx, 6
mov ecx, esi
or edx, eax
mov dword [ebx + 0x38], esi
mov esi, dword [ebp + 0xc]
jmp 0x6569e5
lea edi, [ecx + 2]
mov dword [ebp - 0x38], edi
test dl, 0x10
jne 0x65694b
movzx eax, byte [esi]
and edx, 0xf
mov esi, dword [ebp + 0xc]
and eax, 0x3f
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edi
shl edx, 6
mov dword [ebx + 0x38], edi
or edx, eax
mov edi, dword [ebp + 0x20]
jmp 0x6569e5
lea edi, [ecx + 3]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x38]
test dl, 8
jne 0x656990
movzx eax, byte [esi]
and edx, 7
mov esi, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
movzx ecx, bl
mov ebx, dword [ebp - 4]
and ecx, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x38], eax
mov ecx, eax
jmp 0x6569e5
movzx esi, byte [esi]
lea eax, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp - 0x10], eax
and edi, 0x3f
mov eax, dword [ebp - 0x1c]
movzx ebx, bl
and ebx, 0x3f
movzx eax, byte [eax]
and eax, 0x3f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
test dl, 4
jne 0x656a0f
and edx, 3
shl edx, 6
or edx, ebx
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x10]
shl edx, 6
mov ecx, esi
or edx, edi
mov dword [eax + 0x38], esi
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 4]
cmp edx, 0x80
jae 0x6569fa
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
jne case.0x65b2c7.14
inc esi
mov dword [ebp + 0xc], esi
cmp esi, dword [ebp + 8]
ja 0x655a95
mov eax, dword [ebp - 4]
jmp 0x6568d0
and edx, 1
shl edx, 6
or edx, ebx
mov ebx, dword [ebp - 4]
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x10]
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x1c]
movzx eax, byte [esi]
mov esi, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
add ecx, 5
mov dword [ebx + 0x38], ecx
jmp 0x6569e5
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x656a64
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
jmp dword [ecx*4 + 0x65e90c]
mov edi, dword [ebp + 0x20]
mov esi, 1
cmp ebx, esi
mov ebx, dword [ebp - 4]
jb 0x655a95
mov edx, dword [eax + 0x38]
nop word [eax + eax]
cmp edx, dword [edi + 0x64]
jae 0x6571b4
movzx ecx, byte [edx]
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne case.0x65b2c7.14
inc edx
inc esi
mov dword [ebx + 0x38], edx
cmp esi, dword [ebp + 8]
jbe 0x657190
jmp 0x655a95
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp edx, dword [edi + 0x6c]
ja 0x6571d2
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
cmp edx, esi
jae 0x658713
mov edi, dword [ebp + 0x20]
mov ecx, 1
cmp eax, dword [edi + 0x64]
mov edi, dword [ebp - 0x1c]
jae 0x657492
cmp dword [ebp - 8], 0
je 0x657477
movzx edx, byte [eax]
cmp edx, 0xc0
jb 0x657474
test dl, 0x20
jne 0x65744e
mov ecx, 2
jmp 0x657474
test dl, 0x10
jne 0x65745a
mov ecx, 3
jmp 0x657474
test dl, 8
jne 0x657466
mov ecx, 4
jmp 0x657474
test dl, 4
mov ecx, 0
setne cl
add ecx, 5
mov edx, dword [ebp + 8]
cmp edi, 0xf
je 0x658713
inc edx
add eax, ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], edx
cmp edx, esi
jb 0x657421
jmp 0x658713
mov edi, dword [ebp + 0x20]
movzx ecx, word [edi + 0x4c]
mov edx, ecx
test cx, cx
je 0x658716
cmp eax, dword [edi + 0x6c]
ja 0x6574b3
cmp dword [edi + 0x34], 0
je 0x658716
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
jmp 0x658716
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop dword [eax]
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x6575cd
cmp edx, 0xc0
jb 0x6575cd
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x65751d
and edx, 0x1f
mov esi, 2
jmp 0x6575c5
and ecx, 0x3f
test dl, 0x10
jne 0x65753b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x6575c5
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x65756d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x6575cd
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x6575a1
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x6575cd
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x6575d6
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x6575f1
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
mov cl, byte [ecx*4 + 0x72de61]
cmp cl, 9
je 0x657618
cmp cl, 5
je 0x657618
cmp cl, 8
je 0x657618
xor ecx, ecx
jmp 0x65761d
mov ecx, 1
cmp ecx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x6574e0
jmp 0x658716
movzx ecx, word [edi + 0x4c]
mov edx, ecx
test cx, cx
je 0x658716
cmp eax, dword [edi + 0x6c]
ja 0x65765e
cmp dword [edi + 0x34], 0
je 0x658716
mov dword [edi + 0x2c], esi
cmp edx, 1
ja 0x652201
jmp 0x658716
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x657769
cmp edx, 0xc0
jb 0x657769
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x6576b9
and edx, 0x1f
mov esi, 2
jmp 0x657761
and ecx, 0x3f
test dl, 0x10
jne 0x6576d7
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x657761
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x657709
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x657769
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65773d
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x657769
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x657772
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x65778d
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x72de61]
mov ecx, dword [ecx*4 + 0x7492a0]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x657680
jmp 0x658716
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x6578cd
cmp edx, 0xc0
jb 0x6578cd
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x65781d
and edx, 0x1f
mov esi, 2
jmp 0x6578c5
and ecx, 0x3f
test dl, 0x10
jne 0x65783b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x6578c5
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x65786d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x6578cd
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x6578a1
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x6578cd
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x6578d6
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x6578f1
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x72de61]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x6577e0
jmp 0x658716
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop dword [eax]
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x657a2d
cmp edx, 0xc0
jb 0x657a2d
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x65797d
and edx, 0x1f
mov esi, 2
jmp 0x657a25
and ecx, 0x3f
test dl, 0x10
jne 0x65799b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x657a25
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x6579cd
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x657a2d
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x657a01
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x657a2d
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x657a36
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x657a51
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x72de60]
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x657940
jmp 0x658716
cmp edx, esi
jae 0x658713
nop dword [eax]
mov edi, dword [ebp + 0x20]
mov dword [ebp + 0xc], 1
cmp eax, dword [edi + 0x64]
jae 0x65813c
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x38], edx
je 0x657ba4
cmp edx, 0xc0
jb 0x657ba4
test dl, 0x20
jne 0x657ae7
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov dword [ebp + 0xc], 2
jmp 0x657b9c
test dl, 0x10
jne 0x657b0e
mov ecx, dword [ebp - 0x38]
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
mov dword [ebp + 0xc], 3
movzx ecx, byte [eax + 2]
jmp 0x657b9c
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x657b46
and edx, 7
mov dword [ebp + 0xc], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
jmp 0x657ba4
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x657b79
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], 5
jmp 0x657ba4
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
mov dword [ebp + 0xc], 6
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x657bad
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x657bc8
dec edx
or edx, 0xffffff80
inc edx
mov edi, dword [ebx + 0x2c]
add ecx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea edx, [ecx + ecx*2]
movzx ecx, byte [edx*4 + 0x72de60]
cmp ecx, edi
je 0x657c12
movzx esi, word [edx*4 + 0x72de68]
mov edx, edi
shr edx, 5
and esi, 0x3ff
add esi, edx
and edi, 0x1f
mov edx, 1
mov ecx, edi
shl edx, cl
test dword [esi*4 + 0x72db68], edx
jne 0x657c12
xor ecx, ecx
jmp 0x657c17
mov ecx, 1
cmp ecx, dword [ebp - 0x10]
je 0x658713
mov ecx, dword [ebp + 8]
add eax, dword [ebp + 0xc]
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x657aa0
jmp 0x658713
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 0xc], edx
je 0x657d4e
cmp edx, 0xc0
jb 0x657d4e
test dl, 0x20
jne 0x657c90
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x657d46
test dl, 0x10
jne 0x657cb5
mov ecx, dword [ebp + 0xc]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x657d46
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x657cee
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x657d4e
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x657d22
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x657d4e
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x657d57
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x657d72
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x72de61]
mov ecx, dword [ecx*4 + 0x7492a0]
cmp ecx, 1
je 0x657d9c
cmp ecx, 3
je 0x657d9c
xor ecx, ecx
jmp 0x657da1
mov ecx, 1
cmp ecx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x657c50
jmp 0x658716
cmp edx, esi
jae 0x658713
nop dword [eax]
mov ecx, dword [ebp + 0x20]
mov esi, 1
cmp eax, dword [ecx + 0x64]
jae 0x657fbc
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x657ec4
cmp edx, 0xc0
jb 0x657ec4
test dl, 0x20
jne 0x657e10
movzx eax, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x657ebc
movzx ecx, byte [eax + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x657e32
movzx eax, byte [eax + 2]
and edx, 0xf
shl edx, 6
mov esi, 3
or edx, ecx
jmp 0x657ebc
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x657e64
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
jmp 0x657ec4
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x657e98
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x657ec4
movzx eax, byte [eax + 5]
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x180e
ja 0x657f0e
je case.0x657f2e.8192
cmp edx, 0x85
ja 0x657efa
je case.0x657f2e.8192
cmp edx, 9
jb case.0x657f2e.8203
cmp edx, 0xd
jbe case.0x657f2e.8192
cmp edx, 0x20
jmp 0x657f47
cmp edx, 0xa0
je case.0x657f2e.8192
cmp edx, 0x1680
jmp 0x657f47
cmp edx, 0x202f
ja 0x657f35
je case.0x657f2e.8192
lea eax, [edx - 0x2000]
cmp eax, 0x29
ja case.0x657f2e.8203
movzx eax, byte [eax + 0x65e9e0]
jmp dword [eax*4 + 0x65e9d8]
cmp edx, 0x205f
je case.0x657f2e.8192
cmp edx, 0x3000
je case.0x657f2e.8192
mov eax, edx
test eax, eax
jns 0x657f56
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x657f71
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
cmp dword [eax*4 + 0x7492a0], 6
sete cl
cmp ecx, dword [ebp - 0x10]
jmp 0x657f9b
cmp edi, 0xf
je 0x658713
mov ecx, dword [ebp + 8]
add dword [ebx + 0x38], esi
inc ecx
mov eax, dword [ebx + 0x38]
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x657dd0
jmp 0x658713
mov edi, ecx
jmp 0x657640
cmp edx, esi
jae 0x658713
nop dword [eax + eax]
mov ecx, dword [ebp + 0x20]
mov edi, 1
cmp eax, dword [ecx + 0x64]
jae 0x65813a
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp + 0xc], edx
je 0x6580cb
cmp edx, 0xc0
jb 0x6580cb
test dl, 0x20
jne 0x658013
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov edi, 2
jmp 0x6580c0
test dl, 0x10
jne 0x658038
mov esi, dword [ebp + 0xc]
mov edi, 3
movzx edx, byte [eax + 1]
and esi, 0xf
movzx ecx, byte [eax + 2]
and edx, 0x3f
shl esi, 6
or edx, esi
jmp 0x6580c0
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x65806e
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, 4
jmp 0x6580c8
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65809f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, 5
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x6580c8
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
mov edi, 6
shl edx, 6
or edx, dword [ebp + 0xc]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov dword [ebp + 0xc], edx
mov esi, dword [ebp + 0xc]
mov ecx, edx
shr ecx, 7
movzx edx, word [ecx*2 + 0x732070]
mov ecx, esi
and ecx, 0x7f
shl edx, 7
add edx, ecx
movzx ecx, word [edx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
movzx ecx, byte [ecx*4 + 0x72de61]
mov ecx, dword [ecx*4 + 0x7492a0]
cmp ecx, 1
je 0x658112
cmp ecx, 3
je 0x658112
cmp esi, 0x5f
je 0x658112
xor ecx, ecx
jmp 0x658117
mov ecx, 1
cmp ecx, dword [ebp - 0x10]
je 0x658713
mov ecx, dword [ebp + 8]
add eax, edi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x657fd0
jmp 0x658713
mov edi, ecx
movzx ecx, word [edi + 0x4c]
mov edx, ecx
test cx, cx
je 0x658716
cmp eax, dword [edi + 0x6c]
ja 0x65815a
cmp dword [edi + 0x34], 0
je 0x658716
mov dword [edi + 0x2c], 1
jmp 0x657661
cmp edx, esi
jae 0x658713
nop
mov ecx, dword [ebp + 0x20]
mov esi, 1
cmp eax, dword [ecx + 0x64]
jae 0x657fbc
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x658264
cmp edx, 0xc0
jb 0x658264
test dl, 0x20
jne 0x6581b0
movzx eax, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x65825c
movzx ecx, byte [eax + 1]
and ecx, 0x3f
test dl, 0x10
jne 0x6581d2
movzx eax, byte [eax + 2]
and edx, 0xf
shl edx, 6
mov esi, 3
or edx, ecx
jmp 0x65825c
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x658204
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
jmp 0x658264
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x658238
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x658264
movzx eax, byte [eax + 5]
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp - 0x1c]
shl edx, 6
or edx, dword [ebp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax*4 + 0x72d898]
lea eax, [eax*4 + 0x72d898]
cmp edx, ecx
jb 0x65828d
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x6582b1
mov ecx, dword [eax]
cmp edx, ecx
jae 0x658280
cmp edi, 0xf
jne 0x658713
mov ecx, dword [ebp + 8]
add dword [ebx + 0x38], esi
inc ecx
mov eax, dword [ebx + 0x38]
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x658170
jmp 0x658713
cmp edi, 0xf
je 0x658713
jmp 0x658296
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop word [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
je 0x6583bd
cmp edx, 0xc0
jb 0x6583bd
movzx ecx, byte [eax + 1]
test dl, 0x20
jne 0x65830d
and edx, 0x1f
mov esi, 2
jmp 0x6583b5
and ecx, 0x3f
test dl, 0x10
jne 0x65832b
and edx, 0xf
mov esi, 3
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x6583b5
movzx esi, byte [eax + 2]
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x65835d
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x6583bd
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x658391
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x6583bd
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
and ecx, 0x3f
shl edx, 6
or edx, ecx
cmp edx, 0x24
je 0x6583e8
cmp edx, 0x40
je 0x6583e8
cmp edx, 0x60
je 0x6583e8
cmp edx, 0xa0
jb 0x6583dc
cmp edx, 0xd7ff
jbe 0x6583e8
cmp edx, 0xe000
jae 0x6583e8
xor ecx, ecx
jmp 0x6583ed
mov ecx, 1
cmp ecx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebx + 0x24]
jb 0x6582d0
jmp 0x658716
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x658716
nop dword [eax + eax]
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x657640
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x38], edx
je 0x65851e
cmp edx, 0xc0
jb 0x65851e
test dl, 0x20
jne 0x658460
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x658516
test dl, 0x10
jne 0x658485
mov ecx, dword [ebp - 0x38]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x658516
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x6584be
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x65851e
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x6584f2
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x65851e
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov ecx, edx
test ecx, ecx
jns 0x658527
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x658542
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
xor edx, edx
movzx ecx, word [ecx*2 + 0x736470]
lea ecx, [ecx + ecx*2]
movzx ecx, word [ecx*4 + 0x72de68]
shr ecx, 0xb
cmp ecx, dword [ebx + 0x2c]
sete dl
cmp edx, dword [ebp - 0x10]
je 0x658716
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x658420
jmp 0x658716
cmp edx, esi
jae 0x658713
nop dword [eax]
mov edi, dword [ebp + 0x20]
mov dword [ebp - 0x1c], 1
cmp eax, dword [edi + 0x64]
jae 0x65813c
cmp dword [ebp - 8], 0
movzx edx, byte [eax]
mov dword [ebp - 0x38], edx
je 0x658694
cmp edx, 0xc0
jb 0x658694
test dl, 0x20
jne 0x6585d7
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov dword [ebp - 0x1c], 2
jmp 0x65868c
test dl, 0x10
jne 0x6585fe
mov ecx, dword [ebp - 0x38]
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
mov dword [ebp - 0x1c], 3
movzx ecx, byte [eax + 2]
jmp 0x65868c
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x658636
and edx, 7
mov dword [ebp - 0x1c], 4
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
jmp 0x658694
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x658669
and edx, 3
mov dword [ebp - 0x1c], 5
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x658694
and edx, 1
mov dword [ebp - 0x1c], 6
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp - 0x2c]
and ecx, 0x3f
shl edx, 6
or edx, ecx
mov edi, dword [ebx + 0x2c]
mov ecx, edx
test ecx, ecx
jns 0x6586a0
add ecx, 0x7f
sar ecx, 7
movzx ecx, word [ecx*2 + 0x732070]
shl ecx, 7
and edx, 0x8000007f
jns 0x6586bb
dec edx
or edx, 0xffffff80
inc edx
add ecx, edx
movzx edx, word [ecx*2 + 0x736470]
lea edx, [edx + edx*2]
movzx esi, word [edx*4 + 0x72de6a]
mov edx, edi
shr edx, 5
and esi, 0xfff
add esi, edx
and edi, 0x1f
mov ecx, edi
mov edx, 1
shl edx, cl
mov ecx, dword [esi*4 + 0x72d310]
and ecx, edx
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x10]
je 0x658713
mov ecx, dword [ebp + 8]
add eax, dword [ebp - 0x1c]
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x658590
mov edi, dword [ebp + 0x20]
cmp dword [ebp - 0xc], 2
je 0x64ff2e
mov ecx, dword [ebx + 0x38]
jmp 0x65db90
cmp edi, 0x16
jne 0x6588da
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x6588cb
mov esi, dword [edi + 0x64]
nop
mov ecx, dword [ebx + 0x38]
cmp ecx, esi
jae 0x6588a5
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x65884c
cmp edx, 0xc0
jb 0x65884c
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65877f
movzx eax, al
and edx, 0x1f
jmp 0x658841
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x65879f
movzx ecx, al
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x65883e
mov dword [ebp + 0xc], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x6587ce
movzx ecx, al
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x65883e
movzx edi, byte [edi]
lea ebx, [ecx + 4]
movzx esi, byte [esi]
and edi, 0x3f
mov dword [ebp - 0x38], ebx
and esi, 0x3f
mov ebx, dword [ebp + 0xc]
movzx eax, al
and eax, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65881f
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x38]
shl edx, 6
or edx, edi
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x65884c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push edx
call fcn.00663fc0
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
mov esi, dword [edi + 0x64]
cmp ecx, esi
jb 0x658893
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x658893
cmp ecx, dword [edi + 0x6c]
ja 0x658883
cmp dword [edi + 0x34], 0
je 0x658893
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebx + 0x24]
jb 0x658740
jmp 0x6588cb
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x6588cb
cmp ecx, dword [edi + 0x6c]
ja 0x6588bb
cmp dword [edi + 0x34], 0
je 0x6588cb
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
cmp dword [ebp - 0xc], 2
je 0x64ff2e
jmp 0x65dad4
lea ecx, [edi - 6]
cmp ecx, 0xf
ja case.0x65b27d.15
cmp dword [ebp - 8], 0
je switch.0x00659700
jmp dword [ecx*4 + 0x65ea0c]
movzx ecx, word [edi + 0x4c]
mov edx, ecx
test cx, cx
je 0x6596ee
cmp eax, dword [edi + 0x6c]
ja 0x658e8e
cmp dword [edi + 0x34], 0
je 0x6596ee
mov dword [edi + 0x2c], esi
cmp edx, 1
ja 0x652201
jmp 0x6596ee
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x6596ee
nop
mov esi, 1
cmp eax, dword [edi + 0x64]
jae 0x658e70
movzx edx, byte [eax]
mov dword [ebp - 0x38], edx
cmp edx, 0xc0
jb 0x6590f4
test dl, 0x20
jne 0x659036
movzx ecx, byte [eax + 1]
and edx, 0x1f
mov esi, 2
jmp 0x6590ec
test dl, 0x10
jne 0x65905b
mov ecx, dword [ebp - 0x38]
mov esi, 3
movzx edx, byte [eax + 1]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or edx, ecx
movzx ecx, byte [eax + 2]
jmp 0x6590ec
movzx ecx, byte [eax + 1]
movzx esi, byte [eax + 2]
and ecx, 0x3f
movzx edi, byte [eax + 3]
and esi, 0x3f
and edi, 0x3f
test dl, 8
jne 0x659094
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 4
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
jmp 0x6590f4
movzx ebx, byte [eax + 4]
and ebx, 0x3f
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x6590c8
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, 5
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
jmp 0x6590f4
and edx, 1
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 5]
shl edx, 6
or edx, esi
mov esi, 6
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp - 0x2c]
and ecx, 0x3f
shl edx, 6
or edx, ecx
cmp edx, 0x100
jae 0x659109
mov ecx, dword [edi + 0x40]
test byte [edx + ecx], 8
jne 0x6596ee
mov ecx, dword [ebp + 8]
add eax, esi
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x659000
jmp 0x6596ee
cmp dword [ebp - 0xc], 2
je 0x64ff2e
mov ecx, dword [ebx + 0x38]
jmp 0x65db4b
jmp dword [ecx*4 + 0x65ea4c]
mov edi, dword [ebp + 0x20]
cmp edx, esi
jae 0x659b07
nop dword [eax + eax]
cmp eax, dword [edi + 0x64]
jae 0x659add
movzx edx, byte [eax]
mov ecx, dword [edi + 0x40]
test byte [edx + ecx], 8
jne 0x659b07
mov ecx, dword [ebp + 8]
inc eax
inc ecx
mov dword [ebx + 0x38], eax
mov dword [ebp + 8], ecx
cmp ecx, esi
jb 0x659970
jmp 0x659b07
movzx ecx, word [edi + 0x4c]
mov edx, ecx
test cx, cx
je 0x659b07
cmp eax, dword [edi + 0x6c]
ja 0x659af7
cmp dword [edi + 0x34], 0
je 0x659b07
cmp edx, 1
mov dword [edi + 0x2c], 1
ja 0x652201
cmp dword [ebp - 0xc], 2
je 0x64ff2e
mov ecx, dword [ebx + 0x38]
jmp 0x65d78e
mov ebx, dword [ebp - 4]
xor eax, eax
cmp cl, 0x74
mov ecx, dword [ebp + 0x20]
sete al
mov dword [ebx + 0x28], eax
movzx edi, byte [esi + 3]
movzx eax, byte [esi + 4]
movzx edx, byte [esi + 1]
shl edi, 8
or edi, eax
shl edx, 8
movzx eax, byte [esi + 2]
or edx, eax
movzx eax, word [ecx + 0x52]
imul edx, eax
lea eax, [esi + 5]
add edx, dword [ecx + 0x54]
mov dword [ebx], eax
test edi, edi
je 0x659b90
nop dword [eax + eax]
movzx eax, byte [edx]
dec edi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
mov dword [ebx + 0x14], ecx
cmp ecx, dword [ebx + 0x50]
jae 0x659b83
cmp dword [ebx + ecx*4 + 0x54], 0xffffffff
jne 0x659b90
mov eax, dword [ebp + 0x20]
movzx eax, word [eax + 0x52]
add edx, eax
test edi, edi
jg 0x659b60
mov esi, dword [ebx]
jmp 0x659bc1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp cl, 0x72
sete al
mov dword [ebx + 0x28], eax
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, 3
lea eax, [ecx*2 - 2]
mov dword [ebx + 0x14], eax
mov dword [ebx], esi
mov edi, esi
movzx edx, byte [esi]
mov dword [ebp + 8], edx
lea eax, [edx - 0x62]
cmp eax, 7
ja case.default.0x659bdc
movzx eax, byte [eax + 0x65ea94]
jmp dword [eax*4 + 0x65ea8c]
mov ecx, dword [edx*4 + 0x74d664]
lea eax, [esi + 1]
mov edx, dword [edx*4 + str.UTF8_]
mov dword [ebx], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov esi, dword [eax*4 + 0x74d6bc]
mov dword [ebp - 0xc], esi
jmp 0x659c4c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl edx, 8
or edx, eax
mov dword [ebx + 0x24], edx
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x74d6bc]
mov dword [ebp - 0xc], eax
jne 0x659c47
mov dword [ebx + 0x24], 0xffffffff
or edx, 0xffffffff
lea eax, [edi + 5]
mov dword [ebx], eax
mov edi, dword [ebx + 0x14]
cmp edi, dword [ebx + 0x50]
jae 0x659c73
mov eax, dword [ebx + edi*4 + 0x54]
cmp eax, 0xffffffff
je 0x659c73
cmp eax, dword [ebx + edi*4 + 0x58]
je 0x64ff2b
mov eax, dword [ebp + 0x20]
jmp 0x659c8e
test ecx, ecx
je 0x64ff2b
mov eax, dword [ebp + 0x20]
test dword [eax + 0x8c], 0x200
jne 0x64ff22
mov esi, 1
cmp ecx, esi
jb 0x659cd1
nop dword [eax + eax]
mov edi, dword [ebx + 0x14]
lea ecx, [ebp - 0x3c]
push ecx
push eax
push ebx
push dword [ebx + 0x28]
push edi
call fcn.0065ec80
add esp, 0x14
test eax, eax
jne 0x659d3b
mov eax, dword [ebp - 0x3c]
inc esi
add dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebp + 0x20]
cmp esi, ecx
jbe 0x659ca0
mov edx, dword [ebx + 0x24]
cmp ecx, edx
je 0x64ff2b
cmp dword [ebp - 0xc], 0
je 0x65dcbf
mov eax, dword [ebx + 0x38]
mov esi, 1
mov dword [ebx + 4], eax
mov eax, dword [ebx + edi*4 + 0x58]
sub eax, dword [ebx + edi*4 + 0x54]
mov dword [ebx + 0xc], eax
mov edi, dword [ebx + 0x20]
cmp edi, edx
jae 0x65af36
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 0x20]
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0065ec80
add esp, 0x14
test eax, eax
jne 0x659d89
mov eax, dword [ebp - 0x40]
xor ecx, ecx
cmp eax, dword [ebx + 0xc]
cmovne esi, ecx
add dword [ebx + 0x38], eax
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x659d04
jmp 0x659db9
mov edi, dword [ebp + 0x20]
jle 0x659d48
mov ecx, dword [edi + 0x64]
mov dword [ebx + 0x38], ecx
jmp 0x659d4b
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jb case.0x65b2c7.14
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x659d72
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
jle 0x659db9
mov edx, dword [ebp + 0x20]
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x659db9
mov eax, dword [edx + 0x64]
cmp eax, dword [edx + 0x6c]
jbe 0x659db9
mov dword [edx + 0x2c], 1
cmp ecx, 1
ja 0x652201
test esi, esi
jne 0x65af36
mov dword [ebx + 0x24], edi
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x65e1ff
mov edi, dword [ebp + 0x20]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0065ec80
add esp, 0x14
test eax, eax
je 0x659e39
jle 0x659df8
mov ecx, dword [edi + 0x64]
mov dword [ebx + 0x38], ecx
jmp 0x659dfb
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jb case.0x65b2c7.14
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x659e22
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov eax, dword [ebp - 0x20]
add dword [ebx + 0x38], eax
jmp 0x64ff2e
mov edi, dword [ebp - 4]
inc esi
mov dword [edi], esi
nop word [eax + eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [edi], esi
cmp byte [esi], 0x78
je 0x659e50
lea eax, [esi + 3]
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
cmp dword [edi + 0x30], 0
mov ebx, dword [ebp - 4]
jne 0x659e86
cmp dword [ebx + 0x18], 0
jne 0x65aaea
xor ecx, ecx
jmp 0x65dff8
lea eax, [ebp - 0x20]
push eax
push edi
mov edi, dword [ebp - 4]
push edi
call fcn.0064fd20
mov esi, eax
add esp, 0xc
test esi, esi
jg 0x65023d
js 0x65023f
mov eax, dword [ebp - 0x20]
add dword [edi], eax
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 4]
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc], ecx
cmp byte [ecx + esi], 0x78
je 0x659eda
lea eax, [ecx - 3]
mov dword [ebx + 0xc], eax
lea edi, [esi + 3]
mov dword [ebx], edi
mov cl, byte [edi]
cmp cl, 0x76
je 0x659eef
cmp cl, 0x77
jne 0x659f21
mov edi, dword [ebp + 0x20]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.0064fd20
mov esi, eax
add esp, 0xc
test esi, esi
jle 0x659f0d
xor esi, esi
jmp 0x650242
js 0x650242
mov edi, dword [ebx]
mov ecx, dword [ebp - 0x20]
add edi, ecx
mov dword [ebx], edi
sub dword [ebx + 0xc], ecx
mov cl, byte [edi]
movzx eax, cl
add eax, 0xffffff70
cmp eax, 0x12
ja case.0x659f39.150
movzx eax, byte [eax + 0x65eab8]
jmp dword [eax*4 + 0x65ea9c]
mov edx, dword [ebx + 0x44]
cmp edx, 0xffffffff
je case.0x659f39.148
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
je case.0x659f39.149
cmp ecx, edx
je case.0x659f39.149
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea esi, [ecx + eax]
mov dword [ebx], esi
cmp byte [ebx + 0x31], 0x8f
jne 0x64ff2b
mov eax, 0x2008f
mov byte [ebx + 0x30], 0x23
mov dword [ebp - 0x18], eax
jmp 0x65e1ff
mov eax, dword [ebx + 0x44]
mov dword [ebp + 8], eax
cmp eax, 0xffffffff
je case.0x659f39.148
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
mov edx, dword [ebp + 0x20]
movzx ecx, byte [edi + 1]
shl esi, 8
shl ecx, 8
or esi, eax
movzx eax, byte [edi + 2]
movzx edi, word [edx + 0x52]
or ecx, eax
imul ecx, edi
add ecx, dword [edx + 0x54]
test esi, esi
je case.0x659f39.148
mov ebx, dword [ebp + 8]
nop dword [eax + eax]
movzx eax, byte [ecx]
dec esi
movzx edx, byte [ecx + 1]
shl eax, 8
or edx, eax
cmp edx, ebx
je 0x659fe7
add ecx, edi
test esi, esi
jg 0x659fd0
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
cmp edx, dword [ebp + 8]
jne case.0x659f39.148
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x749128]
jmp 0x659f72
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x50]
jae case.0x659f39.148
cmp dword [ebx + ecx*4 + 0x54], 0xffffffff
je case.0x659f39.148
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x749128]
jmp 0x659f72
movzx esi, byte [edi + 3]
movzx eax, byte [edi + 4]
mov ecx, dword [ebp + 0x20]
movzx edx, byte [edi + 1]
shl esi, 8
shl edx, 8
or esi, eax
movzx eax, byte [edi + 2]
movzx edi, word [ecx + 0x52]
or edx, eax
imul edx, edi
add edx, dword [ecx + 0x54]
test esi, esi
je case.0x659f39.148
movzx eax, byte [edx]
dec esi
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
lea ecx, [ecx*2 - 2]
cmp ecx, dword [ebx + 0x50]
jae 0x65a0a5
cmp dword [ebx + ecx*4 + 0x54], 0xffffffff
jne case.0x659f39.149
add edx, edi
test esi, esi
jg 0x65a081
jmp case.0x659f39.148
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov edi, dword [ebp - 4]
shl edx, 8
or edx, eax
test ebx, ebx
mov ebx, dword [ebp + 0x20]
je 0x65a108
test edx, edx
je 0x65a100
mov ecx, dword [edi + 0x38]
dec edx
cmp ecx, dword [ebx + 0x60]
jbe 0x65a114
dec ecx
mov dword [edi + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x65a0fc
nop dword [eax]
dec ecx
mov dword [edi + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x65a0f0
test edx, edx
jne 0x65a0d6
mov ecx, dword [edi + 0x38]
jmp 0x65a122
mov ecx, dword [edi + 0x38]
mov eax, ecx
sub eax, dword [ebx + 0x5c]
cmp edx, eax
jle 0x65a11d
xor esi, esi
mov edi, ebx
jmp 0x650242
sub ecx, edx
mov dword [edi + 0x38], ecx
cmp ecx, dword [ebx + 0x6c]
jae 0x65a12a
mov dword [ebx + 0x6c], ecx
add dword [edi], 3
jmp 0x64ff2b
mov edi, dword [ebp - 4]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or eax, ecx
add eax, esi
mov esi, eax
mov dword [edi], esi
cmp byte [eax], 0x78
je 0x65a135
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov al, byte [esi]
cmp al, 0x86
je 0x65a1d8
cmp al, 0x8a
je 0x65a1d8
mov ebx, dword [ebp - 4]
mov ecx, dword [edi + 0x10]
add ecx, dword [ebx + 0x4c]
mov edi, ecx
mov dword [ebp - 0x14], ecx
sub edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x65a1d4
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 0x54]
push eax
call fcn.00506640
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [edi + 0x50], eax
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x40], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov esi, 1
jmp 0x65023f
mov al, byte [esi]
jmp 0x65a1e0
mov ebx, dword [ebp - 4]
xor edi, edi
mov ecx, dword [ebp - 0x14]
movzx eax, al
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x65a1f6.134
movzx eax, byte [eax + 0x65eae8]
jmp dword [eax*4 + 0x65eacc]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x65a20b
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
jmp case.0x65a1f6.134
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x65a224
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov edx, dword [edi]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
jne case.0x65a1f6.134
nop word [eax + eax]
add edx, ecx
mov dword [edi], edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + edx], 0x78
je 0x65a250
jmp case.0x65a1f6.134
push dword [ebp - 8]
push dword [ebx + 0x38]
push dword [edi + 0x38]
call fcn.00664350
add esp, 0xc
test eax, eax
jne case.0x65a1f6.134
jmp 0x65023d
movzx edx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl edx, 8
or edx, eax
mov dword [ebp + 8], edx
cmp dword [ebx + 0x44], edx
jne 0x65a2dd
mov esi, ecx
sub esi, dword [ebp + 0x1c]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00506640
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [ebx + 0x44], eax
mov eax, dword [esi]
add eax, 3
mov dword [ebx], eax
jmp 0x64ff2b
mov dword [ebx + 0x48], edx
lea ecx, [edx*2 - 2]
mov edx, dword [ebp + 0x20]
mov eax, dword [edi + 0x38]
sub eax, dword [edx + 0x5c]
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [edx + 0x5c]
mov edx, dword [ebp + 8]
mov dword [ebx + ecx*4 + 0x58], eax
cmp ecx, dword [ebx + 0x50]
jb case.0x65a1f6.134
lea eax, [edx + edx]
mov dword [ebx + 0x50], eax
mov edx, dword [ebx]
cmp byte [edx], 0x7c
jne 0x65a334
push dword [ebp - 0x30]
lea eax, [ebx + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.00506640
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x65023f
mov cl, byte [ebx + 0x31]
cmp cl, 0x79
je 0x65a350
test edi, edi
je 0x65dc89
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x65dc89
add dword [ebx], 3
jmp 0x64ff2b
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x5c]
jne 0x65a38d
test byte [ecx + 0x88], 1
jne 0x65a38d
lea eax, [esi + 1]
mov dword [edi], eax
mov edi, ecx
jmp 0x64ff31
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 0x20]
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x5c]
je 0x65a373
xor esi, esi
mov edi, ecx
jmp 0x650242
test byte [edi + 0x88], 2
je 0x65a3a6
xor esi, esi
jmp 0x650242
test byte [edi + 0x8c], 0x10
je case.0x64ff53.23
mov edi, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov eax, dword [edi + 0x38]
cmp eax, dword [edx + 0x64]
jae 0x65a3ca
xor esi, esi
mov edi, edx
jmp 0x650242
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x65a3e5
mov dword [edx + 0x2c], 1
cmp ecx, 1
ja 0x652201
inc dword [edi]
mov edi, edx
jmp 0x64ff31
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x20]
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x64]
cmp ecx, edx
jae 0x65a4ea
mov eax, dword [ebx + 0x98]
add ebx, 0x9c
mov dword [ebp + 8], ebx
test eax, eax
je 0x65a440
push dword [ebp - 8]
push ebx
push edx
push eax
push ecx
call fcn.00661f30
add esp, 0x14
test eax, eax
je 0x65a482
mov eax, dword [ebp + 0x20]
mov esi, dword [ebx]
mov ecx, dword [edi + 0x38]
mov edx, dword [eax + 0x64]
jmp 0x65a478
mov esi, dword [ebx]
mov eax, edx
sub eax, esi
cmp ecx, eax
ja 0x65a482
mov ebx, dword [ebp + 0x20]
mov al, byte [ecx]
cmp al, byte [ebx + 0xa0]
mov ebx, dword [ebp + 8]
jne 0x65a482
cmp esi, 1
je 0x65a478
mov ebx, dword [ebp + 0x20]
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0xa1]
mov ebx, dword [ebp + 8]
jne 0x65a482
sub edx, esi
cmp ecx, edx
je 0x65a4e7
mov eax, dword [ebp + 0x20]
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x65a4dd
mov ecx, dword [edi + 0x38]
mov edi, dword [ebp + 0x20]
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x64]
jb 0x65a4e0
cmp dword [edi + 0x98], 0
jne 0x65a4e0
cmp dword [ebx], 2
jne 0x65a4e0
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x65a4e0
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, dword [ebp + 0x20]
xor esi, esi
jmp 0x650242
mov ebx, dword [ebp + 0x20]
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x65a505
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x652201
inc dword [edi]
jmp 0x64ff2b
test byte [edi + 0x88], 1
mov ebx, dword [ebp + 0x20]
mov edi, dword [ebp - 4]
je 0x65a52c
mov eax, dword [edi + 0x38]
cmp eax, dword [ebx + 0x5c]
jne 0x65a52c
xor esi, esi
mov edi, ebx
jmp 0x650242
mov ecx, dword [edi + 0x38]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
je 0x65a505
cmp ecx, dword [ebx + 0x64]
jne 0x65a54b
test dword [ebx + 0x8c], 0x200000
je 0x65023d
mov esi, dword [ebx + 0x98]
test esi, esi
je 0x65a585
cmp ecx, edx
jbe 0x65023d
push dword [ebp - 8]
lea eax, [ebx + 0x9c]
push eax
push edx
push esi
push ecx
call fcn.00662090
add esp, 0x14
test eax, eax
je 0x65023d
inc dword [edi]
jmp 0x64ff2b
mov esi, dword [ebx + 0x9c]
lea eax, [esi + edx]
cmp ecx, eax
jb 0x65023d
sub ecx, esi
mov al, byte [ecx]
cmp al, byte [ebx + 0xa0]
jne 0x65023d
cmp esi, 1
je 0x65a505
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0xa1]
je 0x65a505
jmp 0x65023d
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x20]
mov ecx, dword [edi + 0x38]
mov eax, dword [ebx + 0x64]
cmp ecx, eax
jae 0x65a699
mov edx, dword [ebx + 0x98]
lea esi, [ebx + 0x9c]
test edx, edx
je 0x65a60b
push dword [ebp - 8]
push esi
push eax
push edx
push ecx
call fcn.00661f30
add esp, 0x14
test eax, eax
je 0x65a639
inc dword [edi]
mov edi, ebx
jmp 0x64ff2e
mov edx, dword [esi]
sub eax, edx
cmp ecx, eax
ja 0x65a639
mov al, byte [ecx]
cmp al, byte [ebx + 0xa0]
jne 0x65a639
cmp edx, 1
je 0x65a6d1
mov al, byte [ecx + 1]
cmp al, byte [ebx + 0xa1]
je 0x65a6d1
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je 0x65a690
mov ecx, dword [edi + 0x38]
mov edi, ebx
lea eax, [ecx + 1]
cmp eax, dword [edi + 0x64]
jb 0x65a692
cmp dword [edi + 0x98], 0
jne 0x65a692
cmp dword [esi], 2
jne 0x65a692
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x65a692
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov edi, ebx
xor esi, esi
jmp 0x650242
test byte [ebx + 0x88], 2
je 0x65a6ab
xor esi, esi
mov edi, ebx
jmp 0x650242
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je 0x65a6d1
cmp ecx, dword [ebx + 0x6c]
ja 0x65a6c1
cmp dword [ebx + 0x34], 0
je 0x65a6d1
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x652201
inc dword [edi]
mov edi, ebx
jmp 0x64ff2e
mov eax, dword [edi + 0x5c]
add eax, dword [edi + 0x44]
mov edi, dword [ebp - 4]
cmp dword [edi + 0x38], eax
je 0x650298
jmp 0x65023d
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
lea eax, [esi + 1]
mov dword [edi], eax
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
mov edi, dword [ebp - 4]
mov edx, dword [ebp + 0x20]
mov esi, dword [edi + 0x38]
cmp esi, dword [edx + 0x60]
jne 0x65a77c
mov esi, edx
xor eax, eax
mov dword [ebp + 8], eax
mov ebx, dword [edi + 0x38]
mov ecx, dword [esi + 0x64]
cmp ebx, ecx
jb 0x65a92b
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x65a754
cmp ebx, dword [esi + 0x6c]
ja 0x65a744
cmp dword [esi + 0x34], 0
je 0x65a754
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor edx, edx
mov eax, dword [edi]
mov cl, byte [eax]
inc eax
mov dword [edi], eax
mov eax, dword [ebp + 8]
xor eax, edx
cmp cl, 5
jne 0x65a76a
xor eax, 1
mov edi, dword [ebp + 0x20]
test eax, eax
je 0x64ff2e
xor esi, esi
jmp 0x650242
dec esi
test ebx, ebx
je 0x65a87b
mov cl, byte [esi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x65a79c
nop
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x65a790
movzx edx, cl
cmp edx, 0xc0
jb 0x65a87e
mov al, byte [esi + 1]
test dl, 0x20
jne 0x65a7c6
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x65a87e
mov bl, byte [esi + 2]
test dl, 0x10
jne 0x65a7f0
and edx, 0xf
movzx ecx, al
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx eax, bl
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x65a87e
movzx ecx, bl
movzx ebx, byte [esi + 3]
and ecx, 0x3f
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
mov dword [ebp + 0xc], ebx
test dl, 8
jne 0x65a822
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
jmp 0x65a87e
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp + 0xc]
test dl, 4
jne 0x65a855
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65a87e
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
jmp 0x65a87e
movzx edx, byte [esi]
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x6c]
jae 0x65a889
mov dword [eax + 0x6c], esi
mov esi, eax
test dword [esi + 0x8c], 0x20000
je 0x65a906
cmp edx, 0x5f
jne 0x65a8ac
mov dword [ebp + 8], 1
jmp 0x65a720
mov eax, edx
test eax, eax
jns 0x65a8b5
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65a8d0
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x65a8fa
cmp eax, 3
jne 0x65a71b
mov dword [ebp + 8], 1
jmp 0x65a720
cmp edx, 0xff
ja 0x65a71b
mov eax, dword [esi + 0x40]
test byte [edx + eax], 0x10
je 0x65a71b
mov dword [ebp + 8], 1
jmp 0x65a720
cmp dword [ebp - 8], 0
lea eax, [ebx + 1]
mov esi, eax
je 0x65aa33
cmp esi, ecx
jae 0x65a950
nop
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x65a94d
inc esi
cmp esi, ecx
jb 0x65a940
lea eax, [ebx + 1]
movzx edx, byte [ebx]
cmp edx, 0xc0
jb 0x65aa36
mov al, byte [eax]
test dl, 0x20
jne 0x65a979
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x65aa36
test dl, 0x10
jne 0x65a9a1
and edx, 0xf
movzx ecx, al
movzx eax, byte [ebx + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x65aa36
movzx ecx, byte [ebx + 2]
movzx ebx, byte [ebx + 3]
and ecx, 0x3f
movzx eax, al
and ebx, 0x3f
and eax, 0x3f
mov dword [ebp - 0x38], ebx
test dl, 8
jne 0x65a9d4
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
jmp 0x65aa36
mov ebx, dword [edi + 0x38]
movzx ebx, byte [ebx + 4]
and ebx, 0x3f
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 0x38]
test dl, 4
jne 0x65aa0a
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp + 0xc]
jmp 0x65aa36
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [edi + 0x38]
shl edx, 6
or edx, ecx
shl edx, 6
movzx eax, byte [eax + 5]
or edx, ebx
shl edx, 6
and eax, 0x3f
or edx, dword [ebp + 0xc]
shl edx, 6
or edx, eax
jmp 0x65aa36
movzx edx, byte [ebx]
mov eax, dword [ebp + 0x20]
cmp esi, dword [eax + 0x70]
jbe 0x65aa41
mov dword [eax + 0x70], esi
test dword [eax + 0x8c], 0x20000
je 0x65aab8
cmp edx, 0x5f
jne 0x65aa60
mov edx, 1
jmp 0x65a756
mov eax, edx
test eax, eax
jns 0x65aa69
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65aa84
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x65aaae
cmp eax, 3
jne 0x65a754
mov edx, 1
jmp 0x65a756
cmp edx, 0xff
ja 0x65a754
mov eax, dword [eax + 0x40]
test byte [edx + eax], 0x10
je 0x65a754
mov edx, 1
jmp 0x65a756
mov edi, edx
test esi, esi
jne 0x650242
mov esi, dword [ebx + 4]
mov dword [ebx], esi
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add edx, esi
mov dword [ebx + 4], edx
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
cmp byte [edx], 0x78
je 0x65dca6
mov dword [ebx], esi
jmp 0x64ff2e
cmp esi, 0xfffffc1f
jne 0x65ab4d
mov edx, dword [ebx]
mov edi, dword [ebp + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x650242
cmp byte [edx], 0x78
je 0x65ab57
cmp byte [ecx], 0x78
jmp 0x65ab51
test esi, esi
mov edi, edx
jne 0x650242
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x65dffb
xor esi, esi
jmp 0x650242
cmp esi, 0xfffffc19
je 0x65d5ea
test esi, esi
je 0x65ab96
cmp esi, 0xfffffc1f
jne case.0x650288.35
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x65e0cc
jmp 0x65023d
cmp esi, 0xfffffc1f
jg 0x65abf4
je 0x65d654
cmp esi, 0xfffffc19
je 0x65a3c1
mov edi, edx
cmp esi, 0xfffffc1a
jle 0x650242
cmp esi, 0xfffffc1d
jle 0x65d632
jmp 0x650242
mov eax, esi
sub eax, 0
je 0x65d654
sub eax, 1
mov edi, edx
mov eax, dword [ebp - 4]
jne 0x650245
xor esi, esi
jmp 0x650242
cmp esi, 0xfffffc1f
jg 0x65ac51
je 0x65d69f
cmp esi, 0xfffffc19
je 0x65d67a
cmp esi, 0xfffffc1a
jle case.0x650288.35
cmp esi, 0xfffffc1d
jle 0x65d6bd
mov edi, edx
jmp 0x650242
mov eax, esi
sub eax, 0
je 0x65d69f
sub eax, 1
je 0x65d69a
mov edi, edx
jmp 0x650242
test esi, esi
je 0x65d6f7
mov edi, edx
jmp 0x650242
test esi, esi
je 0x65a350
mov edi, edx
jmp 0x650242
cmp esi, 0xfffffc1a
jne 0x65accb
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x65dcaf
mov edx, dword [ebx]
nop dword [eax + eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x65acb0
jmp 0x65ad28
cmp esi, 0xfffffc1f
jne 0x65ad04
mov edx, dword [ebx]
mov edi, dword [ebp + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add ecx, edx
cmp dword [edi + 0x7c], ecx
jae 0x650242
cmp byte [edx], 0x78
je 0x65ad0c
cmp byte [ecx], 0x78
jne 0x650242
jmp 0x65ad0c
test esi, esi
jne case.0x650288.35
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x65dfb4
cmp dword [ebx + 0x24], 0
jne 0x65d729
cmp dword [ebx + 0x28], 0
jne 0x65d729
jmp 0x65023d
test esi, esi
je 0x65d70f
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
inc dword [ebx]
jmp 0x64ff2e
mov edx, dword [ebx + 4]
mov edi, dword [ebp + 0x20]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
lea eax, [esi + 0x3e5]
add ecx, edx
cmp eax, 4
ja 0x65adbb
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x84], eax
jne 0x65adbb
cmp esi, 0xfffffc1f
jne case.0x65b2c7.14
cmp dword [edi + 0x7c], ecx
jae case.0x65b2c7.14
cmp byte [edx], 0x78
je 0x65adc3
cmp byte [ecx], 0x78
je 0x65adc3
xor esi, esi
jmp 0x650242
test esi, esi
jne 0x650242
mov dword [ebx + 4], ecx
cmp byte [ecx], 0x78
je 0x65e0a0
xor esi, esi
jmp 0x650242
mov edi, edx
cmp esi, 0xfffffc1e
jne 0x650242
mov eax, dword [ebx]
push dword [edi + 0x80]
add eax, 2
push eax
call fcn.00662290
add esp, 8
test eax, eax
jne 0x650242
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x80], eax
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1c
mov dword [edi + 0x84], eax
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x80], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov eax, dword [ebx]
mov esi, 0xfffffc1e
add eax, 2
mov dword [edi + 0x80], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x7c], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x84], eax
jmp 0x650242
test esi, esi
jne case.0x650288.35
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65aebd
mov edi, edx
jmp 0x650242
lea eax, [ebp - 0x44]
mov esi, edx
push eax
push esi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0065ec80
add esp, 0x14
test eax, eax
je 0x65dcb9
jle 0x65aee5
mov ecx, dword [esi + 0x64]
mov dword [edi + 0x38], ecx
jmp 0x65aee8
mov ecx, dword [edi + 0x38]
mov edi, esi
cmp ecx, dword [edi + 0x64]
jb case.0x65b2c7.14
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x65b2c7.14
cmp ecx, dword [edi + 0x6c]
ja 0x65af11
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
cmp edx, 1
mov dword [edi + 0x2c], 1
ja 0x652201
xor esi, esi
jmp 0x650242
test esi, esi
jne case.0x650288.35
mov eax, dword [ebx + 0xc]
sub dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb 0x65023d
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x15
jmp 0x65e1ff
test esi, esi
jne case.0x650288.35
mov esi, dword [ebx + 4]
cmp dword [ebx + 0x38], esi
je 0x65023d
mov dword [ebx + 0x38], esi
dec dword [ebx + 0x24]
mov edi, dword [ebx + 0x20]
cmp edi, dword [ebx + 0x24]
jae 0x65af96
lea eax, [ebp - 0x48]
push eax
push edx
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.0065ec80
add esi, dword [ebp - 0x48]
inc edi
mov edx, dword [ebp + 0x20]
add esp, 0x14
mov dword [ebx + 0x38], esi
cmp edi, dword [ebx + 0x24]
jb 0x65af73
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65afc0
xor esi, esi
jmp 0x650242
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jb 0x65afee
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp edx, dword [edi + 0x6c]
ja 0x65afe6
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
cmp ecx, 1
jmp 0x65af14
movzx ecx, byte [edx]
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov esi, ecx
mov edx, dword [ebx + 8]
and ecx, 7
shr esi, 3
mov eax, 1
shl eax, cl
test byte [esi + edx], al
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x65e1ff
test esi, esi
jne case.0x650288.35
dec dword [ebx + 0x38]
jmp 0x6523c0
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b04f
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je 0x65b06c
cmp dword [ebx + 0x2c], eax
jne case.0x65b2c7.14
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x65e1ff
dec dword [ebx + 0x38]
test esi, esi
je 0x6512b2
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b0b1
xor esi, esi
jmp 0x650242
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x64]
jae 0x65b17c
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne case.0x65b2c7.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1b
jmp 0x65e202
dec dword [ebx + 0x38]
test esi, esi
je 0x651398
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b10e
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx eax, byte [ecx]
cmp dword [ebx + 0x28], eax
je case.0x65b2c7.14
cmp dword [ebx + 0x2c], eax
je case.0x65b2c7.14
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x65e1ff
mov eax, dword [ebp - 4]
test esi, esi
je 0x65d733
mov edi, edx
jmp 0x650245
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b174
xor esi, esi
jmp 0x650242
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x64]
jb 0x65b193
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp esi, dword [edi + 0x6c]
jmp 0x65afda
movzx ecx, byte [esi]
lea eax, [esi + 1]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x65e1ff
mov eax, dword [ebp - 4]
test esi, esi
je 0x65d74d
mov edi, edx
jmp 0x650245
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b1e4
xor esi, esi
jmp 0x650242
mov edx, dword [ebx + 0x38]
mov eax, dword [edi + 0x64]
cmp edx, eax
jb 0x65b227
movzx eax, word [edi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x65b2c7.14
cmp edx, dword [edi + 0x6c]
ja 0x65b210
cmp dword [edi + 0x34], 0
je case.0x65b2c7.14
mov dword [edi + 0x2c], 1
cmp ecx, 1
ja 0x652201
xor esi, esi
jmp 0x650242
mov esi, dword [ebx + 0x28]
cmp esi, 0xc
jne 0x65b26a
mov ecx, dword [ebp + 0x20]
mov edi, dword [edi + 0x98]
add ecx, 0x9c
test edi, edi
je 0x65b284
push dword [ebp - 8]
push ecx
push eax
push edi
push edx
call fcn.00661f30
mov edi, dword [ebp + 0x20]
add esp, 0x14
test eax, eax
jne case.0x65b2c7.14
mov edx, dword [ebx + 0x38]
mov esi, dword [ebx + 0x28]
movzx ecx, byte [edx]
add esi, 0xfffffffa
inc edx
mov dword [ebx + 0x38], edx
cmp esi, 0xf
ja case.0x65b27d.15
jmp dword [esi*4 + 0x65eafc]
mov ecx, dword [ecx]
sub eax, ecx
mov edi, dword [ebp + 0x20]
cmp edx, eax
ja 0x65b26a
mov al, byte [edx]
cmp al, byte [edi + 0xa0]
jne 0x65b26a
cmp ecx, 1
je case.0x65b2c7.14
mov al, byte [edx + 1]
cmp al, byte [edi + 0xa1]
jne 0x65b26a
xor esi, esi
jmp 0x650242
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x65b2c7.14
movzx eax, byte [ecx + 0x65eb4c]
jmp dword [eax*4 + 0x65eb3c]
cmp word [edi + 0x4e], 2
jne case.0x65b27d.13
xor esi, esi
jmp 0x650242
cmp ecx, 9
je case.0x65b2c7.14
cmp ecx, 0x20
je case.0x65b2c7.14
cmp ecx, 0xa0
jne case.0x65b27d.13
xor esi, esi
jmp 0x650242
cmp ecx, 9
je case.0x65b27d.13
cmp ecx, 0x20
je case.0x65b27d.13
cmp ecx, 0xa0
je case.0x65b27d.13
xor esi, esi
jmp 0x650242
cmp ecx, 0xa
jb case.0x65b27d.13
cmp ecx, 0xd
jbe case.0x65b2c7.14
cmp ecx, 0x85
jne case.0x65b27d.13
xor esi, esi
jmp 0x650242
cmp ecx, 0xa
jb case.0x65b2c7.14
cmp ecx, 0xd
jbe case.0x65b27d.13
cmp ecx, 0x85
je case.0x65b27d.13
xor esi, esi
jmp 0x650242
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
je case.0x65b27d.13
xor esi, esi
jmp 0x650242
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne case.0x65b27d.13
xor esi, esi
jmp 0x650242
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
je case.0x65b27d.13
xor esi, esi
jmp 0x650242
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 1
jne case.0x65b27d.13
xor esi, esi
jmp 0x650242
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
je case.0x65b27d.13
xor esi, esi
jmp 0x650242
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 0x10
jne case.0x65b27d.13
xor esi, esi
jmp 0x650242
test esi, esi
je 0x65d767
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1b
mov dword [edi + 0x84], eax
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b437
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65b562
cmp edx, 0xc0
jb 0x65b562
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65b480
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65b562
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65b4ad
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65b55f
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65b4eb
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65b55c
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65b535
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65b55c
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
push dword [ebp - 8]
push dword [ebx + 8]
push edx
call fcn.006648c0
add esp, 0xc
test eax, eax
jne 0x65dd44
xor esi, esi
jmp 0x650242
test esi, esi
jne case.0x650288.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x65023d
cmp dword [ebp - 8], esi
je 0x6527a8
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x6527a8
nop
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x65b5b0
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b5e6
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
mov dword [ebp + 8], edx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x65b709
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65b628
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65b706
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65b651
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65b703
lea ebx, [ecx + 3]
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65b68f
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
jmp 0x65b700
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65b6d9
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65b700
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov dword [ebp + 8], edx
cmp edx, 0xff
jbe 0x65b729
cmp byte [ebx + 0x31], 0x6e
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xc8
jmp 0x65e1ff
mov ecx, dword [ebp + 8]
mov esi, edx
mov edx, dword [ebx + 8]
and ecx, 7
shr esi, 3
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x65b71b
xor esi, esi
jmp 0x650242
test esi, esi
jne case.0x650288.35
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 1]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe 0x65023d
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x65233a
dec edx
mov dword [ebx + 0x38], edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
je 0x65b770
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x65e1ff
test esi, esi
jne case.0x650288.35
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b7a4
mov edi, edx
jmp 0x650242
mov edi, dword [ebx + 0xc]
mov eax, edx
mov ecx, dword [ebx + 0x38]
mov edx, dword [eax + 0x64]
mov eax, edx
sub eax, edi
mov dword [ebp + 8], edx
cmp ecx, eax
ja 0x65b829
mov edx, dword [ebx + 8]
mov esi, edi
sub esi, 4
jb 0x65b7d9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x65b7e2
add ecx, 4
add edx, 4
sub esi, 4
jae 0x65b7c8
cmp esi, 0xfffffffc
je 0x65dd4f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x65b823
cmp esi, 0xfffffffd
je 0x65dd4f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x65b823
cmp esi, 0xfffffffe
je 0x65dd4f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x65b823
cmp esi, 0xffffffff
je 0x65dd4f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x65dd4f
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x65b8ab
mov eax, edx
sub eax, edi
cmp ecx, eax
ja 0x65b8ab
mov esi, edi
lea edx, [ebx + 0x32]
sub esi, 4
jb 0x65b861
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x65b86a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x65b850
cmp esi, 0xfffffffc
je 0x65dd4f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x65b8ab
cmp esi, 0xfffffffd
je 0x65dd4f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x65b8ab
cmp esi, 0xfffffffe
je 0x65dd4f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x65b8ab
cmp esi, 0xffffffff
je 0x65dd4f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x65dd4f
mov edi, dword [ebp + 0x20]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jb case.0x65b2c7.14
jmp 0x65afc8
test esi, esi
je 0x65d7a2
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65b8ed
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x65ba0a
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65b92c
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65ba0a
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65b955
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65ba07
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65b993
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65ba04
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65b9dd
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65ba04
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp dword [ebx + 0x28], edx
je case.0x65b2c7.14
cmp dword [ebx + 0x2c], edx
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x65e1ff
test esi, esi
je 0x65d7d3
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65ba58
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x65bb75
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65ba97
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65bb75
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65bac0
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65bb72
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65bafe
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65bb6f
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65bb48
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65bb6f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp dword [ebx + 0x28], edx
je case.0x65b2c7.14
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x65e1ff
test esi, esi
je 0x65d804
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65bbba
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
cmp dword [ebp - 8], 0
lea edx, [ecx + 1]
movzx eax, byte [ecx]
mov dword [ebx + 0x38], edx
je 0x65bc0c
cmp eax, 0xc0
jb 0x65bc0c
test al, 0x20
jne 0x65bbed
lea eax, [edx + 1]
jmp 0x65bc09
test al, 0x10
jne 0x65bbf6
lea eax, [ecx + 3]
jmp 0x65bc09
test al, 8
jne 0x65bbff
lea eax, [ecx + 4]
jmp 0x65bc09
test al, 4
lea eax, [ecx + 5]
je 0x65bc09
lea eax, [ecx + 6]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd0
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65bc40
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65bd67
cmp edx, 0xc0
jb 0x65bd67
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65bc89
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65bd67
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65bcb2
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65bd64
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65bcf0
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65bd61
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65bd3a
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65bd61
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65bd70
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65bd8b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x72de61]
cmp al, 9
je 0x65bdaf
cmp al, 5
je 0x65bdaf
cmp al, 8
je 0x65bdaf
xor ecx, ecx
jmp 0x65bdb4
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd1
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65bdef
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65bf16
cmp edx, 0xc0
jb 0x65bf16
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65be38
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65bf16
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65be61
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65bf13
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65be9f
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65bf10
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65bee9
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65bf10
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65bf1f
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65bf3a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd2
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65bf99
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65c0c0
cmp edx, 0xc0
jb 0x65c0c0
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65bfe2
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65c0c0
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65c00b
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65c0bd
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65c049
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65c0ba
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65c093
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65c0ba
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65c0c9
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65c0e4
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd3
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65c13c
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65c263
cmp edx, 0xc0
jb 0x65c263
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65c185
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65c263
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65c1ae
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65c260
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65c1ec
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65c25d
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65c236
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65c25d
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65c26c
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65c287
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de60]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd4
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65c2df
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65c406
cmp edx, 0xc0
jb 0x65c406
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65c328
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65c406
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65c351
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65c403
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65c38f
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65c400
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65c3d9
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65c400
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65c40f
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65c42a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x65c454
cmp eax, 3
je 0x65c454
xor ecx, ecx
jmp 0x65c459
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd5
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65c494
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65c5bb
cmp edx, 0xc0
jb 0x65c5bb
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65c4dd
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65c5bb
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65c506
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65c5b8
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65c544
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65c5b5
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65c58e
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65c5b5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp edx, 0x180e
ja 0x65c60c
je case.0x65c62c.8192
cmp edx, 0x85
ja 0x65c5f5
je case.0x65c62c.8192
cmp edx, 9
jb case.0x65c62c.8203
cmp edx, 0xd
jbe case.0x65c62c.8192
cmp edx, 0x20
jmp 0x65c645
cmp edx, 0xa0
je case.0x65c62c.8192
cmp edx, 0x1680
jmp 0x65c645
cmp edx, 0x202f
ja 0x65c633
je case.0x65c62c.8192
lea eax, [edx - 0x2000]
cmp eax, 0x29
ja case.0x65c62c.8203
movzx eax, byte [eax + 0x65ebd0]
jmp dword [eax*4 + 0x65ebc8]
cmp edx, 0x205f
je case.0x65c62c.8192
cmp edx, 0x3000
je case.0x65c62c.8192
mov eax, edx
test eax, eax
jns 0x65c654
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65c66f
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
cmp dword [eax*4 + 0x7492a0], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd6
jmp 0x65e1ff
cmp dword [ebx + 0x28], 0xf
jne case.0x65dc23.7
xor esi, esi
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65c6d9
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65c800
cmp edx, 0xc0
jb 0x65c800
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65c722
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65c800
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65c74b
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65c7fd
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65c789
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65c7fa
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65c7d3
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65c7fa
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x732070]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de61]
mov eax, dword [eax*4 + 0x7492a0]
cmp eax, 1
je 0x65c844
cmp eax, 3
je 0x65c844
cmp edx, 0x5f
je 0x65c844
xor ecx, ecx
jmp 0x65c849
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd7
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65c884
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65c9ab
cmp edx, 0xc0
jb 0x65c9ab
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65c8cd
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65c9ab
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65c8f6
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65c9a8
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65c934
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65c9a5
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65c97e
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65c9a5
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax*4 + 0x72d898]
lea eax, [eax*4 + 0x72d898]
cmp edx, ecx
jb 0x65c9cd
lea eax, [eax + 4]
cmp edx, ecx
je 0x65c9e2
mov ecx, dword [eax]
cmp edx, ecx
jae 0x65c9c0
cmp dword [ebx + 0x28], 0xf
jne case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd8
jmp 0x65e1ff
cmp dword [ebx + 0x28], 0xf
jne case.0x65dc23.10
xor esi, esi
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65ca0e
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65cb35
cmp edx, 0xc0
jb 0x65cb35
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65ca57
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65cb35
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65ca80
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65cb32
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65cabe
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65cb2f
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65cb08
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65cb2f
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
cmp edx, 0x24
je 0x65cb64
cmp edx, 0x40
je 0x65cb64
cmp edx, 0x60
je 0x65cb64
cmp edx, 0xa0
jb 0x65cb58
cmp edx, 0xd7ff
jbe 0x65cb64
cmp edx, 0xe000
jae 0x65cb64
xor ecx, ecx
jmp 0x65cb69
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd9
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65cba4
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x65de38
cmp edx, 0xc0
jb 0x65de38
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65dd60
movzx eax, al
and edx, 0x1f
jmp 0x65de2d
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65cc07
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
mov eax, dword [edi + 0x64]
cmp ecx, eax
jae 0x65aef3
cmp dword [ebx + 0x28], 0xc
jne 0x65cc4d
mov esi, dword [edi + 0x98]
lea edx, [edi + 0x9c]
test esi, esi
je 0x65cc86
push dword [ebp - 8]
push edx
push eax
push esi
push ecx
call fcn.00661f30
add esp, 0x14
test eax, eax
jne case.0x65b2c7.14
mov ecx, dword [ebx + 0x38]
movzx edx, byte [ecx]
inc ecx
mov dword [ebx + 0x38], ecx
cmp edx, 0xc0
jb 0x65cda1
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65ccb3
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
mov ecx, esi
jmp 0x65cda1
mov edx, dword [edx]
sub eax, edx
cmp ecx, eax
ja 0x65cc4d
mov al, byte [ecx]
cmp al, byte [edi + 0xa0]
jne 0x65cc4d
cmp edx, 1
je case.0x65b2c7.14
mov al, byte [ecx + 1]
cmp al, byte [edi + 0xa1]
jne 0x65cc4d
xor esi, esi
jmp 0x650242
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65ccde
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
mov ecx, edi
or edx, eax
jmp 0x65cd9e
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65cd21
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x38], eax
mov ecx, eax
jmp 0x65cd9e
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
mov ebx, dword [ebp + 8]
movzx eax, al
and eax, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65cd72
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
mov ecx, eax
or edx, esi
mov dword [ebx + 0x38], eax
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65cd9e
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
movzx eax, byte [eax]
or edx, edi
shl edx, 6
and eax, 0x3f
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
add ecx, 5
mov dword [ebx + 0x38], ecx
mov edi, dword [ebp + 0x20]
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x65b27d.15
jmp dword [eax*4 + 0x65ebfc]
cmp edx, 0xd
ja 0x65cdec
je 0x65de8c
cmp edx, 0xa
je case.0x65cdb0.13
jbe case.0x65b2c7.14
cmp edx, 0xc
ja case.0x65b2c7.14
cmp word [edi + 0x4e], 2
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x85
je 0x65cdda
cmp edx, 0x2027
jbe case.0x65b2c7.14
cmp edx, 0x2029
jbe 0x65cdda
xor esi, esi
jmp 0x650242
cmp edx, 0x180e
ja 0x65ce5b
je case.0x65b2c7.14
cmp edx, 0xa0
ja 0x65ce48
je case.0x65b2c7.14
cmp edx, 9
je case.0x65b2c7.14
cmp edx, 0x20
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x1680
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x205f
ja 0x65ce94
je case.0x65b2c7.14
cmp edx, 0x2000
jb case.0x65cdb0.13
cmp edx, 0x200a
jbe case.0x65b2c7.14
cmp edx, 0x202f
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x3000
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x180e
ja 0x65cef3
je case.0x65cdb0.13
cmp edx, 0xa0
ja 0x65cee0
je case.0x65cdb0.13
cmp edx, 9
je case.0x65cdb0.13
cmp edx, 0x20
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x1680
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x205f
ja 0x65cf2c
je case.0x65cdb0.13
cmp edx, 0x2000
jb case.0x65b2c7.14
cmp edx, 0x200a
jbe case.0x65cdb0.13
cmp edx, 0x202f
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x3000
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x85
ja 0x65cf60
je case.0x65b2c7.14
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x65cdb0.13
xor esi, esi
jmp 0x650242
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x85
ja 0x65cf9d
je case.0x65cdb0.13
cmp edx, 0xa
jb case.0x65b2c7.14
cmp edx, 0xd
jbe case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x2028
jb case.0x65b2c7.14
cmp edx, 0x2029
jbe case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x100
jae case.0x65cdb0.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x100
jae case.0x65b2c7.14
mov eax, dword [edi + 0x40]
test byte [edx + eax], 8
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x100
jae case.0x65cdb0.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x100
jae case.0x65b2c7.14
mov eax, dword [edi + 0x40]
test byte [edx + eax], 1
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x100
jae case.0x65cdb0.13
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
je case.0x65cdb0.13
xor esi, esi
jmp 0x650242
cmp edx, 0x100
jae case.0x65b2c7.14
mov eax, dword [edi + 0x40]
test byte [edx + eax], 0x10
jne case.0x65cdb0.13
xor esi, esi
jmp 0x650242
test esi, esi
je 0x65d835
mov edi, edx
jmp 0x650242
test esi, esi
je 0x65daeb
mov edi, edx
jmp 0x650242
test esi, esi
je 0x65db5f
mov edi, edx
jmp 0x650242
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65d0c8
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65d1ef
cmp edx, 0xc0
jb 0x65d1ef
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65d111
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65d1ef
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65d13a
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65d1ec
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65d178
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65d1e9
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65d1c2
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65d1e9
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov ecx, dword [ebx + 0x2c]
mov eax, edx
test eax, eax
jns 0x65d1fb
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65d216
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x72de6a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x72d310]
and ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdf
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65d28c
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65d3b3
cmp edx, 0xc0
jb 0x65d3b3
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65d2d5
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65d3b3
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65d2fe
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65d3b0
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65d33c
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65d3ad
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65d386
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65d3ad
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65d3bc
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65d3d7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
xor ecx, ecx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x72de68]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xe0
jmp 0x65e1ff
mov edi, edx
test esi, esi
jne 0x650242
mov ecx, dword [ebx + 0x20]
lea eax, [ecx + 1]
mov dword [ebx + 0x20], eax
cmp ecx, dword [ebx + 0x24]
jb 0x65d432
xor esi, esi
jmp 0x650242
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x65aef3
movzx edx, byte [ecx]
inc ecx
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x65d559
cmp edx, 0xc0
jb 0x65d559
mov al, byte [ecx]
lea esi, [ecx + 1]
test dl, 0x20
jne 0x65d47b
and edx, 0x1f
movzx eax, al
and eax, 0x3f
shl edx, 6
or edx, eax
mov dword [ebx + 0x38], esi
jmp 0x65d559
lea edi, [ecx + 2]
test dl, 0x10
jne 0x65d4a4
and edx, 0xf
movzx ecx, al
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov dword [ebx + 0x38], edi
shl edx, 6
or edx, eax
jmp 0x65d556
lea ebx, [ecx + 3]
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 8
jne 0x65d4e2
movzx ecx, al
and edx, 7
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [edi]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
jmp 0x65d553
movzx esi, byte [esi]
lea ebx, [ecx + 4]
movzx edi, byte [edi]
and esi, 0x3f
mov dword [ebp + 0xc], ebx
and edi, 0x3f
movzx ebx, byte [ecx + 3]
and ebx, 0x3f
movzx eax, al
and eax, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65d52c
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65d553
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or edx, esi
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, eax
lea eax, [ecx + 5]
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
mov eax, edx
test eax, eax
jns 0x65d562
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65d57d
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebx + 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x72de60]
cmp eax, ecx
je 0x65d5c9
movzx edx, word [edx*4 + 0x72de68]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x72db68], eax
jne 0x65d5c9
xor ecx, ecx
jmp 0x65d5ce
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x65b2c7.14
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xe1
jmp 0x65e1ff
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00506640
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x65d612
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x64ff2b
mov esi, dword [ebx]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x65d634
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x64ff2b
mov edx, dword [ebx]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
mov dword [ebx], esi
cmp byte [esi], 0x78
je 0x65e0f7
lea eax, [esi + 3]
mov dword [ebx], eax
jmp 0x64ff2b
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00506640
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x20]
jmp 0x65d6c5
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or eax, ecx
add eax, edx
mov dword [ebx + 4], eax
cmp byte [eax], 0x78
je 0x65dc64
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
test eax, eax
je case.0x659f39.148
mov edx, dword [ebx]
nop
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx], edx
cmp byte [edx], 0x78
je 0x65d6d0
mov ecx, dword [ebx]
movzx eax, byte [ecx]
movzx eax, byte [eax + 0x749128]
jmp 0x659f72
mov edx, dword [ebx]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
sub edx, ecx
mov dword [ebx], edx
jmp 0x64ff2b
mov edx, dword [ebx + 4]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [ebx + 4], edx
cmp byte [edx], 0x78
je 0x65d712
lea eax, [edx + 3]
mov dword [ebx], eax
jmp 0x64ff2b
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 4]
je 0x64ff2b
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1e
jmp 0x65e1ff
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 4]
je 0x64ff2b
mov esi, dword [eax]
mov byte [eax + 0x30], 0x20
jmp 0x65e1ff
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp dword [ebx + 0x28], 0x11
jne 0x65d78e
cmp eax, dword [ebx + 4]
jbe 0x65d78e
cmp byte [eax], 0xa
jne 0x65d78e
cmp byte [eax - 1], 0xd
lea edx, [eax - 1]
jne 0x65d78e
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
je 0x64ff2b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x22
jmp 0x65e1ff
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x65d7bc
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x65d7b0
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x64ff2b
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcb
jmp 0x65e1ff
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x65d7ed
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x65d7e1
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x64ff2b
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcd
jmp 0x65e1ff
dec dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
jne 0x65d81e
dec ecx
mov dword [ebx + 0x38], ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x65d812
mov eax, dword [ebp - 4]
cmp ecx, dword [eax + 4]
jbe 0x64ff2b
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcf
jmp 0x65e1ff
mov esi, dword [ebx + 0x38]
mov edx, dword [ebp - 8]
dec esi
mov dword [ebx + 0x38], esi
test edx, edx
jne 0x65d84b
movzx ecx, byte [esi]
jmp 0x65d92c
mov cl, byte [esi]
mov edx, esi
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x65d867
dec esi
mov dword [ebx + 0x38], esi
mov edx, esi
mov cl, byte [esi]
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x65d857
movzx ecx, cl
mov esi, edx
cmp ecx, 0xc0
jb 0x65d929
movzx eax, byte [edx + 1]
and eax, 0x3f
test cl, 0x20
jne 0x65d88c
and ecx, 0x1f
jmp 0x65d922
test cl, 0x10
jne 0x65d8a2
and ecx, 0xf
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 2]
jmp 0x65d91f
movzx esi, byte [edx + 2]
movzx edi, byte [edx + 3]
and esi, 0x3f
and edi, 0x3f
test cl, 8
jne 0x65d8d0
and ecx, 7
shl ecx, 6
or ecx, eax
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
jmp 0x65d927
movzx ebx, byte [edx + 4]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test cl, 4
jne 0x65d903
and ecx, 3
shl ecx, 6
or ecx, eax
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, dword [ebp + 8]
jmp 0x65d927
and ecx, 1
shl ecx, 6
or ecx, eax
movzx eax, byte [edx + 5]
shl ecx, 6
or ecx, esi
shl ecx, 6
or ecx, edi
shl ecx, 6
or ecx, dword [ebp + 8]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov esi, edx
mov edx, dword [ebp - 8]
mov eax, ecx
test eax, eax
jns 0x65d935
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and ecx, 0x8000007f
jns 0x65d950
dec ecx
or ecx, 0xffffff80
inc ecx
mov edi, dword [ebx + 4]
add eax, ecx
mov dword [ebp + 0xc], edi
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x72de62]
mov dword [ebp - 0x2c], eax
cmp esi, edi
jbe 0x65dad4
mov cl, byte [esi - 1]
dec esi
test edx, edx
jne 0x65d986
movzx edx, cl
jmp 0x65da77
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x65d99c
nop
mov cl, byte [esi - 1]
dec esi
mov al, cl
and al, 0xc0
cmp al, 0x80
je 0x65d990
movzx edx, cl
cmp edx, 0xc0
jb 0x65da77
mov al, byte [esi + 1]
test dl, 0x20
jne 0x65d9be
movzx eax, al
and edx, 0x1f
jmp 0x65da6f
mov cl, byte [esi + 2]
mov byte [ebp + 0xb], cl
test dl, 0x10
jne 0x65d9e4
movzx ecx, al
and edx, 0xf
movzx eax, byte [ebp + 0xb]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x65da6f
movzx edi, byte [esi + 3]
movzx eax, al
and edi, 0x3f
movzx ecx, cl
and eax, 0x3f
and ecx, 0x3f
test dl, 8
jne 0x65da1a
and edx, 7
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
jmp 0x65da77
movzx ebx, byte [esi + 4]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65da50
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
jmp 0x65da77
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, edi
mov edi, dword [ebp + 0xc]
shl edx, 6
or edx, dword [ebp + 8]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
test eax, eax
jns 0x65da80
add eax, 0x7f
sar eax, 7
movzx eax, word [eax*2 + 0x732070]
shl eax, 7
and edx, 0x8000007f
jns 0x65da9b
dec edx
or edx, 0xffffff80
inc edx
mov ecx, dword [ebp - 0x2c]
add eax, edx
movzx eax, word [eax*2 + 0x736470]
lea eax, [eax + eax*2]
movzx edx, byte [eax*4 + 0x72de62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x7491f4], eax
je 0x65dad4
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
mov dword [ebx + 0x38], esi
cmp esi, edi
ja 0x65d976
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x64ff2b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdc
jmp 0x65e1ff
mov edx, dword [ebx + 0x38]
dec edx
mov dword [ebx + 0x38], edx
mov ecx, edx
mov esi, edx
mov dword [ebp + 8], ecx
mov edi, edx
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x65db1f
lea ecx, [edx - 1]
mov dword [ebx + 0x38], ecx
mov edx, ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x65db07
mov esi, ecx
mov edi, ecx
mov eax, ecx
jmp 0x65db22
mov eax, dword [ebp + 8]
cmp dword [ebx + 0x28], 0x11
jne 0x65db4b
mov ecx, esi
cmp edx, dword [ebx + 4]
jbe 0x65db4b
cmp byte [edx], 0xa
mov ecx, edi
jne 0x65db4b
dec edx
mov ecx, eax
cmp byte [edx], 0xd
jne 0x65db4b
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
jbe 0x64ff2b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdd
jmp 0x65e1ff
mov edx, dword [ebx + 0x38]
dec edx
cmp dword [ebp - 8], 0
mov ecx, edx
mov dword [ebx + 0x38], edx
je 0x65db90
mov al, byte [edx]
and al, 0xc0
cmp al, 0x80
jne 0x65db90
nop word [eax + eax]
lea ecx, [edx - 1]
mov dword [ebx + 0x38], ecx
mov edx, ecx
mov al, byte [ecx]
and al, 0xc0
cmp al, 0x80
je 0x65db80
cmp ecx, dword [ebx + 4]
jbe 0x64ff2b
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xde
jmp 0x65e1ff
inc dword [edi + 0x90]
mov eax, dword [edi + 0x90]
cmp eax, dword [edi + 0x94]
mov edi, dword [ebp - 4]
ja 0x65df03
mov edx, dword [edi]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx eax, byte [eax + 0x749128]
add eax, edx
add ecx, eax
mov dword [edi], ecx
mov edi, dword [ebp + 0x20]
jmp 0x64ff31
test ebx, ebx
jne 0x65ba1f
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x65e1ff
test ebx, ebx
jne 0x65bb81
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x65e1ff
test ebx, ebx
jne 0x65b71e
mov esi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x65e1ff
test ecx, ecx
js 0x65dc2a
cmp ecx, 0xd
ja case.0x65b27d.15
jmp dword [ecx*4 + 0x65ec3c]
cmp dword [ebx + 0x28], 0x16
je 0x65de81
cmp dword [ebp - 8], 0
jne case.0x65cdb0.13
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x65e1ff
cmp cl, 0x7e
je 0x65dc57
cmp cl, 0x80
je 0x65dc57
xor eax, eax
jmp 0x65dc5c
mov eax, 1
mov dword [ebx + 0x20], eax
mov eax, dword [ebx]
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
movzx eax, byte [eax]
or eax, 0x30000
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
mov byte [ebx + 0x30], 5
jmp 0x65e1ff
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x65dc9d
lea esi, [edx + 3]
mov byte [ebx + 0x30], 6
jmp 0x65e202
mov byte [ebx + 0x30], 7
jmp 0x65e202
mov byte [ebx + 0x30], 1
jmp 0x65e1ff
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x65dfb4
mov eax, dword [ebp - 0x44]
add dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x65e1ff
cmp edx, dword [edi + 0x64]
jae case.0x65b27d.13
cmp byte [edx], 0xa
jne case.0x65b27d.13
lea eax, [edx + 1]
mov dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x65e1ff
movzx eax, word [edi + 0x4c]
mov esi, eax
test ax, ax
je case.0x65b27d.13
cmp edx, dword [edi + 0x64]
jb case.0x65b27d.13
cmp dword [edi + 0x98], 0
jne case.0x65b27d.13
cmp dword [edi + 0x9c], 2
jne case.0x65b27d.13
movzx eax, byte [edi + 0xa0]
cmp ecx, eax
jne case.0x65b27d.13
mov dword [edi + 0x2c], 1
cmp esi, 1
ja 0x652201
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x65e1ff
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x64
jmp 0x65e1ff
mov eax, dword [ebp - 4]
add dword [ebx + 0x38], edi
mov esi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x65e1ff
mov edi, esi
lea esi, [ecx + 2]
test dl, 0x10
jne 0x65dd80
movzx ecx, al
and edx, 0xf
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x65de2a
mov dword [ebp + 8], esi
lea esi, [ecx + 3]
test dl, 8
jne 0x65ddb3
movzx ecx, al
and edx, 7
movzx eax, byte [edi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
jmp 0x65de2a
movzx edi, byte [edi]
lea ebx, [ecx + 4]
movzx esi, byte [esi]
and edi, 0x3f
mov dword [ebp + 0xc], ebx
and esi, 0x3f
mov ebx, dword [ebp + 8]
movzx eax, al
and eax, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 4]
test dl, 4
jne 0x65de0b
and edx, 3
shl edx, 6
or edx, eax
mov eax, dword [ebp + 0xc]
shl edx, 6
or edx, edi
mov dword [ebx + 0x38], eax
mov edi, dword [ebp + 0x20]
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
mov esi, eax
jmp 0x65de38
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [ecx + 4]
shl edx, 6
or edx, edi
shl edx, 6
or edx, dword [ebp + 8]
shl edx, 6
or edx, esi
lea esi, [ecx + 5]
mov edi, dword [ebp + 0x20]
and eax, 0x3f
shl edx, 6
mov dword [ebx + 0x38], esi
or edx, eax
push 0
push dword [ebp - 8]
push dword [edi + 0x64]
push dword [edi + 0x5c]
push esi
push edx
call fcn.00663fc0
mov ecx, eax
add esp, 0x18
mov dword [ebx + 0x38], ecx
cmp ecx, dword [edi + 0x64]
jb 0x65de81
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je 0x65de81
cmp ecx, dword [edi + 0x6c]
ja 0x65de71
cmp dword [edi + 0x34], 0
je 0x65de81
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x652201
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xda
jmp 0x65e1ff
cmp ecx, dword [edi + 0x64]
jae case.0x65cdb0.13
cmp byte [ecx], 0xa
jne case.0x65cdb0.13
lea eax, [ecx + 1]
mov dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdb
jmp 0x65e1ff
movzx eax, word [edi + 0x4c]
mov esi, eax
test ax, ax
je case.0x65cdb0.13
cmp ecx, dword [edi + 0x64]
jb case.0x65cdb0.13
cmp dword [edi + 0x98], 0
jne case.0x65cdb0.13
cmp dword [edi + 0x9c], 2
jne case.0x65cdb0.13
movzx eax, byte [edi + 0xa0]
cmp edx, eax
jne case.0x65cdb0.13
mov dword [edi + 0x2c], 1
cmp esi, 1
ja 0x652201
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdb
jmp 0x65e1ff
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0x11
jmp 0x65e1fb
mov edi, dword [ebp - 4]
inc esi
mov dword [edi + 4], esi
mov byte [edi + 0x30], 9
jmp 0x65e1ff
mov edi, dword [ebp - 4]
inc esi
mov dword [edi + 4], esi
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov dword [edi + 4], esi
cmp byte [esi], 0x78
je 0x65df33
add esi, 3
mov byte [edi + 0x30], 0xa
jmp 0x65e1ff
mov ebx, dword [ebp - 4]
inc esi
mov dword [ebx + 0x28], 1
mov dword [ebx], esi
mov al, byte [esi]
cmp al, 0x89
je 0x65df94
cmp al, 0x8e
jne 0x65df80
jmp 0x65df94
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov ecx, 0x20000
jmp 0x65dfa7
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], 0
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
mov byte [ebx + 0x30], 8
jmp 0x65e1ff
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
or ecx, 0x100
shl ecx, 8
or ecx, eax
jmp 0x65dff5
movzx ecx, cl
or ecx, 0x20000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov ecx, esi
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
mov byte [ebx + 0x30], 2
jmp 0x65e1ff
mov ecx, dword [edi + 0x58]
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
add edi, ecx
cmp edi, ecx
jne 0x65e032
xor ecx, ecx
jmp 0x65e03f
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
mov ebx, dword [ebp - 4]
mov dword [ebp + 8], ecx
cmp dword [ebx + 0x44], 0xffffffff
je 0x65e092
mov eax, dword [ebx + 0x4c]
cmp eax, 0xffffffff
je 0x65e092
mov edx, dword [ebp + 0x20]
mov esi, dword [edx + 0x10]
mov edx, ecx
or edx, 0x40000
nop dword [eax]
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x1c]
cmp dword [eax + 0x1c], edx
je 0x65e086
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x65e070
jmp 0x65e092
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x65e377
mov eax, dword [ebp + 8]
or eax, 0x40000
mov dword [ebx + 4], edi
mov dword [ebx + 0x20], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
mov byte [ebx + 0x30], 0xb
jmp 0x65e1ff
mov ebx, dword [ebp - 4]
movzx eax, cl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov ecx, esi
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
mov byte [ebx + 0x30], 3
jmp 0x65e1ff
mov ebx, dword [ebp - 4]
movzx eax, cl
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov ecx, esi
mov dword [ebp - 0x18], eax
movzx eax, byte [ecx]
movzx esi, byte [eax + 0x749128]
add esi, ecx
mov byte [ebx + 0x30], 4
jmp 0x65e1ff
lea eax, [esi + 2]
mov dword [edi + 0x78], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0xc
jmp 0x65e1fb
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0xd
jmp 0x65e1fd
lea eax, [esi + 2]
mov dword [edi + 0x78], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0x24
jmp 0x65e1fb
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0xe
jmp 0x65e1fd
lea eax, [esi + 2]
mov dword [edi + 0x78], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0xf
jmp 0x65e1fb
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0x10
jmp 0x65e1fd
movzx eax, byte [esi]
mov edi, dword [ebp - 4]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0x12
jmp 0x65e1fd
lea eax, [esi + 2]
mov dword [edi + 0x78], eax
mov edi, dword [ebp - 4]
mov dword [edi + 0x40], eax
mov ecx, dword [edi]
movzx eax, byte [ecx]
movzx esi, byte [ecx + 1]
movzx eax, byte [eax + 0x749128]
mov byte [edi + 0x30], 0x13
add eax, ecx
add esi, eax
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
add ebx, eax
mov dword [ebp - 0x14], ebx
cmp ebx, dword [edi + 0x14]
jb 0x65e2a8
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x1c]
lea ebx, [ecx + ecx]
mov eax, ebx
shr eax, 0xa
cmp eax, edx
jbe 0x65e23e
mov ebx, edx
xor edx, edx
shl ebx, 0xa
mov eax, ebx
div dword [ebp + 0x1c]
sub ebx, edx
cmp ecx, ebx
jae 0x65e383
push dword [edi + 8]
mov eax, dword [edi]
push ebx
call eax
mov edi, eax
add esp, 8
mov dword [ebp + 8], edi
test edi, edi
je 0x65e38f
mov eax, dword [ebp + 0x20]
push dword [eax + 0xc]
push dword [eax + 0x10]
push edi
call fcn.00506640
mov edx, dword [ebp + 0x20]
mov eax, edi
mov edi, dword [ebp - 4]
add esp, 0xc
mov ecx, dword [edx + 0x10]
sub eax, ecx
add edi, eax
mov dword [ebp - 4], edi
add edi, dword [ebp + 0x1c]
mov dword [ebp - 0x14], edi
cmp ecx, dword [edx + 0x18]
je 0x65e294
push dword [edx + 8]
mov eax, dword [edx + 4]
push ecx
call eax
mov edx, dword [ebp + 0x20]
add esp, 8
mov eax, dword [ebp + 8]
mov dword [edx + 0x10], eax
add eax, ebx
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 4]
mov dword [edx + 0xc], ebx
mov ebx, dword [ebp - 0x14]
push dword [ebp - 0x30]
add eax, 0x38
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.00506640
mov edi, dword [ebp - 4]
add esp, 0xc
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 4], ebx
mov eax, dword [edi + 0x18]
inc eax
mov dword [ebx + 0x18], eax
mov eax, ebx
mov ebx, dword [ebp - 8]
jmp 0x64fec0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
mov edi, dword [ebp - 4]
mov dword [eax + 0x68], ecx
mov ecx, dword [ebp + 0x20]
mov eax, dword [edi + 0x50]
mov dword [ecx + 0x48], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 0x74], eax
mov eax, dword [edi + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x65e303
mov dword [ecx + 0x70], eax
mov eax, dword [edi + 0x3c]
sub eax, dword [ecx + 0x5c]
mov ebx, dword [ebp + 0x10]
movzx esi, word [ebp + 0x14]
mov dword [ebx], eax
mov eax, dword [edi + 0x38]
sub eax, dword [ecx + 0x5c]
mov dword [ebx + 4], eax
movzx eax, word [ebp + 0x18]
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [edi + 0x54]
push eax
lea eax, [ebx + 8]
push eax
call fcn.00506640
mov eax, dword [edi + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x65e362
nop word [eax + eax]
mov dword [ebx + esi*4], 0xffffffff
dec esi
mov ecx, dword [edi + 0x50]
add ecx, 2
cmp esi, ecx
jae 0x65e350
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret