// File: /workspace/github_c_makefile_star2_O0/jsummers[P]deark/modules/arj.c
// Function: get_flags_descr
static void get_flags_descr(struct member_data *md, u8 n1, de_ucstring *s)
{
	u8 n = n1;

	if(n & 0x01) {
		ucstring_append_flags_item(s, "GARBLED");
		n -= 0x01;
	}

	if((n & 0x02) && (md->objtype==ARJ_OBJTYPE_MAINHDR)) {
		if(md->supports_ANSIPAGE_flag) {
			// ANSIPAGE introduced around ARJ v2.62.
			ucstring_append_flags_item(s, "ANSIPAGE");
		}
		else {
			// Suspect this is supported thru v2.39b, and was replaced with
			// (new) SECURED in v2.39c, with no versions that support both.
			ucstring_append_flags_item(s, "OLD_SECURED");
		}
		n -= 0x02;
	}

	if(n & 0x04) {
		ucstring_append_flags_item(s, "VOLUME");
		n -= 0x04;
	}

	if(n & 0x08) {
		if(md->objtype==ARJ_OBJTYPE_MAINHDR) {
			ucstring_append_flags_item(s, "ARJPROT");
		}
		else {
			ucstring_append_flags_item(s, "EXTFILE");
		}
		n -= 0x08;
	}

	if(n & 0x10) {
		ucstring_append_flags_item(s, "PATHSYM");
		n -= 0x10;
	}

	if((n & 0x40) && (md->objtype==ARJ_OBJTYPE_MAINHDR)) {
		ucstring_append_flags_item(s, "SECURED");
		n -= 0x40;
	}

	if((n & 0x80) && (md->objtype==ARJ_OBJTYPE_MAINHDR)) {
		ucstring_append_flags_item(s, "ALTNAME");
		n -= 0x80;
	}

	if(n!=0) {
		ucstring_append_flags_itemf(s, "0x%02x", (UI)n);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movq %rdx, -0x18(%rbp)
movb -0x9(%rbp), %al
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x49762
movq -0x18(%rbp), %rdi
leaq 0x15aaa4(%rip), %rsi    # 0x1a41f7
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x1, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x497ae
movq -0x8(%rbp), %rax
cmpl $0x64, 0x8(%rax)
jne 0x497ae
movq -0x8(%rbp), %rax
cmpb $0x0, 0x15(%rax)
je 0x49794
movq -0x18(%rbp), %rdi
leaq 0x15aa72(%rip), %rsi    # 0x1a41ff
callq 0x172680
jmp 0x497a4
movq -0x18(%rbp), %rdi
leaq 0x15aa69(%rip), %rsi    # 0x1a4208
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x2, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x497d4
movq -0x18(%rbp), %rdi
leaq 0x15aa4f(%rip), %rsi    # 0x1a4214
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x4, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x49816
movq -0x8(%rbp), %rax
cmpl $0x64, 0x8(%rax)
jne 0x497fc
movq -0x18(%rbp), %rdi
leaq 0x15aa26(%rip), %rsi    # 0x1a421b
callq 0x172680
jmp 0x4980c
movq -0x18(%rbp), %rdi
leaq 0x15aa1c(%rip), %rsi    # 0x1a4223
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x8, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x4983c
movq -0x18(%rbp), %rdi
leaq 0x15a9fe(%rip), %rsi    # 0x1a422b
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x10, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x4986c
movq -0x8(%rbp), %rax
cmpl $0x64, 0x8(%rax)
jne 0x4986c
movq -0x18(%rbp), %rdi
leaq 0x15a9af(%rip), %rsi    # 0x1a420c
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x40, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x498a0
movq -0x8(%rbp), %rax
cmpl $0x64, 0x8(%rax)
jne 0x498a0
movq -0x18(%rbp), %rdi
leaq 0x15a9a4(%rip), %rsi    # 0x1a4233
callq 0x172680
movzbl -0x19(%rbp), %eax
subl $0x80, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %eax
cmpl $0x0, %eax
je 0x498bf
movq -0x18(%rbp), %rdi
movzbl -0x19(%rbp), %edx
leaq 0x186f63(%rip), %rsi    # 0x1d081b
movb $0x0, %al
callq 0x1726d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)