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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x510
mov qword [rsp + 0x498], 0xfffffffffffffffe
mov rax, qword [0x180161180]
xor rax, rsp
mov qword [rsp + 0x500], rax
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x3f0], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x3e8], 0
mov qword [rsp + 0x3e0], 0xffffffffffffffff
mov dword [rsp + 0x58], 0x1f
mov rax, qword [rsp + 0x520]
movzx eax, byte [rax + 0x10]
cmp eax, 1
jne 0x180090f18
lea rcx, [0x180011b40]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x420], rax
cmp qword [rsp + 0x420], 0
je 0x180090e8f
lea r9, [0x180011ae0]
xor r8d, r8d
mov edx, 0xe
mov rcx, qword [rsp + 0x420]
call fcn.18008d120
mov qword [rsp + 0x4a0], rax
jmp 0x180090e9b
mov qword [rsp + 0x4a0], 0
mov rax, qword [rsp + 0x4a0]
mov qword [rsp + 0x418], rax
mov rax, qword [rsp + 0x418]
mov qword [rsp + 0x3e8], rax
cmp qword [rsp + 0x3e8], 0
je 0x180090ef4
mov rcx, qword [rsp + 0x3e8]
call fcn.18008d1e0
mov rdi, rax
mov rcx, qword [rsp + 0x3e8]
call fcn.1800e3fe0
mov r8, rdi
mov edx, eax
lea rcx, [0x180011a60]
call fcn.1800892c0
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x428], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x428]
call fcn.1800ec370
mov rax, qword [rsp + 0x520]
mov ecx, dword [rax + 0x54]
add ecx, 1
mov rax, qword [rsp + 0x520]
mov dword [rax + 0x54], ecx
mov rdi, qword [rsp + 0x520]
mov rdi, qword [rdi]
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x558]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x520]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x550]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x540]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x538]
mov r8, qword [rsp + 0x530]
mov rdx, qword [rsp + 0x528]
mov rcx, qword [rsp + 0x520]
call qword [rdi + 0x18]
mov qword [rsp + 0x2c0], rax
cmp qword [rsp + 0x2c0], 0
jne 0x1800910b0
lea rcx, [0x180011a00]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x438], rax
cmp qword [rsp + 0x438], 0
je 0x18009100e
lea r9, [0x1800119a0]
xor r8d, r8d
mov edx, 4
mov rcx, qword [rsp + 0x438]
call fcn.18008d120
mov qword [rsp + 0x4a8], rax
jmp 0x18009101a
mov qword [rsp + 0x4a8], 0
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x430], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x3e8], rax
cmp qword [rsp + 0x3e8], 0
je 0x180091073
mov rcx, qword [rsp + 0x3e8]
call fcn.18008d1e0
mov rdi, rax
mov rcx, qword [rsp + 0x3e8]
call fcn.1800e3fe0
mov r8, rdi
mov edx, eax
lea rcx, [0x180011a60]
call fcn.1800892c0
mov rax, qword [rsp + 0x520]
mov ecx, dword [rax + 0x54]
sub ecx, 1
mov rax, qword [rsp + 0x520]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x440], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x440]
call fcn.1800ec370
mov rax, qword [rsp + 0x528]
movsx eax, byte [rax]
cmp eax, 0x2f
jne 0x18009110b
mov rax, qword [rsp + 0x530]
movsx eax, byte [rax]
cmp eax, 0x2f
jne 0x18009110b
mov rax, qword [rsp + 0x538]
movsx eax, byte [rax]
cmp eax, 0x2f
jne 0x18009110b
mov rax, qword [rsp + 0x520]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x2c0]
jmp 0x180091837
mov rax, qword [rsp + 0x528]
movsx eax, byte [rax]
cmp eax, 0x3a
jne 0x180091146
mov rax, qword [rsp + 0x520]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x2c0]
jmp 0x180091837
mov eax, dword [rsp + 0x540]
and eax, 0x10
test eax, eax
je 0x180091156
jmp 0x180091181
mov rax, qword [rsp + 0x520]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x2c0]
jmp 0x180091837
lea rdi, [rsp + 0x1b0]
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
mov r8, qword [rsp + 0x528]
lea rdx, [0x180010cb0]
lea rcx, [rsp + 0x1b0]
call fcn.1800eb79c
lea rdi, [rsp + 0x70]
xor eax, eax
mov ecx, 0x140
rep stosb byte [rdi], al
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x3e0], rax
cmp qword [rsp + 0x3e0], 0xffffffffffffffff
jne 0x180091301
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x1b0]
lea rcx, [0x180011940]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x450], rax
cmp qword [rsp + 0x450], 0
je 0x180091263
mov r8d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x20], rax
lea r9, [0x1800118e0]
mov edx, 5
mov rcx, qword [rsp + 0x450]
call fcn.18008d120
mov qword [rsp + 0x4b0], rax
jmp 0x18009126f
mov qword [rsp + 0x4b0], 0
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x3e8], rax
cmp qword [rsp + 0x3e8], 0
je 0x1800912c8
mov rcx, qword [rsp + 0x3e8]
call fcn.18008d1e0
mov rdi, rax
mov rcx, qword [rsp + 0x3e8]
call fcn.1800e3fe0
mov r8, rdi
mov edx, eax
lea rcx, [0x180011a60]
call fcn.1800892c0
lea rdx, [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call fcn.180091cd0
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x458], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x458]
call fcn.1800ec370
mov eax, dword [rsp + 0x70]
and eax, 0x10
test eax, eax
je 0x180091339
movsx eax, byte [rsp + 0x9c]
cmp eax, 0x2e
jne 0x180091339
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x9c]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
cmp rcx, 1
je 0x18009137e
mov eax, dword [rsp + 0x70]
and eax, 0x10
test eax, eax
je 0x180091383
movsx eax, byte [rsp + 0x9c]
cmp eax, 0x2e
jne 0x180091383
movsx eax, byte [rsp + 0x9d]
cmp eax, 0x2e
jne 0x180091383
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x9c]
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
cmp rcx, 2
jne 0x180091383
jmp 0x1800916c3
lea rdi, [rsp + 0x2d0]
xor eax, eax
mov ecx, 0x104
rep stosb byte [rdi], al
lea r9, [rsp + 0x9c]
mov r8, qword [rsp + 0x528]
lea rdx, [0x180009c88]
lea rcx, [rsp + 0x2d0]
call fcn.1800eb79c
mov edx, dword [rsp + 0x90]
mov dword [rsp + 0x3f8], edx
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x3fc], eax
mov eax, dword [rsp + 0x560]
mov dword [rsp + 0x4b8], eax
cmp dword [rsp + 0x4b8], 0
je 0x1800913ff
cmp dword [rsp + 0x4b8], 1
je 0x180091492
jmp 0x180091525
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x520]
call fcn.180090a90
mov qword [rsp + 0x4c0], rax
mov eax, dword [rsp + 0x560]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x74]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4c0]
lea r8, [rsp + 0x9c]
lea rdx, [rsp + 0x2d0]
mov rcx, qword [rsp + 0x520]
call fcn.180090db0
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0x3f0], rax
jmp 0x1800915b6
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x520]
call fcn.180090a90
mov qword [rsp + 0x4d0], rax
mov eax, dword [rsp + 0x560]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x7c]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4d0]
lea r8, [rsp + 0x9c]
lea rdx, [rsp + 0x2d0]
mov rcx, qword [rsp + 0x520]
call fcn.180090db0
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0x3f0], rax
jmp 0x1800915b6
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x520]
call fcn.180090a90
mov qword [rsp + 0x4e0], rax
mov eax, dword [rsp + 0x560]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x84]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4e0]
lea r8, [rsp + 0x9c]
lea rdx, [rsp + 0x2d0]
mov rcx, qword [rsp + 0x520]
call fcn.180090db0
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x4e8]
mov qword [rsp + 0x3f0], rax
cmp qword [rsp + 0x3f0], 0
je 0x18009169c
mov rax, qword [rsp + 0x520]
mov rax, qword [rax]
mov r8, qword [rsp + 0x3f0]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call qword [rax + 0x38]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x3f0], rax
je 0x180091619
lea rdx, [rsp + 0x3f0]
mov rcx, qword [rsp + 0x520]
call fcn.180091cd0
jmp 0x18009169a
mov rax, qword [rsp + 0x2c0]
add rax, 0x368
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov rax, qword [rax + 8]
mov qword [rsp + 0x408], rax
mov rcx, qword [rsp + 0x3f0]
mov rax, qword [rsp + 0x410]
mov qword [rcx + 0x10], rax
mov rcx, qword [rsp + 0x3f0]
mov rax, qword [rsp + 0x408]
mov qword [rcx + 0x18], rax
mov rcx, qword [rsp + 0x3f0]
add rcx, 0x10
mov rax, qword [rsp + 0x408]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x3f0]
add rcx, 0x10
mov rax, qword [rsp + 0x410]
mov qword [rax + 8], rcx
jmp 0x1800916c3
xor r9d, r9d
lea r8, [rsp + 0x2d0]
mov rdx, qword [rsp + 0x520]
mov rdx, qword [rdx + 0x20]
mov ecx, 2
mov rax, qword [rsp + 0x520]
call qword [rax + 0x18]
lea rdi, [rsp + 0x70]
xor eax, eax
mov ecx, 0x140
rep stosb byte [rdi], al
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x18009180c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
mov rcx, qword [rsp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [rsp + 0x58], 0x12
je 0x18009180a
mov edx, dword [rsp + 0x58]
lea rcx, [0x180011880]
call fcn.1800892c0
mov ecx, 0x1020
call fcn.1800eb9ac
mov qword [rsp + 0x488], rax
cmp qword [rsp + 0x488], 0
je 0x18009176c
mov r8d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
lea r9, [0x180011820]
mov edx, 5
mov rcx, qword [rsp + 0x488]
call fcn.18008d120
mov qword [rsp + 0x4f8], rax
jmp 0x180091778
mov qword [rsp + 0x4f8], 0
mov rax, qword [rsp + 0x4f8]
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0x3e8], rax
cmp qword [rsp + 0x3e8], 0
je 0x1800917d1
mov rcx, qword [rsp + 0x3e8]
call fcn.18008d1e0
mov rdi, rax
mov rcx, qword [rsp + 0x3e8]
call fcn.1800e3fe0
mov r8, rdi
mov edx, eax
lea rcx, [0x180011a60]
call fcn.1800892c0
lea rdx, [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call fcn.180091cd0
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x490], rax
lea rdx, [0x18015a158]
lea rcx, [rsp + 0x490]
call fcn.1800ec370
jmp 0x180091811
jmp 0x180091301
mov rax, qword [rsp + 0x520]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x520]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x500]
xor rcx, rsp
call fcn.1800eb430
add rsp, 0x510
pop rdi
ret