Function at 0x6c29ead0
Capabilities:
Enumerate files on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x288
test rcx, rcx
mov rbx, rcx
mov r13, r8
je 0x6c29ed4a
test r8, r8
je 0x6c29ec82
cmp qword [r8], 0
jne 0x6c29ec50
mov ecx, 0x18
lea rdi, [rsp + 0x30]
call dbg.monoeg_malloc0
mov rcx, rbx
mov rsi, rax
call sym.strlen
xor r9d, r9d
xor r8d, r8d
mov edx, eax
mov rcx, rbx
mov qword [rsp + 0x20], 0
call dbg.monoeg_g_utf8_to_utf16
mov rcx, rax
mov rbp, rax
call sym.wcslen
lea rcx, [rax + rax + 6]
call sym.libMonoPosixHelper.dll_monoeg_malloc
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call sym.wcscpy
lea rdx, [0x6c2b23e2]
mov rcx, rbx
call sym.wcscat
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov qword [rsi], rax
je 0x6c29ed1f
mov rcx, rbx
lea rbx, [rdi + 0x2c]
call sym.libMonoPosixHelper.dll_monoeg_g_free
mov rcx, rbp
lea rbp, [0x6c2b23d8]
call sym.libMonoPosixHelper.dll_monoeg_g_free
mov r12, qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov rdx, rbp
mov rcx, rbx
call sym.wcscmp
test eax, eax
je 0x6c29ebc3
lea rdx, [0x6c2b23dc]
mov rcx, rbx
call sym.wcscmp
test eax, eax
jne 0x6c29ec20
mov rdx, rdi
mov rcx, qword [rsi]
call r12
test eax, eax
jne 0x6c29eba1
test r13, r13
je 0x6c29ebfe
call qword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [rax]
mov ecx, ebx
call sym.strerror
mov ecx, ebx
mov rdi, rax
call sym.libMonoPosixHelper.dll_monoeg_g_file_error_from_errno
mov r8, rdi
mov edx, eax
xor ecx, ecx
call dbg.monoeg_g_error_new
mov qword [r13], rax
mov rcx, rsi
xor esi, esi
call sym.libMonoPosixHelper.dll_monoeg_g_free
mov rax, rsi
add rsp, 0x288
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rcx, rbx
mov qword [rsi + 8], 0
call sym.wcslen
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call dbg.monoeg_g_utf16_to_utf8
mov qword [rsi + 0x10], rax
jmp 0x6c29ec08
lea rax, str.error__NULL__error__NULL
mov dword [rsp + 0x20], 0x35
mov qword [rsp + 0x28], rax
lea r9, str.gdir_win32.c
lea r8, [0x6c2b238d]
mov edx, 8
xor ecx, ecx
xor esi, esi
call dbg.monoeg_g_log
jmp 0x6c29ec08
mov ecx, 0x18
lea rdi, [rsp + 0x30]
call dbg.monoeg_malloc0
mov rcx, rbx
mov rsi, rax
call sym.strlen
xor r9d, r9d
xor r8d, r8d
mov edx, eax
mov rcx, rbx
mov qword [rsp + 0x20], 0
call dbg.monoeg_g_utf8_to_utf16
mov rcx, rax
mov rbp, rax
call sym.wcslen
lea rcx, [rax + rax + 6]
call sym.libMonoPosixHelper.dll_monoeg_malloc
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call sym.wcscpy
lea rdx, [0x6c2b23e2]
mov rcx, rbx
call sym.wcscat
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
mov qword [rsi], rax
jne 0x6c29eb7f
mov rcx, rbx
call sym.libMonoPosixHelper.dll_monoeg_g_free
mov rcx, rbp
call sym.libMonoPosixHelper.dll_monoeg_g_free
mov rcx, rsi
xor esi, esi
call sym.libMonoPosixHelper.dll_monoeg_g_free
jmp 0x6c29ec08
call qword [sym.imp.msvcrt.dll__errno]
mov edi, dword [rax]
mov ecx, edi
call sym.strerror
mov ecx, edi
mov r12, rax
call sym.libMonoPosixHelper.dll_monoeg_g_file_error_from_errno
mov r8, r12
mov edx, eax
xor ecx, ecx
call dbg.monoeg_g_error_new
mov qword [r13], rax
jmp 0x6c29ed00
lea rax, str.path___NULL
mov dword [rsp + 0x20], 0x34
mov qword [rsp + 0x28], rax
jmp 0x6c29ec64