// File: /workspace/github_c_makefile_star2_O0/aligrudi[P]neatmkfn/trfn.c
// Function: mkfn_char
void mkfn_char(char *psname, int n, int u, int wid,
		int llx, int lly, int urx, int ury)
{
	char uc[GNLEN];			/* mapping unicode character */
	char **a_tr;			/* troff character names */
	char pos[GNLEN] = "";		/* postscript character position/name */
	int typ;			/* character type */
	/* initializing character attributes */
	if (trfn_name(uc, psname, u))
		strcpy(uc, "---");
	trfn_aglexceptions(uc);
	if (mkfn_pos && n >= 0 && n < 256)
		sprintf(pos, "%d", n);
	if (mkfn_pos && n < 0 && !uc[1] && uc[0] >= 32 && uc[0] <= 125)
		if (!strchr(psname, '.'))
			sprintf(pos, "%d", uc[0]);
	typ = trfn_type(!strchr(psname, '.') ? uc : "", lly, ury);
	if (!mkfn_swid && (!strcmp(" ", uc) || !strcmp(" ", uc)))
		mkfn_swid = wid;
	/* printing troff charset */
	if (isspace((unsigned char) uc[0]) || strchr(uc, ' '))
		strcpy(uc, "---");	/* space not allowed in char names */
	if (strcmp("---", uc))
		trfn_lig(uc);
	sbuf_printf(sbuf_char, "char %s\t%d", uc, wid);
	if (mkfn_bbox && (llx || lly || urx || ury))
		sbuf_printf(sbuf_char, ",%d,%d,%d,%d", llx, lly, urx, ury);
	sbuf_printf(sbuf_char, "\t%d\t%s\t%s\n", typ, psname, pos);
	a_tr = tab_get(tab_alts, uc);
	while (a_tr && *a_tr)
		sbuf_printf(sbuf_char, "char %s\t\"\n", *a_tr++);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
leaq -0xb0(%rbp), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x3d0f0
leaq -0x60(%rbp), %rdi
movq -0x8(%rbp), %rsi
movl -0x10(%rbp), %edx
callq 0x3de90
cmpl $0x0, %eax
je 0x3dc0e
leaq -0x60(%rbp), %rdi
leaq 0x8b3e(%rip), %rsi      # 0x46747
callq 0x3d050
leaq -0x60(%rbp), %rdi
callq 0x3e180
leaq 0x1c4d6(%rip), %rax     # 0x5a0f4
cmpl $0x0, (%rax)
je 0x3dc4a
cmpl $0x0, -0xc(%rbp)
jl 0x3dc4a
cmpl $0x100, -0xc(%rbp)      # imm = 0x100
jge 0x3dc4a
leaq -0xb0(%rbp), %rdi
movl -0xc(%rbp), %edx
leaq 0x8b13(%rip), %rsi      # 0x46756
movb $0x0, %al
callq 0x3d180
leaq 0x1c4a3(%rip), %rax     # 0x5a0f4
cmpl $0x0, (%rax)
je 0x3dca3
cmpl $0x0, -0xc(%rbp)
jge 0x3dca3
cmpb $0x0, -0x5f(%rbp)
jne 0x3dca3
movsbl -0x60(%rbp), %eax
cmpl $0x20, %eax
jl 0x3dca3
movsbl -0x60(%rbp), %eax
cmpl $0x7d, %eax
jg 0x3dca3
movq -0x8(%rbp), %rdi
movl $0x2e, %esi
callq 0x3d0a0
cmpq $0x0, %rax
jne 0x3dca1
leaq -0xb0(%rbp), %rdi
movsbl -0x60(%rbp), %edx
leaq 0x8abc(%rip), %rsi      # 0x46756
movb $0x0, %al
callq 0x3d180
jmp 0x3dca3
movq -0x8(%rbp), %rdi
movl $0x2e, %esi
callq 0x3d0a0
cmpq $0x0, %rax
jne 0x3dcc4
leaq -0x60(%rbp), %rax
movq %rax, -0xc0(%rbp)
jmp 0x3dcd4
leaq 0x8ab0(%rip), %rax      # 0x4677b
movq %rax, -0xc0(%rbp)
jmp 0x3dcd4
movq -0xc0(%rbp), %rdi
movl -0x1c(%rbp), %esi
movl 0x18(%rbp), %edx
callq 0x3e200
movl %eax, -0xb4(%rbp)
leaq 0x34b01(%rip), %rax     # 0x727f4
cmpl $0x0, (%rax)
jne 0x3dd2e
leaq -0x60(%rbp), %rsi
leaq 0x19dd5(%rip), %rdi     # 0x57ad8
callq 0x3d120
cmpl $0x0, %eax
je 0x3dd22
leaq -0x60(%rbp), %rsi
leaq 0x8a33(%rip), %rdi      # 0x4674b
callq 0x3d120
cmpl $0x0, %eax
jne 0x3dd2e
movl -0x14(%rbp), %ecx
leaq 0x34ac8(%rip), %rax     # 0x727f4
movl %ecx, (%rax)
callq 0x3d1a0
movq (%rax), %rax
movzbl -0x60(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x3dd5f
leaq -0x60(%rbp), %rdi
movl $0x20, %esi
callq 0x3d0a0
cmpq $0x0, %rax
je 0x3dd6f
leaq -0x60(%rbp), %rdi
leaq 0x89dd(%rip), %rsi      # 0x46747
callq 0x3d050
leaq -0x60(%rbp), %rsi
leaq 0x89cd(%rip), %rdi      # 0x46747
callq 0x3d120
cmpl $0x0, %eax
je 0x3dd8d
leaq -0x60(%rbp), %rdi
callq 0x3e320
movq 0x34a6c(%rip), %rdi     # 0x72800
leaq -0x60(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x89ac(%rip), %rsi      # 0x4674e
movb $0x0, %al
callq 0x3f2c0
leaq 0x34a34(%rip), %rax     # 0x727e4
cmpl $0x0, (%rax)
je 0x3ddf0
cmpl $0x0, -0x18(%rbp)
jne 0x3ddcd
cmpl $0x0, -0x1c(%rbp)
jne 0x3ddcd
cmpl $0x0, 0x10(%rbp)
jne 0x3ddcd
cmpl $0x0, 0x18(%rbp)
je 0x3ddf0
movq 0x34a2c(%rip), %rdi     # 0x72800
movl -0x18(%rbp), %edx
movl -0x1c(%rbp), %ecx
movl 0x10(%rbp), %r8d
movl 0x18(%rbp), %r9d
leaq 0x8970(%rip), %rsi      # 0x46759
movb $0x0, %al
callq 0x3f2c0
movq 0x34a09(%rip), %rdi     # 0x72800
movl -0xb4(%rbp), %edx
movq -0x8(%rbp), %rcx
leaq -0xb0(%rbp), %r8
leaq 0x8957(%rip), %rsi      # 0x46766
movb $0x0, %al
callq 0x3f2c0
movq 0x349eb(%rip), %rdi     # 0x72808
leaq -0x60(%rbp), %rsi
callq 0x3f530
movq %rax, -0x68(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x68(%rbp)
movb %al, -0xc1(%rbp)
je 0x3de4a
movq -0x68(%rbp), %rax
cmpq $0x0, (%rax)
setne %al
movb %al, -0xc1(%rbp)
movb -0xc1(%rbp), %al
testb $0x1, %al
jne 0x3de56
jmp 0x3de7f
movq 0x349a3(%rip), %rdi     # 0x72800
movq -0x68(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x68(%rbp)
movq (%rax), %rdx
leaq 0x88fb(%rip), %rsi      # 0x46771
movb $0x0, %al
callq 0x3f2c0
jmp 0x3de2a
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax,%rax)