// File: /workspace/github_c_makefile_star2_O0/AndreIglesias[P]quick_ls/depo/.././src//dirent/acl.c
// Function: print_permissions
static char	*print_permissions(mode_t st_mode, int context, char *cont)
{
	static const char	*rwx[8] = {"---", "--x", "-w-", "-wx",
								"r--", "r-x", "rw-", "rwx"};
	static char			bits[12] = {0};

	bits[0] = file_type(st_mode);
	ft_strcpy(bits + 1, rwx[(st_mode >> 6) & 7]);
	ft_strcpy(bits + 4, rwx[(st_mode >> 3) & 7]);
	ft_strcpy(bits + 7, rwx[st_mode & 7]);
	if (st_mode & S_ISUID)
		bits[3] = 'S';
	if (st_mode & S_ISUID && st_mode & S_IXUSR)
		bits[3] = 's';
	if (st_mode & S_ISGID)
		bits[6] = 'S';
	if (st_mode & S_ISGID && st_mode & S_IXGRP)
		bits[6] = 's';
	if (st_mode & S_ISVTX)
		bits[9] = 'T';
	if (st_mode & S_ISVTX && st_mode & S_IXOTH)
		bits[9] = 't';
	bits[10] = ' ';
	if (listxattr(cont, NULL, 0) > 0)
		bits[10] = '+';
	bits[10] = (context) * '.' + (!context) * bits[10];
	return (bits);
}

// Assembly:
subq $0x18, %rsp
movl %edi, 0x14(%rsp)
movl %esi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movl 0x14(%rsp), %edi
callq 0x1900
movb %al, 0x93a1(%rip)       # 0xb101
movl 0x14(%rsp), %eax
shrl $0x6, %eax
andl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x934b(%rip), %rax      # 0xb0c0
movq (%rax,%rcx,8), %rsi
leaq 0x9381(%rip), %rdi      # 0xb101
addq $0x1, %rdi
callq 0x7680
movl 0x14(%rsp), %eax
shrl $0x3, %eax
andl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x9322(%rip), %rax      # 0xb0c0
movq (%rax,%rcx,8), %rsi
leaq 0x9358(%rip), %rdi      # 0xb101
addq $0x4, %rdi
callq 0x7680
movl 0x14(%rsp), %eax
andl $0x7, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x92fc(%rip), %rax      # 0xb0c0
movq (%rax,%rcx,8), %rsi
leaq 0x9332(%rip), %rdi      # 0xb101
addq $0x7, %rdi
callq 0x7680
movl 0x14(%rsp), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x1ded
movb $0x53, 0x9317(%rip)     # 0xb104
movl 0x14(%rsp), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x1e0e
movl 0x14(%rsp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x1e0e
movb $0x73, 0x92f6(%rip)     # 0xb104
movl 0x14(%rsp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1e23
movb $0x53, 0x92e4(%rip)     # 0xb107
movl 0x14(%rsp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1e44
movl 0x14(%rsp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1e44
movb $0x73, 0x92c3(%rip)     # 0xb107
movl 0x14(%rsp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1e59
movb $0x54, 0x92b1(%rip)     # 0xb10a
movl 0x14(%rsp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1e7a
movl 0x14(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1e7a
movb $0x74, 0x9290(%rip)     # 0xb10a
movb $0x20, 0x928a(%rip)     # 0xb10b
movq 0x8(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x10a0
cmpq $0x0, %rax
jle 0x1e9f
movb $0x2b, 0x926c(%rip)     # 0xb10b
imull $0x2e, 0x10(%rsp), %eax
cmpl $0x0, 0x10(%rsp)
setne %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movsbl 0x924f(%rip), %edx      # 0xb10b
imull %edx, %ecx
addl %ecx, %eax
movb %al, 0x9244(%rip)       # 0xb10b
leaq 0x9233(%rip), %rax      # 0xb101
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)