Function at 0x140061480
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 0x140061514
cmp qword [rsi + 0x20488], 2
jne 0x140061514
mov rax, qword [rsi + 0x20460]
cmp word [rax + 2], 0x3a
jne 0x140061514
mov dword [rsi + 0x10250], 0x2e
mov r8d, 1
mov qword [rsi + 0x20478], 1
mov byte [rsp + 0xe0], r14b
jmp 0x140061523
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 0x140061552
mov eax, 4
jmp 0x140061948
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.1400e2970
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 0x1400615c1
nop
mov edx, r15d
mov rcx, rsi
call fcn.140068c30
test al, al
je 0x1400615c1
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, eax
test eax, eax
jne 0x1400615a0
mov qword [rsp + 0x40], r14
mov ebp, 4
mov r14, qword [0x1401251d8]
mov qword [r14 + 8], rsi
test ebx, ebx
je 0x14006173e
mov rcx, qword [r13 + 0x20]
lea rbx, [0x140000000]
cmp byte [rcx], 3
jne 0x140061630
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.14005e9b0
mov rcx, qword [r13 + 0x20]
mov ebp, eax
mov rdx, qword [rsp + 0x40]
cmp rdx, rcx
je 0x140061600
mov r15d, dword [rsp + 0xd0]
jmp 0x14006164e
mov r8, qword [rsp + 0xb8]
lea r9, [rsp + 0x40]
mov edx, 3
call fcn.14005e9b0
mov rdx, qword [rsp + 0x40]
mov ebp, eax
test rdx, rdx
je 0x14006166d
cmp ebp, 6
jne 0x14006165d
cmp rdx, r13
je 0x140061672
mov rbx, qword [rsp + 0xc0]
mov qword [rbx], rdx
jmp 0x140061746
cmp ebp, 6
jne 0x140061679
mov ebp, 1
jmp 0x140061682
cmp ebp, 1
jne 0x14006173e
test r12, r12
je 0x140061710
mov rax, qword [0x1401251d8]
mov qword [0x14012dd38], r12
cmp byte [rax + 0xc6], 0
je 0x1400616dd
movsxd rax, dword [0x14012d2f0]
mov qword [rbx + rax*8 + 0x12c670], r12
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsxd rdx, dword [0x14012d2f0]
mov dword [rbx + rdx*4 + 0x12c030], eax
inc edx
mov dword [0x14012d2f0], edx
cmp edx, 0x190
jl 0x1400616dd
xor eax, eax
mov dword [0x14012d2f0], eax
cmp qword [0x140127ac0], 0xffffffffffffffff
je 0x1400616ef
mov rdx, r12
call fcn.14000887c
xor edx, edx
mov rcx, r12
call fcn.14007b4d0
mov ebp, eax
cmp eax, 1
jne 0x14006173e
mov rcx, qword [0x14012d310]
call fcn.14006bd20
test eax, eax
jne 0x140061739
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, eax
test eax, eax
je 0x140061731
mov edx, r15d
mov rcx, rsi
call fcn.140068c30
test al, al
jne 0x140061710
inc qword [r14]
jmp 0x1400615d6
mov ebp, 5
mov rbx, qword [rsp + 0xc0]
cmp rdi, 0xffffffffffffffff
je 0x140061755
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp ebp, 1
je 0x140061763
cmp ebp, 4
jne 0x140061934
cmp qword [rbx], 0
jne 0x140061934
cmp byte [rsp + 0xe0], 0
je 0x140061934
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 0x140061934
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 0x140061917
cmp word [rsi + 0x2c], 0x2e
lea rdx, [rsi + 0x2c]
jne 0x1400617f3
movzx eax, word [rsi + 0x2e]
test ax, ax
je 0x140061917
cmp ax, 0x2e
jne 0x1400617f3
cmp word [rsi + 0x30], 0
je 0x140061917
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140061800
lea rax, [rbx + 1]
cmp rax, qword [rsp + 0x58]
jae 0x140061917
mov rax, qword [rsp + 0x48]
lea rdi, [rbx + rbx]
add rax, 0x128
mov r8, rdi
lea rcx, [rsi + rax*2]
call fcn.1400e2970
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 0x140061860
test rcx, rcx
mov rdi, rcx
cmove rdi, rbx
lea rax, [rdi + 1]
cmp rax, qword [rsp + 0x60]
jae 0x140061917
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.1400e2970
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.140061480
cmp eax, 4
je 0x140061917
mov ebp, eax
cmp eax, 1
jne 0x14006192b
cmp qword [rbx], 0
jne 0x14006192b
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400617c1
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