// File: /workspace/github_c_makefile_star2_O0/aligrudi[P]neatmkfn/otf.c
// Function: otf_glyf
static void otf_glyf(struct otf *otf, void *glyf)
{
	void *maxp = otf_table(otf, "maxp");
	void *head = otf_table(otf, "head");
	void *loca = otf_table(otf, "loca");
	void *gdat;
	void *gdat_next;
	int n = U16(maxp, 4);
	int fmt = U16(head, 50);
	int i, j;
	if (!glyph_n)
		glyph_n = n;
	for (i = 0; i < n; i++) {
		if (fmt) {
			gdat = glyf + U32(loca, 4 * i);
			gdat_next = glyf + U32(loca, 4 * (i + 1));
		} else {
			gdat = glyf + U16(loca, 2 * i) * 2;
			gdat_next = glyf + U16(loca, 2 * (i + 1)) * 2;
		}
		if (gdat < gdat_next)
			for (j = 0; j < 4; j++)
				glyph_bbox[i][j] = S16(gdat, 2 + 2 * j);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x174c7(%rip), %rsi     # 0x57b12
callq 0x40180
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x1745d(%rip), %rsi     # 0x57abc
callq 0x40180
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x174a4(%rip), %rsi     # 0x57b17
callq 0x40180
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movzwl 0x4(%rax), %edi
callq 0x3d090
movzwl %ax, %eax
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rax
movzwl 0x32(%rax), %edi
callq 0x3d090
movzwl %ax, %eax
movl %eax, -0x40(%rbp)
cmpl $0x0, 0x3617b(%rip)     # 0x76824
jne 0x406b4
movl -0x3c(%rbp), %eax
movl %eax, 0x36170(%rip)     # 0x76824
movl $0x0, -0x44(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jge 0x407fb
cmpl $0x0, -0x40(%rbp)
je 0x4072a
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x28(%rbp), %rax
movl -0x44(%rbp), %ecx
shll $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %edi
callq 0x3d0e0
movl %eax, %ecx
movq -0x58(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $0x1, %ecx
shll $0x2, %ecx
movslq %ecx, %rcx
movl (%rax,%rcx), %edi
callq 0x3d0e0
movl %eax, %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
jmp 0x40793
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x28(%rbp), %rax
movl -0x44(%rbp), %ecx
shll %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx), %edi
callq 0x3d090
movw %ax, %cx
movq -0x68(%rbp), %rax
movzwl %cx, %ecx
shll %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rax
movl -0x44(%rbp), %ecx
addl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx), %edi
callq 0x3d090
movw %ax, %cx
movq -0x60(%rbp), %rax
movzwl %cx, %ecx
shll %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
jae 0x407eb
movl $0x0, -0x48(%rbp)
cmpl $0x4, -0x48(%rbp)
jge 0x407e9
movq -0x30(%rbp), %rax
movl -0x48(%rbp), %ecx
shll %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx), %edi
callq 0x3d090
movswl %ax, %edx
movslq -0x44(%rbp), %rcx
leaq 0x4b6060(%rip), %rax    # 0x4f6830
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x48(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x407a4
jmp 0x407eb
jmp 0x407ed
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x406bb
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)