// File: /workspace/github_c_makefile_star2_O0/oridb[P]mc/6/gengas.c
// Function: writeblob
static void
writeblob(FILE *fd, Blob *b)
{
	size_t i;

	if (!b)
		return;
	if (b->lbl) {
		if (b->iscomdat)
			emitonce(fd, b);
		if (b->isglobl)
			fprintf(fd, ".globl %s%s\n", Symprefix, b->lbl);
		fprintf(fd, "%s%s:\n", Symprefix, b->lbl);
	}
	switch (b->type) {
	case Btimin:	encodemin(fd, b->ival);	break;
	case Bti8:	fprintf(fd, "\t.byte %llu\n", b->ival);	break;
	case Bti16:	fprintf(fd, "\t.short %llu\n", b->ival);	break;
	case Bti32:	fprintf(fd, "\t.long %llu\n", b->ival);	break;
	case Bti64:	fprintf(fd, "\t.quad %llu\n", b->ival);	break;
	case Btbytes:	writebytes(fd, b->bytes.buf, b->bytes.len);	break;
	case Btpad:	fprintf(fd, "\t.fill %llu,1,0\n", b->npad);	break;
	case Btref:	fprintf(fd, "\t.quad %s + %zd\n", b->ref.str, b->ref.off);	break;
	case Btseq:
		for (i = 0; i < b->seq.nsub; i++)
			writeblob(fd, b->seq.sub[i]);
		break;
	}
	if (b->lbl && b->iscomdat)
		fprintf(fd, ".text\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x883c
jmp 0x8a28
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x88aa
movq -0x10(%rbp), %rax
cmpb $0x0, 0x19(%rax)
je 0x885e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x9040
movq -0x10(%rbp), %rax
cmpb $0x0, 0x18(%rax)
je 0x8889
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
leaq 0x4322f(%rip), %rsi     # 0x4baaa
leaq 0x4cfa3(%rip), %rdx     # 0x55825
movb $0x0, %al
callq 0x6230
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
leaq 0x4321b(%rip), %rsi     # 0x4bab7
leaq 0x4cf82(%rip), %rdx     # 0x55825
movb $0x0, %al
callq 0x6230
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x20(%rbp)
subq $0x8, %rax
ja 0x89fe
movq -0x20(%rbp), %rax
leaq 0x42a2f(%rip), %rcx     # 0x4b2f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x90e0
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
leaq 0x431c3(%rip), %rsi     # 0x4babe
movb $0x0, %al
callq 0x6230
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
leaq 0x431b1(%rip), %rsi     # 0x4bacb
movb $0x0, %al
callq 0x6230
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
leaq 0x431a0(%rip), %rsi     # 0x4bad9
movb $0x0, %al
callq 0x6230
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
leaq 0x4318e(%rip), %rsi     # 0x4bae6
movb $0x0, %al
callq 0x6230
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
callq 0x8580
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
leaq 0x43161(%rip), %rsi     # 0x4baf3
movb $0x0, %al
callq 0x6230
jmp 0x89fe
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rcx
leaq 0x4314e(%rip), %rsi     # 0x4bb04
movb $0x0, %al
callq 0x6230
jmp 0x89fe
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x89fc
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x8820
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x89c7
jmp 0x89fe
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x8a28
movq -0x10(%rbp), %rax
movsbl 0x19(%rax), %eax
cmpl $0x0, %eax
je 0x8a28
movq -0x8(%rbp), %rdi
leaq 0x42a5d(%rip), %rsi     # 0x4b47e
movb $0x0, %al
callq 0x6230
addq $0x20, %rsp
popq %rbp
retq
nop