Function at 0x18000ea30
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x1b8]
sub rsp, 0x2b8
mov rcx, r8
mov dword [rsp + 0x28], 0
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
add edi, edi
lea eax, [rdi + 2]
movsxd rcx, eax
call fcn.1800251fc
xor esi, esi
mov rbx, rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x38], esi
test rax, rax
je 0x18000eab3
mov rdx, qword [rbp + 0x1f0]
movsxd r8, edi
mov rcx, rax
mov esi, edi
mov dword [rsp + 0x38], edi
mov word [r8 + rax], 0
call fcn.18002525c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
cmp word [rbx + rcx*2 - 2], 0x5c
je 0x18000eadc
lea rdx, [0x18002cd48]
lea rcx, [rsp + 0x38]
mov r8d, 2
call fcn.180005da0
lea rcx, [0x18002d248]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rdx, [0x18002d248]
lea rcx, [rsp + 0x38]
lea r8d, [rax + rax]
call fcn.180005da0
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x30], rax
cmp rax, 0xffffffffffffffff
jne 0x18000eb36
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18000eb28
call sub.KERNEL32.dll_LocalFree
xor eax, eax
add rsp, 0x2b8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdi, qword [rsp + 0x40]
nop dword [rax + rax]
cmp word [rbp - 0x74], 0x2e
jne 0x18000eb65
movzx eax, word [rbp - 0x72]
test ax, ax
je 0x18000ef00
cmp ax, 0x2e
jne 0x18000eb65
cmp word [rbp - 0x70], 0
je 0x18000ef00
mov rcx, qword [rbp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
add esi, esi
test rdi, rdi
je 0x18000eb83
mov rcx, rdi
call sub.KERNEL32.dll_LocalFree
lea eax, [rsi + 2]
movsxd rcx, eax
call fcn.1800251fc
xor ebx, ebx
mov rdi, rax
test rax, rax
je 0x18000ebb3
mov rdx, qword [rbp + 0x1f0]
movsxd r8, esi
mov rcx, rax
mov ebx, esi
mov word [r8 + rax], 0
call fcn.18002525c
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
cmp word [rdi + rcx*2 - 2], 0x5c
jne 0x18000ec68
cmp word [rbp - 0x74], 0x5c
jne 0x18000ed1a
lea rcx, [rbp - 0x72]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [rsp + 0x24], eax
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.1800251fc
mov dword [rsp + 0x20], 0
mov rsi, rax
test rax, rax
je 0x18000ec0c
movsxd rax, ebx
mov dword [rsp + 0x20], ebx
mov word [rax + rsi], 0
movsxd r8, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.18002525c
add ebx, dword [rsp + 0x24]
test rdi, rdi
je 0x18000ec2b
mov rcx, rdi
call sub.KERNEL32.dll_LocalFree
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.1800251fc
mov rdi, rax
test rax, rax
je 0x18000edb2
movsxd rax, ebx
movsxd rbx, dword [rsp + 0x20]
mov rdx, rsi
mov r8, rbx
mov rcx, rdi
mov word [rax + rdi], 0
call fcn.18002525c
movsxd r8, dword [rsp + 0x24]
jmp 0x18000eda5
cmp word [rbp - 0x74], 0x5c
je 0x18000ed1a
lea eax, [rbx + 2]
movsxd rcx, eax
mov dword [rsp + 0x20], eax
call fcn.1800251fc
mov dword [rsp + 0x24], 0
mov rsi, rax
test rax, rax
je 0x18000ec9f
movsxd rax, ebx
mov dword [rsp + 0x24], ebx
mov word [rax + rsi], 0
movsxd r8, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.18002525c
test rdi, rdi
je 0x18000ecba
mov rcx, rdi
call sub.KERNEL32.dll_LocalFree
lea eax, [rbx + 4]
movsxd rcx, eax
call fcn.1800251fc
xor ebx, ebx
mov rdi, rax
test rax, rax
je 0x18000edfa
movsxd rax, dword [rsp + 0x20]
mov rdx, rsi
mov rcx, rdi
mov word [rax + rdi], bx
movsxd rbx, dword [rsp + 0x24]
mov dword [rsp + 0x20], eax
mov r8, rbx
call fcn.18002525c
lea rcx, [rbx + rdi]
lea rdx, [0x18002cd48]
mov r8d, 2
call fcn.18002525c
test rsi, rsi
je 0x18000ed16
mov rcx, rsi
call sub.KERNEL32.dll_LocalFree
mov ebx, dword [rsp + 0x20]
lea rcx, [rbp - 0x74]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [rsp + 0x20], eax
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.1800251fc
mov dword [rsp + 0x24], 0
mov rsi, rax
test rax, rax
je 0x18000ed52
movsxd rax, ebx
mov dword [rsp + 0x24], ebx
mov word [rax + rsi], 0
movsxd r8, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.18002525c
add ebx, dword [rsp + 0x20]
test rdi, rdi
je 0x18000ed71
mov rcx, rdi
call sub.KERNEL32.dll_LocalFree
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.1800251fc
mov rdi, rax
test rax, rax
je 0x18000edb2
movsxd rax, ebx
movsxd rbx, dword [rsp + 0x24]
mov rdx, rsi
mov r8, rbx
mov rcx, rdi
mov word [rax + rdi], 0
call fcn.18002525c
movsxd r8, dword [rsp + 0x20]
lea rdx, [rbp - 0x74]
lea rcx, [rbx + rdi]
call fcn.18002525c
test rsi, rsi
je 0x18000edbf
mov rcx, rsi
call sub.KERNEL32.dll_LocalFree
mov r8d, dword [rsp + 0x60]
test r8b, 0x10
je 0x18000ee10
mov r9, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1e0]
mov r8, rdi
call fcn.18000ea30
mov ebx, eax
mov dword [rsp + 0x28], eax
test eax, eax
jne 0x18000ef1c
jmp 0x18000ef04
test rsi, rsi
je 0x18000ed1a
mov rcx, rsi
call sub.KERNEL32.dll_LocalFree
jmp 0x18000ed1a
mov rcx, qword [rbp + 0x1f8]
lea rdx, [rbp - 0x74]
call fcn.18000ef50
test eax, eax
jne 0x18000ef00
mov rsi, qword [rbp + 0x1e8]
mov eax, dword [rsp + 0x7c]
lea rdx, [0x18002cf8c]
mov dword [rsi + 0x14], eax
mov eax, dword [rbp - 0x80]
mov dword [rsi + 0x10], r8d
mov r8, qword [rbp + 0x1f0]
mov dword [rsi + 0x18], eax
mov rax, qword [rsp + 0x64]
mov qword [rsi + 0x1c], rax
mov rax, qword [rsp + 0x6c]
lea rcx, [rsi + 0x3a]
mov qword [rsi + 0x24], rax
mov rax, qword [rsp + 0x74]
mov qword [rsi + 0x2c], rax
mov eax, SQLGetData
mov word [rsi + 0x34], ax
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rbp - 0x74]
lea ebx, [rax + rax + 0x2c]
lea rdx, [0x18002cf8c]
movsxd rax, ebx
mov word [rsi + 0x36], bx
lea rcx, [rax + rsi + 0x10]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r8, [rbp + 0x194]
lea rdx, [0x18002cf8c]
lea ebx, [rbx + rax*2 + 2]
movsxd rax, ebx
mov word [rsi + 0x38], bx
lea rcx, [rax + rsi + 0x10]
call qword [sym.imp.USER32.dll_wsprintfW]
mov dword [rsi], 0x20190520
mov dword [rsi + 4], 0x3002
lea ecx, [rbx + rax*2 + 2]
mov dword [rsi + 0xc], 0
mov dword [rsi + 8], ecx
call fcn.18000da10
mov rcx, qword [rbp + 0x1e0]
mov r8d, 0x7530
mov rdx, rsi
call qword [rax + 0x70]
mov ebx, eax
mov dword [rsp + 0x28], eax
test eax, eax
jne 0x18000ef1c
jmp 0x18000ef04
mov ebx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x18000eb40
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_FindClose]
test rdi, rdi
je 0x18000ef34
mov rcx, rdi
call sub.KERNEL32.dll_LocalFree
mov eax, ebx
add rsp, 0x2b8
pop rdi
pop rsi
pop rbx
pop rbp
ret