// File: /workspace/github_cpp_makefile_star2_O1/BleuLlama[P]msf-tools/VoiceFile.cpp
// Function: VoiceFile::Dump()
int VoiceFile::Dump( void )
{
	if( !this->valid ) {
		std::cerr << "Invalid file!" << std::endl;
		return -10;
	}

	/* meta dump! */

	std::cout << "Folders:" << std::endl;
	std::cout << "   Voice Recorder at " << vrDir << std::endl;
	std::cout << "        Voice Dir is " << vrVoiceDir << std::endl;
	std::cout << "         MSF File is " << vrMSFFile << std::endl;
	std::cout << std::endl;

	/* folder dumps! */

	for( int f=0 ; f < this->GetFolderCount() ; f++ )
	{
		std::cout << "Folder " << f << " is named \"" << this->GetFolderName( f ) << "\"" << std::endl;
		std::cout << "   path: " << this->GetPathForFolder( f ) << std::endl;
		std::cout << "  count: " << this->GetFileCountForFolder( f ) << std::endl;

		for( int i=0 ; i < this->GetFileCountForFolder( f ) ; i++ )
		{
			std::cout << "     " << std::right << std::setw( 2 ) << i << ":" << std::endl;

			std::string indent( "       " );

			std::cout << indent << "  8.3: " << this->GetFileInFolder( i, f ) << std::endl;
			std::cout << indent << " date: " << this->PrintableDateForFileInFolder( i, f ) << std::endl;

			std::string lfn = DiskUtils::LFNFrom83( this->GetPathForFolder( f ), this->GetFileInFolder( i, f) );
			std::cout << indent << "  lfn: " << lfn << std::endl;
			std::cout << indent << "  sfn: " << this->SortableDateForFileInFolder( i, f ) << "__"
							 << this->GetFileInFolder( i, f ) << std::endl;

		}


		std::cout << std::endl;

	}

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
cmpb $0x0, (%rdi)
je 0x3a18
movq %rdi, %rbx
movq 0x4d02(%rip), %r14      # 0x7fd0
leaq 0x1e5d(%rip), %rsi      # 0x5132
movl $0x8, %edx
movq %r14, %rdi
callq 0x2130
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
leaq 0x1e2b(%rip), %rsi      # 0x513b
movl $0x15, %edx
movq %r14, %rdi
callq 0x2130
movq 0x10(%rbx), %rsi
movq 0x18(%rbx), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
leaq 0x1df3(%rip), %rsi      # 0x5151
movl $0x15, %edx
movq %r14, %rdi
callq 0x2130
movq 0x30(%rbx), %rsi
movq 0x38(%rbx), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
leaq 0x1dbb(%rip), %rsi      # 0x5167
movl $0x15, %edx
movq %r14, %rdi
callq 0x2130
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movl $0x60, %eax
movq %rax, 0x40(%rsp)
xorl %r15d, %r15d
leaq 0x20(%rsp), %r12
movl $0x7, %edx
movq %r14, %rdi
leaq 0x1d42(%rip), %rsi      # 0x517d
callq 0x2130
movq %r14, %rdi
movl %r15d, %esi
callq 0x2220
movq %rax, %r13
movl $0xb, %edx
movq %rax, %rdi
leaq 0x1d28(%rip), %rsi      # 0x5185
callq 0x2130
movq %rsp, %rdi
movq %rbx, %rsi
movl %r15d, %edx
callq 0x3b70
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rdi
callq 0x2130
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1cfc(%rip), %rsi      # 0x518f
callq 0x2130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x34db
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2110
movl $0x9, %edx
movq %r14, %rdi
leaq 0x1ca7(%rip), %rsi      # 0x5191
callq 0x2130
movq %rsp, %rdi
movq %rbx, %rsi
movl %r15d, %edx
callq 0x3bda
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3553
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2110
movl $0x9, %edx
movq %r14, %rdi
leaq 0x1c39(%rip), %rsi      # 0x519b
callq 0x2130
xorl %r13d, %r13d
cmpb $0x1, (%rbx)
movl $0x0, %esi
jne 0x3594
movq 0x8(%rbx), %rax
addq 0x40(%rsp), %rax
xorl %esi, %esi
cmpb $0x0, (%rax)
je 0x3594
incl %esi
addq $0x20, %rax
cmpl $0x63, %esi
jne 0x357f
movl $0x63, %esi
movq %r14, %rdi
callq 0x2220
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
xorl %eax, %eax
cmpb $0x1, (%rbx)
jne 0x35ed
movq 0x8(%rbx), %rcx
addq 0x40(%rsp), %rcx
xorl %eax, %eax
cmpb $0x0, (%rcx)
je 0x35ed
incl %eax
addq $0x20, %rcx
cmpl $0x63, %eax
jne 0x35d8
movl $0x63, %eax
cmpl %eax, %r13d
jae 0x39d7
movl $0x5, %edx
movq %r14, %rdi
leaq 0x1ba2(%rip), %rsi      # 0x51a7
callq 0x2130
movq (%r14), %rax
movq -0x18(%rax), %rcx
movl 0x18(%r14,%rcx), %edx
movl $0xffffff4f, %esi       # imm = 0xFFFFFF4F
andl %esi, %edx
orl $0x80, %edx
movl %edx, 0x18(%r14,%rcx)
movq -0x18(%rax), %rax
movq $0x2, 0x10(%r14,%rax)
movq %r14, %rdi
movl %r13d, %esi
callq 0x2220
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
leaq 0x1c21(%rip), %rsi      # 0x5273
callq 0x2130
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rsp, %rdi
leaq 0x1b13(%rip), %rsi      # 0x51a5
leaq 0x1b13(%rip), %rdx      # 0x51ac
callq 0x2d2a
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %rbp
movl $0x7, %edx
movq %rax, %rdi
leaq 0x1aec(%rip), %rsi      # 0x51ad
callq 0x2130
movq %r12, %rdi
movq %rbx, %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x3cf6
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rbp, %rdi
callq 0x2130
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x372f
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2110
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %rbp
movl $0x7, %edx
movq %rax, %rdi
leaq 0x1a63(%rip), %rsi      # 0x51b5
callq 0x2130
movq %r12, %rdi
movq %rbx, %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x3e04
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rbp, %rdi
callq 0x2130
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x37c0
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2110
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
movl %r15d, %edx
callq 0x3bda
leaq 0xa8(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x3cf6
movq %r12, %rdi
leaq 0x88(%rsp), %rsi
movq %rbp, %rdx
callq 0x26ca
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x3824
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x2110
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x3849
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2110
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %rbp
movl $0x7, %edx
movq %rax, %rdi
leaq 0x1951(%rip), %rsi      # 0x51bd
callq 0x2130
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rbp, %rdi
callq 0x2130
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2130
movq %rax, %rbp
movl $0x7, %edx
movq %rax, %rdi
leaq 0x18f5(%rip), %rsi      # 0x51c5
callq 0x2130
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x3f18
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %rbp, %rdi
callq 0x2130
movq %rax, %rbp
movl $0x2, %edx
movq %rax, %rdi
leaq 0x18c1(%rip), %rsi      # 0x51cd
callq 0x2130
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
movl %r13d, %edx
movl %r15d, %ecx
callq 0x3cf6
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %rbp, %rdi
callq 0x2130
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x397c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2110
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x3998
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2110
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x39b4
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2110
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x39cf
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2110
incl %r13d
jmp 0x35c6
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
incq %r15
addq $0xcc0, 0x40(%rsp)      # imm = 0xCC0
cmpq $0x5, %r15
jne 0x342c
xorl %eax, %eax
jmp 0x3a5f
movq 0x45d1(%rip), %rbx      # 0x7ff0
leaq 0x16fe(%rip), %rsi      # 0x5124
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x20f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20a0
movl $0xfffffff6, %eax       # imm = 0xFFFFFFF6
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3b22
jmp 0x3b22
jmp 0x3b27
jmp 0x3adc
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x3abd
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x2110
jmp 0x3abd
jmp 0x3b22
jmp 0x3b22
movq %rax, %rbx
jmp 0x3b61
jmp 0x3b22
movq %rax, %rbx
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x3b46
movq 0x98(%rsp), %rsi
jmp 0x3b3e
movq %rax, %rbx
jmp 0x3b00
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x3b00
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2110
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x3b2a
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2110
jmp 0x3b2a
jmp 0x3b27
jmp 0x3b27
movq %rax, %rbx
jmp 0x3b46
movq %rax, %rbx
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x3b46
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2110
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x3b61
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2110
movq %rbx, %rdi
callq 0x2230
nop