LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen.c
// Function: ir_cond_expr
static void _ir_cond_expr(
	IRGeneratorContext *ctx,
	ResizableString *cond_expr_label,
	_ExprResult *expr_result,
	ParserASTNode *expr_node
) {
	return _ir_cond_expr_with_rstr(
		ctx,
		ctx->body,
		cond_expr_label,
		expr_result,
		expr_node
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x1d730
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: fe_irgen_c_generate
void fe_irgen_c_generate(IRGeneratorCContext *ctx) {
	assert(ctx);
	assert(ctx->psrctx);
	assert(ctx->psrctx->ast);
	assert(ctx->psrctx->ast->type == FE_NODE_MODULE);
	assert(ctx->out);

	_ir_module(ctx, ctx->psrctx->ast);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x20525
jmp 0x20544
leaq 0x5c02a(%rip), %rdi     # 0x7c556
leaq 0x568b5(%rip), %rsi     # 0x76de8
movl $0x76d, %edx            # imm = 0x76D
leaq 0x568c5(%rip), %rcx     # 0x76e04
callq 0x30a0
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x20550
jmp 0x2056f
leaq 0x53e84(%rip), %rdi     # 0x743db
leaq 0x5688a(%rip), %rsi     # 0x76de8
movl $0x76e, %edx            # imm = 0x76E
leaq 0x5689a(%rip), %rcx     # 0x76e04
callq 0x30a0
movq -0x8(%rbp), %rax
movq (%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x2057f
jmp 0x2059e
leaq 0x53e61(%rip), %rdi     # 0x743e7
leaq 0x5685b(%rip), %rsi     # 0x76de8
movl $0x76f, %edx            # imm = 0x76F
leaq 0x5686b(%rip), %rcx     # 0x76e04
callq 0x30a0
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
cmpl $0x100, (%rax)          # imm = 0x100
jne 0x205b3
jmp 0x205d2
leaq 0x53e3e(%rip), %rdi     # 0x743f8
leaq 0x56827(%rip), %rsi     # 0x76de8
movl $0x770, %edx            # imm = 0x770
leaq 0x56837(%rip), %rcx     # 0x76e04
callq 0x30a0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x205df
jmp 0x205fe
leaq 0x53e3b(%rip), %rdi     # 0x74421
leaq 0x567fb(%rip), %rsi     # 0x76de8
movl $0x771, %edx            # imm = 0x771
leaq 0x5680b(%rip), %rcx     # 0x76e04
callq 0x30a0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rsi
callq 0x20620
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_module
static void _ir_module(IRGeneratorCContext *ctx, ParserASTNode *node) {
	assert(ctx);
	assert(node);
	assert(node->type == FE_NODE_MODULE);

	_OUT_CSTR(ctx, "#include <inttypes.h>\n");
	_OUT_CSTR(ctx, "#include <stdarg.h>\n");
	_OUT_CSTR(ctx, "\n");

	_OUT_STR(ctx, ctx->global.buffer, ctx->global.len);

	for (int i = 0; i < node->nchilds; i++) {
		_ir_module_item(ctx, node->childs[i]);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x20639
jmp 0x20658
leaq 0x5bf16(%rip), %rdi     # 0x7c556
leaq 0x567a1(%rip), %rsi     # 0x76de8
movl $0x75a, %edx            # imm = 0x75A
leaq 0x5685a(%rip), %rcx     # 0x76ead
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x20661
jmp 0x20680
leaq 0x5596b(%rip), %rdi     # 0x75fd3
leaq 0x56779(%rip), %rsi     # 0x76de8
movl $0x75b, %edx            # imm = 0x75B
leaq 0x56832(%rip), %rcx     # 0x76ead
callq 0x30a0
movq -0x10(%rbp), %rax
cmpl $0x100, (%rax)          # imm = 0x100
jne 0x2068e
jmp 0x206ad
leaq 0x53e93(%rip), %rdi     # 0x74528
leaq 0x5674c(%rip), %rsi     # 0x76de8
movl $0x75c, %edx            # imm = 0x75C
leaq 0x56805(%rip), %rcx     # 0x76ead
callq 0x30a0
movl $0x0, -0x14(%rbp)
movslq -0x14(%rbp), %rax
cmpq $0x16, %rax
jae 0x206e5
movslq -0x14(%rbp), %rcx
leaq 0x5681c(%rip), %rax     # 0x76ee5
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x206b4
movl $0x0, -0x18(%rbp)
movslq -0x18(%rbp), %rax
cmpq $0x14, %rax
jae 0x2071d
movslq -0x18(%rbp), %rcx
leaq 0x567fb(%rip), %rax     # 0x76efc
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x206ec
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x1, %rax
jae 0x20755
movslq -0x1c(%rbp), %rcx
leaq 0x559bd(%rip), %rax     # 0x760f6
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x20724
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x14(%rcx), %eax
jge 0x20790
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x2075c
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x44(%rcx), %eax
jge 0x207c7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x48(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x20960
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x20797
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: fe_irgen_c_new_context
IRGeneratorCContext * fe_irgen_c_new_context(ParserContext *psrctx, FILE *out) {
	assert(psrctx);
	assert(psrctx->ast);
	assert(out);
	
	IRGeneratorCContext *ctx = (IRGeneratorCContext *)malloc(sizeof(IRGeneratorCContext));
	if (ctx == NULL) {
		_error("cannot allocate memory for a new context!");
	}

	ctx->psrctx = psrctx;
	ctx->out = out;

	rstr_init(&(ctx->global));

	return ctx;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x207e9
jmp 0x20808
leaq 0x53bf0(%rip), %rdi     # 0x743e0
leaq 0x565f1(%rip), %rsi     # 0x76de8
movl $0x777, %edx            # imm = 0x777
leaq 0x56631(%rip), %rcx     # 0x76e34
callq 0x30a0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x20815
jmp 0x20834
leaq 0x53bd0(%rip), %rdi     # 0x743ec
leaq 0x565c5(%rip), %rsi     # 0x76de8
movl $0x778, %edx            # imm = 0x778
leaq 0x56605(%rip), %rcx     # 0x76e34
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x2083d
jmp 0x2085c
leaq 0x53be2(%rip), %rdi     # 0x74426
leaq 0x5659d(%rip), %rsi     # 0x76de8
movl $0x779, %edx            # imm = 0x779
leaq 0x565dd(%rip), %rcx     # 0x76e34
callq 0x30a0
movl $0x20, %edi
callq 0x3120
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2087d
leaq 0x53bf4(%rip), %rdi     # 0x7446c
callq 0x208b0
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rdi
addq $0x10, %rdi
callq 0x8c90
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_wrapper
static void _ir_expr_wrapper(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);
	assert(node_expr->type == FE_NODE_EXPR);
	assert(node_expr->nchilds == 1);

	if (_ir_expr_constexpr(ctx, rstr, node_expr)) {
		return;
	}

	ParserASTNode *child = node_expr->childs[0];
	_ir_expr(ctx, rstr, child);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x21d1d
jmp 0x21d3c
leaq 0x5a832(%rip), %rdi     # 0x7c556
leaq 0x550bd(%rip), %rsi     # 0x76de8
movl $0x4ab, %edx            # imm = 0x4AB
leaq 0x5536d(%rip), %rcx     # 0x770a4
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x21d45
jmp 0x21d64
leaq 0x50dc2(%rip), %rdi     # 0x72b0e
leaq 0x55095(%rip), %rsi     # 0x76de8
movl $0x4ac, %edx            # imm = 0x4AC
leaq 0x55345(%rip), %rcx     # 0x770a4
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x21d6d
jmp 0x21d8c
leaq 0x55381(%rip), %rdi     # 0x770f5
leaq 0x5506d(%rip), %rsi     # 0x76de8
movl $0x4ad, %edx            # imm = 0x4AD
leaq 0x5531d(%rip), %rcx     # 0x770a4
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xe00, (%rax)          # imm = 0xE00
jne 0x21d9a
jmp 0x21db9
leaq 0x548e2(%rip), %rdi     # 0x76683
leaq 0x55040(%rip), %rsi     # 0x76de8
movl $0x4ae, %edx            # imm = 0x4AE
leaq 0x552f0(%rip), %rcx     # 0x770a4
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x1, 0x44(%rax)
jne 0x21dc5
jmp 0x21de4
leaq 0x55333(%rip), %rdi     # 0x770ff
leaq 0x55015(%rip), %rsi     # 0x76de8
movl $0x4af, %edx            # imm = 0x4AF
leaq 0x552c5(%rip), %rcx     # 0x770a4
callq 0x30a0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x22200
testb $0x1, %al
jne 0x21dfb
jmp 0x21dfd
jmp 0x21e1d
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x227b0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_band
static bool _ir_expr_band(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	#define	_IR_EXPR_BAND(str_opt)	\
	{	\
		assert(node_expr->nchilds == 2);	\
		_IR_EXPR_AUTO_CAST_BEGIN	\
		rstr_append_with_cstr(rstr, "(");	\
		_ir_expr(ctx, rstr, node_expr->childs[0]);	\
		rstr_append_with_cstr(rstr, (str_opt));	\
		_ir_expr(ctx, rstr, node_expr->childs[1]);	\
		rstr_append_with_cstr(rstr, ")");	\
		_IR_EXPR_AUTO_CAST_END	\
	}

	switch (node_expr->type) {
		case FE_NODE_EXPR_BAND: {
			_IR_EXPR_BAND(" & ")
			return true;
		}
		default: {
			return false;
		}
	}

	#undef	_IR_EXPR_BAND
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2493d
jmp 0x2495c
leaq 0x57c12(%rip), %rdi     # 0x7c556
leaq 0x5249d(%rip), %rsi     # 0x76de8
movl $0x37d, %edx            # imm = 0x37D
leaq 0x52c90(%rip), %rcx     # 0x775e7
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x24965
jmp 0x24984
leaq 0x4e1a2(%rip), %rdi     # 0x72b0e
leaq 0x52475(%rip), %rsi     # 0x76de8
movl $0x37e, %edx            # imm = 0x37E
leaq 0x52c68(%rip), %rcx     # 0x775e7
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x2498d
jmp 0x249ac
leaq 0x52761(%rip), %rdi     # 0x770f5
leaq 0x5244d(%rip), %rsi     # 0x76de8
movl $0x37f, %edx            # imm = 0x37F
leaq 0x52c40(%rip), %rcx     # 0x775e7
callq 0x30a0
movq -0x20(%rbp), %rax
movl (%rax), %eax
subl $0xe60, %eax            # imm = 0xE60
jne 0x24ac0
jmp 0x249bf
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x249cb
jmp 0x249ea
leaq 0x52946(%rip), %rdi     # 0x77318
leaq 0x5240f(%rip), %rsi     # 0x76de8
movl $0x38f, %edx            # imm = 0x38F
leaq 0x52c02(%rip), %rcx     # 0x775e7
callq 0x30a0
leaq -0x30(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x30(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x24a24
leaq 0x52e97(%rip), %rax     # 0x778b5
movq %rax, -0x40(%rbp)
jmp 0x24a2c
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x52730(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x53010(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52bc1(%rip), %rsi     # 0x77636
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52500(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x30(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24ac4
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_bxor
static bool _ir_expr_bxor(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	#define	_IR_EXPR_BXOR(str_opt)	\
	{	\
		assert(node_expr->nchilds == 2);	\
		_IR_EXPR_AUTO_CAST_BEGIN	\
		rstr_append_with_cstr(rstr, "(");	\
		_ir_expr(ctx, rstr, node_expr->childs[0]);	\
		rstr_append_with_cstr(rstr, (str_opt));	\
		_ir_expr(ctx, rstr, node_expr->childs[1]);	\
		rstr_append_with_cstr(rstr, ")");	\
		_IR_EXPR_AUTO_CAST_END	\
	}

	switch (node_expr->type) {
		case FE_NODE_EXPR_BXOR: {
			_IR_EXPR_BXOR(" ^ ")
			return true;
		}
		default: {
			return false;
		}
	}

	#undef	_IR_EXPR_BXOR
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24aed
jmp 0x24b0c
leaq 0x57a62(%rip), %rdi     # 0x7c556
leaq 0x522ed(%rip), %rsi     # 0x76de8
movl $0x39f, %edx            # imm = 0x39F
leaq 0x52b33(%rip), %rcx     # 0x7763a
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x24b15
jmp 0x24b34
leaq 0x4dff2(%rip), %rdi     # 0x72b0e
leaq 0x522c5(%rip), %rsi     # 0x76de8
movl $0x3a0, %edx            # imm = 0x3A0
leaq 0x52b0b(%rip), %rcx     # 0x7763a
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x24b3d
jmp 0x24b5c
leaq 0x525b1(%rip), %rdi     # 0x770f5
leaq 0x5229d(%rip), %rsi     # 0x76de8
movl $0x3a1, %edx            # imm = 0x3A1
leaq 0x52ae3(%rip), %rcx     # 0x7763a
callq 0x30a0
movq -0x20(%rbp), %rax
movl (%rax), %eax
subl $0xe50, %eax            # imm = 0xE50
jne 0x24c70
jmp 0x24b6f
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x24b7b
jmp 0x24b9a
leaq 0x52796(%rip), %rdi     # 0x77318
leaq 0x5225f(%rip), %rsi     # 0x76de8
movl $0x3b1, %edx            # imm = 0x3B1
leaq 0x52aa5(%rip), %rcx     # 0x7763a
callq 0x30a0
leaq -0x30(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x30(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x24bd4
leaq 0x52ce7(%rip), %rax     # 0x778b5
movq %rax, -0x40(%rbp)
jmp 0x24bdc
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x52580(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x52e60(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52a64(%rip), %rsi     # 0x77689
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52350(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x30(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24c74
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_bor
static bool _ir_expr_bor(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	#define	_IR_EXPR_BOR(str_opt)	\
	{	\
		assert(node_expr->nchilds == 2);	\
		_IR_EXPR_AUTO_CAST_BEGIN	\
		rstr_append_with_cstr(rstr, "(");	\
		_ir_expr(ctx, rstr, node_expr->childs[0]);	\
		rstr_append_with_cstr(rstr, (str_opt));	\
		_ir_expr(ctx, rstr, node_expr->childs[1]);	\
		rstr_append_with_cstr(rstr, ")");	\
		_IR_EXPR_AUTO_CAST_END	\
	}

	switch (node_expr->type) {
		case FE_NODE_EXPR_BOR: {
			_IR_EXPR_BOR(" | ")
			return true;
		}
		default: {
			return false;
		}
	}

	#undef	_IR_EXPR_BOR
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24c9d
jmp 0x24cbc
leaq 0x578b2(%rip), %rdi     # 0x7c556
leaq 0x5213d(%rip), %rsi     # 0x76de8
movl $0x3c1, %edx            # imm = 0x3C1
leaq 0x529d6(%rip), %rcx     # 0x7768d
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x24cc5
jmp 0x24ce4
leaq 0x4de42(%rip), %rdi     # 0x72b0e
leaq 0x52115(%rip), %rsi     # 0x76de8
movl $0x3c2, %edx            # imm = 0x3C2
leaq 0x529ae(%rip), %rcx     # 0x7768d
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x24ced
jmp 0x24d0c
leaq 0x52401(%rip), %rdi     # 0x770f5
leaq 0x520ed(%rip), %rsi     # 0x76de8
movl $0x3c3, %edx            # imm = 0x3C3
leaq 0x52986(%rip), %rcx     # 0x7768d
callq 0x30a0
movq -0x20(%rbp), %rax
movl (%rax), %eax
subl $0xe40, %eax            # imm = 0xE40
jne 0x24e20
jmp 0x24d1f
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x24d2b
jmp 0x24d4a
leaq 0x525e6(%rip), %rdi     # 0x77318
leaq 0x520af(%rip), %rsi     # 0x76de8
movl $0x3d3, %edx            # imm = 0x3D3
leaq 0x52948(%rip), %rcx     # 0x7768d
callq 0x30a0
leaq -0x30(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x30(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x24d84
leaq 0x52b37(%rip), %rax     # 0x778b5
movq %rax, -0x40(%rbp)
jmp 0x24d8c
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x523d0(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x52cb0(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52906(%rip), %rsi     # 0x776db
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x521a0(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x30(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24e24
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_and
static bool _ir_expr_and(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	#define	_IR_EXPR_AND(str_opt)	\
	{	\
		assert(node_expr->nchilds == 2);	\
		rstr_append_with_cstr(rstr, "(");	\
		_ir_expr(ctx, rstr, node_expr->childs[0]);	\
		rstr_append_with_cstr(rstr, (str_opt));	\
		_ir_expr(ctx, rstr, node_expr->childs[1]);	\
		rstr_append_with_cstr(rstr, ")");	\
	}

	switch (node_expr->type) {
		case FE_NODE_EXPR_AND: {
			_IR_EXPR_AND(" && ")
			return true;
		}
		default: {
			return false;
		}
	}

	#undef	_IR_EXPR_AND
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24e4d
jmp 0x24e6c
leaq 0x57702(%rip), %rdi     # 0x7c556
leaq 0x51f8d(%rip), %rsi     # 0x76de8
movl $0x3e3, %edx            # imm = 0x3E3
leaq 0x52878(%rip), %rcx     # 0x776df
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x24e75
jmp 0x24e94
leaq 0x4dc92(%rip), %rdi     # 0x72b0e
leaq 0x51f65(%rip), %rsi     # 0x76de8
movl $0x3e4, %edx            # imm = 0x3E4
leaq 0x52850(%rip), %rcx     # 0x776df
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x24e9d
jmp 0x24ebc
leaq 0x52251(%rip), %rdi     # 0x770f5
leaq 0x51f3d(%rip), %rsi     # 0x76de8
movl $0x3e5, %edx            # imm = 0x3E5
leaq 0x52828(%rip), %rcx     # 0x776df
callq 0x30a0
movq -0x20(%rbp), %rax
movl (%rax), %eax
subl $0xe30, %eax            # imm = 0xE30
jne 0x24f61
jmp 0x24ecf
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x24edb
jmp 0x24efa
leaq 0x52436(%rip), %rdi     # 0x77318
leaq 0x51eff(%rip), %rsi     # 0x76de8
movl $0x3f3, %edx            # imm = 0x3F3
leaq 0x527ea(%rip), %rcx     # 0x776df
callq 0x30a0
movq -0x18(%rbp), %rdi
leaq 0x52b58(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52800(%rip), %rsi     # 0x7772d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52048(%rip), %rsi     # 0x76f9e
callq 0x8d70
movb $0x1, -0x1(%rbp)
jmp 0x24f65
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_or
static bool _ir_expr_or(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	#define	_IR_EXPR_OR(str_opt)	\
	{	\
		assert(node_expr->nchilds == 2);	\
		rstr_append_with_cstr(rstr, "(");	\
		_ir_expr(ctx, rstr, node_expr->childs[0]);	\
		rstr_append_with_cstr(rstr, (str_opt));	\
		_ir_expr(ctx, rstr, node_expr->childs[1]);	\
		rstr_append_with_cstr(rstr, ")");	\
	}

	switch (node_expr->type) {
		case FE_NODE_EXPR_OR: {
			_IR_EXPR_OR(" || ")
			return true;
		}
		default: {
			return false;
		}
	}

	#undef	_IR_EXPR_OR
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24f8d
jmp 0x24fac
leaq 0x575c2(%rip), %rdi     # 0x7c556
leaq 0x51e4d(%rip), %rsi     # 0x76de8
movl $0x403, %edx            # imm = 0x403
leaq 0x5278b(%rip), %rcx     # 0x77732
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x24fb5
jmp 0x24fd4
leaq 0x4db52(%rip), %rdi     # 0x72b0e
leaq 0x51e25(%rip), %rsi     # 0x76de8
movl $0x404, %edx            # imm = 0x404
leaq 0x52763(%rip), %rcx     # 0x77732
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x24fdd
jmp 0x24ffc
leaq 0x52111(%rip), %rdi     # 0x770f5
leaq 0x51dfd(%rip), %rsi     # 0x76de8
movl $0x405, %edx            # imm = 0x405
leaq 0x5273b(%rip), %rcx     # 0x77732
callq 0x30a0
movq -0x20(%rbp), %rax
movl (%rax), %eax
subl $0xe20, %eax            # imm = 0xE20
jne 0x250a1
jmp 0x2500f
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2501b
jmp 0x2503a
leaq 0x522f6(%rip), %rdi     # 0x77318
leaq 0x51dbf(%rip), %rsi     # 0x76de8
movl $0x413, %edx            # imm = 0x413
leaq 0x526fd(%rip), %rcx     # 0x77732
callq 0x30a0
movq -0x18(%rbp), %rdi
leaq 0x52a18(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52712(%rip), %rsi     # 0x7777f
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x51f08(%rip), %rsi     # 0x76f9e
callq 0x8d70
movb $0x1, -0x1(%rbp)
jmp 0x250a5
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_cond
static bool _ir_expr_cond(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	if (node_expr->type == FE_NODE_EXPR_COND) {
		assert(node_expr->nchilds == 3);
		rstr_append_with_cstr(rstr, "((");
		_ir_expr(ctx, rstr, node_expr->childs[0]);
		rstr_append_with_cstr(rstr, ")?(");
		_ir_expr(ctx, rstr, node_expr->childs[1]);
		rstr_append_with_cstr(rstr, "):(");
		_ir_expr(ctx, rstr, node_expr->childs[2]);
		rstr_append_with_cstr(rstr, "))");

		return true;
	} else {
		return false;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x250cd
jmp 0x250ec
leaq 0x57482(%rip), %rdi     # 0x7c556
leaq 0x51d0d(%rip), %rsi     # 0x76de8
movl $0x46b, %edx            # imm = 0x46B
leaq 0x5269d(%rip), %rcx     # 0x77784
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x250f5
jmp 0x25114
leaq 0x4da12(%rip), %rdi     # 0x72b0e
leaq 0x51ce5(%rip), %rsi     # 0x76de8
movl $0x46c, %edx            # imm = 0x46C
leaq 0x52675(%rip), %rcx     # 0x77784
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x2511d
jmp 0x2513c
leaq 0x51fd1(%rip), %rdi     # 0x770f5
leaq 0x51cbd(%rip), %rsi     # 0x76de8
movl $0x46d, %edx            # imm = 0x46D
leaq 0x5264d(%rip), %rcx     # 0x77784
callq 0x30a0
movq -0x20(%rbp), %rax
cmpl $0xecd, (%rax)          # imm = 0xECD
jne 0x25207
movq -0x20(%rbp), %rax
cmpl $0x3, 0x44(%rax)
jne 0x25158
jmp 0x25177
leaq 0x52674(%rip), %rdi     # 0x777d3
leaq 0x51c82(%rip), %rsi     # 0x76de8
movl $0x470, %edx            # imm = 0x470
leaq 0x52612(%rip), %rcx     # 0x77784
callq 0x30a0
movq -0x18(%rbp), %rdi
leaq 0x5229d(%rip), %rsi     # 0x7741f
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52641(%rip), %rsi     # 0x777eb
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x5261c(%rip), %rsi     # 0x777ef
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x51da1(%rip), %rsi     # 0x76f9d
callq 0x8d70
movb $0x1, -0x1(%rbp)
jmp 0x2520b
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_identifier
static void _ir_expr_identifier(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);
	assert(node_expr->type == FE_NODE_IDENTIFIER);
	assert(node_expr->nchilds == 0);

	rstr_append_with_raw(rstr, node_expr->token->content, node_expr->token->len);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2596d
jmp 0x2598c
leaq 0x56be2(%rip), %rdi     # 0x7c556
leaq 0x5146d(%rip), %rsi     # 0x76de8
movl $0x19b, %edx            # imm = 0x19B
leaq 0x518a0(%rip), %rcx     # 0x77227
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x25995
jmp 0x259b4
leaq 0x4d172(%rip), %rdi     # 0x72b0e
leaq 0x51445(%rip), %rsi     # 0x76de8
movl $0x19c, %edx            # imm = 0x19C
leaq 0x51878(%rip), %rcx     # 0x77227
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x259bd
jmp 0x259dc
leaq 0x51731(%rip), %rdi     # 0x770f5
leaq 0x5141d(%rip), %rsi     # 0x76de8
movl $0x19d, %edx            # imm = 0x19D
leaq 0x51850(%rip), %rcx     # 0x77227
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x200, (%rax)          # imm = 0x200
jne 0x259ea
jmp 0x25a09
leaq 0x5188a(%rip), %rdi     # 0x7727b
leaq 0x513f0(%rip), %rsi     # 0x76de8
movl $0x19e, %edx            # imm = 0x19E
leaq 0x51823(%rip), %rcx     # 0x77227
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x0, 0x44(%rax)
jne 0x25a15
jmp 0x25a34
leaq 0x51885(%rip), %rdi     # 0x772a1
leaq 0x513c5(%rip), %rsi     # 0x76de8
movl $0x19f, %edx            # imm = 0x19F
leaq 0x517f8(%rip), %rcx     # 0x77227
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x4(%rax), %edx
callq 0x8f90
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_func_call_params
static void _ir_expr_func_call_params(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);
	assert(node_expr->type == FE_NODE_EXPR_FUNC_CALL_PARAMS);

	if (node_expr->nchilds > 0) {
		_ir_expr(ctx, rstr, node_expr->childs[0]);
		for (int i = 1; i < node_expr->nchilds; i++) {
			rstr_append_with_cstr(rstr, ", ");
			_ir_expr(ctx, rstr, node_expr->childs[i]);
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x25a7d
jmp 0x25a9c
leaq 0x56ad2(%rip), %rdi     # 0x7c556
leaq 0x5135d(%rip), %rsi     # 0x76de8
movl $0x1e0, %edx            # imm = 0x1E0
leaq 0x5189c(%rip), %rcx     # 0x77333
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x25aa5
jmp 0x25ac4
leaq 0x4d062(%rip), %rdi     # 0x72b0e
leaq 0x51335(%rip), %rsi     # 0x76de8
movl $0x1e1, %edx            # imm = 0x1E1
leaq 0x51874(%rip), %rcx     # 0x77333
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x25acd
jmp 0x25aec
leaq 0x51621(%rip), %rdi     # 0x770f5
leaq 0x5130d(%rip), %rsi     # 0x76de8
movl $0x1e2, %edx            # imm = 0x1E2
leaq 0x5184c(%rip), %rcx     # 0x77333
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xed4, (%rax)          # imm = 0xED4
jne 0x25afa
jmp 0x25b19
leaq 0x5188c(%rip), %rdi     # 0x7738d
leaq 0x512e0(%rip), %rsi     # 0x76de8
movl $0x1e3, %edx            # imm = 0x1E3
leaq 0x5181f(%rip), %rcx     # 0x77333
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x0, 0x44(%rax)
jle 0x25b88
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movl $0x1, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x44(%rcx), %eax
jge 0x25b86
movq -0x10(%rbp), %rdi
leaq 0x4f670(%rip), %rsi     # 0x751c9
callq 0x8d70
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
callq 0x227b0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x25b42
jmp 0x25b88
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stats_block
static void _ir_stats_block(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node_stats_block
) {
	assert(ctx);
	assert(node_stats_block);
	assert(node_stats_block->type == FE_NODE_STATS_BLOCK);

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "{\n");

	for (int i = 0; i < node_stats_block->nchilds; i++) {
		ParserASTNode *node_stat = node_stats_block->childs[i];
		_ir_stat(ctx, indentLevel + 1, node_stat);
	}

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "}\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x25bac
jmp 0x25bcb
leaq 0x569a3(%rip), %rdi     # 0x7c556
leaq 0x5122e(%rip), %rsi     # 0x76de8
movl $0x6ee, %edx            # imm = 0x6EE
leaq 0x51d46(%rip), %rcx     # 0x7790c
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x25bd4
jmp 0x25bf3
leaq 0x50681(%rip), %rdi     # 0x7625c
leaq 0x51206(%rip), %rsi     # 0x76de8
movl $0x6ef, %edx            # imm = 0x6EF
leaq 0x51d1e(%rip), %rcx     # 0x7790c
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xb00, (%rax)          # imm = 0xB00
jne 0x25c01
jmp 0x25c20
leaq 0x50665(%rip), %rdi     # 0x7626d
leaq 0x511d9(%rip), %rsi     # 0x76de8
movl $0x6f0, %edx            # imm = 0x6F0
leaq 0x51cf1(%rip), %rcx     # 0x7790c
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x2, %rax
jae 0x25c64
movslq -0x1c(%rbp), %rcx
leaq 0x51c69(%rip), %rax     # 0x778b1
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x25c33
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x44(%rcx), %eax
jge 0x25ca9
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
addl $0x1, %esi
movq -0x28(%rbp), %rdx
callq 0x25d50
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x25c6b
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x2c(%rbp)
movslq -0x2c(%rbp), %rax
cmpq $0x2, %rax
jae 0x25ced
movslq -0x2c(%rbp), %rcx
leaq 0x524a6(%rip), %rax     # 0x78177
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x25cbc
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stat_var
static void _ir_stat_var(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node
) {
	assert(ctx);
	assert(node);
	assert(node->type == FE_NODE_VAR);

	_OUT_INDENT(ctx, indentLevel);
	_ir_var(ctx, node);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2604c
jmp 0x2606b
leaq 0x56503(%rip), %rdi     # 0x7c556
leaq 0x50d8e(%rip), %rsi     # 0x76de8
movl $0x526, %edx            # imm = 0x526
leaq 0x51923(%rip), %rcx     # 0x77989
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x26074
jmp 0x26093
leaq 0x4ff58(%rip), %rdi     # 0x75fd3
leaq 0x50d66(%rip), %rsi     # 0x76de8
movl $0x527, %edx            # imm = 0x527
leaq 0x518fb(%rip), %rcx     # 0x77989
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xc00, (%rax)          # imm = 0xC00
jne 0x260a1
jmp 0x260c0
leaq 0x5872e(%rip), %rdi     # 0x7e7d6
leaq 0x50d39(%rip), %rsi     # 0x76de8
movl $0x528, %edx            # imm = 0x528
leaq 0x518ce(%rip), %rcx     # 0x77989
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x20a40
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stat_while
static void _ir_stat_while(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node_stat_while
) {
	assert(ctx);
	assert(node_stat_while);
	assert(node_stat_while->type == FE_NODE_STAT_WHILE);

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "while (");
	ResizableString rstr_while_expr;
	rstr_init(&rstr_while_expr);
	_ir_expr_wrapper(ctx, &rstr_while_expr, node_stat_while->childs[0]);
	_OUT_STR(ctx, rstr_while_expr.buffer, rstr_while_expr.len);
	rstr_free(&rstr_while_expr);
	_OUT_CSTR(ctx, ")\n");
	_ir_stats_block(ctx, indentLevel, node_stat_while->childs[1]);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2645c
jmp 0x2647b
leaq 0x560f3(%rip), %rdi     # 0x7c556
leaq 0x5097e(%rip), %rsi     # 0x76de8
movl $0x55c, %edx            # imm = 0x55C
leaq 0x515a0(%rip), %rcx     # 0x77a16
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x26484
jmp 0x264a3
leaq 0x4ff24(%rip), %rdi     # 0x763af
leaq 0x50956(%rip), %rsi     # 0x76de8
movl $0x55d, %edx            # imm = 0x55D
leaq 0x51578(%rip), %rcx     # 0x77a16
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xb20, (%rax)          # imm = 0xB20
jne 0x264b1
jmp 0x264d0
leaq 0x4ff07(%rip), %rdi     # 0x763bf
leaq 0x50929(%rip), %rsi     # 0x76de8
movl $0x55e, %edx            # imm = 0x55E
leaq 0x5154b(%rip), %rcx     # 0x77a16
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x7, %rax
jae 0x26514
movslq -0x1c(%rbp), %rcx
leaq 0x5155f(%rip), %rax     # 0x77a57
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x264e3
leaq -0x30(%rbp), %rdi
callq 0x8c90
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
leaq -0x30(%rbp), %rsi
callq 0x21d00
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x26568
movq -0x28(%rbp), %rax
movslq -0x34(%rbp), %rcx
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x2653c
leaq -0x30(%rbp), %rdi
callq 0x9310
movl $0x0, -0x38(%rbp)
movslq -0x38(%rbp), %rax
cmpq $0x2, %rax
jae 0x265a9
movslq -0x38(%rbp), %rcx
leaq 0x51c32(%rip), %rax     # 0x781bf
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x26578
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x25b90
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stat_do
static void _ir_stat_do(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node_stat_do
) {
	assert(ctx);
	assert(node_stat_do);
	assert(node_stat_do->type == FE_NODE_STAT_DO);

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "do\n");
	_ir_stats_block(ctx, indentLevel, node_stat_do->childs[0]);
	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "while (");
	ResizableString rstr_do_expr;
	rstr_init(&rstr_do_expr);
	_ir_expr_wrapper(ctx, &rstr_do_expr, node_stat_do->childs[1]);
	_OUT_STR(ctx, rstr_do_expr.buffer, rstr_do_expr.len);
	rstr_free(&rstr_do_expr);
	_OUT_CSTR(ctx, ");\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x265ec
jmp 0x2660b
leaq 0x55f63(%rip), %rdi     # 0x7c556
leaq 0x507ee(%rip), %rsi     # 0x76de8
movl $0x570, %edx            # imm = 0x570
leaq 0x51459(%rip), %rcx     # 0x77a5f
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x26614
jmp 0x26633
leaq 0x4fe08(%rip), %rdi     # 0x76423
leaq 0x507c6(%rip), %rsi     # 0x76de8
movl $0x571, %edx            # imm = 0x571
leaq 0x51431(%rip), %rcx     # 0x77a5f
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xb30, (%rax)          # imm = 0xB30
jne 0x26641
jmp 0x26660
leaq 0x4fde8(%rip), %rdi     # 0x76430
leaq 0x50799(%rip), %rsi     # 0x76de8
movl $0x572, %edx            # imm = 0x572
leaq 0x51404(%rip), %rcx     # 0x77a5f
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x3, %rax
jae 0x266a4
movslq -0x1c(%rbp), %rcx
leaq 0x51415(%rip), %rax     # 0x77a9d
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x26673
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x25b90
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x20(%rbp)
movslq -0x20(%rbp), %rax
cmpq $0x7, %rax
jae 0x266ff
movslq -0x20(%rbp), %rcx
leaq 0x51374(%rip), %rax     # 0x77a57
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x266ce
leaq -0x30(%rbp), %rdi
callq 0x8c90
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
leaq -0x30(%rbp), %rsi
callq 0x21d00
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x2c(%rbp), %eax
jge 0x26754
movq -0x28(%rbp), %rax
movslq -0x34(%rbp), %rcx
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x26728
leaq -0x30(%rbp), %rdi
callq 0x9310
movl $0x0, -0x38(%rbp)
movslq -0x38(%rbp), %rax
cmpq $0x3, %rax
jae 0x26795
movslq -0x38(%rbp), %rcx
leaq 0x51155(%rip), %rax     # 0x778ce
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x26764
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stat_break
static void _ir_stat_break(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node_stat_break
) {
	assert(ctx);
	assert(node_stat_break);
	assert(node_stat_break->type == FE_NODE_STAT_BREAK);
	assert(node_stat_break->nchilds == 0);

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "break;\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x26b9c
jmp 0x26bbb
leaq 0x559b3(%rip), %rdi     # 0x7c556
leaq 0x5023e(%rip), %rsi     # 0x76de8
movl $0x5bc, %edx            # imm = 0x5BC
leaq 0x50fd1(%rip), %rcx     # 0x77b87
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x26bc4
jmp 0x26be3
leaq 0x4fb13(%rip), %rdi     # 0x766de
leaq 0x50216(%rip), %rsi     # 0x76de8
movl $0x5bd, %edx            # imm = 0x5BD
leaq 0x50fa9(%rip), %rcx     # 0x77b87
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xb60, (%rax)          # imm = 0xB60
jne 0x26bf1
jmp 0x26c10
leaq 0x4faf6(%rip), %rdi     # 0x766ee
leaq 0x501e9(%rip), %rsi     # 0x76de8
movl $0x5be, %edx            # imm = 0x5BE
leaq 0x50f7c(%rip), %rcx     # 0x77b87
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x0, 0x44(%rax)
jne 0x26c1c
jmp 0x26c3b
leaq 0x4faf7(%rip), %rdi     # 0x7671a
leaq 0x501be(%rip), %rsi     # 0x76de8
movl $0x5bf, %edx            # imm = 0x5BF
leaq 0x50f51(%rip), %rcx     # 0x77b87
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x7, %rax
jae 0x26c7f
movslq -0x1c(%rbp), %rcx
leaq 0x50f65(%rip), %rax     # 0x77bc8
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x26c4e
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stat_continue
static void _ir_stat_continue(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node_stat_continue
) {
	assert(ctx);
	assert(node_stat_continue);
	assert(node_stat_continue->type == FE_NODE_STAT_CONTINUE);
	assert(node_stat_continue->nchilds == 0);

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "continue;\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x26cac
jmp 0x26ccb
leaq 0x558a3(%rip), %rdi     # 0x7c556
leaq 0x5012e(%rip), %rsi     # 0x76de8
movl $0x5ca, %edx            # imm = 0x5CA
leaq 0x50f0a(%rip), %rcx     # 0x77bd0
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x26cd4
jmp 0x26cf3
leaq 0x4faa5(%rip), %rdi     # 0x76780
leaq 0x50106(%rip), %rsi     # 0x76de8
movl $0x5cb, %edx            # imm = 0x5CB
leaq 0x50ee2(%rip), %rcx     # 0x77bd0
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xb50, (%rax)          # imm = 0xB50
jne 0x26d01
jmp 0x26d20
leaq 0x4fa8b(%rip), %rdi     # 0x76793
leaq 0x500d9(%rip), %rsi     # 0x76de8
movl $0x5cc, %edx            # imm = 0x5CC
leaq 0x50eb5(%rip), %rcx     # 0x77bd0
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x0, 0x44(%rax)
jne 0x26d2c
jmp 0x26d4b
leaq 0x4fa92(%rip), %rdi     # 0x767c5
leaq 0x500ae(%rip), %rsi     # 0x76de8
movl $0x5cd, %edx            # imm = 0x5CD
leaq 0x50e8a(%rip), %rcx     # 0x77bd0
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0xa, %rax
jae 0x26d8f
movslq -0x1c(%rbp), %rcx
leaq 0x50ea1(%rip), %rax     # 0x77c14
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x26d5e
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_stat_goto
static void _ir_stat_goto(
	IRGeneratorCContext *ctx,
	int indentLevel,
	ParserASTNode *node_stat_goto
) {
	assert(ctx);
	assert(node_stat_goto);
	assert(node_stat_goto->type == FE_NODE_STAT_GOTO);
	assert(node_stat_goto->nchilds == 1);

	ParserASTNode *node_label = node_stat_goto->childs[0];
	assert(node_label->type == FE_NODE_IDENTIFIER);

	_OUT_INDENT(ctx, indentLevel);
	_OUT_CSTR(ctx, "goto ");
	_OUT_STR(ctx, node_label->token->content, node_label->token->len);
	_OUT_CSTR(ctx, ";\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x26fdc
jmp 0x26ffb
leaq 0x55573(%rip), %rdi     # 0x7c556
leaq 0x4fdfe(%rip), %rsi     # 0x76de8
movl $0x5f5, %edx            # imm = 0x5F5
leaq 0x50c73(%rip), %rcx     # 0x77c69
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x27004
jmp 0x27023
leaq 0x4f8fc(%rip), %rdi     # 0x76907
leaq 0x4fdd6(%rip), %rsi     # 0x76de8
movl $0x5f6, %edx            # imm = 0x5F6
leaq 0x50c4b(%rip), %rcx     # 0x77c69
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0xb80, (%rax)          # imm = 0xB80
jne 0x27031
jmp 0x27050
leaq 0x4f8de(%rip), %rdi     # 0x76916
leaq 0x4fda9(%rip), %rsi     # 0x76de8
movl $0x5f7, %edx            # imm = 0x5F7
leaq 0x50c1e(%rip), %rcx     # 0x77c69
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x1, 0x44(%rax)
jne 0x2705c
jmp 0x2707b
leaq 0x4f8dd(%rip), %rdi     # 0x76940
leaq 0x4fd7e(%rip), %rsi     # 0x76de8
movl $0x5f8, %edx            # imm = 0x5F8
leaq 0x50bf3(%rip), %rcx     # 0x77c69
callq 0x30a0
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpl $0x200, (%rax)          # imm = 0x200
jne 0x27098
jmp 0x270b7
leaq 0x50c0a(%rip), %rdi     # 0x77ca9
leaq 0x4fd42(%rip), %rsi     # 0x76de8
movl $0x5fb, %edx            # imm = 0x5FB
leaq 0x50bb7(%rip), %rcx     # 0x77c69
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x25d00
movl $0x0, -0x24(%rbp)
movslq -0x24(%rbp), %rax
cmpq $0x5, %rax
jae 0x270fb
movslq -0x24(%rbp), %rcx
leaq 0x50bf1(%rip), %rax     # 0x77cd0
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x270ca
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
movq -0x20(%rbp), %rcx
movq 0x10(%rcx), %rcx
cmpl 0x4(%rcx), %eax
jge 0x2713e
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movslq -0x28(%rbp), %rcx
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x27102
movl $0x0, -0x2c(%rbp)
movslq -0x2c(%rbp), %rax
cmpq $0x2, %rax
jae 0x27176
movslq -0x2c(%rbp), %rcx
leaq 0x4fa04(%rip), %rax     # 0x76b5e
movsbl (%rax,%rcx), %edi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x30d0
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x27145
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)