// File: /workspace/github_c_makefile_star2_O2/jsummers[P]deark/modules/fat.c
// Function: do_dir_entries
static int do_dir_entries(deark *c, lctx *d, struct dirctx *dctx,
	i64 pos1, i64 len, int nesting_level, int scanmode)
{
	i64 num_entries;
	i64 i;
	int retval = 0;

	num_entries = len/32;
	de_dbg(c, "num entries: %"I64_FMT, num_entries);

	for(i=0; i<num_entries; i++) {
		if(!do_dir_entry(c, d, dctx, pos1+32*i, nesting_level, scanmode)) {
			goto done;
		}
		dctx->dir_entry_count++;
	}

	retval = 1;
done:
	return retval;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movl %r9d, %r14d
movq %r8, %rax
movq %rcx, %r12
movq %rdx, %r15
movq %rsi, 0x18(%rsp)
movq %rdi, %r13
pushq $0x20
popq %rcx
cqto
idivq %rcx
movq %rax, %rbp
leaq 0xdc60c(%rip), %rsi     # 0x135fb8
xorl %ebx, %ebx
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
leaq 0x18(%r15), %rax
movq %rax, 0x40(%rsp)
movq %r14, 0x50(%rsp)
leal 0x1(%r14), %eax
movl %eax, 0x4c(%rsp)
testq %rbp, %rbp
cmovleq %rbx, %rbp
movq %rbp, 0x60(%rsp)
movq %r15, %rbx
pushq $0x1
popq %r15
xorl %eax, %eax
movq %r12, 0x58(%rsp)
movq %rbx, 0x28(%rsp)
cmpq 0x60(%rsp), %rax
je 0x5a3a8
movq %rax, 0x68(%rsp)
movq %rax, %rbx
shlq $0x5, %rbx
leaq (%rbx,%r12), %r14
movq %r13, %rdi
pushq $0x58
popq %rsi
callq 0xdecaf
movq %rax, %rbp
movq %r13, %rdi
leaq 0xdc83d(%rip), %rsi     # 0x13625d
movq %r14, %rdx
xorl %eax, %eax
callq 0xde896
movq %r13, %rdi
movl %r15d, %esi
callq 0xdeba7
movq 0x18(%r13), %rdi
movq %rbp, %rsi
movq %r14, %rdx
pushq $0x8
popq %rcx
callq 0xe3cb7
movq 0x18(%r13), %rdi
leaq 0x8(%rbp), %rsi
leaq (%rbx,%r12), %rdx
addq $0x8, %rdx
movq %rsi, 0x10(%rsp)
pushq $0x3
popq %rcx
callq 0xe3cb7
movzbl (%rbp), %eax
movq %rax, 0x30(%rsp)
testl %eax, %eax
je 0x59b0b
movq %r14, %rax
movq %r12, %r14
movq 0x18(%r13), %rdi
movq %rax, 0x20(%rsp)
leaq 0xb(%rax), %rsi
callq 0xe3eb4
movzbl %al, %eax
movl %eax, 0x10(%rbp)
movq %r13, %rdi
callq 0xeac74
movq %rax, %r12
movl 0x10(%rbp), %esi
movq %r13, %rdi
movq %rax, %rdx
movl %r15d, %ecx
callq 0xe0298
movl 0x10(%rbp), %ebx
movq %r12, 0x8(%rsp)
movq %r12, %rdi
callq 0xeb877
movq %r13, %rdi
leaq 0xdc9b3(%rip), %rsi     # 0x13647c
movl %ebx, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xde896
movl 0x10(%rbp), %eax
movl %eax, %ecx
andl $0x3f, %ecx
cmpl $0xf, %ecx
jne 0x59b28
movq 0x30(%rsp), %r15
cmpl $0xe5, %r15d
movq 0x28(%rsp), %rbx
movq %r13, %rdi
jne 0x59b4e
leaq 0xbbbd6(%rip), %rsi     # 0x1156d5
xorl %eax, %eax
callq 0xde896
jmp 0x59c68
movq %r13, %rdi
leaq 0xbbb36(%rip), %rsi     # 0x11564b
xorl %eax, %eax
callq 0xde896
xorl %edi, %edi
movq 0x28(%rsp), %rbx
jmp 0x59d83
shrl $0x3, %eax
andl $0x3, %eax
leaq 0xbb6cb(%rip), %rcx     # 0x115200
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %r15
jmpq *%rax
movb $0x1, 0xc(%rbp)
jmp 0x59b92
leaq 0xbbb95(%rip), %rsi     # 0x1156ea
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq %r15, %rcx
andl $-0x41, %r15d
leal -0x15(%r15), %eax
cmpb $-0x15, %al
movq %r14, %r12
ja 0x59c7c
movq %r13, %rdi
leaq 0xbbb7e(%rip), %rsi     # 0x1156fd
movl %r15d, %edx
xorl %eax, %eax
callq 0xdf05a
jmp 0x59ca8
movb $0x1, 0xb(%rbp)
cmpb $0x0, (%rbx)
movq 0x20(%rsp), %r14
je 0x59def
movb $0x0, 0x70(%rsp)
cmpb $0x1, 0x2(%rbx)
jne 0x59dec
cmpq $0x0, 0x40(%rbp)
jne 0x59dec
movq %rbp, %rdi
pushq $0x8
popq %rsi
leaq 0x70(%rsp), %rbx
movq %rbx, %rdx
callq 0x5a51e
movq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
movq %rbx, %rdx
callq 0x5a51e
movzbl 0x70(%rsp), %ebx
movq %r13, %rdi
leaq 0xbbb85(%rip), %rsi     # 0x115771
movl %ebx, %edx
xorl %eax, %eax
callq 0xde896
movq 0x28(%rsp), %rax
cmpb 0x3(%rax), %bl
movq 0x28(%rsp), %rbx
jne 0x59dec
movzbl 0x1(%rbx), %eax
cmpq $0x14, %rax
ja 0x59dec
imulq $0x1a, %rax, %rdx
xorl %eax, %eax
cmpq %rax, %rdx
je 0x59d9f
movzbl 0x18(%rbx,%rax), %ecx
cmpl $0xff, %ecx
je 0x59c42
testl %ecx, %ecx
jne 0x59c4d
cmpb $0x0, 0x19(%rbx,%rax)
jne 0x59c4d
jmp 0x59da6
cmpb $-0x1, 0x19(%rbx,%rax)
je 0x59da6
addq $0x2, %rax
jmp 0x59c1c
movq %r13, %rdi
leaq 0xbba02(%rip), %rsi     # 0x11565f
xorl %eax, %eax
callq 0xdf05a
movb $0x1, 0xd(%rbp)
movb $0x0, (%rbx)
pushq $0x1
popq %r15
movq 0x8(%rsp), %rdi
movq %r14, %r12
jmp 0x59d83
testb $0x40, %cl
jne 0x59cb0
cmpb $0x0, (%rbx)
movq 0x20(%rsp), %r14
je 0x59c97
leal 0x1(%r15), %eax
movzbl 0x2(%rbx), %ecx
cmpl %ecx, %eax
je 0x59ccd
movq %r13, %rdi
leaq 0xbba7a(%rip), %rsi     # 0x11571b
xorl %eax, %eax
callq 0xde896
movb $0x0, (%rbx)
jmp 0x59d7a
movl $0x208, %edx            # imm = 0x208
movq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0x18140
movb %r15b, 0x1(%rbx)
movb $0x1, (%rbx)
movq 0x20(%rsp), %r14
movb %r15b, 0x2(%rbx)
imulq $0x1a, %r15, %r15
movq 0x18(%r13), %rdi
movq 0x40(%rsp), %rbx
leaq (%r15,%rbx), %rsi
addq $-0x1a, %rsi
leaq 0x1(%r14), %rdx
pushq $0xa
popq %rcx
callq 0xe3cb7
movq 0x18(%r13), %rdi
leaq 0xd(%r14), %rsi
callq 0xe3eb4
movb %al, 0x10(%rsp)
movq 0x18(%r13), %rdi
leaq (%r15,%rbx), %rsi
addq $-0x10, %rsi
leaq 0xe(%r14), %rdx
pushq $0xc
popq %rcx
callq 0xe3cb7
movq 0x18(%r13), %rdi
leaq (%r15,%rbx), %rsi
addq $-0x4, %rsi
addq $0x1c, %r14
movq %r14, %rdx
pushq $0x4
popq %rcx
callq 0xe3cb7
movzbl 0x10(%rsp), %r14d
movq 0x28(%rsp), %rbx
movq %r13, %rdi
leaq 0xbb9e3(%rip), %rsi     # 0x11572e
movl %r14d, %edx
xorl %eax, %eax
callq 0xde896
testb $0x40, 0x30(%rsp)
jne 0x59d76
cmpb 0x3(%rbx), %r14b
je 0x59d76
movq %r13, %rdi
leaq 0xbb9e7(%rip), %rsi     # 0x115753
xorl %eax, %eax
callq 0xde896
movb $0x0, (%rbx)
movb %r14b, 0x3(%rbx)
pushq $0x1
popq %r15
movq 0x8(%rsp), %rdi
callq 0xeaf3c
movq 0x38(%rbp), %rdi
callq 0xeaf3c
movq 0x40(%rbp), %rdi
callq 0xeaf3c
jmp 0x5a0c9
movq %rdx, 0x38(%rsp)
jmp 0x59dab
movq %rax, 0x38(%rsp)
movq %r13, %rdi
callq 0xeac74
movq %rax, 0x40(%rbp)
movq %rax, %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
xorl %ecx, %ecx
pushq $0x3
popq %r8
callq 0xeb4a9
movq 0x40(%rbp), %rdi
callq 0xeb877
movq %r13, %rdi
leaq 0xbb9b6(%rip), %rsi     # 0x115798
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movb $0x0, (%rbx)
cmpl $0xe5, %r15d
jne 0x59e0d
movq %r13, %rdi
leaq 0xbb875(%rip), %rsi     # 0x115677
xorl %eax, %eax
callq 0xde896
movb $0x3f, %al
jmp 0x59e15
movb $-0x1b, %al
cmpl $0x5, %r15d
jne 0x59e18
movb %al, (%rbp)
movq %rbp, %rdi
pushq $0x8
popq %rsi
callq 0x5a3c7
movq %rax, %rbx
movq %rax, 0x18(%rbp)
movq 0x10(%rsp), %rdi
pushq $0x3
popq %rsi
callq 0x5a3c7
movq %rax, 0x20(%rbp)
cmpb $0x0, 0xb(%rbp)
setne %al
testq %rbx, %rbx
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x59e59
cmpb $0x2e, (%rbp)
jne 0x59e59
movb $0x1, 0xd(%rbp)
movq %r13, %rdi
callq 0xeac74
movq %rax, %rdi
movq %rax, 0x38(%rbp)
cmpb $0x0, 0xc(%rbp)
movq 0x18(%rsp), %rbx
je 0x59e8c
cmpq $0x0, 0x20(%rbp)
jle 0x59ea4
movl (%rbx), %r8d
movq %rbp, %rsi
pushq $0x8
popq %rdx
xorl %ecx, %ecx
callq 0xeb4a9
jmp 0x59ecb
movq 0x18(%rbp), %rdx
testq %rdx, %rdx
jle 0x59eb0
movl (%rbx), %r8d
movq %rbp, %rsi
xorl %ecx, %ecx
callq 0xeb4a9
jmp 0x59eb8
movq 0x18(%rbp), %rdx
movl (%rbx), %r8d
movq %rbp, %rsi
jmp 0x59edb
pushq $0x5f
popq %rsi
callq 0xeada5
cmpq $0x0, 0x20(%rbp)
jle 0x59ee2
movq 0x38(%rbp), %rdi
pushq $0x2e
popq %rsi
callq 0xeada5
movq 0x20(%rbp), %rdx
movq 0x38(%rbp), %rdi
movl (%rbx), %r8d
movq 0x10(%rsp), %rsi
xorl %ecx, %ecx
callq 0xeb4a9
movq 0x38(%rbp), %rdi
callq 0xeb877
movq %r13, %rdi
leaq 0xd4b69(%rip), %rsi     # 0x12ea5e
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x40(%rbp), %rdi
callq 0xeaf8a
xorl %ecx, %ecx
testl %eax, %eax
setne %cl
movq 0x80(%rbx), %rdi
movq 0x38(%rbp,%rcx,8), %rsi
callq 0xeb9f5
cmpl $0x0, 0xf0(%rsp)
jne 0x59f57
cmpb $0x1f, 0x14(%rbx)
ja 0x59f57
movq 0x18(%r13), %rdi
leaq 0x14(%r14), %rsi
callq 0xe3fa3
movl %eax, 0x14(%rbp)
testl %eax, %eax
je 0x59f57
movq %r13, %rdi
leaq 0xbb733(%rip), %rsi     # 0x115681
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r13), %rdi
leaq 0x16(%r14), %rsi
callq 0xe3fa3
movq %rax, %rbx
movq 0x18(%r13), %rdi
leaq 0x18(%r14), %rsi
callq 0xe3fa3
movq %rbp, %r12
addq $0x48, %r12
movq %r12, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0xe0110
movq %r12, %rdi
leaq 0x70(%rsp), %rbx
movq %rbx, %rsi
pushq $0x40
popq %rdx
xorl %ecx, %ecx
callq 0xe0644
movq %r13, %rdi
leaq 0xe1f0a(%rip), %rsi     # 0x13beb2
leaq 0xc6e35(%rip), %rdx     # 0x120de4
movq %rbx, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r13), %rdi
leaq 0x1a(%r14), %rsi
callq 0xe3fa3
movq %rax, 0x30(%rbp)
movq %r13, %rdi
leaq 0xbb6c5(%rip), %rsi     # 0x115699
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r13), %rdi
addq $0x1c, %r14
movq %r14, %rsi
callq 0xe409f
movq %rax, 0x28(%rbp)
movq %r13, %rdi
leaq 0xaf672(%rip), %rsi     # 0x10966e
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
cmpb $0x0, 0xc(%rbp)
je 0x5a011
andq $0x0, 0x28(%rbp)
cmpl $0xe5, %r15d
movq 0x58(%rsp), %r12
movq 0x28(%rsp), %rbx
movq 0x8(%rsp), %r14
je 0x5a09a
cmpl $0x0, 0xf0(%rsp)
je 0x5a0f0
cmpb $0x0, 0xb(%rbp)
jne 0x5a089
cmpb $0x0, 0xd(%rbp)
jne 0x5a089
testb $0x4, 0x10(%rbp)
je 0x5a089
cmpq $0x7, 0x18(%rbp)
jne 0x5a089
cmpq $0x3, 0x20(%rbp)
jne 0x5a089
movq %rbp, %rdi
leaq 0xbb64b(%rip), %rsi     # 0x1156ac
pushq $0x7
popq %rdx
callq 0x18230
testl %eax, %eax
jne 0x5a089
movq 0x10(%rsp), %rdi
leaq 0xbb63b(%rip), %rsi     # 0x1156b4
pushq $0x3
popq %rdx
callq 0x18230
testl %eax, %eax
je 0x5a31c
movq %r13, %rdi
leaq 0xbb625(%rip), %rsi     # 0x1156b8
xorl %eax, %eax
callq 0xde9f1
movq %r14, %rdi
callq 0xeaf3c
movq 0x38(%rbp), %rdi
callq 0xeaf3c
movq 0x40(%rbp), %rdi
callq 0xeaf3c
movq 0x18(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0xeb9bd
pushq $0x1
popq %r15
movq %r13, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
cmpl $0x0, 0x30(%rsp)
je 0x5a3a5
incq 0x8(%rbx)
movq 0x68(%rsp), %rax
incq %rax
jmp 0x599ed
cmpl $0x0, 0x14(%rbp)
je 0x5a18d
movq 0x18(%rsp), %rax
cmpq $0x0, 0xa8(%rax)
je 0x5a18d
movq %r13, %rdi
pushq $0x70
popq %rsi
callq 0xdecaf
movq %rax, %r14
movq 0x18(%rsp), %r15
movl (%r15), %eax
movl %eax, 0xc(%r14)
movl $0x1, 0x8(%r14)
movl 0x14(%rbp), %eax
movl %eax, 0x10(%r14)
movq %r13, %rdi
leaq 0xbb684(%rip), %rsi     # 0x1157c4
xorl %eax, %eax
callq 0xde896
movq %r13, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq 0xa8(%r15), %rcx
movq 0x18(%rcx), %r9
movq %r13, %rdi
leaq 0xbb67e(%rip), %rsi     # 0x1157e5
movq %r14, %rdx
xorl %r8d, %r8d
callq 0xdf9b8
movq %r13, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movq %r13, %rdi
movq %r14, %rsi
movq 0x8(%rsp), %r14
callq 0xded32
cmpb $0x0, 0xb(%rbp)
movb 0xd(%rbp), %al
je 0x5a1d7
testb %al, %al
jne 0x5a09a
movq %r13, %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
callq 0x5a3ff
movq %r13, %rdi
leaq 0x70(%rsp), %rsi
callq 0xdebae
cmpl $0xe, 0x50(%rsp)
jle 0x5a1f4
leaq 0xacf23(%rip), %rsi     # 0x1070ec
movq $0x0, 0x20(%rsp)
jmp 0x5a2ed
testb %al, %al
jne 0x5a09a
movq %r13, %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
callq 0x5a3ff
jmp 0x5a09a
movl $0x220, %esi            # imm = 0x220
movq %r13, %rdi
callq 0xdecaf
movq %rax, 0x20(%rsp)
movq 0x30(%rbp), %r15
cmpq $0x2, %r15
jl 0x5a2e6
movq 0x18(%rsp), %rax
cmpq %r15, 0x78(%rax)
jle 0x5a2e6
leaq -0x2(%r15), %rdx
imulq 0x28(%rax), %rdx
addq 0x40(%rax), %rdx
movq %r13, %rdi
leaq 0xbb5f7(%rip), %rsi     # 0x115831
xorl %eax, %eax
callq 0xde896
movq %r13, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq %r15, %rcx
cmpq $0x2, %rcx
jb 0x5a2f7
movq 0x18(%rsp), %r15
cmpq %rcx, 0x78(%r15)
jle 0x5a2f7
leaq -0x2(%rcx), %r14
imulq 0x28(%r15), %r14
addq 0x40(%r15), %r14
movq %r13, %rdi
leaq 0xbb5c9(%rip), %rsi     # 0x115848
movq %rcx, 0x10(%rsp)
movq 0x10(%rsp), %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0xde896
movq 0x10(%rsp), %rcx
movq 0x98(%r15), %rax
cmpb $0x0, (%rax,%rcx)
jne 0x5a315
movb $0x1, (%rax,%rcx)
movq 0x28(%r15), %r8
andl $0x0, (%rsp)
movq %r13, %rdi
movq %r15, %rsi
movq 0x20(%rsp), %rdx
movq %r14, %rcx
movl 0x4c(%rsp), %r9d
callq 0x59975
testl %eax, %eax
je 0x5a315
movq 0x90(%r15), %rax
movq 0x10(%rsp), %rcx
movl (%rax,%rcx,4), %ecx
movq 0x8(%rsp), %r14
jmp 0x5a24f
leaq 0xbb52d(%rip), %rsi     # 0x11581a
movq %r13, %rdi
xorl %eax, %eax
callq 0xdf2a5
movq %r13, %rdi
movq 0x20(%rsp), %rsi
callq 0x5a3bd
movl 0x70(%rsp), %esi
movq %r13, %rdi
callq 0xdebb7
jmp 0x5a09a
movq 0x8(%rsp), %r14
jmp 0x5a2f7
movq 0x18(%rsp), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x5a09a
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xe59cd
movq 0x18(%rsp), %r14
movq %rax, 0xa8(%r14)
movq 0x18(%r13), %rcx
movq 0x18(%rcx), %rsi
movq %rax, %rdi
callq 0xe5a74
movq 0xa8(%r14), %rcx
movq %r13, %rdi
movq %r14, %rsi
movq %rbp, %rdx
callq 0x5a534
movq 0xa8(%r14), %rdi
testl %eax, %eax
je 0x5a38e
movq 0x18(%rdi), %rdx
movq %r13, %rdi
leaq 0xbb427(%rip), %rsi     # 0x1157ac
xorl %eax, %eax
callq 0xde896
jmp 0x5a39b
callq 0xe5591
andq $0x0, 0xa8(%r14)
movq 0x8(%rsp), %r14
jmp 0x5a09a
xorl %r15d, %r15d
movl %r15d, %eax
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq