// File: /workspace/github_cpp_makefile_star2_O3/Matlock42[P]Jeopardy/jgameClass.cpp
// Function: Game::findXML[abi:cxx11](char const*)
std::vector <std::string> Game::findXML ( const char *path)
{
	tinydir_dir dir;
	std::string s;
	std::vector <std::string> output;
	
	// open the current directory
	if (tinydir_open(&dir, path) == -1)
	{
		std::cout << "Error opening directory";
	}
	
	while (dir.has_next)
	{
		tinydir_file file;
		// get the file
		if (tinydir_readfile(&dir, &file) == -1)
		{
			std::cout << "Error getting file";
		}
		
		if (file.is_dir)
		{
			// prevent bad things from happening
			if ( strcmp(file.name, ".") != 0 && strcmp(file.name, "..") != 0 )
			{
				// look one directory deeper and append the directory to the filename
				std::vector <std::string> returnedVector = findXML(file.name);
				for( unsigned j = 0; j<returnedVector.size();j++)
				{
					//output.push_back( file.name  + "/" + returnedVector.at(j) );
					output.push_back( file.name + std::string("/") + returnedVector.at(j) );
				}
			}
		}
		else
		{
			// print the file's name
			s = file.name;
			// don't include the format file
			if ( (s.find(".xml",0) != -1 || s.find(".XML",0) != -1) && (s.find("format") == -1) )
			{
				output.push_back( file.name );
			}
		}
		// next one
		tinydir_next(&dir);
	}
	return output;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2268, %rsp           # imm = 0x2268
movq %rsi, -0xd0(%rbp)
leaq -0x38(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb $0x0, (%rcx)
movq %rax, 0x10(%rdi)
xorps %xmm0, %xmm0
movq %rdi, -0x50(%rbp)
movups %xmm0, (%rdi)
testq %rdx, %rdx
je 0x3778
movq %rdx, %r14
movq %rdx, %rdi
callq 0x20c0
testq %rax, %rax
je 0x3778
cmpq $0x1000, %rax           # imm = 0x1000
jb 0x3c09
callq 0x2040
movl $0x24, (%rax)
jmp 0x3783
callq 0x2040
movl $0x16, (%rax)
movq 0x5836(%rip), %rdi      # 0x8fc0
leaq 0x2af0(%rip), %rsi      # 0x6281
movl $0x17, %edx
callq 0x2230
cmpl $0x0, -0xf0(%rbp)
je 0x3bda
leaq -0x60(%rbp), %r12
movq -0xd8(%rbp), %r14
testq %r14, %r14
je 0x3891
leaq -0x10f0(%rbp), %rdi
callq 0x20c0
movq %rax, %r13
addq $0x13, %r14
movq %r14, %rdi
callq 0x20c0
leaq (%rax,%r13), %rcx
addq $-0xfff, %rcx           # imm = 0xF001
cmpq $-0x1000, %rcx          # imm = 0xF000
setb %cl
cmpq $0x100, %rax            # imm = 0x100
setae %al
orb %cl, %al
movl $0x24, %r13d
jne 0x3897
leaq -0x2288(%rbp), %r15
movq %r15, %rdi
leaq -0x10f0(%rbp), %rsi
callq 0x21d0
movq %r15, %rdi
callq 0x20c0
movw $0x2f, -0x2288(%rbp,%rax)
leaq -0x1288(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x21d0
movq %r15, %rdi
movq %rbx, %rsi
callq 0x2380
movq %r15, %rdi
leaq -0x1180(%rbp), %rsi
callq 0x21b0
cmpl $-0x1, %eax
je 0x389f
movl -0x1168(%rbp), %ecx
movl $0xf000, %eax           # imm = 0xF000
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x4000, %ecx           # imm = 0x4000
sete %al
movl %eax, -0x1188(%rbp)
xorl %edx, %edx
cmpl $0x8000, %ecx           # imm = 0x8000
sete %dl
movl %edx, -0x1184(%rbp)
leaq -0x70(%rbp), %rbx
jmp 0x38c1
movl $0x2, %r13d
callq 0x2040
movl %r13d, (%rax)
movl $0x12, %edx
movq 0x5715(%rip), %rdi      # 0x8fc0
leaq 0x29e7(%rip), %rsi      # 0x6299
callq 0x2230
leaq -0x70(%rbp), %rbx
movl -0x1188(%rbp), %eax
testl %eax, %eax
je 0x3ad2
cmpw $0x2e, -0x1288(%rbp)
je 0x3b93
movl -0x1288(%rbp), %eax
movl $0x2e2e, %ecx           # imm = 0x2E2E
xorl %ecx, %eax
movzbl -0x1286(%rbp), %ecx
orw %ax, %cx
je 0x3b93
movq %r12, %rbx
leaq -0xa8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
leaq -0x1288(%rbp), %rdx
callq 0x3710
movq -0xa0(%rbp), %rax
cmpq -0xa8(%rbp), %rax
je 0x3abe
movl $0x1, %r13d
xorl %r14d, %r14d
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0xc8(%rbp), %r12
movq %r12, %rdi
leaq 0x2909(%rip), %rsi      # 0x6256
leaq 0x2903(%rip), %rdx      # 0x6257
callq 0x4460
leaq -0x1288(%rbp), %r15
movq %r15, %rdi
callq 0x20c0
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %r15, %rcx
movq %rax, %r8
callq 0x2220
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq %rbx, %r12
je 0x39a7
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x39ad
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xa8(%rbp), %rax
movq -0xa0(%rbp), %rdx
subq %rax, %rdx
sarq $0x5, %rdx
cmpq %r14, %rdx
jbe 0x3cf1
shlq $0x5, %r14
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
leaq -0x90(%rbp), %rdi
callq 0x2090
movq %r12, -0x70(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3a1e
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x3a26
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0x68(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x5970
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3a5f
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x3a7b
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3a9d
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0xa0(%rbp), %rax
subq -0xa8(%rbp), %rax
movl %r13d, %r14d
sarq $0x5, %rax
incl %r13d
cmpq %r14, %rax
ja 0x392e
leaq -0xa8(%rbp), %rdi
callq 0x3e0e
movq %rbx, %r12
jmp 0x3b93
movq -0x40(%rbp), %r14
leaq -0x1288(%rbp), %r15
movq %r15, %rdi
callq 0x20c0
leaq -0x48(%rbp), %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %r15, %rcx
movq %rax, %r8
callq 0x22e0
movl $0x4, %ecx
leaq -0x48(%rbp), %rdi
leaq 0x27a6(%rip), %rsi      # 0x62af
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
jne 0x3b33
movl $0x4, %ecx
leaq -0x48(%rbp), %rdi
leaq 0x278e(%rip), %rsi      # 0x62b4
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
je 0x3b93
movl $0x6, %ecx
leaq -0x48(%rbp), %rdi
leaq 0x2776(%rip), %rsi      # 0x62b9
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
jne 0x3b93
movq %r12, -0x70(%rbp)
leaq -0x1288(%rbp), %r14
movq %r14, %rdi
callq 0x20c0
leaq (%rax,%r14), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4460
movq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x5970
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3b93
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
cmpl $0x0, -0xf0(%rbp)
je 0x3bb6
movq -0xe0(%rbp), %rdi
callq 0x22c0
movq %rax, -0xd8(%rbp)
testq %rax, %rax
jne 0x3bc1
jmp 0x3bd0
callq 0x2040
movl $0x2, (%rax)
cmpl $0x0, -0xf0(%rbp)
jne 0x37ac
jmp 0x3bda
movl $0x0, -0xf0(%rbp)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3bf3
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0x50(%rbp), %rax
addq $0x2268, %rsp           # imm = 0x2268
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x10f0(%rbp), %r15
movl $0x1004, %edx           # imm = 0x1004
movq %r15, %rdi
xorl %esi, %esi
callq 0x2100
movl $0xffffffff, 0x1004(%r15) # imm = 0xFFFFFFFF
xorps %xmm0, %xmm0
movups %xmm0, 0x1008(%r15)
movq $0x0, 0x1018(%r15)
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %r14, %rdi
callq 0x22a0
movq %rax, 0x1010(%r15)
testq %rax, %rax
je 0x3c90
movl $0x1, -0xf0(%rbp)
movq %rax, %rdi
callq 0x22c0
movq %rax, -0xd8(%rbp)
testq %rax, %rax
jne 0x379b
movl $0x0, -0xf0(%rbp)
jmp 0x379b
leaq -0xe0(%rbp), %rbx
callq 0x2040
movl $0x2, (%rax)
leaq -0x10f0(%rbp), %rdi
movl $0x1004, %edx           # imm = 0x1004
xorl %esi, %esi
callq 0x2100
movl $0xffffffff, -0xc(%rbx) # imm = 0xFFFFFFFF
movq -0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x3ce6
callq 0x2240
movq -0xe0(%rbp), %rdi
movq $0x0, -0xe8(%rbp)
testq %rdi, %rdi
je 0x3ce6
callq 0x22f0
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x3783
leaq 0x25f2(%rip), %rdi      # 0x62ea
movq %r14, %rsi
xorl %eax, %eax
callq 0x22b0
jmp 0x3d22
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3d25
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
jmp 0x3d25
jmp 0x3d22
jmp 0x3d22
movq %rax, %r14
leaq -0x38(%rbp), %r15
jmp 0x3daa
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3d5c
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
jmp 0x3d5c
movq %rax, %r14
leaq -0x38(%rbp), %r15
jmp 0x3d9e
movq %rax, %r14
leaq -0x38(%rbp), %r15
jmp 0x3d7c
jmp 0x3d59
movq %rax, %r14
leaq -0x38(%rbp), %r15
leaq -0x80(%rbp), %rax
movq -0x90(%rbp), %rdi
cmpq %rax, %rdi
je 0x3d7c
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3d9e
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2200
leaq -0xa8(%rbp), %rdi
callq 0x3e0e
movq -0x50(%rbp), %rdi
callq 0x3e0e
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x3dc8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2200
movq %r14, %rdi
callq 0x2370