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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push r15
sub rsp, 0x90
mov rsi, qword [rsp + 0xe8]
xor ebx, ebx
mov r15, rcx
mov rax, qword [rsi + 0x20480]
mov rdx, qword [rsi + 0x20470]
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 0x20478]
mov qword [rsp + 0x48], rdx
mov r8, rax
mov qword [rsi + 0x20498], rdx
test rax, rax
jne 0x140061341
cmp qword [rsi + 0x20488], 2
jne 0x140061341
mov rax, qword [rsi + 0x20460]
cmp word [rax + 2], 0x3a
jne 0x140061341
mov dword [rsi + 0x10250], 0x2e
mov r8d, 1
mov qword [rsi + 0x20478], 1
mov byte [rsp + 0xe8], bl
jmp 0x140061350
movzx eax, byte [rsp + 0xe0]
mov byte [rsp + 0xe8], al
mov qword [rsp + 0xb0], rbp
lea rcx, [rsi + 0x250]
mov qword [rsp + 0x88], rdi
lea rcx, [rcx + rdx*2]
mov qword [rsp + 0x80], r12
mov eax, 0x8000
sub rax, rdx
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x58], rax
cmp r8, rax
jae 0x140061764
lea r8, [r8*2 + 2]
lea rdx, [rsi + 0x10250]
call sub.VCRUNTIME140.dll_memcpy
lea r14, [rsi + 0x250]
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r13d, dword [rsp + 0xd8]
cmp rax, 0xffffffffffffffff
mov rdi, rax
setne bl
je 0x1400613f1
nop
mov edx, r13d
mov rcx, rsi
call fcn.14007d9b0
test al, al
je 0x1400613f1
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, eax
test eax, eax
jne 0x1400613d0
mov rbp, qword [0x14012f240]
mov r12, qword [rsp + 0xd0]
mov qword [rbp + 0x10], rsi
test ebx, ebx
je 0x14006157f
nop dword [rax]
mov rcx, qword [r15 + 0x20]
cmp byte [rcx], 0x77
jne 0x140061450
mov r14, qword [rsp + 0xb8]
mov rcx, qword [rcx + 0x20]
lea r9, [rsp + 0x40]
mov r8, r14
mov edx, 2
call fcn.140056cb0
mov rcx, qword [r15 + 0x20]
mov ebx, eax
mov rax, qword [rsp + 0x40]
cmp rax, rcx
je 0x140061421
lea r14, [rsi + 0x250]
jmp 0x14006146e
mov r8, qword [rsp + 0xb8]
lea r9, [rsp + 0x40]
mov edx, 3
call fcn.140056cb0
mov ebx, eax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006149c
cmp ebx, 6
jne 0x140061797
cmp rax, r15
je 0x1400614a6
mov r9, qword [rsp + 0xc8]
mov qword [r9], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, ebx
jmp 0x140061769
cmp ebx, 1
je 0x1400614a6
cmp ebx, 6
jne 0x14006148c
test r12, r12
je 0x140061552
mov rax, qword [0x14012f240]
mov qword [0x140136730], r12
cmp byte [rax + 0x139], 0
je 0x140061508
movsxd rax, dword [0x140133b70]
lea rbx, [0x140000000]
mov qword [rbx + rax*8 + 0x1341c0], r12
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rdx, dword [0x140133b70]
mov dword [rbx + rdx*4 + 0x133b80], eax
inc edx
mov dword [0x140133b70], edx
cmp edx, 0x190
jl 0x140061508
xor eax, eax
mov dword [0x140133b70], eax
cmp qword [0x1401319c0], 0xffffffffffffffff
je 0x14006151a
mov rdx, r12
call fcn.1400088b0
xor r9d, r9d
xor edx, edx
mov r8, 0xffffffffffffffff
mov rcx, r12
call fcn.1400a64c0
mov ebx, eax
cmp eax, 1
jne 0x14006148c
mov rcx, qword [0x140134ef0]
mov ebx, 5
call fcn.140098190
test eax, eax
jne 0x14006148c
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, eax
test eax, eax
je 0x140061573
mov edx, r13d
mov rcx, rsi
call fcn.14007d9b0
test al, al
jne 0x140061552
inc qword [rbp + 8]
test ebx, ebx
jne 0x140061410
cmp rdi, 0xffffffffffffffff
je 0x14006158e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [rsp + 0xe8], 0
je 0x140061764
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
lea rax, [rsi + rcx*2]
mov rcx, r14
mov dword [rax + 0x250], gethostbyaddr
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x140061764
mov rcx, qword [rsp + 0x50]
mov eax, 0x8000
sub rax, rcx
mov qword [rsp + 0x60], rax
lea r14, [rsi + rcx*2]
nop
test byte [rsi], 0x10
je 0x140061747
cmp word [rsi + 0x2c], 0x2e
lea rdx, [rsi + 0x2c]
jne 0x140061612
movzx eax, word [rsi + 0x2e]
test ax, ax
je 0x140061747
cmp ax, 0x2e
jne 0x140061612
cmp word [rsi + 0x30], 0
je 0x140061747
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140061620
lea rax, [rbx + 1]
cmp rax, qword [rsp + 0x58]
jae 0x140061747
mov rax, qword [rsp + 0x48]
lea rdi, [rbx + rbx]
add rax, 0x128
mov r8, rdi
lea rcx, [rsi + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x48]
lea rax, [rsi + rcx*2]
mov dword [rdi + rax + 0x250], WSAAsyncSelect
lea rax, [rcx + 1]
add rax, rbx
mov rcx, 0xffffffffffffffff
mov qword [rsi + 0x20470], rax
nop dword [rax]
inc rcx
cmp word [rsi + rcx*2 + 0x234], 0
jne 0x140061680
test rcx, rcx
mov rdi, rcx
cmove rdi, rbx
lea rax, [rdi + 1]
cmp rax, qword [rsp + 0x60]
jae 0x140061747
test rcx, rcx
lea rbx, [rdi + rdi]
mov eax, 0x234
lea rcx, [r14 + 0x10458]
mov edx, 0x2c
mov r8, rbx
cmovne edx, eax
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x50]
mov rcx, r15
mov r9, qword [rsp + 0xc8]
inc rax
mov rdx, qword [rsp + 0xb8]
add rax, rdi
mov rdi, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rsi
mov r8, rdi
mov dword [rbx + r14 + 0x10458], 0x5c
mov qword [rsi + 0x20480], rax
movzx eax, byte [rsp + 0xe8]
mov byte [rsp + 0x30], al
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r12
call fcn.1400612b0
mov ebx, eax
cmp eax, 1
jne 0x1400617b8
cmp byte [rdi], 0
jne 0x14006175b
mov rax, qword [rsp + 0xc8]
cmp qword [rax], 0
jne 0x14006175b
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400615e0
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, 1
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xb0]
add rsp, 0x90
pop r15
pop rsi
pop rbx
ret
cmp rax, r15
jne 0x140061481
mov rax, qword [rsp + 0xc0]
mov rcx, rdi
mov byte [rax], 1
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, ebx
jmp 0x140061769
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, ebx
jmp 0x140061769