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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rsi
push r12
push r13
push r14
sub rsp, 0x88
mov rsi, qword [rsp + 0xe0]
xor r14d, r14d
mov r12, r9
mov r13, 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 0x140060be4
cmp qword [rsi + 0x20488], 2
jne 0x140060be4
mov rax, qword [rsi + 0x20460]
cmp word [rax + 2], 0x3a
jne 0x140060be4
mov dword [rsi + 0x10250], 0x2e
mov r8d, 1
mov qword [rsi + 0x20478], 1
mov byte [rsp + 0xe0], r14b
jmp 0x140060bf3
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0xe0], al
mov eax, 0x8000
mov qword [rsp + 0x80], rbp
sub rax, rdx
lea rcx, [rsi + 0x250]
mov qword [rsp + 0x58], rax
lea rcx, [rcx + rdx*2]
cmp r8, rax
jb 0x140060c22
mov eax, 4
jmp 0x140061018
mov qword [rsp + 0xb0], rbx
lea r8, [r8*2 + 2]
mov qword [rsp + 0x78], rdi
lea rdx, [rsi + 0x10250]
mov qword [rsp + 0x70], r15
call fcn.1400e5b10
lea rcx, [rsi + 0x250]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r15d, dword [rsp + 0xd0]
mov ebx, r14d
cmp rax, 0xffffffffffffffff
mov rdi, rax
setne bl
je 0x140060c91
nop
mov edx, r15d
mov rcx, rsi
call fcn.140068370
test al, al
je 0x140060c91
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, eax
test eax, eax
jne 0x140060c70
mov qword [rsp + 0x40], r14
mov ebp, 4
mov r14, qword [0x140129398]
mov qword [r14 + 8], rsi
test ebx, ebx
je 0x140060e0e
mov rcx, qword [r13 + 0x20]
lea rbx, [0x140000000]
cmp byte [rcx], 3
jne 0x140060d00
mov r15, qword [rsp + 0xb8]
nop word [rax + rax]
mov rcx, qword [rcx + 0x20]
lea r9, [rsp + 0x40]
mov r8, r15
mov edx, 2
call fcn.14005e2a0
mov rcx, qword [r13 + 0x20]
mov ebp, eax
mov rdx, qword [rsp + 0x40]
cmp rdx, rcx
je 0x140060cd0
mov r15d, dword [rsp + 0xd0]
jmp 0x140060d1e
mov r8, qword [rsp + 0xb8]
lea r9, [rsp + 0x40]
mov edx, 3
call fcn.14005e2a0
mov rdx, qword [rsp + 0x40]
mov ebp, eax
test rdx, rdx
je 0x140060d3d
cmp ebp, 6
jne 0x140060d2d
cmp rdx, r13
je 0x140060d42
mov rbx, qword [rsp + 0xc0]
mov qword [rbx], rdx
jmp 0x140060e16
cmp ebp, 6
jne 0x140060d49
mov ebp, 1
jmp 0x140060d52
cmp ebp, 1
jne 0x140060e0e
test r12, r12
je 0x140060de0
mov rax, qword [0x140129398]
mov qword [0x140132068], r12
cmp byte [rax + 0xc6], 0
je 0x140060dad
movsxd rax, dword [0x140131630]
mov qword [rbx + rax*8 + 0x1309b0], r12
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rdx, dword [0x140131630]
mov dword [rbx + rdx*4 + 0x130370], eax
inc edx
mov dword [0x140131630], edx
cmp edx, 0x190
jl 0x140060dad
xor eax, eax
mov dword [0x140131630], eax
cmp qword [0x14012bcf0], 0xffffffffffffffff
je 0x140060dbf
mov rdx, r12
call fcn.140008848
xor edx, edx
mov rcx, r12
call fcn.14007b100
mov ebp, eax
cmp eax, 1
jne 0x140060e0e
mov rcx, qword [0x140131650]
call fcn.14006b6f0
test eax, eax
jne 0x140060e09
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, eax
test eax, eax
je 0x140060e01
mov edx, r15d
mov rcx, rsi
call fcn.140068370
test al, al
jne 0x140060de0
inc qword [r14]
jmp 0x140060ca6
mov ebp, 5
mov rbx, qword [rsp + 0xc0]
cmp rdi, 0xffffffffffffffff
je 0x140060e25
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp ebp, 1
je 0x140060e33
cmp ebp, 4
jne 0x140061004
cmp qword [rbx], 0
jne 0x140061004
cmp byte [rsp + 0xe0], 0
je 0x140061004
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
lea rax, [rsi + rcx*2]
lea rcx, [rsi + 0x250]
mov dword [rax + 0x250], gethostbyaddr
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x140061004
mov rcx, qword [rsp + 0x50]
mov eax, 0x8000
sub rax, rcx
mov qword [rsp + 0x60], rax
lea r15, [rsi + rcx*2]
test byte [rsi], 0x10
je 0x140060fe7
cmp word [rsi + 0x2c], 0x2e
lea rdx, [rsi + 0x2c]
jne 0x140060ec3
movzx eax, word [rsi + 0x2e]
test ax, ax
je 0x140060fe7
cmp ax, 0x2e
jne 0x140060ec3
cmp word [rsi + 0x30], 0
je 0x140060fe7
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140060ed0
lea rax, [rbx + 1]
cmp rax, qword [rsp + 0x58]
jae 0x140060fe7
mov rax, qword [rsp + 0x48]
lea rdi, [rbx + rbx]
add rax, 0x128
mov r8, rdi
lea rcx, [rsi + rax*2]
call fcn.1400e5b10
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 0x140060f30
test rcx, rcx
mov rdi, rcx
cmove rdi, rbx
lea rax, [rdi + 1]
cmp rax, qword [rsp + 0x60]
jae 0x140060fe7
test rcx, rcx
lea rbx, [rdi + rdi]
mov eax, 0x234
lea rcx, [r15 + 0x10458]
mov edx, 0x2c
mov r8, rbx
cmovne edx, eax
add rdx, rsi
call fcn.1400e5b10
mov rax, qword [rsp + 0x50]
mov r9, r12
mov rdx, qword [rsp + 0xb8]
inc rax
add rax, rdi
mov dword [rbx + r15 + 0x10458], 0x5c
mov rbx, qword [rsp + 0xc0]
mov rcx, r13
mov qword [rsi + 0x20480], rax
mov r8, rbx
movzx eax, byte [rsp + 0xe0]
mov qword [rsp + 0x30], rsi
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
call fcn.140060b50
cmp eax, 4
je 0x140060fe7
mov ebp, eax
cmp eax, 1
jne 0x140060ffb
cmp qword [rbx], 0
jne 0x140060ffb
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140060e91
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdi, qword [rsp + 0x78]
mov eax, ebp
mov rbx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
pop r14
pop r13
pop r12
pop rsi
ret