// File: ryuichiueda[P]GlueLang/src/Feeder.cc
// Function: Feeder::printPart(int, int, int, int)
void Feeder::printPart(int from, int from_char, int to, int to_char)
{
	if(from < 0 || from >= (int)m_lines.size())
		return;

	auto *ln = &m_lines.at(from);
	for(int i=0;i<from_char;i++)
		cerr << ' ';
	for(int i=from_char;i < (int)ln->size();i++){
		cerr << ln->at(i);
	}
	cerr << endl;

	if(to > (int)m_lines.size())
		return;

	for(int i=from+1;i<to;i++){
		cerr << m_lines.at(i) << endl;
	}

	if(to == (int)m_lines.size())
		return;

	ln = &m_lines.at(to);
	for(int i=0;i<=to_char;i++){
		if(i < (int)ln->size())
			cerr << ln->at(i);
	}
	cerr << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpl $0x0, -0xc(%rbp)
jl 0x178d4
movq -0x38(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, -0x3c(%rbp)
addq $0x8, %rdi
callq 0xb6a0
movq %rax, %rcx
movl -0x3c(%rbp), %eax
cmpl %ecx, %eax
jl 0x178d9
jmp 0x17a77
movq -0x38(%rbp), %rdi
addq $0x8, %rdi
movslq -0xc(%rbp), %rsi
callq 0xb5e0
movq %rax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x10(%rbp), %eax
jge 0x17919
movq 0x116e4(%rip), %rdi     # 0x28fe8
movl $0x20, %esi
callq 0x64e0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x178f5
movl -0x10(%rbp), %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x20(%rbp), %rdi
callq 0x62c0
movq %rax, %rcx
movl -0x40(%rbp), %eax
cmpl %ecx, %eax
jge 0x1795f
movq -0x20(%rbp), %rdi
movslq -0x28(%rbp), %rsi
callq 0x6770
movq 0x1169c(%rip), %rdi     # 0x28fe8
movsbl (%rax), %esi
callq 0x64e0
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x1791f
movq 0x11682(%rip), %rdi     # 0x28fe8
movq 0x1163b(%rip), %rsi     # 0x28fa8
callq 0x6460
movq -0x38(%rbp), %rdi
movl -0x14(%rbp), %eax
movl %eax, -0x44(%rbp)
addq $0x8, %rdi
callq 0xb6a0
movq %rax, %rcx
movl -0x44(%rbp), %eax
cmpl %ecx, %eax
jle 0x17994
jmp 0x17a77
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x179df
movq -0x38(%rbp), %rdi
addq $0x8, %rdi
movslq -0x2c(%rbp), %rsi
callq 0xb5e0
movq %rax, %rsi
movq 0x11628(%rip), %rdi     # 0x28fe8
callq 0x63a0
movq %rax, %rdi
movq 0x115d9(%rip), %rsi     # 0x28fa8
callq 0x6460
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1799d
movq -0x38(%rbp), %rdi
movl -0x14(%rbp), %eax
movl %eax, -0x48(%rbp)
addq $0x8, %rdi
callq 0xb6a0
movq %rax, %rcx
movl -0x48(%rbp), %eax
cmpl %ecx, %eax
jne 0x179fe
jmp 0x17a77
movq -0x38(%rbp), %rdi
addq $0x8, %rdi
movslq -0x14(%rbp), %rsi
callq 0xb5e0
movq %rax, -0x20(%rbp)
movl $0x0, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x18(%rbp), %eax
jg 0x17a64
movl -0x30(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x62c0
movq %rax, %rcx
movl -0x4c(%rbp), %eax
cmpl %ecx, %eax
jge 0x17a57
movq -0x20(%rbp), %rdi
movslq -0x30(%rbp), %rsi
callq 0x6770
movq 0x11599(%rip), %rdi     # 0x28fe8
movsbl (%rax), %esi
callq 0x64e0
jmp 0x17a59
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x17a1a
movq 0x1157d(%rip), %rdi     # 0x28fe8
movq 0x11536(%rip), %rsi     # 0x28fa8
callq 0x6460
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)