// File: /workspace/github_c_makefile_star2_O0/ksherlock[P]nroff_man/read1.c
// Function: parse_args
void parse_args(unsigned i, int available) {
	unsigned j = MAN_BUFFER_SIZE;
	argc = 0;


	for(;;) {
		uint_fast8_t c;
		unsigned quote = 0;
		while (isspace(buffer[i])) ++i;

		c = buffer[i];
		if (c == 0) goto _break;
		if (c == '"') { quote = 1; ++i; }
		if (argc == MAX_ARGC) {
			argv[argc] = NULL;
			return;
		}
		argv[argc++] = out_buffer + j;

		for(;;) {

			c = buffer[i++];
			if (c == 0) goto _break;
			if (c == XSPACE) continue;
			if (quote && c == '"') {
				if (buffer[i] == '"') {
					out_buffer[j++] = '"';
					++i;
					continue;
				}
				break;
			}
			if (!quote && isspace(c)) {
				break;
			}

			if (c != ec) {
				out_buffer[j++] = c;
				continue;
			}


			c = buffer[i++];
			switch(c) {
				/* TODO - escape.h should check for buffer overflow */
				#include "escape.h"
			}
	
		}
		out_buffer[j++] = 0;
	}

_break:
	out_buffer[j++] = 0;
	argv[argc] = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl $0x800, -0xc(%rbp)      # imm = 0x800
movl $0x0, 0xa0b1(%rip)      # 0x102c0
movl $0x0, -0x14(%rbp)
callq 0x41d0
movq (%rax), %rax
movl -0x4(%rbp), %ecx
movl %ecx, %edx
leaq 0xa0d6(%rip), %rcx      # 0x10300
movzbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x624a
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x6216
movl -0x4(%rbp), %eax
movl %eax, %ecx
leaq 0xa0aa(%rip), %rax      # 0x10300
movb (%rax,%rcx), %al
movb %al, -0xd(%rbp)
movzbl -0xd(%rbp), %eax
cmpl $0x0, %eax
jne 0x626a
jmp 0x668e
movzbl -0xd(%rbp), %eax
cmpl $0x22, %eax
jne 0x6283
movl $0x1, -0x14(%rbp)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
cmpl $0x9, 0xa036(%rip)      # 0x102c0
jne 0x62a7
movslq 0xa02d(%rip), %rcx      # 0x102c0
leaq 0xb086(%rip), %rax      # 0x11320
movq $0x0, (%rax,%rcx,8)
jmp 0x66be
movl -0xc(%rbp), %eax
leaq 0xa04f(%rip), %rdx      # 0x10300
addq %rax, %rdx
movl 0xa006(%rip), %eax      # 0x102c0
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x9ffb(%rip)      # 0x102c0
movslq %eax, %rcx
leaq 0xb051(%rip), %rax      # 0x11320
movq %rdx, (%rax,%rcx,8)
movl -0x4(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x4(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0xa017(%rip), %rax      # 0x10300
movb (%rax,%rcx), %al
movb %al, -0xd(%rbp)
movzbl -0xd(%rbp), %eax
cmpl $0x0, %eax
jne 0x62fd
jmp 0x668e
movzbl -0xd(%rbp), %eax
cmpl $0x81, %eax
jne 0x630a
jmp 0x62d3
cmpl $0x0, -0x14(%rbp)
je 0x6358
movzbl -0xd(%rbp), %eax
cmpl $0x22, %eax
jne 0x6358
movl -0x4(%rbp), %eax
movl %eax, %ecx
leaq 0x9fdb(%rip), %rax      # 0x10300
movzbl (%rax,%rcx), %eax
cmpl $0x22, %eax
jne 0x6353
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9fbc(%rip), %rax      # 0x10300
movb $0x22, (%rax,%rcx)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x62d3
jmp 0x666f
cmpl $0x0, -0x14(%rbp)
jne 0x6380
callq 0x41d0
movq (%rax), %rax
movzbl -0xd(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x6380
jmp 0x666f
movzbl -0xd(%rbp), %eax
movzbl 0x7fb3(%rip), %ecx      # 0xe33e
cmpl %ecx, %eax
je 0x63b0
movb -0xd(%rbp), %dl
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9f58(%rip), %rax      # 0x10300
movb %dl, (%rax,%rcx)
jmp 0x62d3
movl -0x4(%rbp), %eax
movl %eax, %ecx
incl %ecx
movl %ecx, -0x4(%rbp)
leaq 0x9f3f(%rip), %rcx      # 0x10300
movb (%rax,%rcx), %al
movb %al, -0xd(%rbp)
movzbl -0xd(%rbp), %eax
movq %rax, -0x48(%rbp)
subq $0x7e, %rax
ja 0x664e
movq -0x48(%rbp), %rax
leaq 0x52c4(%rip), %rcx      # 0xb6a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x668e
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9ef8(%rip), %rax      # 0x10300
movb $-0x7e, (%rax,%rcx)
jmp 0x666a
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9ed9(%rip), %rax      # 0x10300
movb $-0x78, (%rax,%rcx)
jmp 0x666a
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9eba(%rip), %rax      # 0x10300
movb $-0x80, (%rax,%rcx)
jmp 0x666a
movb 0x7ee9(%rip), %dl       # 0xe33e
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9e95(%rip), %rax      # 0x10300
movb %dl, (%rax,%rcx)
jmp 0x666a
jmp 0x668e
jmp 0x668e
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9e6d(%rip), %rax      # 0x10300
movb $0x9, (%rax,%rcx)
jmp 0x666a
jmp 0x666a
movl $0x0, -0x18(%rbp)
leaq -0x4(%rbp), %rdi
movl $0x28, %esi
callq 0x4640
cmpl $0x0, %eax
jge 0x64c0
jmp 0x668e
cmpl $0x14, -0x8(%rbp)
jge 0x64d9
movl $0x1, %edi
xorl %esi, %esi
leaq 0x575d(%rip), %rdx      # 0xbc31
callq 0x49a0
leaq 0xae20(%rip), %rdi      # 0x11300
callq 0x8820
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x18(%rbp)
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0xd(%rbp)
cmpb $0x0, %al
je 0x6522
movb -0xd(%rbp), %dl
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9de3(%rip), %rax      # 0x10300
movb %dl, (%rax,%rcx)
jmp 0x64e9
movl -0x18(%rbp), %ecx
movl -0x8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x8(%rbp)
jmp 0x666a
movl $0x0, -0x24(%rbp)
leaq -0x4(%rbp), %rdi
xorl %esi, %esi
callq 0x4640
cmpl $0x0, %eax
jge 0x654e
jmp 0x668e
cmpl $0x14, -0x8(%rbp)
jge 0x6567
movl $0x1, %edi
xorl %esi, %esi
leaq 0x56cf(%rip), %rdx      # 0xbc31
callq 0x49a0
leaq 0xad92(%rip), %rdi      # 0x11300
callq 0x88f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x24(%rbp)
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0xd(%rbp)
cmpb $0x0, %al
je 0x65b0
movb -0xd(%rbp), %dl
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9d55(%rip), %rax      # 0x10300
movb %dl, (%rax,%rcx)
jmp 0x6577
movl -0x24(%rbp), %ecx
movl -0x8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x8(%rbp)
jmp 0x666a
movl $0x0, -0x34(%rbp)
leaq -0x4(%rbp), %rdi
movl $0x5b, %esi
callq 0x4640
cmpl $0x0, %eax
jge 0x65df
jmp 0x668e
cmpl $0x14, -0x8(%rbp)
jge 0x65f8
movl $0x1, %edi
xorl %esi, %esi
leaq 0x563e(%rip), %rdx      # 0xbc31
callq 0x49a0
leaq 0xad01(%rip), %rdi      # 0x11300
callq 0x8820
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movl -0x34(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x34(%rbp)
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0xd(%rbp)
cmpb $0x0, %al
je 0x6641
movb -0xd(%rbp), %dl
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9cc4(%rip), %rax      # 0x10300
movb %dl, (%rax,%rcx)
jmp 0x6608
movl -0x34(%rbp), %ecx
movl -0x8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x8(%rbp)
jmp 0x666a
movb -0xd(%rbp), %dl
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9c99(%rip), %rax      # 0x10300
movb %dl, (%rax,%rcx)
jmp 0x62d3
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9c7b(%rip), %rax      # 0x10300
movb $0x0, (%rax,%rcx)
jmp 0x620f
movl -0xc(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xc(%rbp)
movl %eax, %eax
movl %eax, %ecx
leaq 0x9c5c(%rip), %rax      # 0x10300
movb $0x0, (%rax,%rcx)
movslq 0x9c11(%rip), %rcx      # 0x102c0
leaq 0xac6a(%rip), %rax      # 0x11320
movq $0x0, (%rax,%rcx,8)
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)