// File: emr4378[P]FAT-File-System/FileSys.cpp
// Function: FileSys::showStructure()
void FileSys::showStructure() {
	findUsedClusterCount();

	cout << left << setw(15) << "Filesystem";
	cout << " ";
	cout << right << setw(10) << "Size";
	cout << " ";
	cout << right << setw(5) << ((boot->clusterSize)/1024) << "K-clusters";
	cout << " ";
	cout << right << setw(8) << "Used" ;
	cout << " ";
	cout << right << setw(9) << "Available";
	cout << " ";
	cout << right << setw(3) << "Use%" ;
	cout << endl;

	cout << left << setw(15) << sysName;
	cout << " ";
	cout << right << setw(10) << boot->size;
	cout << " ";
	cout << right << setw(15) << numClusters;
	cout << " ";
	cout << right << setw(8) << usedClusters;
	cout << " ";
	cout << right << setw(9) << (numClusters-usedClusters);
	cout << " ";
	cout << right << setw(3) << (int)(((double)usedClusters/(double)numClusters)*100) << "%" ;
	cout << endl << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x4020
movq 0x9fbd(%rip), %rdi      # 0xffd0
leaq 0xdc6(%rip), %rsi       # 0x6de0
callq 0x30c0
movq %rax, -0xa0(%rbp)
movl $0xf, %edi
callq 0x6e10
movq -0xa0(%rbp), %rdi
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x5ff1(%rip), %rsi      # 0xc03d
callq 0x3290
movq 0x9f78(%rip), %rdi      # 0xffd0
leaq 0x613f(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9f65(%rip), %rdi      # 0xffd0
leaq 0xdbe(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x98(%rbp)
movl $0xa, %edi
callq 0x6e10
movq -0x98(%rbp), %rdi
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x5fa4(%rip), %rsi      # 0xc048
callq 0x3290
movq 0x9f20(%rip), %rdi      # 0xffd0
leaq 0x60e7(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9f0d(%rip), %rdi      # 0xffd0
leaq 0xd66(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x90(%rbp)
movl $0x5, %edi
callq 0x6e10
movq -0x90(%rbp), %rdi
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movq -0x40(%rbp), %rax
movq 0x58(%rax), %rax
movl (%rax), %esi
shrl $0xa, %esi
callq 0x3410
movq %rax, %rdi
leaq 0x5f3c(%rip), %rsi      # 0xc04d
callq 0x3290
movq 0x9eb3(%rip), %rdi      # 0xffd0
leaq 0x607a(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9ea0(%rip), %rdi      # 0xffd0
leaq 0xcf9(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x88(%rbp)
movl $0x8, %edi
callq 0x6e10
movq -0x88(%rbp), %rdi
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x5eef(%rip), %rsi      # 0xc058
callq 0x3290
movq 0x9e5b(%rip), %rdi      # 0xffd0
leaq 0x6022(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9e48(%rip), %rdi      # 0xffd0
leaq 0xca1(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x80(%rbp)
movl $0x9, %edi
callq 0x6e10
movq -0x80(%rbp), %rdi
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x5ea2(%rip), %rsi      # 0xc05d
callq 0x3290
movq 0x9e09(%rip), %rdi      # 0xffd0
leaq 0x5fd0(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9df6(%rip), %rdi      # 0xffd0
leaq 0xc4f(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x78(%rbp)
movl $0x3, %edi
callq 0x6e10
movq -0x78(%rbp), %rdi
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %esi
callq 0x3340
movq %rax, %rdi
leaq 0x5e5a(%rip), %rsi      # 0xc067
callq 0x3290
movq 0x9db7(%rip), %rdi      # 0xffd0
movq 0x9da0(%rip), %rsi      # 0xffc0
callq 0x32e0
movq 0x9da4(%rip), %rdi      # 0xffd0
leaq 0xbad(%rip), %rsi       # 0x6de0
callq 0x30c0
movq %rax, -0x70(%rbp)
movl $0xf, %edi
callq 0x6e10
movq -0x70(%rbp), %rdi
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %esi
callq 0x3340
movq -0x40(%rbp), %rsi
movq %rax, %rdi
callq 0x3220
movq 0x9d68(%rip), %rdi      # 0xffd0
leaq 0x5f2f(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9d55(%rip), %rdi      # 0xffd0
leaq 0xbae(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x68(%rbp)
movl $0xa, %edi
callq 0x6e10
movq -0x68(%rbp), %rdi
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movq -0x40(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x4(%rax), %esi
callq 0x3410
movq 0x9d12(%rip), %rdi      # 0xffd0
leaq 0x5ed9(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9cff(%rip), %rdi      # 0xffd0
leaq 0xb58(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x60(%rbp)
movl $0xf, %edi
callq 0x6e10
movq -0x60(%rbp), %rdi
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movq -0x40(%rbp), %rax
movl 0x30(%rax), %esi
callq 0x3520
movq 0x9cc0(%rip), %rdi      # 0xffd0
leaq 0x5e87(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9cad(%rip), %rdi      # 0xffd0
leaq 0xb06(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x58(%rbp)
movl $0x8, %edi
callq 0x6e10
movq -0x58(%rbp), %rdi
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movq -0x40(%rbp), %rax
movl 0x28(%rax), %esi
callq 0x3520
movq 0x9c6e(%rip), %rdi      # 0xffd0
leaq 0x5e35(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9c5b(%rip), %rdi      # 0xffd0
leaq 0xab4(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x50(%rbp)
movl $0x9, %edi
callq 0x6e10
movq -0x50(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movq -0x40(%rbp), %rax
movl 0x30(%rax), %esi
subl 0x28(%rax), %esi
callq 0x3520
movq 0x9c19(%rip), %rdi      # 0xffd0
leaq 0x5de0(%rip), %rsi      # 0xc19e
callq 0x3290
movq 0x9c06(%rip), %rdi      # 0xffd0
leaq 0xa5f(%rip), %rsi       # 0x6e30
callq 0x30c0
movq %rax, -0x48(%rbp)
movl $0x3, %edi
callq 0x6e10
movq -0x48(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x3340
movq %rax, %rdi
movq -0x40(%rbp), %rax
cvtsi2sdl 0x28(%rax), %xmm0
cvtsi2sdl 0x30(%rax), %xmm1
divsd %xmm1, %xmm0
movsd 0x5c18(%rip), %xmm1     # 0xc028
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %esi
callq 0x3520
movq %rax, %rdi
leaq 0x5c43(%rip), %rsi      # 0xc06a
callq 0x3290
movq 0x9b9d(%rip), %rdi      # 0xffd0
movq 0x9b86(%rip), %rsi      # 0xffc0
callq 0x32e0
movq %rax, %rdi
movq 0x9b77(%rip), %rsi      # 0xffc0
callq 0x32e0
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)