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

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x248]
sub rsp, 0x348
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov rax, qword [0x1800380b0]
xor rax, rsp
mov qword [rbp + 0x230], rax
movzx ebx, r9b
mov byte [rsp + 0x20], bl
mov rdi, r8
mov qword [rsp + 0x48], r8
mov rsi, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x48], 7
xor eax, eax
mov qword [rbp - 0x50], rax
mov word [rbp - 0x60], ax
cmp word [rcx], ax
jne 0x180002102
mov r8d, eax
jmp 0x180002110
or r8, 0xffffffffffffffff
inc r8
cmp word [rcx + r8*2], ax
jne 0x180002106
mov rdx, rcx
lea rcx, [rbp - 0x60]
call fcn.1800019d0
nop
lea rcx, [rbp - 0x60]
call fcn.180002a30
test eax, eax
jne 0x18000213e
lea r8d, [rax + 1]
lea rdx, [0x1800235f4]
lea rcx, [rbp - 0x60]
call fcn.180001720
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor r8d, r8d
mov qword [rsp + 0x38], r8
lea r8, [rsp + 0x28]
lea rdx, [0x1800236f8]
mov rcx, rsi
call fcn.180002a70
mov qword [rbp - 0x68], 7
xor esi, esi
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.180001890
nop
lea r8d, [rsi + 3]
lea rdx, [0x1800236f0]
lea rcx, [rbp - 0x80]
call fcn.180001720
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x40], rax
movabs r8, 0x7fffffffffffffff
cmp rax, 0xffffffffffffffff
je 0x1800024a4
mov rsi, rax
test byte [rbp - 0x20], 0x10
je 0x180002296
cmp word [rbp + 0xc], 0x2e
je 0x18000243d
mov qword [rsp + 0x78], 7
xor eax, eax
mov qword [rsp + 0x70], rax
mov word [rsp + 0x60], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.180001890
nop
cmp word [rbp + 0xc], 0
jne 0x18000221e
xor r8d, r8d
jmp 0x18000223b
lea rax, [rbp + 0xc]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180002230
lea rdx, [rbp + 0xc]
lea rcx, [rsp + 0x60]
call fcn.180001720
test bl, bl
je 0x180002270
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
movzx r9d, bl
mov r8, rdi
mov rdx, qword [rsp + 0x50]
call fcn.1800020a0
nop
mov r8, qword [rsp + 0x78]
cmp r8, 8
jb 0x18000243d
inc r8
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.180001b20
jmp 0x18000243d
lea rdx, [rbp + 0xc]
lea rcx, [rbp - 0x40]
call fcn.180001d20
nop
lea rcx, [rbp - 0x40]
call fcn.180002e20
xor al, al
mov byte [rsp + 0x21], al
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rbx, rsi
je 0x18000230e
cmp qword [rbx + 0x18], 8
jb 0x1800022ce
mov rdi, qword [rbx]
jmp 0x1800022d1
mov rdi, rbx
lea rcx, [rbp - 0x40]
call fcn.180001dd0
sub rdi, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
jne 0x1800022f3
add rax, 2
test ecx, ecx
jne 0x1800022e0
test edx, edx
je 0x180002307
add rbx, 0x20
cmp rbx, rsi
jne 0x1800022c2
movzx eax, byte [rsp + 0x21]
jmp 0x180002309
mov al, 1
mov rdi, qword [rsp + 0x48]
test al, al
je 0x1800023df
mov qword [rsp + 0x78], 7
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov word [rsp + 0x60], bx
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.180001890
nop
cmp word [rbp + 0xc], bx
jne 0x18000234c
mov r8d, ebx
jmp 0x18000235f
lea rax, [rbp + 0xc]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180002354
lea rdx, [rbp + 0xc]
lea rcx, [rsp + 0x60]
call fcn.180001720
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1800027e0
nop
mov rax, qword [rsp + 0x78]
movabs rbx, 0x7fffffffffffffff
cmp rax, 8
jb 0x1800023e9
inc rax
mov rcx, qword [rsp + 0x60]
cmp rax, rbx
ja 0x18000246b
add rax, rax
cmp rax, 0x1000
jb 0x1800023d8
test cl, 0x1f
jne 0x180002465
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18000245f
sub rcx, rax
cmp rcx, 8
jb 0x180002459
cmp rcx, 0x27
ja 0x180002453
mov rcx, rax
call fcn.18000ab58
jmp 0x1800023e9
movabs rbx, 0x7fffffffffffffff
mov rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x180002433
inc rax
mov rcx, qword [rbp - 0x40]
cmp rax, rbx
ja 0x180002489
add rax, rax
cmp rax, 0x1000
jb 0x18000242e
test cl, 0x1f
jne 0x180002483
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18000247d
sub rcx, rax
cmp rcx, 8
jb 0x180002477
cmp rcx, 0x27
ja 0x180002471
mov rcx, rax
call fcn.18000ab58
mov rsi, qword [rsp + 0x40]
movzx ebx, byte [rsp + 0x20]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x18000248f
jmp 0x1800021d2
call fcn.18000f270
int3
call fcn.18000f270
int3
call fcn.18000f270
int3
call fcn.18000f270
int3
call fcn.18000f270
nop
call fcn.18000f270
int3
call fcn.18000f270
int3
call fcn.18000f270
int3
call fcn.18000f270
int3
call fcn.18000f270
int3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
movabs r8, 0x7fffffffffffffff
mov rax, qword [rbp - 0x68]
cmp rax, 8
jb 0x180002509
inc rax
mov rcx, qword [rbp - 0x80]
cmp rax, r8
jbe 0x1800024c0
call fcn.18000f270
int3
add rax, rax
cmp rax, 0x1000
jb 0x180002504
test byte [rbp - 0x80], 0x1f
je 0x1800024d7
call fcn.18000f270
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800024e6
call fcn.18000f270
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800024f5
call fcn.18000f270
int3
cmp rcx, 0x27
jbe 0x180002501
call fcn.18000f270
int3
mov rcx, rax
call fcn.18000ab58
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x180002561
movzx r9d, byte [rsp + 0x21]
lea r8, [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.180001ef0
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
sub r8, rdx
sar r8, 5
lea rcx, [rsp + 0x28]
call fcn.180002770
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov r8, qword [rbp - 0x48]
cmp r8, 8
jb 0x18000257b
inc r8
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x60]
call fcn.180001b20
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.18000b090
add rsp, 0x348
pop rdi
pop rsi
pop rbx
pop rbp
ret