LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/vi[P]simple_cbor_stream_parse/cbor_to_jsonesque.c
// Function: main
int main(int argc, char* argv[]) {
    if (argc != 2) {
        printf("Usage: cbor_to_jsonesque {filename|-}\n");
        return 1;
    }
    int f;
    if (argv[1][0] == '-' && argv[1][1] == '\0') {
        f = 0;
    } else {
        f = open(argv[1], O_RDONLY);
        if (f == -1) {
            perror("open");
            return 2;
        }
    }
    
    just_opened = 0;
    
    if ( -1 == scsp_parse_from_fd(f, &q_callbacks, NULL) ) {
        fprintf(stderr, "Error reading CBOR\n");
        return 4;
    }
    
    printf("\n");
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x2, -0x8(%rbp)
je 0x1606
leaq 0x1abd(%rip), %rdi      # 0x30b0
movb $0x0, %al
callq 0x1050
movl $0x1, -0x4(%rbp)
jmp 0x16c3
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x1630
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x1630
movl $0x0, -0x14(%rbp)
jmp 0x1661
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
movb $0x0, %al
callq 0x1090
movl %eax, -0x14(%rbp)
cmpl $-0x1, -0x14(%rbp)
jne 0x165f
leaq 0x1a86(%rip), %rdi      # 0x30d7
callq 0x10a0
movl $0x2, -0x4(%rbp)
jmp 0x16c3
jmp 0x1661
movl $0x0, 0x3aa1(%rip)      # 0x510c
movl -0x14(%rbp), %edi
leaq 0x3a03(%rip), %rsi      # 0x5078
xorl %eax, %eax
movl %eax, %edx
callq 0x2bc0
movq %rax, %rcx
movq $-0x1, %rax
cmpq %rcx, %rax
jne 0x16ae
movq 0x3964(%rip), %rax      # 0x4ff8
movq (%rax), %rdi
leaq 0x1a3e(%rip), %rsi      # 0x30dc
movb $0x0, %al
callq 0x1070
movl $0x4, -0x4(%rbp)
jmp 0x16c3
leaq 0x1a39(%rip), %rdi      # 0x30ee
movb $0x0, %al
callq 0x1050
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_1/exercise_1_03/fahrenheit_celsius.c
// Function: main
int main(void)
{
  float fahr, celsius;
  int lower, upper, step;

  lower = 0;
  upper = 300;
  step = 20;

  // Printing a heading above the table
  printf("Fahr\tCelsius\n");
  printf("---------------\n");

  fahr = lower;
  while (fahr <= upper)
  {
    celsius = (5.0 / 9.0) * (fahr - 32.0);
    printf("%3.0f\t\t%6.1f\n", fahr, celsius);
    fahr = fahr + step;
  }

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl $0x0, -0x10(%rbp)
movl $0x12c, -0x14(%rbp)     # imm = 0x12C
movl $0x14, -0x18(%rbp)
leaq 0xead(%rip), %rdi       # 0x2018
movb $0x0, %al
callq 0x1030
leaq 0xead(%rip), %rdi       # 0x2026
movb $0x0, %al
callq 0x1030
cvtsi2ssl -0x10(%rbp), %xmm0
movss %xmm0, -0x8(%rbp)
movss -0x8(%rbp), %xmm1
cvtsi2ssl -0x14(%rbp), %xmm0
ucomiss %xmm1, %xmm0
jb 0x11f8
movss -0x8(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0xe66(%rip), %xmm0      # 0x2010
subsd %xmm0, %xmm1
movsd 0xe52(%rip), %xmm0      # 0x2008
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0xc(%rbp)
movss -0x8(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movss -0xc(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
leaq 0xe5b(%rip), %rdi       # 0x2037
movb $0x2, %al
callq 0x1030
movss -0x8(%rbp), %xmm0
cvtsi2ssl -0x18(%rbp), %xmm1
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x118a
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: depositreg
void
depositreg(int a, Word w)
{
	switch(a){
	case REG_PC: pdp1.pc = w & ADDRMASK; break;
	case REG_AC: pdp1.ac = w & WORDMASK; break;
	case REG_IO: pdp1.io = w & WORDMASK; break;
	case REG_SS: pdp1.ss = w & 077; break;
	case REG_PF: pdp1.pf = w & 077; break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x10(%rbp)
subq $0x4, %rax
ja 0x4a25
movq -0x10(%rbp), %rax
leaq 0x294a(%rip), %rcx      # 0x731c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x8(%rbp), %eax
andl $0xfff, %eax            # imm = 0xFFF
movl %eax, 0xabc7(%rip)      # 0xf5b0
jmp 0x4a25
movl -0x8(%rbp), %eax
andl $0x3ffff, %eax          # imm = 0x3FFFF
movl %eax, 0xaba7(%rip)      # 0xf5a0
jmp 0x4a25
movl -0x8(%rbp), %eax
andl $0x3ffff, %eax          # imm = 0x3FFFF
movl %eax, 0xab9b(%rip)      # 0xf5a4
jmp 0x4a25
movl -0x8(%rbp), %eax
andl $0x3f, %eax
movl %eax, 0xebf9(%rip)      # 0x13610
jmp 0x4a25
movl -0x8(%rbp), %eax
andl $0x3f, %eax
movl %eax, 0xebef(%rip)      # 0x13614
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: examinereg
Word
examinereg(int a)
{
	switch(a){
	case REG_PC: return pdp1.pc;
	case REG_AC: return pdp1.ac;
	case REG_IO: return pdp1.io;
	case REG_SS: return pdp1.ss;
	case REG_PF: return pdp1.pf;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
movq %rax, -0x10(%rbp)
subq $0x4, %rax
ja 0x4a8f
movq -0x10(%rbp), %rax
leaq 0x28e1(%rip), %rcx      # 0x7330
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0xab52(%rip), %eax      # 0xf5b0
movl %eax, -0x4(%rbp)
jmp 0x4a96
movl 0xab37(%rip), %eax      # 0xf5a0
movl %eax, -0x4(%rbp)
jmp 0x4a96
movl 0xab30(%rip), %eax      # 0xf5a4
movl %eax, -0x4(%rbp)
jmp 0x4a96
movl 0xeb91(%rip), %eax      # 0x13610
movl %eax, -0x4(%rbp)
jmp 0x4a96
movl 0xeb8a(%rip), %eax      # 0x13614
movl %eax, -0x4(%rbp)
jmp 0x4a96
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: handlemsg
void
handlemsg(PDP1 *pdp, Msg msg)
{
	switch(msg.cmd){
	case CMD_NONE:
		break;
	case CMD_SET_PC:
		pdp->pc = msg.arg & ADDRMASK;
		break;
	case CMD_STEP:
		pdp->single_inst_sw = 0;
		pdp->single_cyc_sw = 1;
		pdp->continue_sw = 1;
		spec(pdp);
		break;
	case CMD_STEP_INST:
		pdp->single_inst_sw = 1;
		pdp->single_cyc_sw = 0;
		pdp->continue_sw = 1;
		spec(pdp);
		break;
	case CMD_RUN:
		pdp->ta = pdp->pc;	// a bit dumb
		pdp->single_inst_sw = 0;
		pdp->single_cyc_sw = 0;
		pdp->start_sw = 1;
		spec(pdp);
		break;
	case CMD_CONT:
		pdp->single_inst_sw = 0;
		pdp->single_cyc_sw = 0;
		pdp->continue_sw = 1;
		spec(pdp);
		break;
	case CMD_STOP:
		pdp->run_enable = 0;
		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rsi, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movl -0x8(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x6, %rax
ja 0x5448
movq -0x18(%rbp), %rax
leaq 0x2114(%rip), %rcx      # 0x7440
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x5448
movl -0x4(%rbp), %ecx
andl $0xfff, %ecx            # imm = 0xFFF
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0x5448
movq -0x10(%rbp), %rax
movl $0x0, 0x407c(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x4078(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x4028(%rax)
movq -0x10(%rbp), %rdi
callq 0x5450
jmp 0x5448
movq -0x10(%rbp), %rax
movl $0x1, 0x407c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x4078(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x4028(%rax)
movq -0x10(%rbp), %rdi
callq 0x5450
jmp 0x5448
movq -0x10(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4018(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x407c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x4078(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x4020(%rax)
movq -0x10(%rbp), %rdi
callq 0x5450
jmp 0x5448
movq -0x10(%rbp), %rax
movl $0x0, 0x407c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x4078(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0x4028(%rax)
movq -0x10(%rbp), %rdi
callq 0x5450
jmp 0x5448
movq -0x10(%rbp), %rax
movl $0x0, 0x4038(%rax)
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: simthread
void*
simthread(void *arg)
{
	PDP1 *pdp = (PDP1*)arg;
	Msg msg;
	for(;;){
		switch(channbrecv(cmdchan, &msg)){
		case -1:	// channel closed
			return nil;
		case 0: break;  // nothing
		case 1:
			handlemsg(pdp, msg);
			break;
		}

		// a cycle takes 5μs
		if(pdp->run) {
			!pdp->cyc ? cycle0(pdp) :
			pdp->df1 ? defer(pdp)
				: cycle1(pdp);
//printf("%s %s  hack/%d\n", pdp->cyc ? "cyc" : "   ", pdp->df1 ? "df1" : "   ", pdp->cychack);
		}
//		handleio(pdp);
	}
	return nil;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0xdffd(%rip), %rdi      # 0x13698
leaq -0x18(%rbp), %rsi
callq 0x48a0
movl %eax, %ecx
movl %ecx, -0x1c(%rbp)
subl $-0x1, %eax
je 0x56c3
jmp 0x56b0
movl -0x1c(%rbp), %eax
testl %eax, %eax
je 0x56cb
jmp 0x56b9
movl -0x1c(%rbp), %eax
subl $0x1, %eax
je 0x56cd
jmp 0x56da
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
jmp 0x56da
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5300
movq -0x10(%rbp), %rax
cmpl $0x0, 0x4034(%rax)
je 0x5724
movq -0x10(%rbp), %rax
cmpl $0x0, 0x403c(%rax)
jne 0x56ff
movq -0x10(%rbp), %rdi
callq 0x5730
jmp 0x5722
movq -0x10(%rbp), %rax
cmpl $0x0, 0x4040(%rax)
je 0x5717
movq -0x10(%rbp), %rdi
callq 0x5fb0
jmp 0x5720
movq -0x10(%rbp), %rdi
callq 0x61a0
jmp 0x5722
jmp 0x5724
jmp 0x5694
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: defer
static void
defer(PDP1 *pdp)
{
	// TP0
	MA |= MB & ADDRMASK;

	// TP3
	MB = 0;

	// TP4
	MB |= pdp->core[MA];
	pdp->core[MA] = 0;

	if(MB & B5) {
		// TP6
		pdp->df2 = 1;
	} else {
		// TP7
		if(IR_JSP) AC = 0;

		// TP8
		if(IR_JSP) AC |= PC, PC = 0;
		if(IR_JMP) PC = 0;

		// TP9
		if(IR_JSP || IR_JMP) PC |= MB & ADDRMASK;
	}
	pdp->core[MA] = MB;	// approximate
	if(IR_INCORR ||
	   pdp->single_cyc_sw ||
	   pdp->single_inst_sw && !pdp->df2 && pdp->ir >= 030 ||
	   !pdp->run_enable)
		pdp->run = 0;

	// TP10
	if(pdp->run) MA = 0;
	if(!pdp->df2) {
		pdp->df1 = 0;
		if(pdp->ir >= 030) pdp->cyc = 0;
	}
	pdp->df2 = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $0xfff, %ecx            # imm = 0xFFF
movq -0x8(%rbp), %rax
orl 0xc(%rax), %ecx
movl %ecx, 0xc(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0xc(%rcx), %ecx
movl 0x18(%rax,%rcx,4), %ecx
movq -0x8(%rbp), %rax
orl 0x8(%rax), %ecx
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0xc(%rcx), %ecx
movl $0x0, 0x18(%rax,%rcx,4)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x6027
movq -0x8(%rbp), %rax
movl $0x1, 0x4044(%rax)
jmp 0x60a1
movq -0x8(%rbp), %rax
cmpl $0x19, 0x14(%rax)
jne 0x603b
movq -0x8(%rbp), %rax
movl $0x0, (%rax)
movq -0x8(%rbp), %rax
cmpl $0x19, 0x14(%rax)
jne 0x605f
movq -0x8(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x8(%rbp), %rax
orl (%rax), %ecx
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
cmpl $0x18, 0x14(%rax)
jne 0x6074
movq -0x8(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
cmpl $0x19, 0x14(%rax)
je 0x6088
movq -0x8(%rbp), %rax
cmpl $0x18, 0x14(%rax)
jne 0x609f
movq -0x8(%rbp), %rax
movl 0x8(%rax), %ecx
andl $0xfff, %ecx            # imm = 0xFFF
movq -0x8(%rbp), %rax
orl 0x10(%rax), %ecx
movl %ecx, 0x10(%rax)
jmp 0x60a1
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edx
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
movl 0xc(%rcx), %ecx
movl %edx, 0x18(%rax,%rcx,4)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x14(%rax)
je 0x6127
movq -0x8(%rbp), %rax
cmpl $0x5, 0x14(%rax)
je 0x6127
movq -0x8(%rbp), %rax
cmpl $0x6, 0x14(%rax)
je 0x6127
movq -0x8(%rbp), %rax
cmpl $0xf, 0x14(%rax)
je 0x6127
movq -0x8(%rbp), %rax
cmpl $0x1e, 0x14(%rax)
je 0x6127
movq -0x8(%rbp), %rax
cmpl $0x0, 0x4078(%rax)
jne 0x6127
movq -0x8(%rbp), %rax
cmpl $0x0, 0x407c(%rax)
je 0x611a
movq -0x8(%rbp), %rax
cmpl $0x0, 0x4044(%rax)
jne 0x611a
movq -0x8(%rbp), %rax
cmpl $0x18, 0x14(%rax)
jae 0x6127
movq -0x8(%rbp), %rax
cmpl $0x0, 0x4038(%rax)
jne 0x6135
movq -0x8(%rbp), %rax
movl $0x0, 0x4034(%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x4034(%rax)
je 0x614d
movq -0x8(%rbp), %rax
movl $0x0, 0xc(%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x4044(%rax)
jne 0x6182
movq -0x8(%rbp), %rax
movl $0x0, 0x4040(%rax)
movq -0x8(%rbp), %rax
cmpl $0x18, 0x14(%rax)
jb 0x6180
movq -0x8(%rbp), %rax
movl $0x0, 0x403c(%rax)
jmp 0x6182
movq -0x8(%rbp), %rax
movl $0x0, 0x4044(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: cpu_nextinst
void
cpu_nextinst(void)
{
	Msg msg;
	msg.cmd = CMD_STEP_INST;
	chansend(cmdchan, &msg);
	dly();
	while(pdp1.run)
		dly();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x3, -0x8(%rbp)
movq 0xcc82(%rip), %rdi      # 0x13698
leaq -0x8(%rbp), %rsi
callq 0x44f0
callq 0x6a40
cmpl $0x0, 0xcba9(%rip)      # 0x135d4
je 0x6a34
callq 0x6a40
jmp 0x6a24
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: initmach
void
initmach(void)
{
	memset(&pdp1, 0, sizeof(pdp1));
	pdp1.ioc = 1;

	int i = 0100;
	pdp1.core[i++] = 0760400;

	cmdchan = chancreate(sizeof(Msg), 1);
	threadcreate(simthread, &pdp1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x8aa1(%rip), %rdi      # 0xf5a0
xorl %esi, %esi
movl $0x4084, %edx           # imm = 0x4084
callq 0x2120
movl $0x1, 0xcaeb(%rip)      # 0x13600
movl $0x40, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x4(%rbp)
movslq %eax, %rcx
leaq 0x8a6f(%rip), %rax      # 0xf5a0
movl $0x3e100, 0x18(%rax,%rcx,4) # imm = 0x3E100
movl $0x8, %edi
movl $0x1, %esi
callq 0x43c0
movq %rax, 0xcb49(%rip)      # 0x13698
leaq -0x14d6(%rip), %rdi     # 0x5680
leaq 0x8a43(%rip), %rsi      # 0xf5a0
callq 0x40d0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: sc
static void
sc(PDP1 *pdp)
{
	pdp->df1 = 0;
	pdp->df2 = 0;
	pdp->ov1 = 0;
	pdp->ov2 = 0;
	pdp->ihs = 0;
	pdp->ios = 0;
	pdp->ioh = 0;
	pdp->ir = 0;
	pdp->pc = 0;
	pdp->ioc = 1;
	pdp->sbm = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl $0x0, 0x4040(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4044(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4050(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4054(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4064(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4068(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x406c(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x14(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x4060(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x405c(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/aap[P]rx-0/pdp1/mach.c
// Function: decflg
static int
decflg(int n)
{
	switch(n&7) {
	case 1: return 040;
	case 2: return 020;
	case 3: return 010;
	case 4: return 004;
	case 5: return 002;
	case 6: return 001;
	case 7: return 077;
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
andl $0x7, %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x6, %eax
ja 0x6f2d
movq -0x10(%rbp), %rax
leaq 0x5b3(%rip), %rcx       # 0x7498
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x20, -0x4(%rbp)
jmp 0x6f34
movl $0x10, -0x4(%rbp)
jmp 0x6f34
movl $0x8, -0x4(%rbp)
jmp 0x6f34
movl $0x4, -0x4(%rbp)
jmp 0x6f34
movl $0x2, -0x4(%rbp)
jmp 0x6f34
movl $0x1, -0x4(%rbp)
jmp 0x6f34
movl $0x3f, -0x4(%rbp)
jmp 0x6f34
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: genCodeV
int genCodeV(OpCode op, int v) { /* 命令語の生成、アドレス部にv         */
    checkMax();
    code[cIndex].opCode = op;
    code[cIndex].u.value = v;
    return cIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
callq 0x3ee0
movl -0x4(%rbp), %ecx
movslq 0x6e43(%rip), %rdx      # 0x90c0
leaq 0x705c(%rip), %rax      # 0x92e0
imulq $0xc, %rdx, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movl -0x8(%rbp), %ecx
movslq 0x6e29(%rip), %rdx      # 0x90c0
leaq 0x7042(%rip), %rax      # 0x92e0
imulq $0xc, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x4(%rax)
movl 0x6e12(%rip), %eax      # 0x90c0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: genCodeT
int genCodeT(OpCode op, int ti) { /* 命令語の生成、アドレスは名前表から */
    checkMax();
    code[cIndex].opCode = op;
    code[cIndex].u.addr = relAddr(ti);
    return cIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
callq 0x3ee0
movl -0x4(%rbp), %ecx
movslq 0x6de3(%rip), %rdx      # 0x90c0
leaq 0x6ffc(%rip), %rax      # 0x92e0
imulq $0xc, %rdx, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movslq 0x6dcc(%rip), %rcx      # 0x90c0
leaq 0x6fe5(%rip), %rax      # 0x92e0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x8(%rbp), %edi
callq 0x4410
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, -0x10(%rbp)
movq -0x10(%rbp), %rcx
movq %rcx, 0x4(%rax)
movl 0x6d99(%rip), %eax      # 0x90c0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: genCodeO
int genCodeO(Operator p) {      /* 命令語の生成、アドレス部に演算命令    */
    checkMax();
    code[cIndex].opCode = opr;
    code[cIndex].u.optr = p;
    return cIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
callq 0x3ee0
movslq 0x6d79(%rip), %rcx      # 0x90c0
leaq 0x6f92(%rip), %rax      # 0x92e0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl $0x1, (%rax)
movl -0x4(%rbp), %ecx
movslq 0x6d5b(%rip), %rdx      # 0x90c0
leaq 0x6f74(%rip), %rax      # 0x92e0
imulq $0xc, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x4(%rax)
movl 0x6d44(%rip), %eax      # 0x90c0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: genCodeR
int genCodeR() {                /* ret命令語の生成                      */
    if (code[cIndex].opCode == ret)
        return cIndex;          /* 直前がretなら生成せず                */
    checkMax();
    code[cIndex].opCode = ret;
    code[cIndex].u.addr.level = bLevel();
    code[cIndex].u.addr.addr = fPars(); /* パラメタ数（実行スタックの解放用） */
    return cIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movslq 0x6d21(%rip), %rcx      # 0x90c0
leaq 0x6f3a(%rip), %rax      # 0x92e0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
cmpl $0x5, (%rax)
jne 0x23bd
movl 0x6d08(%rip), %eax      # 0x90c0
movl %eax, -0x4(%rbp)
jmp 0x2428
callq 0x3ee0
movslq 0x6cf7(%rip), %rcx      # 0x90c0
leaq 0x6f10(%rip), %rax      # 0x92e0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl $0x5, (%rax)
movb $0x0, %al
callq 0x4000
movl %eax, %ecx
movslq 0x6cd3(%rip), %rdx      # 0x90c0
leaq 0x6eec(%rip), %rax      # 0x92e0
imulq $0xc, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x4(%rax)
movb $0x0, %al
callq 0x4010
movl %eax, %ecx
movslq 0x6cb2(%rip), %rdx      # 0x90c0
leaq 0x6ecb(%rip), %rax      # 0x92e0
imulq $0xc, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x8(%rax)
movl 0x6c9b(%rip), %eax      # 0x90c0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: listCode
void listCode(FILE *fp, int showLineNumber) { /* 命令語のリスティング */
    int i;
    if (fp == NULL) {
      fp = stdin;
      fprintf(stdout, "\ncode\n");
    }
    for (i = 0; i <= cIndex; i++) {
        if (showLineNumber) fprintf(fp, "%3d: ", i);
        printCode(fp, i, '\n');
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x24ac
movq 0x6b3b(%rip), %rax      # 0x8fc8
movq (%rax), %rax
movq %rax, -0x8(%rbp)
movq 0x6b25(%rip), %rax      # 0x8fc0
movq (%rax), %rdi
leaq 0x3c7f(%rip), %rsi      # 0x6124
movb $0x0, %al
callq 0x20d0
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x6c04(%rip), %eax      # 0x90c0
jg 0x24f5
cmpl $0x0, -0xc(%rbp)
je 0x24d9
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %edx
leaq 0x3c59(%rip), %rsi      # 0x612b
movb $0x0, %al
callq 0x20d0
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
movl $0xa, %edx
callq 0x2500
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x24b3
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: initMemory
void initMemory(Mem *m, const int *secretValue) { /* 目的コード（命令語）の実行メモリの初期化 */
    int i;
    m->top = m->pc = 0;             /* top:次にスタックに入れる場所、pc:命令語のカウンタ */
    m->stack[0] = m->stack[1] = 0;  /* stack[top]はcalleeで壊すディスプレイの退避場所 */
                                    /* stack[top+1]はcallerへの戻り番地 */
    m->topMax = 1;
    for (i = 2; i < MAXMEM; i++) m->stack[i] = -1;
    m->display[0] = 0;              /* 主ブロックの先頭番地は 0 */
    for (i = 1; i < MAXLEVEL; i++) m->display[i] = -1;
    m->exitCode = 0;                /* 未終了状態 */
    m->stepCount = 0;               /* 初期ステップ数は 0 */
    for (i = 0;i < MAXSCREEN; i++) m->screen[i] = '\0';
    m->breakPoint = -1;             /* ブレークポイントは未設定 */
    if (secretValue) { /* シークレットモード */
      m->stack[2] = *secretValue; /* 第3セルに値を格納 */
      m->topMax = 2;
      m->secretMode = 1;
      m->secretValue = *secretValue;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl $0x0, 0x1f54(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x1f58(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x4(%rax)
movq -0x8(%rbp), %rax
movl $0x0, (%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x1f5c(%rax)
movl $0x2, -0x14(%rbp)
cmpl $0x7d0, -0x14(%rbp)     # imm = 0x7D0
jge 0x2d35
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2d12
movq -0x8(%rbp), %rax
movl $0x0, 0x1f40(%rax)
movl $0x1, -0x14(%rbp)
cmpl $0x5, -0x14(%rbp)
jge 0x2d6e
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movl $0xffffffff, 0x1f40(%rax,%rcx,4) # imm = 0xFFFFFFFF
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2d4a
movq -0x8(%rbp), %rax
movl $0x0, 0x1f60(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x1f64(%rax)
movl $0x0, -0x14(%rbp)
cmpl $0x200, -0x14(%rbp)     # imm = 0x200
jge 0x2db5
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb $0x0, 0x1f68(%rax,%rcx)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2d91
movq -0x8(%rbp), %rax
movl $0xffffffff, 0x2168(%rax) # imm = 0xFFFFFFFF
cmpq $0x0, -0x10(%rbp)
je 0x2e03
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl $0x2, 0x1f5c(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x216c(%rax)
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2170(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: stepBackward
void stepBackward(Mem *m) {     /* 目的コード（命令語）の1ステップ後退 */
  const int stepCount = m->stepCount;
  const int secretMode = m->secretMode, secretValue = m->secretValue;
  if (stepCount == 0) return; /* これ以上後退できない */
  initMemory(m, (secretMode ? &secretValue : NULL));
  while (m->stepCount != stepCount-1) stepForward(m); /* 1つ前のステップまで前進 */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x1f64(%rax), %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movl 0x216c(%rax), %eax
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x2170(%rax), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0xc(%rbp)
jne 0x378b
jmp 0x37d7
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x10(%rbp)
je 0x37a3
leaq -0x14(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x37ab
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x37ab
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x2cc0
movq -0x8(%rbp), %rax
movl 0x1f64(%rax), %eax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x37d7
movq -0x8(%rbp), %rdi
callq 0x3130
jmp 0x37b8
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/codegen.c
// Function: checkMax
void checkMax() {               /* 目的コードのインデックスの増加とチェック */
    if (++cIndex < MAXCODE)
        return;
    errorF("too many code");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl 0x51d6(%rip), %eax      # 0x90c0
addl $0x1, %eax
movl %eax, 0x51cd(%rip)      # 0x90c0
cmpl $0xc8, %eax
jge 0x3efc
jmp 0x3f08
leaq 0x2364(%rip), %rdi      # 0x6267
callq 0x48b0
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: blockBegin
void blockBegin(int firstAddr) { /* ブロックの始まり(最初の変数の番地)で呼ばれる */
    if (level == -1) {          /* 主ブロックの時、初期設定             */
        localAddr = firstAddr;
        tIndex = 0;
        level++;
        return;
    }
    if (level == MAXLEVEL-1)
        errorF("too many nested blocks");
    lIndex[level] = tIndex;     /* 今までのブロックの情報を格納         */
    addr[level] = localAddr;
    localAddr = firstAddr;      /* 新しいブロックの最初の変数の番地     */
    level++;                    /* 新しいブロックのレベル               */
    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
cmpl $-0x1, 0x51a2(%rip)     # 0x90c4
jne 0x3f48
movl -0x4(%rbp), %eax
movl %eax, 0x5d13(%rip)      # 0x9c40
movl $0x0, 0x5d0d(%rip)      # 0x9c44
movl 0x5187(%rip), %eax      # 0x90c4
addl $0x1, %eax
movl %eax, 0x517e(%rip)      # 0x90c4
jmp 0x3fa3
cmpl $0x4, 0x5175(%rip)      # 0x90c4
jne 0x3f5d
leaq 0x2369(%rip), %rdi      # 0x62c1
callq 0x48b0
movl 0x5ce1(%rip), %edx      # 0x9c44
movslq 0x515a(%rip), %rcx      # 0x90c4
leaq 0x5cdf(%rip), %rax      # 0x9c50
movl %edx, (%rax,%rcx,4)
movl 0x5cc6(%rip), %edx      # 0x9c40
movslq 0x5143(%rip), %rcx      # 0x90c4
leaq 0x5ce8(%rip), %rax      # 0x9c70
movl %edx, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
movl %eax, 0x5cac(%rip)      # 0x9c40
movl 0x512a(%rip), %eax      # 0x90c4
addl $0x1, %eax
movl %eax, 0x5121(%rip)      # 0x90c4
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: blockEnd
void blockEnd() {               /* ブロックの終りで呼ばれる             */
    level--;
    tIndex = lIndex[level];     /* 一つ外側のブロックの情報を回復       */
    localAddr = addr[level];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl 0x510a(%rip), %eax      # 0x90c4
addl $-0x1, %eax
movl %eax, 0x5101(%rip)      # 0x90c4
movslq 0x50fa(%rip), %rcx      # 0x90c4
leaq 0x5c7f(%rip), %rax      # 0x9c50
movl (%rax,%rcx,4), %eax
movl %eax, 0x5c6a(%rip)      # 0x9c44
movslq 0x50e3(%rip), %rcx      # 0x90c4
leaq 0x5c88(%rip), %rax      # 0x9c70
movl (%rax,%rcx,4), %eax
movl %eax, 0x5c4f(%rip)      # 0x9c40
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: enterT
void enterT(char *id) {         /* 名前表に名前を登録                   */
    if (tIndex++ < MAXTABLE) {
        strcpy(nameTable[tIndex].name, id);
    } else 
        errorF("too many names");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl 0x5bf2(%rip), %eax      # 0x9c44
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x5be7(%rip)      # 0x9c44
cmpl $0x64, %eax
jge 0x4086
movslq 0x5bdb(%rip), %rax      # 0x9c44
leaq 0x5c20(%rip), %rdi      # 0x9c90
imulq $0x30, %rax, %rax
addq %rax, %rdi
addq $0x4, %rdi
movq -0x8(%rbp), %rsi
callq 0x2050
jmp 0x4092
leaq 0x224b(%rip), %rdi      # 0x62d8
callq 0x48b0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: enterTfunc
int enterTfunc(char *id, int v) { /* 名前表に関数名と先頭番地を登録     */
    enterT(id);
    nameTable[tIndex].kind = funcId;
    nameTable[tIndex].u.f.raddr.level = level;
    nameTable[tIndex].u.f.raddr.addr = v; /* 関数の先頭番地             */
    nameTable[tIndex].u.f.pars = 0; /* パラメタ数の初期値               */
    tfIndex = tIndex;
    return tIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4040
movslq 0x5b85(%rip), %rcx      # 0x9c44
leaq 0x5bca(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0x1, (%rax)
movl 0x4feb(%rip), %ecx      # 0x90c4
movslq 0x5b64(%rip), %rdx      # 0x9c44
leaq 0x5ba9(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x24(%rax)
movl -0xc(%rbp), %ecx
movslq 0x5b49(%rip), %rdx      # 0x9c44
leaq 0x5b8e(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x28(%rax)
movslq 0x5b31(%rip), %rcx      # 0x9c44
leaq 0x5b76(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0x0, 0x2c(%rax)
movl 0x5b16(%rip), %eax      # 0x9c44
movl %eax, 0x6e1c(%rip)      # 0xaf50
movl 0x5b0a(%rip), %eax      # 0x9c44
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: enterTpar
int enterTpar(char *id) {       /* 名前表にパラメタ名を登録             */
    enterT(id);
    nameTable[tIndex].kind = parId;
    nameTable[tIndex].u.raddr.level = level;
    nameTable[tfIndex].u.f.pars++; /* 関数のパラメタ数のカウント        */
    return tIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4040
movslq 0x5ae8(%rip), %rcx      # 0x9c44
leaq 0x5b2d(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0x2, (%rax)
movl 0x4f4e(%rip), %ecx      # 0x90c4
movslq 0x5ac7(%rip), %rdx      # 0x9c44
leaq 0x5b0c(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x24(%rax)
movslq 0x6dbb(%rip), %rcx      # 0xaf50
leaq 0x5af4(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2c(%rax)
movl 0x5a92(%rip), %eax      # 0x9c44
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: enterTvar
int enterTvar(char *id) {       /* 名前表に変数名を登録                 */
    enterT(id);
    nameTable[tIndex].kind = varId;
    nameTable[tIndex].u.raddr.level = level;
    nameTable[tIndex].u.raddr.addr = localAddr++;
    return tIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4040
movslq 0x5a68(%rip), %rcx      # 0x9c44
leaq 0x5aad(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0x0, (%rax)
movl 0x4ece(%rip), %ecx      # 0x90c4
movslq 0x5a47(%rip), %rdx      # 0x9c44
leaq 0x5a8c(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x24(%rax)
movl 0x5a2c(%rip), %ecx      # 0x9c40
movl %ecx, %eax
addl $0x1, %eax
movl %eax, 0x5a21(%rip)      # 0x9c40
movslq 0x5a1e(%rip), %rdx      # 0x9c44
leaq 0x5a63(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x28(%rax)
movl 0x5a07(%rip), %eax      # 0x9c44
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: enterTconst
int enterTconst(char *id, int v) { /* 名前表に定数名とその値を登録      */
    enterT(id);
    nameTable[tIndex].kind = constId;
    nameTable[tIndex].u.value = v;
    return tIndex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4040
movslq 0x59d5(%rip), %rcx      # 0x9c44
leaq 0x5a1a(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl $0x3, (%rax)
movl -0xc(%rbp), %ecx
movslq 0x59b7(%rip), %rdx      # 0x9c44
leaq 0x59fc(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x24(%rax)
movl 0x59a0(%rip), %eax      # 0x9c44
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: endpar
void endpar() {                 /* パラメタ宣言部の最後で呼ばれる       */
    int i;
    int pars = nameTable[tfIndex].u.f.pars;
    if (pars == 0)  return;
    for (i=1; i <= pars; i++)   /* 各パラメタの番地を求める             */
         nameTable[tfIndex+i].u.raddr.addr = i-1-pars;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movslq 0x6c95(%rip), %rcx      # 0xaf50
leaq 0x59ce(%rip), %rax      # 0x9c90
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movl 0x2c(%rax), %eax
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
jne 0x42d7
jmp 0x4317
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpl -0x8(%rbp), %eax
jg 0x4317
movl -0x4(%rbp), %ecx
subl $0x1, %ecx
subl -0x8(%rbp), %ecx
movl 0x6c5b(%rip), %eax      # 0xaf50
addl -0x4(%rbp), %eax
movslq %eax, %rdx
leaq 0x598e(%rip), %rax      # 0x9c90
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x28(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x42de
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/table.c
// Function: searchT
int searchT(char *id, KindT k) { /* 名前idの名前表の位置を返す          */
                                /* 未宣言の時エラーとする               */
    int i;
    i = tIndex;
    strcpy(nameTable[0].name, id); /* 番兵をたてる                      */
    while ( strcmp(id, nameTable[i].name) )
        i--;
    if (i)                      /* 名前があった                         */
        return i;
    else {                      /* 名前がなかった                       */
        errorType("undef");
        if (k == varId) return enterTvar(id); /* 変数の時は仮登録       */
        return 0;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl 0x58df(%rip), %eax      # 0x9c44
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x5921(%rip), %rdi      # 0x9c94
callq 0x2050
movq -0x10(%rbp), %rdi
movslq -0x18(%rbp), %rax
leaq 0x5909(%rip), %rsi      # 0x9c90
imulq $0x30, %rax, %rax
addq %rax, %rsi
addq $0x4, %rsi
callq 0x20b0
cmpl $0x0, %eax
je 0x43a7
movl -0x18(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x4378
cmpl $0x0, -0x18(%rbp)
je 0x43b5
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x43dc
leaq 0x1f2b(%rip), %rdi      # 0x62e7
callq 0x46c0
cmpl $0x0, -0x14(%rbp)
jne 0x43d5
movq -0x10(%rbp), %rdi
callq 0x41c0
movl %eax, -0x4(%rbp)
jmp 0x43dc
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: openSource
int openSource(char fileName[], int outHtml) { /* ソースファイルのopen */
    char *fileNameO = "g.out.html";
    if ((fpi = fopen(fileName, "r")) == NULL ) {
        printf("can't open %s\n", fileName);
        return 0;
    }
    if (outHtml) {
        if ((fphtml = fopen(fileNameO, "w")) == NULL) { /* .htmlファイルを作る */
            printf("can't open %s\n", fileNameO);
            return 0;
        }
    } else {
        fphtml = fopen("/dev/null", "w"); /* 書き込みを破棄 */
    }
    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
leaq 0x1e9e(%rip), %rax      # 0x6344
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x204c(%rip), %rsi      # 0x6501
callq 0x2110
movq %rax, 0x6a9f(%rip)      # 0xaf60
cmpq $0x0, %rax
jne 0x44e2
movq -0x10(%rbp), %rsi
leaq 0x1e7d(%rip), %rdi      # 0x634f
movb $0x0, %al
callq 0x2080
movl $0x0, -0x4(%rbp)
jmp 0x4543
cmpl $0x0, -0x14(%rbp)
je 0x4522
movq -0x20(%rbp), %rdi
leaq 0x1d5a(%rip), %rsi      # 0x624d
callq 0x2110
movq %rax, 0x6a69(%rip)      # 0xaf68
cmpq $0x0, %rax
jne 0x4520
movq -0x20(%rbp), %rsi
leaq 0x1e3f(%rip), %rdi      # 0x634f
movb $0x0, %al
callq 0x2080
movl $0x0, -0x4(%rbp)
jmp 0x4543
jmp 0x453c
leaq 0x1e35(%rip), %rdi      # 0x635e
leaq 0x1d1d(%rip), %rsi      # 0x624d
callq 0x2110
movq %rax, 0x6a2c(%rip)      # 0xaf68
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: initSource
void initSource() {
    lineIndex = -1;             /* 初期設定                             */
    ch = '\n';
    printed = 1;
    initCharClassT();
    fprintf(fphtml, "<HTML>\n");  /* htmlコマンド                         */
    fprintf(fphtml, "<HEAD>\n<TITLE>compiled source program</TITLE>\n</HEAD>\n");
    fprintf(fphtml, "<BODY>\n<PRE>\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl $0xffffffff, 0x69f2(%rip) # imm = 0xFFFFFFFF
movb $0xa, 0x69ef(%rip)      # 0xaf74
movl $0x1, 0x69e9(%rip)      # 0xaf78
callq 0x4dc0
movq 0x69cd(%rip), %rdi      # 0xaf68
leaq 0x1dc6(%rip), %rsi      # 0x6368
movb $0x0, %al
callq 0x20d0
movq 0x69b8(%rip), %rdi      # 0xaf68
leaq 0x1db9(%rip), %rsi      # 0x6370
movb $0x0, %al
callq 0x20d0
movq 0x69a3(%rip), %rdi      # 0xaf68
leaq 0x1ddb(%rip), %rsi      # 0x63a7
movb $0x0, %al
callq 0x20d0
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: finalSource
void finalSource() {
    if (cToken.kind == Period)
        printcToken();
    else
        errorInsert(Period);
    fprintf(fphtml, "\n</PRE>\n</BODY>\n</HTML>\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
cmpl $0x1c, 0x6991(%rip)     # 0xaf7c
jne 0x45f4
callq 0x5020
jmp 0x45fe
movl $0x1c, %edi
callq 0x4620
movq 0x6963(%rip), %rdi      # 0xaf68
leaq 0x1e8b(%rip), %rsi      # 0x6497
movb $0x0, %al
callq 0x20d0
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: errorNoCheck
void errorNoCheck() {           /* エラーの個数のカウント、多すぎたら終わり */
    if (errorNo++ > MAXERROR) {
        fprintf(fphtml, "too many errors\n</PRE>\n</BODY>\n</HTML>\n");
        printf("abort compilation\n");
        exit(1);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl 0x6926(%rip), %eax      # 0xafa0
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x691b(%rip)      # 0xafa0
cmpl $0x1e, %eax
jle 0x46b7
movq 0x68d7(%rip), %rdi      # 0xaf68
leaq 0x1d1d(%rip), %rsi      # 0x63b5
movb $0x0, %al
callq 0x20d0
leaq 0x1d37(%rip), %rdi      # 0x63dd
movb $0x0, %al
callq 0x2080
movl $0x1, %edi
callq 0x2140
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: errorType
void errorType(char *m) {       /* 型エラーを.htmlファイルに出力 */
    printSpaces();
    fprintf(fphtml, "<FONT COLOR=%s>%s</FONT>", TYPE_C, m);
    printcToken();
    errorNoCheck();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
callq 0x4fa0
movq 0x6890(%rip), %rdi      # 0xaf68
movq -0x8(%rbp), %rcx
leaq 0x1d0d(%rip), %rsi      # 0x63f0
leaq 0x1d1f(%rip), %rdx      # 0x6409
movb $0x0, %al
callq 0x20d0
callq 0x5020
callq 0x4670
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: errorDelete
void errorDelete() {            /* 今読んだトークンを読み捨てる         */
    int i = (int)cToken.kind;
    printSpaces();
    printed = 1;
    if (i < end_of_KeyWd)       /* 予約語                               */
        fprintf(fphtml, "<FONT COLOR=%s><b>%s</b></FONT>", DELETE_C, KeyWdT[i].word);
    else if (i < end_of_KeySym) /* 演算子か区切り記号                   */
        fprintf(fphtml, "<FONT COLOR=%s>%s</FONT>", DELETE_C, KeyWdT[i].word);
    else if (i==(int)Id)        /* Identfier */
        fprintf(fphtml, "<FONT COLOR=%s>%s</FONT>", DELETE_C, cToken.u.id);
    else if (i==(int)Num)       /* Num */
        fprintf(fphtml, "<FONT COLOR=%s>%d</FONT>", DELETE_C, cToken.u.value);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl 0x67fe(%rip), %eax      # 0xaf7c
movl %eax, -0x4(%rbp)
callq 0x4fa0
movl $0x1, 0x67e8(%rip)      # 0xaf78
cmpl $0xe, -0x4(%rbp)
jge 0x47cc
movq 0x67cb(%rip), %rdi      # 0xaf68
movslq -0x4(%rbp), %rcx
leaq 0x4928(%rip), %rax      # 0x90d0
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
leaq 0x1c58(%rip), %rsi      # 0x6411
leaq 0x1caa(%rip), %rdx      # 0x646a
movb $0x0, %al
callq 0x20d0
jmp 0x4862
cmpl $0x1f, -0x4(%rbp)
jge 0x4805
movq 0x678f(%rip), %rdi      # 0xaf68
movslq -0x4(%rbp), %rcx
leaq 0x48ec(%rip), %rax      # 0x90d0
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
leaq 0x1bfb(%rip), %rsi      # 0x63f0
leaq 0x1c6e(%rip), %rdx      # 0x646a
movb $0x0, %al
callq 0x20d0
jmp 0x4860
cmpl $0x20, -0x4(%rbp)
jne 0x4834
movq 0x6756(%rip), %rdi      # 0xaf68
leaq 0x1bd7(%rip), %rsi      # 0x63f0
leaq 0x1c4a(%rip), %rdx      # 0x646a
leaq 0x6755(%rip), %rcx      # 0xaf7c
addq $0x4, %rcx
movb $0x0, %al
callq 0x20d0
jmp 0x485e
cmpl $0x21, -0x4(%rbp)
jne 0x485c
movq 0x6727(%rip), %rdi      # 0xaf68
movl 0x6739(%rip), %ecx      # 0xaf80
leaq 0x1c24(%rip), %rsi      # 0x6472
leaq 0x1c15(%rip), %rdx      # 0x646a
movb $0x0, %al
callq 0x20d0
jmp 0x485e
jmp 0x4860
jmp 0x4862
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: errorF
void errorF(char *m) {          /* エラーメッセージを出力し、コンパイル終了 */
    errorMessage(m);
    fprintf(fphtml, "fatal errors\n</PRE>\n</BODY>\n</HTML>\n");
    if (errorNo)
        printf("total %d errors\n", errorNo);
    printf("abort compilation\n");
    exit (1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4870
movq 0x669c(%rip), %rdi      # 0xaf68
leaq 0x1bb8(%rip), %rsi      # 0x648b
movb $0x0, %al
callq 0x20d0
cmpl $0x0, 0x66bf(%rip)      # 0xafa0
je 0x48f7
movl 0x66b7(%rip), %esi      # 0xafa0
leaq 0x1bc0(%rip), %rdi      # 0x64b0
movb $0x0, %al
callq 0x2080
leaq 0x1adf(%rip), %rdi      # 0x63dd
movb $0x0, %al
callq 0x2080
movl $0x1, %edi
callq 0x2140
nop
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: checkGet
Token checkGet(Token t, KeyId k) { /* t.kind == k のチェック            */
    /* t.kind == k なら、次のトークンを読んで返す                       */
    /* t.kind != k ならエラーメッセージを出し、t と k が共に記号、または予約語なら */
    /* t を捨て、次のトークンを読んで返す（ t を k で置き換えたことになる） */
    /* それ以外の場合、k を挿入したことにして、t を返す                 */
    if (t.kind == k)
        return nextToken();
    if ((isKeyWd(k) && isKeyWd(t.kind)) ||
        (isKeySym(k) && isKeySym(t.kind))){
        errorDelete();
        errorInsert(k);
        return nextToken();
    }
    errorInsert(k);
    return t;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, -0x18(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movl %esi, -0x4(%rbp)
movl (%rax), %eax
cmpl -0x4(%rbp), %eax
jne 0x4ccd
movq -0x20(%rbp), %rdi
callq 0x4920
jmp 0x4d39
movl -0x4(%rbp), %edi
callq 0x4d50
cmpl $0x0, %eax
je 0x4cea
movq -0x10(%rbp), %rax
movl (%rax), %edi
callq 0x4d50
cmpl $0x0, %eax
jne 0x4d07
movl -0x4(%rbp), %edi
callq 0x4d70
cmpl $0x0, %eax
je 0x4d1f
movq -0x10(%rbp), %rax
movl (%rax), %edi
callq 0x4d70
cmpl $0x0, %eax
je 0x4d1f
callq 0x4770
movl -0x4(%rbp), %edi
callq 0x4620
movq -0x20(%rbp), %rdi
callq 0x4920
jmp 0x4d39
movl -0x4(%rbp), %edi
callq 0x4620
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x24, %edx
callq 0x20e0
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: isKeySym
int isKeySym(KeyId k) {         /* キーkは記号か？                      */
    if (k < end_of_KeyWd)
        return 0;
    return (k < end_of_KeySym);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
cmpl $0xe, -0x8(%rbp)
jae 0x4d86
movl $0x0, -0x4(%rbp)
jmp 0x4d95
cmpl $0x1f, -0x8(%rbp)
setb %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: initCharClassT
static void initCharClassT() {  /* 文字の種類を示す表を作る関数         */
    int i;
    for (i = 0; i < 256; i++)
        charClassT[i] = others;
    for (i = '0'; i <= '9'; i++)
        charClassT[i] = digit;
    for (i = 'A'; i <= 'Z'; i++)
        charClassT[i] = letter;
    for (i = 'a'; i <= 'z'; i++)
        charClassT[i] = letter;
    charClassT['+'] = Plus; charClassT['-'] = Minus;
    charClassT['*'] = Mult; charClassT['/'] = Div;
    charClassT['('] = Lparen; charClassT[')'] = Rparen;
    charClassT['='] = Equal; charClassT['<'] = Lss;
    charClassT['>'] = Gtr; charClassT[','] = Comma;
    charClassT['.'] = Period; charClassT[';'] = Semicolon;
    charClassT[':'] = colon;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl $0x0, -0x4(%rbp)
cmpl $0x100, -0x4(%rbp)      # imm = 0x100
jge 0x4df1
movslq -0x4(%rbp), %rcx
leaq 0x61d1(%rip), %rax      # 0xafb0
movl $0x27, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x4dcb
movl $0x30, -0x4(%rbp)
cmpl $0x39, -0x4(%rbp)
jg 0x4e1b
movslq -0x4(%rbp), %rcx
leaq 0x61a7(%rip), %rax      # 0xafb0
movl $0x25, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x4df8
movl $0x41, -0x4(%rbp)
cmpl $0x5a, -0x4(%rbp)
jg 0x4e45
movslq -0x4(%rbp), %rcx
leaq 0x617d(%rip), %rax      # 0xafb0
movl $0x24, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x4e22
movl $0x61, -0x4(%rbp)
cmpl $0x7a, -0x4(%rbp)
jg 0x4e6f
movslq -0x4(%rbp), %rcx
leaq 0x6153(%rip), %rax      # 0xafb0
movl $0x24, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x4e4c
movl $0xf, 0x61e3(%rip)      # 0xb05c
movl $0x10, 0x61e1(%rip)     # 0xb064
movl $0x11, 0x61cb(%rip)     # 0xb058
movl $0x12, 0x61d5(%rip)     # 0xb06c
movl $0x13, 0x61af(%rip)     # 0xb050
movl $0x14, 0x61a9(%rip)     # 0xb054
movl $0x15, 0x61ef(%rip)     # 0xb0a4
movl $0x16, 0x61e1(%rip)     # 0xb0a0
movl $0x17, 0x61df(%rip)     # 0xb0a8
movl $0x1b, 0x618d(%rip)     # 0xb060
movl $0x1c, 0x618b(%rip)     # 0xb068
movl $0x1d, 0x61b5(%rip)     # 0xb09c
movl $0x26, 0x61a7(%rip)     # 0xb098
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: nextChar
char nextChar() {               /* 次の１文字を返す関数                 */
    char ch;
    if (lineIndex == -1){
        if (fgets(line, MAXLINE, fpi) != NULL){
            /* puts(line); */   /* 通常のエラーメッセージの出力の場合（参考まで） */
            lineIndex = 0;
        } else
            errorF("end of file\n"); /* end of fileならコンパイル終了   */
    }
    if ((ch = line[lineIndex++]) == '\n'){ /* chに次の１文字            */
        lineIndex = -1;         /* それが改行文字なら次の行の入力準備   */
        return '\n';            /* 文字としては改行文字を返す           */
    }
    return ch;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
cmpl $-0x1, 0x6061(%rip)     # 0xaf70
jne 0x4f49
movq 0x6048(%rip), %rdx      # 0xaf60
leaq 0x64a1(%rip), %rdi      # 0xb3c0
movl $0x78, %esi
callq 0x20a0
cmpq $0x0, %rax
je 0x4f3b
movl $0x0, 0x6037(%rip)      # 0xaf70
jmp 0x4f47
leaq 0x1608(%rip), %rdi      # 0x654a
callq 0x48b0
jmp 0x4f49
movl 0x6021(%rip), %eax      # 0xaf70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x6016(%rip)      # 0xaf70
movslq %eax, %rcx
leaq 0x645c(%rip), %rax      # 0xb3c0
movb (%rax,%rcx), %al
movb %al, -0x2(%rbp)
movsbl %al, %eax
cmpl $0xa, %eax
jne 0x4f82
movl $0xffffffff, 0x5ff4(%rip) # imm = 0xFFFFFFFF
movb $0xa, -0x1(%rbp)
jmp 0x4f88
movb -0x2(%rbp), %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tyabu12[P]pl0compiler/getSource.c
// Function: printSpaces
static void printSpaces() {     /* 空白や改行の印字                     */
    while (CR-- > 0)
        fprintf(fphtml, "\n");
    while (spaces-- > 0)
        fprintf(fphtml, " ");
    CR = 0; spaces = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
jmp 0x4fa6
movl 0x5ffc(%rip), %eax      # 0xafa8
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x5ff1(%rip)      # 0xafa8
cmpl $0x0, %eax
jle 0x4fd3
movq 0x5fa5(%rip), %rdi      # 0xaf68
leaq 0x15fa(%rip), %rsi      # 0x65c4
movb $0x0, %al
callq 0x20d0
jmp 0x4fa6
jmp 0x4fd5
movl 0x5fc9(%rip), %eax      # 0xafa4
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x5fbe(%rip)      # 0xafa4
cmpl $0x0, %eax
jle 0x5002
movq 0x5f76(%rip), %rdi      # 0xaf68
leaq 0x1242(%rip), %rsi      # 0x623b
movb $0x0, %al
callq 0x20d0
jmp 0x4fd5
movl $0x0, 0x5f9c(%rip)      # 0xafa8
movl $0x0, 0x5f8e(%rip)      # 0xafa4
popq %rbp
retq
nopl (%rax,%rax)