// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/system/dynamicloader.cpp
// Function: smooth::System::DynamicLoader::ParseDirectoryList(smooth::String const&, smooth::Array<smooth::String, smooth::String>&)
S::Void S::System::DynamicLoader::ParseDirectoryList(const String &pattern, Array<String> &directories)
{
#ifndef __WIN32__
	Directory		 directory(File(pattern).GetFilePath());
	const Array<File>	&files = directory.GetFilesByPattern(File(pattern).GetFileName());

	foreach (const File &file, files)
	{
		IO::InStream	 in(IO::STREAM_FILE, file);

		while (in.GetPos() < in.Size())
		{
			String	 line = in.InputLine();

			if	(line == NIL)			continue;
			else if (line.StartsWith("#"))		continue;
			else if (line.StartsWith("include "))	ParseDirectoryList(line.Tail(line.Length() - 8), directories);
			else					directories.Add(line);
		}
	}
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3c0, %rsp            # imm = 0x3C0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x368(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x360(%rbp)
leaq -0x140(%rbp), %rdi
movq %rdi, -0x358(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x360(%rbp), %rsi
movq -0x358(%rbp), %rdx
leaq -0x128(%rbp), %rdi
callq 0x5acf0
jmp 0x10846e
leaq -0x128(%rbp), %rdi
callq 0x5ca70
movq %rax, -0x370(%rbp)
jmp 0x108483
leaq -0x168(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0x108493
movq -0x370(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
leaq -0x168(%rbp), %rdx
callq 0x5d860
jmp 0x1084af
leaq -0x168(%rbp), %rdi
callq 0x5df00
leaq -0x128(%rbp), %rdi
callq 0x5de78
leaq -0x140(%rbp), %rdi
callq 0x5df00
movq -0x10(%rbp), %rax
movq %rax, -0x378(%rbp)
leaq -0x1b8(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0x1084ee
movq -0x378(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
leaq -0x1b8(%rbp), %rdx
callq 0x5acf0
jmp 0x10850a
leaq -0x1a0(%rbp), %rdi
callq 0x5ca40
movq %rax, -0x380(%rbp)
jmp 0x10851f
movq -0x380(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x5b2d0
movq %rax, -0x388(%rbp)
jmp 0x10853b
leaq -0x1a0(%rbp), %rdi
callq 0x5de78
leaq -0x1b8(%rbp), %rdi
callq 0x5df00
movq -0x388(%rbp), %rax
movq %rax, -0x170(%rbp)
movl $0x0, -0x1bc(%rbp)
movl $0xffffffff, -0x1c0(%rbp) # imm = 0xFFFFFFFF
xorl %eax, %eax
cmpl $0x0, -0x1bc(%rbp)
movb %al, -0x389(%rbp)
jne 0x1085c0
movl -0x1c0(%rbp), %eax
movl %eax, -0x394(%rbp)
movq -0x170(%rbp), %rdi
callq 0x5c990
movl %eax, -0x390(%rbp)
jmp 0x1085a6
movl -0x394(%rbp), %eax
movl -0x390(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0x389(%rbp)
movb -0x389(%rbp), %al
testb $0x1, %al
jne 0x1085cf
jmp 0x1089e1
movq -0x170(%rbp), %rdi
movl -0x1c0(%rbp), %esi
incl %esi
movl %esi, -0x1c0(%rbp)
callq 0xe3150
movq %rax, -0x3a0(%rbp)
jmp 0x1085f2
movq -0x3a0(%rbp), %rax
movq %rax, -0x1c8(%rbp)
cmpl $0x0, -0x1bc(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x108615
jmp 0x1089cb
movq -0x1c8(%rbp), %rsi
leaq -0x2e8(%rbp), %rdi
callq 0x5dc70
jmp 0x10862a
leaq -0x2d0(%rbp), %rdi
movl $0x3, %esi
leaq -0x2e8(%rbp), %rdx
movl $0x2, %ecx
callq 0x5d200
jmp 0x108649
leaq -0x2e8(%rbp), %rdi
callq 0x5df00
leaq -0x2d0(%rbp), %rdi
callq 0x5da70
movq %rax, -0x3a8(%rbp)
jmp 0x10866a
leaq -0x2d0(%rbp), %rdi
callq 0x5a580
movq %rax, -0x3b0(%rbp)
jmp 0x10867f
movq -0x3a8(%rbp), %rax
movq -0x3b0(%rbp), %rcx
cmpq %rcx, %rax
jge 0x10899d
leaq -0x300(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x5b9a0
jmp 0x1086ab
leaq -0x300(%rbp), %rdi
xorl %esi, %esi
callq 0x59320
movb %al, -0x3b1(%rbp)
jmp 0x1086c1
movb -0x3b1(%rbp), %al
testb $0x1, %al
jne 0x1086d0
jmp 0x1087ed
movl $0x8, -0x304(%rbp)
jmp 0x10896d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
jmp 0x108731
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
jmp 0x108725
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x5df00
leaq -0x128(%rbp), %rdi
callq 0x5de78
leaq -0x140(%rbp), %rdi
callq 0x5df00
jmp 0x108a02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
jmp 0x1089f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
jmp 0x10878b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x5de78
leaq -0x1b8(%rbp), %rdi
callq 0x5df00
jmp 0x1089f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x5df00
jmp 0x1089f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
jmp 0x1089bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
jmp 0x10898f
leaq 0xa7afe(%rip), %rsi     # 0x1b02f2
leaq -0x320(%rbp), %rdi
callq 0x5c1f0
jmp 0x108802
leaq -0x300(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x5bf60
movb %al, -0x3b2(%rbp)
jmp 0x10881d
leaq -0x320(%rbp), %rdi
callq 0x5df00
movb -0x3b2(%rbp), %al
testb $0x1, %al
jne 0x108835
jmp 0x108867
movl $0x8, -0x304(%rbp)
jmp 0x10896d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x5df00
jmp 0x10898f
leaq 0x9d5ce(%rip), %rsi     # 0x1a5e3c
leaq -0x338(%rbp), %rdi
callq 0x5c1f0
jmp 0x10887c
leaq -0x300(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x5bf60
movb %al, -0x3b3(%rbp)
jmp 0x108897
leaq -0x338(%rbp), %rdi
callq 0x5df00
movb -0x3b3(%rbp), %al
testb $0x1, %al
jne 0x1088b2
jmp 0x10894b
leaq -0x300(%rbp), %rdi
callq 0x5b800
movl %eax, -0x3b8(%rbp)
jmp 0x1088c6
movl -0x3b8(%rbp), %edx
addl $-0x8, %edx
leaq -0x350(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x5c8a0
jmp 0x1088e4
movq -0x368(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x350(%rbp), %rsi
callq 0x5a570
jmp 0x1088fd
leaq -0x350(%rbp), %rdi
callq 0x5df00
jmp 0x10895f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x5df00
jmp 0x10898f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
leaq -0x350(%rbp), %rdi
callq 0x5df00
jmp 0x10898f
movq -0x18(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x74750
jmp 0x10895d
jmp 0x10895f
jmp 0x108961
jmp 0x108963
movl $0x0, -0x304(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x5df00
movl -0x304(%rbp), %eax
testl %eax, %eax
je 0x10898a
jmp 0x108985
jmp 0x108655
jmp 0x108655
leaq -0x300(%rbp), %rdi
callq 0x5df00
jmp 0x1089bd
leaq -0x2d0(%rbp), %rdi
callq 0x59710
movl -0x1bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1bc(%rbp)
jmp 0x108600
leaq -0x2d0(%rbp), %rdi
callq 0x59710
jmp 0x1089f6
jmp 0x1089cd
movl -0x1bc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1bc(%rbp)
jmp 0x108575
leaq -0xf8(%rbp), %rdi
callq 0x5df10
addq $0x3c0, %rsp            # imm = 0x3C0
popq %rbp
retq
leaq -0xf8(%rbp), %rdi
callq 0x5df10
movq -0x148(%rbp), %rdi
callq 0x5b6b0
nop