// File: emr4378[P]FAT-File-System/FileSys.cpp
// Function: FileSys::printDirectoryTable(std::vector<DirectoryTableEntry, std::allocator<DirectoryTableEntry>>)
void FileSys::printDirectoryTable(vector<DirectoryTableEntry> table) {
	int i;
	time_t time;

	cout << setw(5) << "" << left << setw(17) << "Filename";
	cout << left << setw(11) << "Index";
	cout << left << setw(10) << "Size";
	cout << left << setw(10) << "Type";
	cout << left << setw(25) << "Created";

	cout << endl;
	cout << setfill('-') << setw(75) << "";
	cout << setfill(' ');

	for (i = 0; i < table.size(); i++) {
		if (table[i].name[0] != (char)0x00 && table[i].name[0] != (char)0xFF) {
			cout << endl;
			cout << left << setw(5) << i << left << setw(17) << table[i].name;
			cout << right << setw(5) << table[i].index;
			cout << right << setw(10) << table[i].size;
			cout << right << setw(10) << table[i].type;

			time = table[i].creation;
			cout << " ";
			cout << right << setw(30) << ctime(&time);

		
		}
	}
	cout << setfill('-') << setw(75) << "";
	cout << setfill(' ') << endl;;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rsi, -0xa0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x5, %edi
callq 0x6e10
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %esi
movq 0xbf1f(%rip), %rdi      # 0xffd0
callq 0x3340
movq %rax, %rdi
leaq 0x8148(%rip), %rsi      # 0xc208
callq 0x3290
movq %rax, %rdi
leaq 0x2d11(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0x98(%rbp)
movl $0x11, %edi
callq 0x6e10
movq -0x98(%rbp), %rdi
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7fb3(%rip), %rsi      # 0xc0b4
callq 0x3290
movq 0xbec3(%rip), %rdi      # 0xffd0
leaq 0x2ccc(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0x90(%rbp)
movl $0xb, %edi
callq 0x6e10
movq -0x90(%rbp), %rdi
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7f77(%rip), %rsi      # 0xc0bd
callq 0x3290
movq 0xbe7e(%rip), %rdi      # 0xffd0
leaq 0x2c87(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0x88(%rbp)
movl $0xa, %edi
callq 0x6e10
movq -0x88(%rbp), %rdi
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7ebd(%rip), %rsi      # 0xc048
callq 0x3290
movq 0xbe39(%rip), %rdi      # 0xffd0
leaq 0x2c42(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0x80(%rbp)
movl $0xa, %edi
callq 0x6e10
movq -0x80(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7ef9(%rip), %rsi      # 0xc0c3
callq 0x3290
movq 0xbdfa(%rip), %rdi      # 0xffd0
leaq 0x2c03(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0x78(%rbp)
movl $0x19, %edi
callq 0x6e10
movq -0x78(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7f0b(%rip), %rsi      # 0xc114
callq 0x3290
movq 0xbdbb(%rip), %rdi      # 0xffd0
movq 0xbda4(%rip), %rsi      # 0xffc0
callq 0x32e0
movl $0x2d, %edi
callq 0x6f10
movb %al, -0x39(%rbp)
movq 0xbd9b(%rip), %rdi      # 0xffd0
movzbl -0x39(%rbp), %esi
callq 0x34d0
movq %rax, -0x70(%rbp)
movl $0x4b, %edi
callq 0x6e10
movq -0x70(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7fa3(%rip), %rsi      # 0xc208
callq 0x3290
movl $0x20, %edi
callq 0x6f10
movb %al, -0x41(%rbp)
movq 0xbd52(%rip), %rdi      # 0xffd0
movzbl -0x41(%rbp), %esi
callq 0x34d0
movl $0x0, -0x14(%rbp)
movq -0xa0(%rbp), %rdi
movslq -0x14(%rbp), %rax
movq %rax, -0xa8(%rbp)
callq 0x6b80
movq %rax, %rcx
movq -0xa8(%rbp), %rax
cmpq %rcx, %rax
jae 0x453f
movq -0xa0(%rbp), %rdi
movslq -0x14(%rbp), %rsi
callq 0x6a10
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x452f
movq -0xa0(%rbp), %rdi
movslq -0x14(%rbp), %rsi
callq 0x6a10
movsbl (%rax), %eax
cmpl $-0x1, %eax
je 0x452f
movq 0xbcd9(%rip), %rdi      # 0xffd0
movq 0xbcc2(%rip), %rsi      # 0xffc0
callq 0x32e0
movq 0xbcc6(%rip), %rdi      # 0xffd0
leaq 0x2acf(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0x100(%rbp)
movl $0x5, %edi
callq 0x6e10
movq -0x100(%rbp), %rdi
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x3520
movq %rax, %rdi
leaq 0x2a92(%rip), %rsi      # 0x6de0
callq 0x30c0
movq %rax, -0xf8(%rbp)
movl $0x11, %edi
callq 0x6e10
movq -0xf8(%rbp), %rdi
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %esi
callq 0x3340
movq -0xa0(%rbp), %rdi
movq %rax, -0xf0(%rbp)
movslq -0x14(%rbp), %rsi
callq 0x6a10
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x3290
movq 0xbc2d(%rip), %rdi      # 0xffd0
leaq 0x2a86(%rip), %rsi      # 0x6e30
callq 0x30c0
movq %rax, -0xe8(%rbp)
movl $0x5, %edi
callq 0x6e10
movq -0xe8(%rbp), %rdi
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %esi
callq 0x3340
movq -0xa0(%rbp), %rdi
movq %rax, -0xe0(%rbp)
movslq -0x14(%rbp), %rsi
callq 0x6a10
movq -0xe0(%rbp), %rdi
movl 0x70(%rax), %esi
callq 0x3410
movq 0xbbd1(%rip), %rdi      # 0xffd0
leaq 0x2a2a(%rip), %rsi      # 0x6e30
callq 0x30c0
movq %rax, -0xd8(%rbp)
movl $0xa, %edi
callq 0x6e10
movq -0xd8(%rbp), %rdi
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %esi
callq 0x3340
movq -0xa0(%rbp), %rdi
movq %rax, -0xd0(%rbp)
movslq -0x14(%rbp), %rsi
callq 0x6a10
movq -0xd0(%rbp), %rdi
movl 0x74(%rax), %esi
callq 0x3410
movq 0xbb75(%rip), %rdi      # 0xffd0
leaq 0x29ce(%rip), %rsi      # 0x6e30
callq 0x30c0
movq %rax, -0xc8(%rbp)
movl $0xa, %edi
callq 0x6e10
movq -0xc8(%rbp), %rdi
movl %eax, -0x58(%rbp)
movl -0x58(%rbp), %esi
callq 0x3340
movq -0xa0(%rbp), %rdi
movq %rax, -0xc0(%rbp)
movslq -0x14(%rbp), %rsi
callq 0x6a10
movq -0xc0(%rbp), %rdi
movl 0x78(%rax), %esi
callq 0x3410
movq -0xa0(%rbp), %rdi
movslq -0x14(%rbp), %rsi
callq 0x6a10
movl 0x7c(%rax), %eax
movq %rax, -0x20(%rbp)
movq 0xbb02(%rip), %rdi      # 0xffd0
leaq 0x7cc9(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0xbaef(%rip), %rdi      # 0xffd0
leaq 0x2948(%rip), %rsi      # 0x6e30
callq 0x30c0
movq %rax, -0xb8(%rbp)
movl $0x1e, %edi
callq 0x6e10
movq -0xb8(%rbp), %rdi
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %esi
callq 0x3340
movq %rax, -0xb0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x30f0
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x3290
jmp 0x4531
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x428e
movl $0x2d, %edi
callq 0x6f10
movb %al, -0x5d(%rbp)
movq 0xba7d(%rip), %rdi      # 0xffd0
movzbl -0x5d(%rbp), %esi
callq 0x34d0
movq %rax, -0x108(%rbp)
movl $0x4b, %edi
callq 0x6e10
movq -0x108(%rbp), %rdi
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x7c7f(%rip), %rsi      # 0xc208
callq 0x3290
movl $0x20, %edi
callq 0x6f10
movb %al, -0x65(%rbp)
movq 0xba2e(%rip), %rdi      # 0xffd0
movzbl -0x65(%rbp), %esi
callq 0x34d0
movq %rax, %rdi
movq 0xba0b(%rip), %rsi      # 0xffc0
callq 0x32e0
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopw %cs:(%rax,%rax)