// File: /workspace/github_cpp_makefile_star2_O1/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 0x3774
movq %rdx, %r14
movq %rdx, %rdi
callq 0x20c0
testq %rax, %rax
je 0x3774
cmpq $0x1000, %rax           # imm = 0x1000
jb 0x3c00
callq 0x2040
movl $0x24, (%rax)
jmp 0x377f
callq 0x2040
movl $0x16, (%rax)
movq 0x583a(%rip), %rdi      # 0x8fc0
leaq 0x2af4(%rip), %rsi      # 0x6281
movl $0x17, %edx
callq 0x2230
cmpl $0x0, -0xf0(%rbp)
je 0x3bd1
leaq -0x60(%rbp), %r12
movq -0xd8(%rbp), %r14
testq %r14, %r14
je 0x388b
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 0x3891
leaq -0x2288(%rbp), %rbx
movq %rbx, %rdi
leaq -0x10f0(%rbp), %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x20c0
movw $0x2f, -0x2288(%rbp,%rax)
leaq -0x1288(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x21d0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2380
movq %rbx, %rdi
leaq -0x1180(%rbp), %rsi
callq 0x21b0
cmpl $-0x1, %eax
je 0x3899
movl -0x1168(%rbp), %eax
movl $0xf000, %ecx           # imm = 0xF000
andl %ecx, %eax
xorl %ecx, %ecx
cmpl $0x4000, %eax           # imm = 0x4000
sete %cl
movl %ecx, -0x1188(%rbp)
xorl %ecx, %ecx
cmpl $0x8000, %eax           # imm = 0x8000
sete %cl
movl %ecx, -0x1184(%rbp)
leaq -0x70(%rbp), %rbx
jmp 0x38b5
movl $0x2, %r13d
callq 0x2040
movl %r13d, (%rax)
movl $0x12, %edx
movq 0x571b(%rip), %rdi      # 0x8fc0
leaq 0x29ed(%rip), %rsi      # 0x6299
callq 0x2230
leaq -0x70(%rbp), %rbx
cmpl $0x0, -0x1188(%rbp)
je 0x3acb
cmpw $0x2e, -0x1288(%rbp)
je 0x3b8c
movl -0x1288(%rbp), %eax
movl $0x2e2e, %ecx           # imm = 0x2E2E
xorl %ecx, %eax
movzbl -0x1286(%rbp), %ecx
orw %ax, %cx
je 0x3b8c
movq %r12, %r15
leaq -0xa8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
leaq -0x1288(%rbp), %rdx
callq 0x370c
movq -0xa0(%rbp), %rax
cmpq -0xa8(%rbp), %rax
je 0x3ab7
movl $0x1, %r13d
xorl %r14d, %r14d
leaq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0xc8(%rbp), %r12
movq %r12, %rdi
leaq 0x2910(%rip), %rsi      # 0x6256
leaq 0x290a(%rip), %rdx      # 0x6257
callq 0x44cc
leaq -0x1288(%rbp), %rbx
movq %rbx, %rdi
callq 0x20c0
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %rbx, %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 %r15, %r12
je 0x39a0
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x39a6
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 0x3ceb
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 0x3a17
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x3a1f
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 0x5a62
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3a58
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x3a74
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3a96
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 0x3927
leaq -0xa8(%rbp), %rdi
callq 0x3e08
movq %r15, %r12
jmp 0x3b8c
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 0x27ad(%rip), %rsi      # 0x62af
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
jne 0x3b2c
movl $0x4, %ecx
leaq -0x48(%rbp), %rdi
leaq 0x2795(%rip), %rsi      # 0x62b4
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
je 0x3b8c
movl $0x6, %ecx
leaq -0x48(%rbp), %rdi
leaq 0x277d(%rip), %rsi      # 0x62b9
xorl %edx, %edx
callq 0x2360
cmpq $-0x1, %rax
jne 0x3b8c
movq %r12, -0x70(%rbp)
leaq -0x1288(%rbp), %r14
movq %r14, %rdi
callq 0x20c0
leaq (%rax,%r14), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x44cc
movq -0x50(%rbp), %rdi
movq %rbx, %rsi
callq 0x5a62
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3b8c
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
cmpl $0x0, -0xf0(%rbp)
je 0x3bb9
movq -0xe0(%rbp), %rdi
callq 0x22c0
movq %rax, -0xd8(%rbp)
testq %rax, %rax
jne 0x3bc4
movl $0x0, -0xf0(%rbp)
jmp 0x3bc4
callq 0x2040
movl $0x2, (%rax)
cmpl $0x0, -0xf0(%rbp)
jne 0x37a8
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3bea
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
xorps %xmm0, %xmm0
movups %xmm0, 0x1008(%r15)
movl $0xffffffff, 0x1004(%r15) # imm = 0xFFFFFFFF
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 0x3c87
movl $0x1, -0xf0(%rbp)
movq %rax, %rdi
callq 0x22c0
movq %rax, -0xd8(%rbp)
testq %rax, %rax
jne 0x3797
movl $0x0, -0xf0(%rbp)
jmp 0x3797
callq 0x2040
movl $0x2, (%rax)
leaq -0x10f0(%rbp), %r14
movl $0x1004, %edx           # imm = 0x1004
movq %r14, %rdi
xorl %esi, %esi
callq 0x2100
movl $0xffffffff, 0x1004(%r14) # imm = 0xFFFFFFFF
movq 0x1008(%r14), %rdi
testq %rdi, %rdi
je 0x3cc4
callq 0x2240
leaq -0xe0(%rbp), %rbx
movq $0x0, -0x8(%rbx)
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x3ce0
callq 0x22f0
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x377f
leaq 0x25f8(%rip), %rdi      # 0x62ea
movq %r14, %rsi
xorl %eax, %eax
callq 0x22b0
jmp 0x3d1c
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3d1f
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
jmp 0x3d1f
jmp 0x3d1c
jmp 0x3d1c
movq %rax, %r14
leaq -0x38(%rbp), %r15
jmp 0x3da4
movq %rax, %r14
leaq -0x38(%rbp), %r15
jmp 0x3d76
jmp 0x3d39
movq %rax, %r14
leaq -0x38(%rbp), %r15
jmp 0x3d98
movq %rax, %r14
jmp 0x3d56
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x3d56
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x2200
leaq -0x38(%rbp), %r15
leaq -0x80(%rbp), %rax
movq -0x90(%rbp), %rdi
cmpq %rax, %rdi
je 0x3d76
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x2200
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3d98
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x2200
leaq -0xa8(%rbp), %rdi
callq 0x3e08
movq -0x50(%rbp), %rdi
callq 0x3e08
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x3dc2
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x2200
movq %r14, %rdi
callq 0x2370