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

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x2a0]
sub rsp, 0x3a0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x3d8], rbx
mov rax, qword [0x140131088]
xor rax, rsp
mov qword [rbp + 0x290], rax
mov rsi, r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rdx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
xor eax, eax
mov edi, eax
mov dword [rsp + 0x30], eax
mov qword [rbp + 0x288], 7
mov qword [rbp + 0x280], rax
mov word [rbp + 0x270], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rcx
lea rcx, [rbp + 0x270]
call fcn.140008be0
nop
mov r8d, 4
lea rdx, [0x1400ee428]
lea rcx, [rbp + 0x270]
call fcn.14002dd30
lea rcx, [rbp + 0x270]
cmp qword [rbp + 0x288], 8
cmovae rcx, qword [rbp + 0x270]
lea rdx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x58], rax
cmp rax, 0xffffffffffffffff
je 0x140045d72
nop dword [rax + rax]
lea rax, [rbp - 0x54]
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140045850
mov qword [rbp + 0x1e8], 7
xor eax, eax
mov qword [rbp + 0x1e0], rax
mov word [rbp + 0x1d0], ax
lea rdx, [rbp - 0x54]
lea rcx, [rbp + 0x1d0]
call fcn.140008a20
nop
test byte [rbp - 0x80], 0x10
je 0x140045b68
lea rcx, [rbp + 0x1d0]
mov rbx, qword [rbp + 0x1d0]
mov rsi, qword [rbp + 0x1e8]
cmp rsi, 8
cmovae rcx, rbx
mov r9d, 1
lea r8, [0x1400ee234]
mov rdx, qword [rbp + 0x1e0]
call fcn.140031840
test eax, eax
je 0x140045cff
lea rcx, [rbp + 0x1d0]
cmp rsi, 8
cmovae rcx, rbx
mov r9d, 2
lea r8, [0x1400f10b4]
call fcn.140031840
test eax, eax
je 0x140045cff
lea r8, [0x1400ee130]
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0x210]
call fcn.140031030
nop
lea r8, [rbp + 0x1d0]
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.140031180
nop
mov r8, qword [rbp + 0x228]
cmp r8, 8
jb 0x14004594b
inc r8
mov rdx, qword [rbp + 0x210]
lea rcx, [rbp + 0x210]
call fcn.140008b70
mov qword [rbp + 0x228], 7
xor esi, esi
mov qword [rbp + 0x220], rsi
mov word [rbp + 0x210], si
mov ecx, 0x90
call fcn.14009dbb8
mov rbx, rax
mov qword [rsp + 0x68], rax
mov r8, qword [rsp + 0x40]
mov r8, qword [r8 + 0x10]
inc r8
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x1f0]
call fcn.140008ff0
nop
or edi, 1
mov dword [rsp + 0x30], edi
lea r9, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 8
cmovae r9, qword [rbp + 0x1f0]
cmp qword [rax + 0x18], 8
jb 0x1400459c4
mov rax, qword [rax]
mov qword [rsp + 0x20], rsi
mov r8, rax
mov edx, 3
mov rcx, rbx
call fcn.140038cd0
mov rdx, rax
test rax, rax
jne 0x1400459eb
mov rbx, rsi
mov qword [rsp + 0x50], rsi
jmp 0x140045a17
mov rax, qword [rax + 0x10]
movsxd rcx, dword [rax + 8]
lea rbx, [rdx + 0x10]
add rbx, rcx
mov qword [rsp + 0x50], rbx
je 0x140045a17
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
and edi, 0xfffffffe
mov r8, qword [rbp + 0x248]
cmp r8, 8
jb 0x140045a3d
inc r8
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.140008b70
mov qword [rbp + 0x248], 7
mov qword [rbp + 0x240], rsi
mov word [rbp + 0x230], si
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
call qword [rax + 0x18]
mov qword [rbp + 0x268], 7
xor eax, eax
mov qword [rbp + 0x260], rax
mov word [rbp + 0x250], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, qword [rsp + 0x38]
lea rcx, [rbp + 0x250]
call fcn.140008be0
nop
mov r8d, 1
lea rdx, [0x1400ee130]
lea rcx, [rbp + 0x250]
call fcn.14002dd30
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x250]
call fcn.14002f4e0
mov r8, rsi
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp + 0x250]
call fcn.140045770
nop
mov r8, qword [rbp + 0x268]
cmp r8, 8
jb 0x140045b06
inc r8
mov rdx, qword [rbp + 0x250]
lea rcx, [rbp + 0x250]
call fcn.140008b70
mov qword [rbp + 0x268], 7
xor eax, eax
mov qword [rbp + 0x260], rax
mov word [rbp + 0x250], ax
test rbx, rbx
je 0x140045b3c
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov r8, qword [rbp + 0x208]
cmp r8, 8
jb 0x140045d04
inc r8
mov rdx, qword [rbp + 0x1f0]
lea rcx, [rbp + 0x1f0]
call fcn.140008b70
jmp 0x140045d04
lea r8, [0x1400ee130]
mov rdx, rbx
lea rcx, [rbp + 0x230]
call fcn.140031030
nop
lea r8, [rbp + 0x1d0]
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.140031180
nop
mov r8, qword [rbp + 0x248]
cmp r8, 8
jb 0x140045bb9
inc r8
mov rdx, qword [rbp + 0x230]
lea rcx, [rbp + 0x230]
call fcn.140008b70
mov qword [rbp + 0x248], 7
xor eax, eax
mov qword [rbp + 0x240], rax
mov word [rbp + 0x230], ax
mov ecx, 0x90
call fcn.14009dbb8
mov rbx, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x40]
mov r8, qword [rax + 0x10]
inc r8
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x1f0]
call fcn.140008ff0
mov r8, rax
or edi, 2
mov dword [rsp + 0x30], edi
lea r9, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 8
cmovae r9, qword [rbp + 0x1f0]
cmp qword [rax + 0x18], 8
jb 0x140045c34
mov r8, qword [rax]
mov ecx, dword [rbp - 0x64]
shl rcx, 0x20
mov eax, dword [rbp - 0x60]
add rcx, rax
mov qword [rsp + 0x20], rcx
mov edx, 2
mov rcx, rbx
call fcn.140038cd0
mov rdx, rax
test rax, rax
jne 0x140045c65
mov rbx, rax
mov qword [rsp + 0x50], rax
jmp 0x140045c91
mov rax, qword [rax + 0x10]
movsxd rcx, dword [rax + 8]
lea rbx, [rdx + 0x10]
add rbx, rcx
mov qword [rsp + 0x50], rbx
je 0x140045c91
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
and edi, 0xfffffffd
mov r8, qword [rbp + 0x228]
cmp r8, 8
jb 0x140045cb7
inc r8
mov rdx, qword [rbp + 0x210]
lea rcx, [rbp + 0x210]
call fcn.140008b70
mov qword [rbp + 0x228], 7
xor eax, eax
mov qword [rbp + 0x220], rax
mov word [rbp + 0x210], ax
mov rax, qword [rsi]
mov rdx, rbx
mov rcx, rsi
call qword [rax + 0x18]
nop
test rbx, rbx
je 0x140045cfa
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
jmp 0x140045b3c
mov rsi, qword [rsp + 0x48]
lea rdx, [rbp - 0x80]
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
nop
mov r8, qword [rbp + 0x1e8]
test eax, eax
je 0x140045d4c
cmp r8, 8
mov rbx, qword [rsp + 0x38]
jb 0x140045840
inc r8
mov rdx, qword [rbp + 0x1d0]
lea rcx, [rbp + 0x1d0]
call fcn.140008b70
jmp 0x140045840
cmp r8, 8
jb 0x140045d68
inc r8
mov rdx, qword [rbp + 0x1d0]
lea rcx, [rbp + 0x1d0]
call fcn.140008b70
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov r8, qword [rbp + 0x288]
cmp r8, 8
jb 0x140045d95
inc r8
mov rdx, qword [rbp + 0x270]
lea rcx, [rbp + 0x270]
call fcn.140008b70
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.14009d860
mov rbx, qword [rsp + 0x3d8]
add rsp, 0x3a0
pop rdi
pop rsi
pop rbp
ret