// File: /workspace/github_c_makefile_star2_O0/pahihu[P]mixal/parse.c
// Function: advance_S
static void advance_S(void)
{
    token = number;
    token_value = zero;

    if (the_string[0] == '\0') {
        token = eos;
	return;
    } else if (the_string[0] == '"') {      /* a quoted string */
	token = number;
	token_value = zero;
	++the_string;
	{
	    const char *end = strchr(the_string, '"');
	    if (!end) {
		error("Missing '\"'");
		the_string += strlen (the_string);
	    } else {
		unsigned length = end - the_string;
		if (5 < length) {
		    warn("String doesn't fit in a machine word");
		    length = 5;
		}
		{
		    unsigned i;
		    for (i = 0; i < length; ++i)
			token_value =
			  set_byte(C_char_to_mix(the_string[i]), i+1, token_value);
		}
	    }
	    the_string = end + 1;
	}
    } else {    /* read max. 5 chars */
        unsigned i;
        for (i = 0; i < 5; i++) {
            if (the_string[0] == '\0') {
                token = eos;
                break;
            }
	    token_value = set_byte(C_char_to_mix(the_string[0]), i+1, token_value);
            the_string++;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb $0x30, 0xb731(%rip)     # 0x13d30
movq $0x0, 0xb72e(%rip) # 0x13d38
movq 0xb717(%rip), %rax      # 0x13d28
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x8625
movb $0x7a, 0xb710(%rip)     # 0x13d30
jmp 0x879d
movq 0xb6fc(%rip), %rax      # 0x13d28
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0x872d
movb $0x30, 0xb6f1(%rip)     # 0x13d30
movq $0x0, 0xb6ee(%rip) # 0x13d38
movq 0xb6d7(%rip), %rax      # 0x13d28
addq $0x1, %rax
movq %rax, 0xb6cc(%rip)      # 0x13d28
movq 0xb6c5(%rip), %rdi      # 0x13d28
movl $0x22, %esi
callq 0x30e0
movq %rax, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x86a2
leaq 0x46f5(%rip), %rdi      # 0xcd74
movb $0x0, %al
callq 0x74b0
movq 0xb69b(%rip), %rdi      # 0x13d28
callq 0x30d0
addq 0xb68f(%rip), %rax      # 0x13d28
movq %rax, 0xb688(%rip)      # 0x13d28
jmp 0x871c
movq -0x8(%rbp), %rax
movq 0xb67b(%rip), %rcx      # 0x13d28
subq %rcx, %rax
movl %eax, -0xc(%rbp)
movl $0x5, %eax
cmpl -0xc(%rbp), %eax
jae 0x86d2
leaq 0x46bc(%rip), %rdi      # 0xcd80
movb $0x0, %al
callq 0x7590
movl $0x5, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0xc(%rbp), %eax
jae 0x871a
movq 0xb640(%rip), %rax      # 0x13d28
movl -0x10(%rbp), %ecx
movsbl (%rax,%rcx), %edi
callq 0x4a20
movl %eax, %edi
movl -0x10(%rbp), %esi
addl $0x1, %esi
movq 0xb635(%rip), %rdx      # 0x13d38
callq 0x3730
movq %rax, 0xb629(%rip)      # 0x13d38
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x86d9
jmp 0x871c
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, 0xb5fd(%rip)      # 0x13d28
jmp 0x879b
movl $0x0, -0x14(%rbp)
cmpl $0x5, -0x14(%rbp)
jae 0x8799
movq 0xb5e7(%rip), %rax      # 0x13d28
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x8752
movb $0x7a, 0xb5e0(%rip)     # 0x13d30
jmp 0x8799
movq 0xb5cf(%rip), %rax      # 0x13d28
movsbl (%rax), %edi
callq 0x4a20
movl %eax, %edi
movl -0x14(%rbp), %esi
addl $0x1, %esi
movq 0xb5c8(%rip), %rdx      # 0x13d38
callq 0x3730
movq %rax, 0xb5bc(%rip)      # 0x13d38
movq 0xb5a5(%rip), %rax      # 0x13d28
addq $0x1, %rax
movq %rax, 0xb59a(%rip)      # 0x13d28
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x8734
jmp 0x879b
jmp 0x879d
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)