LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/panux[P]linit/src/linitctl.c
// Function: cmd_stop
void cmd_stop(int argc, char **argv, FILE *stream) {
    if(argc != 1) {
        fprintf(stderr, "[FATAL] Missing arguments\n");
        exit(1);
    }
    char pre[] = "stop ";
    size_t n = strlen(pre) + strlen(argv[0]) + 1;
    char buf[n];
    char *b = buf;
    strcpy(b, pre);
    b += strlen(pre);
    strcpy(b, argv[0]);
    if(fwrite(buf, n, 1, stream) != 1) {
        fprintf(stderr, "[FATAL] Failed to write command\n");
        exit(65);
    }
    //wait for completion
    while(true) {
        char *resp = rcvResp(stream);
        char *stat = NULL;
        int nspace = 0;
        for(size_t i = 0; (resp[i] != '\0') && (nspace < 2); i++) {
            if(resp[i] == ' ') {
                stat = resp + i;
                nspace++;
            }
        }
        stat++;
        if(nspace < 2) {
            fprintf(stderr, "[FATAL] Bad response: \"%s\"\n", resp);
            exit(65);
        }
        if(strcmp(stat, "stopped") == 0) {
            free(resp);
            return;
        }
        free(resp);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
cmpl $0x1, %edi
jne 0x1911
movq %rdx, %rbx
movq (%rsi), %r14
movq %r14, %rdi
callq 0x1080
leaq 0x6(%rax), %r15
movq %rsp, %rcx
addq $0x15, %rax
andq $-0x10, %rax
movq %rcx, %r12
subq %rax, %r12
movq %r12, %rsp
negq %rax
movl $0x706f7473, (%rcx,%rax) # imm = 0x706F7473
movw $0x20, 0x4(%r12)
leaq 0x5(%r12), %rdi
movq %r14, %rsi
callq 0x1060
movl $0x1, %edx
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rcx
callq 0x10f0
cmpq $0x1, %rax
jne 0x1916
leaq 0x8d4(%rip), %r14       # 0x216b
movq %rbx, %rdi
callq 0x15a9
movq %rax, %r15
movb (%rax), %dl
testb %dl, %dl
je 0x18d7
xorl %ecx, %ecx
movq %r15, %rax
xorl %edi, %edi
movl %ecx, %esi
xorl %ecx, %ecx
cmpb $0x20, %dl
sete %cl
cmoveq %rax, %rdi
addl %esi, %ecx
movb 0x1(%rax), %dl
cmpl $0x2, %ecx
setb %sil
testb %dl, %dl
je 0x18dc
incq %rax
cmpl $0x2, %ecx
jb 0x18af
jmp 0x18dc
movb $0x1, %sil
xorl %edi, %edi
testb %sil, %sil
jne 0x1909
incq %rdi
movq %r14, %rsi
callq 0x1090
movl %eax, %r12d
movq %r15, %rdi
callq 0x1040
testl %r12d, %r12d
jne 0x1897
leaq -0x20(%rbp), %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %r15, %rdi
callq 0x137f
callq 0x1335
callq 0x135a
// File: /workspace/github_c_makefile_star2_O1/panux[P]linit/src/linitctl.c
// Function: svcx
void svcx(char *svc, char *op, FILE *stream) {
    fclose(stream); //stream not necessary
    //get path to initd file
    char pre[] = "/etc/init.d/";
    char svcp[strlen(pre) + strlen(svc) + 1];
    strcpy(svcp, pre);
    strcpy(svcp + strlen(pre), svc);
    //exec
    char *cmd[] = {svcp, op, NULL};
    execv(svcp, cmd);
    fprintf(stderr, "[FATAL] Exec error: %s\n", strerror(errno));
    exit(65);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq %rdx, %rdi
callq 0x1070
movq %r14, %rdi
callq 0x1080
movq %rsp, %rcx
addq $0x1c, %rax
andq $-0x10, %rax
movq %rcx, %r15
subq %rax, %r15
movq %r15, %rsp
negq %rax
movabsq $0x696e692f6374652f, %rdx # imm = 0x696E692F6374652F
movq %rdx, (%rcx,%rax)
movabsq $0x2f642e74696e69, %rax # imm = 0x2F642E74696E69
movq %rax, 0x5(%r15)
leaq 0xc(%r15), %rdi
movq %r14, %rsi
callq 0x1060
leaq -0x30(%rbp), %rsi
movq %r15, (%rsi)
movq %rbx, 0x8(%rsi)
movq $0x0, 0x10(%rsi)
movq %r15, %rdi
callq 0x1110
movq 0x2659(%rip), %rax      # 0x3ff8
movq (%rax), %rbx
callq 0x1050
movl (%rax), %edi
callq 0x1100
leaq 0x7cb(%rip), %rsi       # 0x2180
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x10a0
movl $0x41, %edi
callq 0x10d0
// File: /workspace/github_c_makefile_star2_O1/panux[P]linit/src/linitctl.c
// Function: cmd_enable
void cmd_enable(int argc, char **argv, FILE *stream) {
    if(argc != 1) {
        fprintf(stderr, "[FATAL] Missing arguments\n");
        exit(1);
    }
    svcx(argv[0], "enable", stream);
}

// Assembly:
pushq %rax
cmpl $0x1, %edi
jne 0x19e1
movq (%rsi), %rdi
leaq 0x7bc(%rip), %rsi       # 0x2198
callq 0x191b
movq 0x2610(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0x6e8(%rip), %rdi       # 0x20da
movl $0x1a, %esi
movl $0x1, %edx
callq 0x10f0
movl $0x1, %edi
callq 0x10d0
// File: /workspace/github_c_makefile_star2_O1/panux[P]linit/src/linitctl.c
// Function: cmd_disable
void cmd_disable(int argc, char **argv, FILE *stream) {
    if(argc != 1) {
        fprintf(stderr, "[FATAL] Missing arguments\n");
        exit(1);
    }
    svcx(argv[0], "disable", stream);
}

// Assembly:
pushq %rax
cmpl $0x1, %edi
jne 0x1a20
movq (%rsi), %rdi
leaq 0x784(%rip), %rsi       # 0x219f
callq 0x191b
movq 0x25d1(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0x6a9(%rip), %rdi       # 0x20da
movl $0x1a, %esi
movl $0x1, %edx
callq 0x10f0
movl $0x1, %edi
callq 0x10d0
// File: /workspace/github_c_makefile_star2_O1/panux[P]linit/src/linitctl.c
// Function: main
int main(int argc, char** argv) {
    if(argc < 2) {
        fprintf(stderr, "[FATAL] Insufficient arguments\n");
        return 1;
    }
    FILE* stream = connectToServer();
    if(strcmp(argv[1], "start") == 0) {
        cmd_start(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "stop") == 0) {
        cmd_stop(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "enable") == 0) {
        cmd_enable(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "disable") == 0) {
        cmd_disable(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "state") == 0) {
        cmd_state(argc - 2, argv + 2, stream);
    } else {
        fprintf(stderr, "[FATAL] Unrecognized subcommand: \"%s\"\n", argv[1]);
        return 1;
    }
    if(fclose(stream) != 0) {
        fprintf(stderr, "[FATAL] Failed to close stream: %s\n", strerror(errno));
        return 65;
    }
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
cmpl $0x1, %edi
jle 0x1b2d
movq %rsi, %r14
movl %edi, %ebp
callq 0x14dc
movq %rax, %rbx
movq 0x8(%r14), %r15
leaq 0x755(%rip), %rsi       # 0x21c7
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1ae8
leaq 0x748(%rip), %rsi       # 0x21cd
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1afe
leaq 0x700(%rip), %rsi       # 0x2198
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1b62
leaq 0x6f0(%rip), %rsi       # 0x219f
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1b76
leaq 0x70c(%rip), %rsi       # 0x21d2
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
jne 0x1b40
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1758
jmp 0x1b12
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x15de
jmp 0x1b12
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x181a
movq %rbx, %rdi
callq 0x1070
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
jne 0x1b34
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x13cf
jmp 0x1b5b
callq 0x13a3
movl $0x41, %eax
jmp 0x1b22
movq 0x24b1(%rip), %rax      # 0x3ff8
movq (%rax), %rdi
leaq 0x687(%rip), %rsi       # 0x21d8
movq %r15, %rdx
xorl %eax, %eax
callq 0x10a0
movl $0x1, %eax
jmp 0x1b22
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x19cc
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1a0b
// File: /workspace/github_c_makefile_star2_O1/cyb70289[P]tt/tests/graph.c
// Function: main
int main(void)
{
	/* a --> b ---> c <--> d
	 * ^   / |      |      |
	 * |  /  |      |      |
	 * | v   v      v      v
	 * e --> f <--> g ---> h---
	 *                     ^  |
	 *                     |  |
	 *                     ----
	 */
	const char *graph[8] = {
		"b",
		"cef",
		"dg",
		"ch",
		"af",
		"g",
		"fh",
		"h",
	};

	/* Finish time */
	int ft[8];
	for (int i = 0; i < 8; i++)
		ft[i] = 0;

	/* First DFS */
	dfs(graph, 8, ft, 1);

	/* Compute transpose of graph */
	char *graph2[8], *v[8];
	for (int i = 0; i < 8; i++) {
		graph2[i] = malloc(9);
		v[i] = graph2[i];
	}
	for (int i = 0; i < 8; i++) {
		const char *p = graph[i];
		while (*p) {
			int j = *p - 'a';
			*v[j] = i + 'a';
			v[j]++;
			p++;
		}
	}
	for (int i = 0; i < 8; i++)
		*v[i] = '\0';

	dfs((const char **)graph2, 8, ft, 2);

	for (int i = 0; i < 8; i++)
		free(graph2[i]);

	return 0;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0xa8, %rsp
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rsi
movaps %xmm0, 0x10(%rsi)
movaps %xmm0, (%rsi)
leaq 0x2c14(%rip), %rbx      # 0x3da0
movq %rbx, %rdi
movl $0x1, %edx
callq 0x123e
xorl %r14d, %r14d
movl $0x9, %edi
callq 0x1060
movq %rax, 0x60(%rsp,%r14,8)
movq %rax, (%rsp,%r14,8)
incq %r14
cmpq $0x8, %r14
jne 0x119c
xorl %eax, %eax
movq (%rbx,%rax,8), %rcx
movb (%rcx), %dl
testb %dl, %dl
je 0x11ed
leal 0x61(%rax), %esi
incq %rcx
movsbq %dl, %rdx
movq -0x308(%rsp,%rdx,8), %rdi
movb %sil, (%rdi)
incq %rdi
movq %rdi, -0x308(%rsp,%rdx,8)
movb (%rcx), %dl
incq %rcx
testb %dl, %dl
jne 0x11ca
incq %rax
cmpq $0x8, %rax
jne 0x11ba
xorl %eax, %eax
movq (%rsp,%rax,8), %rcx
movb $0x0, (%rcx)
incq %rax
cmpq $0x8, %rax
jne 0x11f8
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
movl $0x2, %edx
callq 0x123e
xorl %ebx, %ebx
movq 0x60(%rsp,%rbx,8), %rdi
callq 0x1030
incq %rbx
cmpq $0x8, %rbx
jne 0x121e
xorl %eax, %eax
addq $0xa8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/cyb70289[P]tt/tests/graph.c
// Function: dfs
static void dfs(const char *graph[], int n, int ft[], int round)
{
	int i, scc = 1;

	/* Mark all vertex white */
	int color[n];
	for (i = 0; i < n; i++)
		color[i] = WHITE;

	printf("Round%d: \n", round);

	/* Call dfs-visit on all vertex */
	while ((i = dfs_next_vertex(n, color, ft)) >= 0) {
		if (round == 2)
			printf("SCC%d: ", scc++);
		dfs_visit(graph, n, ft, color, i);
		if (round == 2)
			printf("\n");
	}

	printf("\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %rbp
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r12
movaps %xmm0, 0x10(%r12)
movaps %xmm0, (%r12)
leaq 0xda8(%rip), %rdi       # 0x2016
movl %edx, %esi
xorl %eax, %eax
callq 0x1050
movl $0x1, %eax
movq %rax, 0x8(%rsp)
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, 0x10(%rsp,%rax,4)
jne 0x12a2
movl (%r14,%rax,4), %edx
cmpl %ecx, %edx
cmovgl %edx, %ecx
cmovgl %eax, %r13d
incq %rax
cmpq $0x8, %rax
jne 0x128e
testl %r13d, %r13d
js 0x12f9
cmpl $0x2, %ebx
jne 0x12da
movq %r12, %r15
movq 0x8(%rsp), %rsi
leal 0x1(%rsi), %r12d
leaq 0xd59(%rip), %rdi       # 0x2021
xorl %eax, %eax
callq 0x1050
movl %r12d, %eax
movq %rax, 0x8(%rsp)
movq %r15, %r12
movq %rbp, %rdi
movq %r12, %rsi
movl %r13d, %edx
callq 0x1311
cmpl $0x2, %ebx
jne 0x1281
movl $0xa, %edi
callq 0x1040
jmp 0x1281
movl $0xa, %edi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1040
// File: /workspace/github_c_makefile_star2_O1/cyb70289[P]tt/tests/graph.c
// Function: dfs_visit
static void dfs_visit(const char *graph[], int n, int ft[], int color[], int i)
{
	visit_count++;
	color[i] = GRAY;

	const char *v = graph[i];
	while (*v) {
		int j = *v - 'a';
		if (color[j] == WHITE)
			dfs_visit(graph, n, ft, color, j);
		v++;
	}

	color[i] = BLACK;
	visit_count++;

	printf("%c ", i + 'a');
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
incl 0x2d2a(%rip)            # 0x404c
movslq %edx, %rbx
movl $0x1, (%rsi,%rbx,4)
movq (%rdi,%rbx,8), %r12
movb (%r12), %al
testb %al, %al
je 0x1369
movq %rdi, %r15
incq %r12
movsbq %al, %rcx
cmpl $0x0, -0x184(%r14,%rcx,4)
jne 0x135e
movsbl %al, %edx
addl $-0x61, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1311
movb (%r12), %al
incq %r12
testb %al, %al
jne 0x133e
movl $0x2, (%r14,%rbx,4)
incl 0x2cd5(%rip)            # 0x404c
addl $0x61, %ebx
leaq 0xca8(%rip), %rdi       # 0x2029
movl %ebx, %esi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1050
// File: /workspace/github_c_makefile_star2_O1/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_5/exercise_5_06/itoa.c
// Function: main
int main(void)
{
  int i = 1234;
  char s[100] = "";

  itoa(s, i);

  printf("itoa: %s\n", s);

  return 0;
}

// Assembly:
pushq %rbx
subq $0x70, %rsp
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
movaps %xmm0, (%rsp)
movl $0x0, 0x60(%rsp)
movl $0x4d2, %ecx            # imm = 0x4D2
xorl %eax, %eax
movslq %ecx, %rdx
imulq $0x66666667, %rdx, %rcx # imm = 0x66666667
movq %rcx, %rsi
shrq $0x3f, %rsi
sarq $0x22, %rcx
addl %esi, %ecx
leal (%rcx,%rcx), %esi
leal (%rsi,%rsi,4), %esi
subl %esi, %edx
addb $0x30, %dl
movb %dl, (%rsp,%rax)
incq %rax
cmpq $0x4, %rax
jne 0x1180
movb $0x0, (%rsp,%rax)
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x121d
leaq 0xe40(%rip), %rdi       # 0x2004
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1040
xorl %eax, %eax
addq $0x70, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_5/exercise_5_06/itoa.c
// Function: itoa
void itoa(char *s, int n)
{
  char *t = s;

  while (n)
  {
    *(t++) = n % 10 + '0';
    n /= 10;
  }

  *t = '\0';

  reverse(s);
}

// Assembly:
movq %rdi, %rax
testl %esi, %esi
je 0x1215
movq %rdi, %rax
movslq %esi, %rcx
imulq $0x66666667, %rcx, %rsi # imm = 0x66666667
movq %rsi, %rdx
shrq $0x3f, %rdx
sarq $0x22, %rsi
addl %edx, %esi
leal (%rsi,%rsi), %edx
leal (%rdx,%rdx,4), %edx
movl %ecx, %r8d
subl %edx, %r8d
addb $0x30, %r8b
movb %r8b, (%rax)
incq %rax
addl $0x9, %ecx
cmpl $0x12, %ecx
ja 0x11e0
movb $0x0, (%rax)
jmp 0x121d
// File: /workspace/github_c_makefile_star2_O1/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_5/exercise_5_06/itoa.c
// Function: reverse
void reverse(char *s)
{
  char *t = s + strlen(s) - 1;
  char aux = 0;

  if (*s == '\0')
    return;

  while (s < t)
  {
    aux = *t;
    *t-- = *s;
    *s++ = aux;
  }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x1030
cmpb $0x0, (%rbx)
setne %cl
addq %rbx, %rax
decq %rax
cmpq %rbx, %rax
seta %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x125b
incq %rbx
movb (%rax), %cl
movb -0x1(%rbx), %dl
movb %dl, (%rax)
movb %cl, -0x1(%rbx)
decq %rax
leaq 0x1(%rbx), %rcx
cmpq %rax, %rbx
movq %rcx, %rbx
jb 0x1242
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/eric-lo[P]3150/6-Memory/addr.c
// Function: main
int main(void) {
	int *malloc_ptr = malloc(4);
	char *constant_ptr = "hello";

	printf("Local variable  = %15p\n", &malloc_ptr);
	printf("malloc() space  = %15p\n", malloc_ptr);
	printf("Global variable = %15p\n", &global_int);
	printf("Code & constant = %15p\n", constant_ptr);
	printf("Main            = %15p\n", main);
	return 0;
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movl $0x4, %edi
callq 0x1040
leaq 0x8(%rsp), %rbx
movq %rax, (%rbx)
leaq 0xea0(%rip), %rdi       # 0x200a
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1030
movq (%rbx), %rsi
leaq 0xea4(%rip), %rdi       # 0x2022
xorl %eax, %eax
callq 0x1030
leaq 0xeae(%rip), %rdi       # 0x203a
leaq 0x2ea9(%rip), %rsi      # 0x403c
xorl %eax, %eax
callq 0x1030
leaq 0xeb1(%rip), %rdi       # 0x2052
leaq 0xe5c(%rip), %rsi       # 0x2004
xorl %eax, %eax
callq 0x1030
leaq 0xeb4(%rip), %rdi       # 0x206a
leaq -0x71(%rip), %rsi       # 0x114c
xorl %eax, %eax
callq 0x1030
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/trumabrat[P]GrandProjet/ArbreQuatMain.c
// Function: main
int main(int argc, char const *argv[])
{
    FILE* f = NULL;
    f = fopen("00014_burma.cha", "r");
    Chaines *C = lectureChaines(f);

    Reseau *R = reconstitueReseauArbre(C);
    FILE *f2 = fopen("resArbre.txt", "w");
    ecrireReseau(R, f2);
    afficheReseauSVG(R, "affichage_arbre");

    liberer_chaines(C);
    liberation_reseau(R);
    fclose(f);
    fclose(f2);
    return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
leaq 0x79c(%rip), %rdi       # 0x3333
leaq 0x7a5(%rip), %rsi       # 0x3343
callq 0x10e0
movq %rax, %rbx
movq %rax, %rdi
callq 0x1b04
movq %rax, %r14
movq %rax, %rdi
callq 0x18d3
movq %rax, %r15
leaq 0x782(%rip), %rdi       # 0x3345
leaq 0x5fc(%rip), %rsi       # 0x31c6
callq 0x10e0
movq %rax, %r12
movq %r15, %rdi
movq %rax, %rsi
callq 0x2503
leaq 0x76e(%rip), %rsi       # 0x3352
movq %r15, %rdi
callq 0x26f5
movq %r14, %rdi
callq 0x215e
movq %r15, %rdi
callq 0x2969
movq %rbx, %rdi
callq 0x1060
movq %r12, %rdi
callq 0x1060
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/actor.c
// Function: error_msg
BEH_DECL(error_msg)
{
	char* s;

	DBUG_ENTER("error_msg");
	s = cons_to_str(WHAT);
	DBUG_PRINT("", ("=ERROR= %s", s));
	fprintf(stderr, "=ERROR= %s\n", s);
	DBUG_RETURN;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
leaq 0x1a8aa(%rip), %rax     # 0x1cc19
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20fb2(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x4a, 0xc(%rdi)
leaq 0x19fb1(%rip), %r14     # 0x1c34a
movq %r14, 0x10(%rdi)
leaq 0x20e04(%rip), %rcx     # 0x231a8
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
movq 0x30(%rbx), %rdi
callq 0x19c45
movq %rax, %rdi
callq 0x13b9c
movq %rax, %rbx
leaq 0x21564(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2407
movq (%r15), %rax
movq 0x50(%rax), %rax
movq %r14, 0x10(%rax)
movq %r14, %rdi
callq 0x1b084
testl %eax, %eax
je 0x2407
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x4c, 0xc(%rax)
leaq 0x1a826(%rip), %rdi     # 0x1cc23
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1b983
movq 0x20bea(%rip), %rax     # 0x22ff8
movq (%rax), %rdi
leaq 0x1a816(%rip), %rsi     # 0x1cc2e
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2180
leaq 0x8(%rsp), %rdi
movl $0x4e, 0xc(%rdi)
callq 0x1ba97
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: file_put
CONS*
file_put(SINK* sink, CONS* value)
{
	FILE* f;
	int c;
	CONS* ok;

	DBUG_ENTER("file_put");
	assert(numberp(value));
	XDBUG_PRINT("stdout", ("%p", stdout));
	XDBUG_PRINT("stderr", ("%p", stderr));
	XDBUG_PRINT("output_file", ("%p", output_file));
	if (sink->context == MK_REF(output_file)) {
		f = output_file;  /* FIXME: WORKAROUND FOR FILE* ENCODING */
	} else {
		f = (FILE*)(MK_PTR(sink->context));
	}
	XDBUG_PRINT("f", ("%p", f));
	c = MK_INT(value);
	DBUG_PRINT("c", ((isprint(c) ? "%d '%c'" : "%d '\\x%X'"), c, c));
	ok = ((fputc(c, f) == EOF) ? a_false : a_true);
	XDBUG_PRINT("ok", ("%s", cons_to_str(ok)));
	DBUG_RETURN ok;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x19790(%rip), %rax     # 0x1c004
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20aaf(%rip), %r12     # 0x23330
movq (%r12), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x69, 0xc(%rdi)
leaq 0x19aad(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x208a8(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
movl %ebx, %eax
notl %eax
testb $0x3, %al
jne 0x2989
movq (%r14), %r15
movq 0x20aad(%rip), %r14     # 0x23378
shrq $0x2, %rbx
leaq 0x2105a(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2936
movq (%r12), %rax
movq 0x50(%rax), %rax
leaq 0x1b241(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2936
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0x75, 0xc(%rax)
callq 0x2260
movq (%rax), %rax
movslq %ebx, %rcx
movzwl (%rax,%rcx,2), %eax
btl $0xe, %eax
leaq 0x1972c(%rip), %rax     # 0x1c04c
leaq 0x1971d(%rip), %rdi     # 0x1c044
cmovaeq %rax, %rdi
movl %ebx, %esi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1b983
leaq 0x3(,%r14,4), %rax
movq %r15, %rsi
sarq $0x2, %rsi
cmpq %rax, %r15
cmoveq %r14, %rsi
movl %ebx, %edi
callq 0x2130
cmpl $-0x1, %eax
leaq 0x20a23(%rip), %rax     # 0x23380
leaq 0x20a24(%rip), %rcx     # 0x23388
cmoveq %rax, %rcx
movq (%rcx), %rbx
movq %rsp, %rdi
movl $0x78, 0xc(%rdi)
callq 0x1ba97
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x1967d(%rip), %rdi     # 0x1c00d
leaq 0x19685(%rip), %rsi     # 0x1c01c
leaq 0x19687(%rip), %rcx     # 0x1c025
movl $0x6a, %edx
callq 0x2100
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: generic_put_cstr
CONS*
generic_put_cstr(SINK* sink, char* s)
{
	int c;

	DBUG_ENTER("generic_put_cstr");
	assert(s != NULL);
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	while ((c = *s++)) {
		if((sink->put)(sink, NUMBER(c)) == a_false) {
			DBUG_RETURN a_false;
		}
	}
	DBUG_RETURN a_true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x19696(%rip), %rax     # 0x1c056
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20963(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x7f, 0xc(%rdi)
leaq 0x19962(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x2075d(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
testq %rbx, %rbx
je 0x2aaa
leaq 0x20f20(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2a4f
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x1ab32(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2a4f
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x81, 0xc(%rax)
leaq 0x19653(%rip), %rdi     # 0x1c098
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1b983
leaq 0x20932(%rip), %r15     # 0x23388
leaq 0x20923(%rip), %r12     # 0x23380
movsbq (%rbx), %rax
testq %rax, %rax
je 0x2a8b
incq %rbx
leaq 0x3(,%rax,4), %rsi
movq %r14, %rdi
callq *0x8(%r14)
cmpq 0x20901(%rip), %rax     # 0x23380
jne 0x2a5d
movl $0x84, %eax
movq %r12, %r15
jmp 0x2a90
movl $0x87, %eax
movq %rsp, %rdi
movl %eax, 0xc(%rdi)
callq 0x1ba97
movq (%r15), %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x195b6(%rip), %rdi     # 0x1c067
leaq 0x19564(%rip), %rsi     # 0x1c01c
leaq 0x195b2(%rip), %rcx     # 0x1c071
movl $0x80, %edx
callq 0x2100
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: file_sink
SINK*
file_sink(FILE* f)
{
	SINK* sink;

	DBUG_ENTER("file_sink");
	DBUG_PRINT("f", ("%p", f));
	sink = NEW(SINK);
	sink->context = MK_REF(f);
	sink->put = file_put;
	sink->put_cstr = generic_put_cstr;
	DBUG_RETURN sink;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x195c3(%rip), %rax     # 0x1c09d
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20849(%rip), %r14     # 0x23330
movq (%r14), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x8e, 0xc(%rdi)
leaq 0x19848(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x20643(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
leaq 0x20e0f(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2b60
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x19637(%rip), %rdi     # 0x1c16b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2b60
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0x8f, 0xc(%rax)
leaq 0x1b4ea(%rip), %rdi     # 0x1e040
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1b983
movl $0x18, %edi
movl $0x1, %esi
callq 0x2160
movq %rax, %r14
leaq 0x3(,%rbx,4), %rax
movq %rax, (%r14)
leaq -0x328(%rip), %rax      # 0x285c
movq %rax, 0x8(%r14)
leaq -0x1e7(%rip), %rax      # 0x29a8
movq %rax, 0x10(%r14)
movq %rsp, %rdi
movl $0x94, 0xc(%rdi)
callq 0x1ba97
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: string_empty
CONS*
string_empty(SOURCE* src)
{
	char* s;

	DBUG_ENTER("string_empty");
	s = (char*)(MK_PTR(src->context));
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	DBUG_RETURN ((s && *s) ? a_false : a_true);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
leaq 0x194e7(%rip), %rax     # 0x1c0a7
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20761(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xa6, 0xc(%rdi)
leaq 0x19760(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x2055b(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
movq (%rbx), %r14
movq %r14, %rbx
sarq $0x2, %rbx
leaq 0x20d1d(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2c61
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x1a92f(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2c61
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0xa8, 0xc(%rax)
cmpq $0x4, %r14
leaq 0x1ba52(%rip), %rax     # 0x1e69e
leaq 0x19445(%rip), %rdi     # 0x1c098
cmovbq %rax, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1b983
leaq 0x8(%rsp), %rdi
movl $0xa9, 0xc(%rdi)
callq 0x1ba97
cmpq $0x4, %r14
jb 0x2c86
cmpb $0x0, (%rbx)
je 0x2c86
leaq 0x206fc(%rip), %rax     # 0x23380
jmp 0x2c8d
leaq 0x206fb(%rip), %rax     # 0x23388
movq (%rax), %rax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: string_get
CONS*
string_get(SOURCE* src)
{
	char* s;
	int c;

	DBUG_ENTER("string_get");
	if ((src->empty)(src) == a_true) {
		DBUG_PRINT("c", ("EOF"));
		DBUG_RETURN NUMBER(EOF);
	}
	s = (char*)(MK_PTR(src->context));
	c = *s;
	DBUG_PRINT("c", ((isprint(c) ? "%d '%c'" : "%d '\\x%X'"), c, c));
	DBUG_RETURN NUMBER(c);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x19409(%rip), %rax     # 0x1c0b4
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20678(%rip), %r14     # 0x23330
movq (%r14), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xb1, 0xc(%rdi)
leaq 0x19677(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x20472(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
movq %rbx, %rdi
callq *0x8(%rbx)
cmpq 0x20690(%rip), %rax     # 0x23388
je 0x2d86
movq (%rbx), %rax
sarq $0x2, %rax
movsbl (%rax), %eax
movslq %eax, %rbx
leaq 0x20c1e(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2d6d
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x1ae06(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2d6d
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb8, 0xc(%rax)
callq 0x2260
movq (%rax), %rax
movzwl (%rax,%rbx,2), %eax
btl $0xe, %eax
leaq 0x192f5(%rip), %rax     # 0x1c04c
leaq 0x192e6(%rip), %rdi     # 0x1c044
cmovaeq %rax, %rdi
movl %ebx, %esi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1b983
movq %rsp, %rdi
movl $0xb9, 0xc(%rdi)
callq 0x1ba97
leaq 0x3(,%rbx,4), %rax
jmp 0x2ddf
leaq 0x20ba3(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2dc9
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x1ad8b(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2dc9
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb3, 0xc(%rax)
leaq 0x192fd(%rip), %rdi     # 0x1c0bf
xorl %eax, %eax
callq 0x1b983
movq %rsp, %rdi
movl $0xb4, 0xc(%rdi)
callq 0x1ba97
movq $-0x1, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: string_next
CONS*
string_next(SOURCE* src)
{
	char* s;
	CONS* c;

	DBUG_ENTER("string_next");
	c = (src->get)(src);
	if (c == NUMBER(EOF)) {
		DBUG_RETURN c;
	}
	s = (char*)(MK_PTR(src->context));
	src->context = MK_REF(++s);
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	DBUG_RETURN c;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rdi, %r14
leaq 0x192c6(%rip), %rax     # 0x1c0c3
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20524(%rip), %r12     # 0x23330
movq (%r12), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xc1, 0xc(%rdi)
leaq 0x19522(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x2031d(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
movq %r14, %rdi
callq *0x10(%r14)
movq %rax, %rbx
cmpq $-0x1, %rax
je 0x2eb4
movq (%r14), %r15
sarq $0x2, %r15
leaq 0x7(,%r15,4), %rax
movq %rax, (%r14)
leaq 0x20ac7(%rip), %rax     # 0x23930
movl $0xc9, %ebp
cmpl $0x0, (%rax)
je 0x2eb9
movq (%r12), %rax
movq 0x50(%rax), %rax
leaq 0x1a6d3(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2eb9
incq %r15
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc8, 0xc(%rax)
leaq 0x191f0(%rip), %rdi     # 0x1c098
movq %r15, %rsi
xorl %eax, %eax
callq 0x1b983
jmp 0x2eb9
movl $0xc4, %ebp
leaq 0x8(%rsp), %rdi
movl %ebp, 0xc(%rdi)
callq 0x1ba97
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: string_source
SOURCE*
string_source(char* s)
{
	SOURCE* src;

	DBUG_ENTER("string_source");
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	src = NEW(SOURCE);
	src->context = MK_REF(s);
	src->empty = string_empty;
	src->get = string_get;
	src->next = string_next;
	DBUG_RETURN src;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x191e8(%rip), %rax     # 0x1c0cf
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x2043c(%rip), %r14     # 0x23330
movq (%r14), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xd0, 0xc(%rdi)
leaq 0x1943b(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x20236(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
leaq 0x20a02(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2f7b
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x1a614(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x2f7b
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xd1, 0xc(%rax)
testq %rbx, %rbx
leaq 0x1b738(%rip), %rax     # 0x1e69e
leaq 0x1912b(%rip), %rdi     # 0x1c098
cmoveq %rax, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1b983
movl $0x20, %edi
movl $0x1, %esi
callq 0x2160
movq %rax, %r14
leaq 0x3(,%rbx,4), %rax
movq %rax, (%r14)
leaq -0x3f2(%rip), %rax      # 0x2bad
movq %rax, 0x8(%r14)
leaq -0x310(%rip), %rax      # 0x2c9a
movq %rax, 0x10(%r14)
leaq -0x1ce(%rip), %rax      # 0x2de7
movq %rax, 0x18(%r14)
movq %rsp, %rdi
movl $0xd7, 0xc(%rdi)
callq 0x1ba97
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: file_get
CONS*
file_get(SOURCE* src)
{
	CONS* d;
	int c;

	DBUG_ENTER("file_get");
	DBUG_PRINT("context", ("%s", cons_to_str(src->context)));
	d = tl(src->context);
	if (nilp(d)) {
		(src->next)(src);
		d = tl(src->context);
	}
	c = MK_INT(d);
	DBUG_PRINT("c", ((isprint(c) ? "%d '%c'" : "%d '\\x%X'"), c, c));
	DBUG_RETURN d;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x19070(%rip), %rax     # 0x1c0e8
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x202ab(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xe9, 0xc(%rdi)
leaq 0x192aa(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x200a5(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
leaq 0x20871(%rip), %r12     # 0x23930
cmpl $0x0, (%r12)
je 0x3108
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x1901d(%rip), %rdi     # 0x1c0f1
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x3108
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0xea, 0xc(%rax)
movq (%rbx), %rdi
callq 0x13b9c
leaq 0x1a456(%rip), %rdi     # 0x1d554
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
movq (%rbx), %rdi
callq 0x19c45
movq %rax, %r14
cmpq 0x1fea6(%rip), %rax     # 0x22fc0
jne 0x312d
movq %rbx, %rdi
callq *0x18(%rbx)
movq (%rbx), %rdi
callq 0x19c45
movq %rax, %r14
cmpl $0x0, (%r12)
je 0x3192
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x1a9e9(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x3192
movq %r14, %rbx
shrq $0x2, %rbx
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0xf1, 0xc(%rax)
callq 0x2260
movq (%rax), %rax
movslq %ebx, %rdx
movzwl (%rax,%rdx,2), %eax
btl $0xe, %eax
leaq 0x18ece(%rip), %rax     # 0x1c04c
leaq 0x18ebf(%rip), %rdi     # 0x1c044
cmovaeq %rax, %rdi
movl %edx, %esi
xorl %eax, %eax
callq 0x1b983
movq %rsp, %rdi
movl $0xf2, 0xc(%rdi)
callq 0x1ba97
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: file_next
CONS*
file_next(SOURCE* src)
{
	CONS* d;
	FILE* f;

	DBUG_ENTER("file_next");
	d = tl(src->context);
	if (d != NUMBER(EOF)) {
		CONS* r = hd(src->context);
		
		XDBUG_PRINT("stdin", ("%p", stdin));
		XDBUG_PRINT("input_file", ("%p", input_file));
		if (r == MK_REF(input_file)) {
			f = input_file;  /* FIXME: WORKAROUND FOR FILE* ENCODING */
		} else {
			f = (FILE*)(MK_PTR(r));
		}
		XDBUG_PRINT("f", ("%p", f));
		rplacd(src->context, NUMBER(fgetc(f)));
	}
	DBUG_RETURN d;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x18f38(%rip), %rax     # 0x1c0f9
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20162(%rip), %rax     # 0x23330
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xfa, 0xc(%rdi)
leaq 0x19161(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x1ff5c(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
movq (%rbx), %rdi
callq 0x19c45
movq %rax, %r14
cmpq $-0x1, %rax
je 0x3251
movq (%rbx), %rdi
callq 0x19ba6
movq 0x2016f(%rip), %rcx     # 0x23390
leaq 0x3(,%rcx,4), %rdx
movq %rax, %rdi
sarq $0x2, %rdi
cmpq %rdx, %rax
cmoveq %rcx, %rdi
movq (%rbx), %rbx
callq 0x2120
cltq
leaq 0x3(,%rax,4), %rsi
movq %rbx, %rdi
callq 0x19cf2
movq %rsp, %rdi
movl $0x109, 0xc(%rdi)       # imm = 0x109
callq 0x1ba97
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: file_source
SOURCE*
file_source(FILE* f)
{
	SOURCE* src;

	DBUG_ENTER("file_source");
	assert(f != NULL);
	DBUG_PRINT("f", ("%p", f));
	src = NEW(SOURCE);
	src->context = pr(MK_REF(f), NIL);
	DBUG_PRINT("f'", ("%p", MK_PTR(hd(src->context))));
	src->empty = file_empty;
	src->get = file_get;
	src->next = file_next;
	DBUG_PRINT("context", ("%s", cons_to_str(src->context)));
	DBUG_RETURN src;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
leaq 0x18e83(%rip), %rax     # 0x1c103
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x200a3(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x110, 0xc(%rdi)       # imm = 0x110
leaq 0x190a2(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x1fe9d(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
testq %r14, %r14
je 0x3412
leaq 0x20660(%rip), %r12     # 0x23930
cmpl $0x0, (%r12)
je 0x3311
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x18e86(%rip), %rdi     # 0x1c16b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x3311
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x112, 0xc(%rax)       # imm = 0x112
leaq 0x1ad39(%rip), %rdi     # 0x1e040
movq %r14, %rsi
xorl %eax, %eax
callq 0x1b983
movl $0x20, %edi
movl $0x1, %esi
callq 0x2160
movq %rax, %rbx
leaq 0x3(,%r14,4), %rdi
leaq 0x1ff6e(%rip), %rsi     # 0x232a0
callq 0x19b84
movq %rax, %r14
movq %rax, (%rbx)
cmpl $0x0, (%r12)
je 0x338a
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x18dd9(%rip), %rdi     # 0x1c12b
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x338a
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x115, 0xc(%rax)       # imm = 0x115
movq %r14, %rdi
callq 0x19ba6
sarq $0x2, %rax
leaq 0x1acc0(%rip), %rdi     # 0x1e040
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
leaq -0x3be(%rip), %rax      # 0x2fd3
movq %rax, 0x8(%rbx)
leaq -0x339(%rip), %rax      # 0x3063
movq %rax, 0x10(%rbx)
leaq -0x1f7(%rip), %rax      # 0x31b0
movq %rax, 0x18(%rbx)
cmpl $0x0, (%r12)
je 0x33f4
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x18d31(%rip), %rdi     # 0x1c0f1
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x33f4
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x119, 0xc(%rax)       # imm = 0x119
movq %r14, %rdi
callq 0x13b9c
leaq 0x1a16a(%rip), %rdi     # 0x1d554
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
movq %rsp, %rdi
movl $0x11a, 0xc(%rdi)       # imm = 0x11A
callq 0x1ba97
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x1b280(%rip), %rdi     # 0x1e699
leaq 0x18bfc(%rip), %rsi     # 0x1c01c
leaq 0x18ce8(%rip), %rcx     # 0x1c10f
movl $0x111, %edx            # imm = 0x111
callq 0x2100
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: get_const
static CONS*
get_const(CONS* value)  /* USE FACTORY TO INTERN INSTANCES */
{
	CONS* constant;
	CONS* const_map = car(intern_map);

	DBUG_ENTER("get_const");
	DBUG_PRINT("value", ("%s", cons_to_str(value)));
	constant = map_get_def(const_map, value, NIL);
	if (nilp(constant)) {
		constant = ACTOR(const_type, value);
		const_map = map_put(const_map, value, constant);
		rplaca(intern_map, const_map);
	}
	DBUG_PRINT("const", ("%s", cons_to_str(constant)));
	DBUG_RETURN constant;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x1f550(%rip), %rdi     # 0x233c0
callq 0x19ba6
movq %rax, %r14
leaq 0x188f4(%rip), %rax     # 0x1c773
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x1f4a4(%rip), %r13     # 0x23330
movq (%r13), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x338, 0xc(%rdi)       # imm = 0x338
leaq 0x184a2(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x1f29d(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
leaq 0x1fa69(%rip), %rbp     # 0x23930
cmpl $0x0, (%rbp)
je 0x3f11
movq (%r13), %rax
movq 0x50(%rax), %rax
leaq 0x1a1eb(%rip), %rdi     # 0x1e0c7
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x3f11
movq (%r13), %rax
movq 0x50(%rax), %rax
movl $0x339, 0xc(%rax)       # imm = 0x339
movq %rbx, %rdi
callq 0x13b9c
leaq 0x1964d(%rip), %rdi     # 0x1d554
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
leaq 0x1f388(%rip), %r12     # 0x232a0
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x1a07a
movq %rax, %r15
cmpq %r12, %rax
jne 0x3f64
movq 0x1f46b(%rip), %rdi     # 0x233a0
leaq 0x4394(%rip), %rsi      # 0x82d0
movq %rbx, %rdx
callq 0x1283a
movq %rax, %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x1a0ec
movq 0x1f464(%rip), %rdi     # 0x233c0
movq %rax, %rsi
callq 0x19ce4
cmpl $0x0, (%rbp)
je 0x3fae
movq (%r13), %rax
movq 0x50(%rax), %rax
leaq 0x187fe(%rip), %rdi     # 0x1c777
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x3fae
movq (%r13), %rax
movq 0x50(%rax), %rax
movl $0x340, 0xc(%rax)       # imm = 0x340
movq %r15, %rdi
callq 0x13b9c
leaq 0x195b0(%rip), %rdi     # 0x1d554
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
movq %rsp, %rdi
movl $0x341, 0xc(%rdi)       # imm = 0x341
callq 0x1ba97
movq %r15, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: get_symbol
static CONS*
get_symbol(CONS* name)  /* USE FACTORY TO INTERN INSTANCES */
{
	CONS* symbol;
	CONS* symbol_map = cdr(intern_map);

	DBUG_ENTER("get_symbol");
	DBUG_PRINT("name", ("%s", cons_to_str(name)));
	symbol = map_get_def(symbol_map, name, NIL);
	if (nilp(symbol)) {
		symbol = ACTOR(symbol_type, name);
		symbol_map = map_put(symbol_map, name, symbol);
		rplacd(intern_map, symbol_map);
	}
	DBUG_PRINT("symbol", ("%s", cons_to_str(symbol)));
	DBUG_RETURN symbol;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x1f3d9(%rip), %rdi     # 0x233c0
callq 0x19c45
movq %rax, %r14
leaq 0x187c3(%rip), %rax     # 0x1c7b9
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x1f32d(%rip), %r13     # 0x23330
movq (%r13), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x5c5, 0xc(%rdi)       # imm = 0x5C5
leaq 0x1832b(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x1f126(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1b912
leaq 0x1f8f2(%rip), %rbp     # 0x23930
cmpl $0x0, (%rbp)
je 0x4088
movq (%r13), %rax
movq 0x50(%rax), %rax
leaq 0x18771(%rip), %rdi     # 0x1c7c4
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x4088
movq (%r13), %rax
movq 0x50(%rax), %rax
movl $0x5c6, 0xc(%rax)       # imm = 0x5C6
movq %rbx, %rdi
callq 0x13b9c
leaq 0x194d6(%rip), %rdi     # 0x1d554
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
leaq 0x1f211(%rip), %r12     # 0x232a0
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x1a07a
movq %rax, %r15
cmpq %r12, %rax
jne 0x40db
movq 0x1f2f4(%rip), %rdi     # 0x233a0
leaq 0x4b8d(%rip), %rsi      # 0x8c40
movq %rbx, %rdx
callq 0x1283a
movq %rax, %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x1a0ec
movq 0x1f2ed(%rip), %rdi     # 0x233c0
movq %rax, %rsi
callq 0x19cf2
cmpl $0x0, (%rbp)
je 0x4125
movq (%r13), %rax
movq 0x50(%rax), %rax
leaq 0x186cd(%rip), %rdi     # 0x1c7bd
movq %rdi, 0x10(%rax)
callq 0x1b084
testl %eax, %eax
je 0x4125
movq (%r13), %rax
movq 0x50(%rax), %rax
movl $0x5cd, 0xc(%rax)       # imm = 0x5CD
movq %r15, %rdi
callq 0x13b9c
leaq 0x19439(%rip), %rdi     # 0x1d554
movq %rax, %rsi
xorl %eax, %eax
callq 0x1b983
movq %rsp, %rdi
movl $0x5ce, 0xc(%rdi)       # imm = 0x5CE
callq 0x1ba97
movq %r15, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: run_repl
void
run_repl(int batch)
{
	CONFIG* cfg = CFG;  /* USE GLOBAL CONFIGURATION */

	for (;;) {
		int remain = run_configuration(cfg, batch);

		if (remain < 0) {
			DBUG_PRINT("", ("%d messages queued (limit %d).", cfg->q_count, cfg->q_limit));
			break;		/* abnormal return */
		}
		DBUG_PRINT("", ("%d messages delivered (batch %d).", (batch - remain), batch));
		if (remain == 0) {
			fprintf(stderr, "\nMessage limit of %d exceeded!\n", batch);
			fprintf(stderr, "%d undelivered message(s)\n", cfg->q_count);
		}
		if (cfg->t_count > 0) {
			DBUG_PRINT("", ("waiting for timed event..."));
			sleep(1);
		} else {
			return;		/* no more work to do! */
		}
	}
	fprintf(stderr, "\nOutstanding messages exceeded limit of %d\n", cfg->q_limit);
	abort();	/* abnormal termination */
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edi, %ebp
movq 0x1f246(%rip), %rbx     # 0x233a0
leaq 0x28(%rbx), %rax
movq %rax, (%rsp)
leaq 0x1f7c7(%rip), %r13     # 0x23930
leaq 0x1f1c0(%rip), %r14     # 0x23330
leaq 0x181d3(%rip), %r15     # 0x1c34a
movq %rbx, %rdi
movl %ebp, %esi
callq 0x12f5f
movl %eax, %r12d
movl (%r13), %eax
testl %r12d, %r12d
js 0x422b
testl %eax, %eax
je 0x41cf
movq (%r14), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x41cf
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb17, 0xc(%rax)       # imm = 0xB17
movl %ebp, %esi
subl %r12d, %esi
leaq 0x17fce(%rip), %rdi     # 0x1c194
movl %ebp, %edx
xorl %eax, %eax
callq 0x1b983
testl %r12d, %r12d
je 0x4281
cmpl $0x0, 0x68(%rbx)
jle 0x4270
cmpl $0x0, (%r13)
je 0x421c
movq (%r14), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x421c
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb1d, 0xc(%rax)       # imm = 0xB1D
leaq 0x17fdc(%rip), %rdi     # 0x1c1f1
xorl %eax, %eax
callq 0x1b983
movl $0x1, %edi
callq 0x2250
xorl %r12d, %r12d
jmp 0x4276
movl $0x2, %r12d
testl %eax, %eax
je 0x4276
movq (%r14), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x4276
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb14, 0xc(%rax)       # imm = 0xB14
movl 0x28(%rbx), %esi
movl 0x40(%rbx), %edx
leaq 0x17f0e(%rip), %rdi     # 0x1c175
xorl %eax, %eax
callq 0x1b983
jmp 0x4276
movl $0x1, %r12d
testl %r12d, %r12d
je 0x4177
jmp 0x4291
movl %ebp, %edi
movq (%rsp), %rsi
callq 0x2280
jmp 0x41d8
cmpl $0x2, %r12d
je 0x42a6
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x22bb
// File: /workspace/github_c_makefile_star2_O1/dalnefre[P]kernel_abe/kernel.c
// Function: run_test
void
run_test(int limit)
{
	CONFIG* cfg = CFG;  /* USE GLOBAL CONFIGURATION */

	for (;;) {
		int remain = run_configuration(cfg, limit);

		if (remain < 0) {
			DBUG_PRINT("", ("%d messages queued (limit %d).", cfg->q_count, cfg->q_limit));
			break;		/* abnormal return */
		}
		DBUG_PRINT("", ("%d messages delivered (limit %d).", (limit - remain), limit));
		if (cfg->q_count > 0) {
			DBUG_PRINT("", ("%d messages remain in queue.", cfg->q_count));
			break;		/* excessive messaging */
		}
		if (cfg->t_count > 0) {
			DBUG_PRINT("", ("waiting for timed event..."));
			sleep(1);
		} else {
			return;		/* no more work to do! */
		}
	}
	abort();	/* terminate test run */
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edi, %ebx
movq 0x1f0de(%rip), %r14     # 0x233a0
leaq 0x1f667(%rip), %r13     # 0x23930
leaq 0x1f060(%rip), %rbp     # 0x23330
leaq 0x18073(%rip), %r15     # 0x1c34a
movq %r14, %rdi
movl %ebx, %esi
callq 0x12f5f
movl %eax, %r12d
movl (%r13), %eax
testl %r12d, %r12d
js 0x438f
testl %eax, %eax
je 0x4331
movq (%rbp), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x4331
movq (%rbp), %rax
movq 0x50(%rax), %rax
movl $0xb33, 0xc(%rax)       # imm = 0xB33
movl %ebx, %esi
subl %r12d, %esi
leaq 0x17f10(%rip), %rdi     # 0x1c238
movl %ebx, %edx
xorl %eax, %eax
callq 0x1b983
cmpl $0x0, 0x28(%r14)
jle 0x43dc
movl $0x2, %r12d
cmpl $0x0, (%r13)
je 0x4434
movq (%rbp), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x4434
movq (%rbp), %rax
movq 0x50(%rax), %rax
movl $0xb35, 0xc(%rax)       # imm = 0xB35
movl 0x28(%r14), %esi
leaq 0x17ed7(%rip), %rdi     # 0x1c25a
xorl %eax, %eax
callq 0x1b983
jmp 0x4434
movl $0x2, %r12d
testl %eax, %eax
je 0x4434
movq (%rbp), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x4434
movq (%rbp), %rax
movq 0x50(%rax), %rax
movl $0xb30, 0xc(%rax)       # imm = 0xB30
movl 0x28(%r14), %esi
movl 0x40(%r14), %edx
leaq 0x17da2(%rip), %rdi     # 0x1c175
xorl %eax, %eax
callq 0x1b983
jmp 0x4434
cmpl $0x0, 0x68(%r14)
jle 0x442e
cmpl $0x0, (%r13)
je 0x441f
movq (%rbp), %rax
movq 0x50(%rax), %rax
movq %r15, 0x10(%rax)
movq %r15, %rdi
callq 0x1b084
testl %eax, %eax
je 0x441f
movq (%rbp), %rax
movq 0x50(%rax), %rax
movl $0xb39, 0xc(%rax)       # imm = 0xB39
leaq 0x17dd9(%rip), %rdi     # 0x1c1f1
xorl %eax, %eax
callq 0x1b983
movl $0x1, %edi
callq 0x2250
xorl %r12d, %r12d
jmp 0x4434
movl $0x1, %r12d
testl %r12d, %r12d
je 0x42d7
cmpl $0x2, %r12d
je 0x4452
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x2050