Function at 0x180002050
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 0x1800020b2
mov r8d, eax
jmp 0x1800020c0
or r8, 0xffffffffffffffff
inc r8
cmp word [rcx + r8*2], ax
jne 0x1800020b6
mov rdx, rcx
lea rcx, [rbp - 0x60]
call fcn.180001980
nop
lea rcx, [rbp - 0x60]
call fcn.1800029e0
test eax, eax
jne 0x1800020ee
lea r8d, [rax + 1]
lea rdx, [0x1800235f4]
lea rcx, [rbp - 0x60]
call fcn.1800016d0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor r8d, r8d
mov qword [rsp + 0x38], r8
lea r8, [rsp + 0x28]
lea rdx, [0x1800236e8]
mov rcx, rsi
call fcn.180002a20
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.180001840
nop
lea r8d, [rsi + 3]
lea rdx, [0x1800236e0]
lea rcx, [rbp - 0x80]
call fcn.1800016d0
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 0x180002454
mov rsi, rax
test byte [rbp - 0x20], 0x10
je 0x180002246
cmp word [rbp + 0xc], 0x2e
je 0x1800023ed
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.180001840
nop
cmp word [rbp + 0xc], 0
jne 0x1800021ce
xor r8d, r8d
jmp 0x1800021eb
lea rax, [rbp + 0xc]
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800021e0
lea rdx, [rbp + 0xc]
lea rcx, [rsp + 0x60]
call fcn.1800016d0
test bl, bl
je 0x180002220
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.180002050
nop
mov r8, qword [rsp + 0x78]
cmp r8, 8
jb 0x1800023ed
inc r8
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
call fcn.180001ad0
jmp 0x1800023ed
lea rdx, [rbp + 0xc]
lea rcx, [rbp - 0x40]
call fcn.180001cd0
nop
lea rcx, [rbp - 0x40]
call fcn.180002dd0
xor al, al
mov byte [rsp + 0x21], al
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rbx, rsi
je 0x1800022be
cmp qword [rbx + 0x18], 8
jb 0x18000227e
mov rdi, qword [rbx]
jmp 0x180002281
mov rdi, rbx
lea rcx, [rbp - 0x40]
call fcn.180001d80
sub rdi, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
jne 0x1800022a3
add rax, 2
test ecx, ecx
jne 0x180002290
test edx, edx
je 0x1800022b7
add rbx, 0x20
cmp rbx, rsi
jne 0x180002272
movzx eax, byte [rsp + 0x21]
jmp 0x1800022b9
mov al, 1
mov rdi, qword [rsp + 0x48]
test al, al
je 0x18000238f
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.180001840
nop
cmp word [rbp + 0xc], bx
jne 0x1800022fc
mov r8d, ebx
jmp 0x18000230f
lea rax, [rbp + 0xc]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x180002304
lea rdx, [rbp + 0xc]
lea rcx, [rsp + 0x60]
call fcn.1800016d0
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.180002790
nop
mov rax, qword [rsp + 0x78]
movabs rbx, 0x7fffffffffffffff
cmp rax, 8
jb 0x180002399
inc rax
mov rcx, qword [rsp + 0x60]
cmp rax, rbx
ja 0x18000241b
add rax, rax
cmp rax, 0x1000
jb 0x180002388
test cl, 0x1f
jne 0x180002415
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18000240f
sub rcx, rax
cmp rcx, 8
jb 0x180002409
cmp rcx, 0x27
ja 0x180002403
mov rcx, rax
call fcn.18000ab08
jmp 0x180002399
movabs rbx, 0x7fffffffffffffff
mov rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x1800023e3
inc rax
mov rcx, qword [rbp - 0x40]
cmp rax, rbx
ja 0x180002439
add rax, rax
cmp rax, 0x1000
jb 0x1800023de
test cl, 0x1f
jne 0x180002433
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18000242d
sub rcx, rax
cmp rcx, 8
jb 0x180002427
cmp rcx, 0x27
ja 0x180002421
mov rcx, rax
call fcn.18000ab08
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 0x18000243f
jmp 0x180002182
call fcn.18000f250
int3
call fcn.18000f250
int3
call fcn.18000f250
int3
call fcn.18000f250
int3
call fcn.18000f250
nop
call fcn.18000f250
int3
call fcn.18000f250
int3
call fcn.18000f250
int3
call fcn.18000f250
int3
call fcn.18000f250
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 0x1800024b9
inc rax
mov rcx, qword [rbp - 0x80]
cmp rax, r8
jbe 0x180002470
call fcn.18000f250
int3
add rax, rax
cmp rax, 0x1000
jb 0x1800024b4
test byte [rbp - 0x80], 0x1f
je 0x180002487
call fcn.18000f250
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180002496
call fcn.18000f250
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800024a5
call fcn.18000f250
int3
cmp rcx, 0x27
jbe 0x1800024b1
call fcn.18000f250
int3
mov rcx, rax
call fcn.18000ab08
mov qword [rbp - 0x68], 7
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x180002511
movzx r9d, byte [rsp + 0x21]
lea r8, [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.180001ea0
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
sub r8, rdx
sar r8, 5
lea rcx, [rsp + 0x28]
call fcn.180002720
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov r8, qword [rbp - 0x48]
cmp r8, 8
jb 0x18000252b
inc r8
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp - 0x60]
call fcn.180001ad0
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.18000b040
add rsp, 0x348
pop rdi
pop rsi
pop rbx
pop rbp
ret