Function at 0x1400fc295
Capabilities:
Enumerate files on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa48
mov ebp, r9d
mov r13, r8
mov r14, rdx
mov byte [rsp + 0x3f], cl
cmp cl, 0x2a
ja 0x1400fc2d1
movzx eax, cl
movabs rcx, 0x4000980000f
bt rcx, rax
jb 0x1400fcd05
lea rax, [rsp + 0x3f]
lea r15, [rsp + 0x118]
mov qword [r15], rax
lea rax, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
lea rdx, [rsp + 0x5c0]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rcx, [0x1400d70df]
mov qword [r15 + 8], rcx
mov qword [rdx + 0x10], r15
mov qword [rdx + 0x18], rax
lea r12, [rsp + 0x368]
mov rcx, r12
call fcn.1400d18af
mov rsi, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov rdx, rsi
call fcn.1400028b0
mov rcx, qword [r12]
mov rdx, rsi
call fcn.1400759fa
mov rcx, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
call fcn.14010540a
mov rbx, rax
mov rdi, rdx
lea rsi, [rsp + 0x5c0]
mov rcx, rsi
mov rdx, r14
mov r8, r13
call fcn.140136a70
cmp dword [rsi], 2
jne 0x1400fc393
mov rcx, qword [rsp + 0x5c8]
call fcn.1400822c3
mov rbp, rax
mov r13, rdx
jmp 0x1400fcccb
mov eax, dword [rsp + 0x600]
bt eax, 0xa
jae 0x1400fc3b5
mov ecx, 0x20000000
and ecx, dword [rsp + 0x604]
je 0x1400fc3b5
xor ebp, ebp
jmp 0x1400fcccb
test al, 0x10
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
jne 0x1400fc40c
mov qword [rsp + 0x20], r13
lea rsi, [rsp + 0x5c0]
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
mov r9, r14
call fcn.140106987
mov rdi, qword [rsi]
movabs rax, 0x8000000000000000
cmp rdi, rax
jne 0x1400fc56c
mov rbp, qword [rsp + 0x5c8]
mov r13, qword [rsp + 0x5d0]
jmp 0x1400fccc6
test r13, r13
je 0x1400fc5ca
js 0x1400fcdb3
mov al, byte [0x14024b248]
mov edx, 1
mov rcx, r13
call fcn.140001870
test rax, rax
je 0x1400fcdb8
mov r12, rax
mov rcx, rax
mov rdx, r14
mov r8, r13
call sub.msvcrt.dll_memcpy
mov al, byte [0x14024b248]
mov edx, 1
mov rcx, r13
call fcn.140001870
test rax, rax
je 0x1400fcdc5
mov rsi, rax
mov byte [rsp + 0x40], bpl
mov rcx, rax
mov rdx, r14
mov r8, r13
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x118]
mov qword [rcx], r13
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], r13
mov byte [rcx + 0x18], 0
lea rdx, [0x1401f9c98]
mov r8d, 1
call fcn.140135da0
lea rcx, [rsp + 0x118]
mov rdi, qword [rcx]
mov rbp, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
mov rdx, rbp
call fcn.140117020
movabs rsi, 0x8000000000000000
mov rax, qword [rsp + 0x118]
mov r15, qword [rsp + 0x120]
cmp rax, rsi
je 0x1400fc51d
lea rdx, [rsp + 0x118]
mov rcx, qword [rdx + 0x10]
mov qword [rdx], rax
mov qword [rdx + 8], r15
mov qword [rdx + 0x10], rcx
lea rcx, [rsp + 0x828]
call fcn.1401332e0
mov r15, qword [rsp + 0x828]
mov rbx, qword [rsp + 0x830]
cmp r15, rsi
jne 0x1400fcb09
mov r15, rbx
mov ebx, 2
test rdi, rdi
je 0x1400fc534
mov edx, 1
mov rcx, rbp
call fcn.140001900
mov rdi, qword [rsp + 0x50]
mov edx, 1
mov rcx, r12
call fcn.140001900
cmp ebx, 2
jne 0x1400fc5d9
mov rcx, r15
lea r15, [rsp + 0x118]
lea r12, [rsp + 0x368]
mov rbx, qword [rsp + 0x48]
jmp 0x1400fc383
lea rbx, [rsp + 0x5c0]
mov rsi, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], r13
mov rcx, rbx
mov rdx, rsi
mov r9, r14
call fcn.140106b7d
mov rbx, qword [rbx]
movabs rax, 0x8000000000000000
cmp rbx, rax
jne 0x1400fcacf
mov rbp, qword [rsp + 0x5c8]
mov r13, qword [rsp + 0x5d0]
mov rcx, rdi
mov rdx, rsi
call fcn.1400759fa
jmp 0x1400fcaff
movabs rcx, 0x300000002
jmp 0x1400fc383
lea r12, [rsp + 0x368]
lea rdx, [rsp + 0x5c0]
mov r8d, 0x254
mov rcx, r12
call sub.msvcrt.dll_memcpy
lea rsi, [rsp + 0x5d4]
mov r8d, 0x254
mov rcx, rsi
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov qword [rsi - 0x14], r15
mov qword [rsi - 0xc], r14
lea rax, [rsp + 0x606]
movzx ecx, word [rax - 6]
mov word [rsp + 0x42], cx
movzx ecx, word [rax - 2]
movzx eax, word [rax - 4]
mov dword [rsp + 0x6c], eax
xor eax, 0x2e
mov word [rsp + 0x5e], cx
or ax, cx
sete byte [rsp + 0x41]
cmp word [rsp + 0x6c], 0
sete al
cmp word [rsp + 0x42], 0x2e
sete cl
and dword [rsp + 0x5d0], 0
cmp ebx, 1
jne 0x1400fc6fc
or al, byte [rsp + 0x41]
and cl, al
jne 0x1400fc6fc
lock inc qword [r15]
mov rbx, qword [rsp + 0x48]
jle 0x1400fcde3
mov r13, qword [rsp + 0x5d4]
lea rax, [rsp + 0x5c0]
movups xmm0, xmmword [rax + 0x1c]
movups xmm1, xmmword [rax + 0x2c]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
mov eax, dword [rax + 0x3c]
mov dword [rsp + 0xc0], eax
mov r8d, 0x21e
lea rdi, [rsp + 0x118]
mov rcx, rdi
lea rdx, [rsp + 0x606]
call sub.msvcrt.dll_memcpy
test r15, r15
sete sil
movzx eax, word [rsp + 0x5e]
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x6c]
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x42]
mov word [rsp + 0x60], ax
jmp 0x1400fc801
mov r8d, 0x250
mov rcx, r12
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, r14
mov rdx, r12
call sub.kernel32.dll_FindNextFileW
test eax, eax
mov rbx, qword [rsp + 0x48]
je 0x1400fc758
cmp word [rsp + 0x394], 0x2e
jne 0x1400fc780
movzx eax, word [rsp + 0x396]
test ax, ax
je 0x1400fc749
cmp ax, 0x2e
jne 0x1400fc780
cmp word [rsp + 0x398], 0
jne 0x1400fc780
mov rcx, r14
mov rdx, r12
call sub.kernel32.dll_FindNextFileW
test eax, eax
jne 0x1400fc720
call sub.kernel32.dll_GetLastError
cmp eax, 0x12
je 0x1400fcc12
call sub.kernel32.dll_GetLastError
mov r13d, eax
shl r13, 0x20
or r13, 2
mov sil, 1
xor edi, edi
jmp 0x1400fc840
lock inc qword [r15]
jle 0x1400fcde3
mov r13, qword [rsp + 0x368]
movups xmm0, xmmword [r12 + 8]
movups xmm1, xmmword [r12 + 0x18]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
mov eax, dword [r12 + 0x28]
mov dword [rsp + 0xc0], eax
movzx eax, word [rsp + 0x394]
mov word [rsp + 0x60], ax
movzx eax, word [rsp + 0x396]
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x398]
mov word [rsp + 0x44], ax
mov r8d, 0x21e
lea rdi, [rsp + 0x118]
mov rcx, rdi
lea rdx, [rsp + 0x39a]
call sub.msvcrt.dll_memcpy
xor esi, esi
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov r8d, 0x21e
mov rcx, r12
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rdi, r15
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0xf0], eax
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov r8d, 0x21e
lea rbp, [rsp + 0x828]
mov rcx, rbp
mov rdx, r12
call sub.msvcrt.dll_memcpy
test sil, sil
jne 0x1400fcb9d
mov eax, dword [rsp + 0xf0]
mov dword [r12 + 0x30], eax
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [r12 + 0x20], xmm1
movups xmmword [r12 + 0x10], xmm0
movzx eax, word [rsp + 0x60]
mov word [rsp + 0x39c], ax
movzx eax, word [rsp + 0x46]
mov word [rsp + 0x39e], ax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x3a0], ax
mov r8d, 0x21e
lea rcx, [rsp + 0x3a2]
mov rdx, rbp
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x368], rdi
mov qword [rsp + 0x370], r13
lea r13, [rsp + 0x70]
mov rcx, r13
mov rdx, r12
call fcn.140135b60
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
lea rcx, [rsp + 0x118]
mov rdx, rsi
call fcn.140136a70
cmp dword [rsp + 0x118], 2
jne 0x1400fc970
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xa0], 1
lea rcx, [rsp + 0xa8]
call fcn.140114910
mov rcx, qword [rsp + 0x70]
mov rdx, rsi
call fcn.1400759fa
jmp 0x1400fcabb
mov edi, dword [rsp + 0x158]
bt edi, 0xa
setae al
bt dword [rsp + 0x15c], 0x1d
setae bl
or bl, al
mov rcx, qword [rsp + 0x70]
mov rdx, rsi
call fcn.1400759fa
cmp bl, 1
jne 0x1400fcabb
and edi, 0x10
jne 0x1400fcabb
lea rcx, [rsp + 0x118]
mov rdx, r12
call fcn.140135b60
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov rcx, r13
mov rdx, rsi
call fcn.140049a10
cmp qword [rsp + 0x70], 0
jne 0x1400fcc36
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xc8], r15
mov rdi, r14
mov rbp, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
mov qword [rsp + 0x20], r15
mov rcx, r13
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r9, rbp
call fcn.140106987
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rcx, r13
mov r13, qword [rsp + 0x80]
movabs r14, 0x8000000000000000
cmp rsi, r14
je 0x1400fcc6f
mov al, byte [rsp + 0x40]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], r15
mov rdx, rbx
mov r8, r13
mov r9, rbp
call fcn.140106b7d
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
cmp r15, r14
je 0x1400fcc74
mov rcx, rbp
mov rdx, r13
call fcn.140106d03
mov rcx, r15
mov rdx, rbp
call fcn.1400759fa
mov rcx, rsi
mov rdx, rbx
call fcn.1400759fa
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x98]
call fcn.1400759fa
mov r14, rdi
mov r15, qword [rsp + 0xc8]
mov rcx, r12
call fcn.140106b6e
xor ebx, ebx
mov rdi, qword [rsp + 0x50]
jmp 0x1400fc645
mov r14, qword [rsp + 0x5c8]
mov rdx, qword [rsp + 0x5d0]
mov rcx, r14
call fcn.140106d03
mov rcx, rbx
mov rdx, r14
call fcn.1400759fa
mov rcx, rdi
mov rdx, rsi
call fcn.1400759fa
xor ebp, ebp
mov rbx, qword [rsp + 0x48]
jmp 0x1400fccc6
lea rsi, [rsp + 0x118]
mov r8d, 0x250
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rbx
mov rdx, rsi
call sub.kernel32.dll_FindFirstFileW
mov r14, rax
cmp rax, 0xffffffffffffffff
mov qword [rsp + 0x60], rbx
je 0x1400fcbc0
mov al, byte [0x14024b248]
mov ecx, 0x30
mov edx, 8
call fcn.140001870
test rax, rax
je 0x1400fcdd4
mov ecx, 1
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r13
mov rsi, rax
mov byte [rax + 0x28], 0
lea rcx, [rsp + 0x5c0]
lea rdx, [rsp + 0x118]
mov r8d, 0x250
call sub.msvcrt.dll_memcpy
mov ebx, 1
jmp 0x1400fcbd5
mov rcx, r13
call fcn.1400822c3
mov rbp, rax
mov r13, rdx
lea r15, [rsp + 0x118]
lea r12, [rsp + 0x368]
jmp 0x1400fccb9
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rsi, rax
mov ebx, 2
test r15, r15
je 0x1400fcbe9
mov edx, 2
mov rcx, qword [rsp + 0x60]
call fcn.140001900
test rdi, rdi
mov r15, rsi
je 0x1400fcbfe
mov edx, 1
mov rcx, rbp
call fcn.140001900
cmp r14, 0xffffffffffffffff
mov rdi, qword [rsp + 0x50]
jne 0x1400fc546
jmp 0x1400fc539
lea rcx, [rsp + 0x5c0]
call fcn.140106b50
xor ebp, ebp
lea r15, [rsp + 0x118]
lea r12, [rsp + 0x368]
jmp 0x1400fcccb
lea rdx, str.Invalid_path
mov r8d, 0xc
mov cl, 0x15
call fcn.140107161
mov rcx, rax
call fcn.1400822c3
mov rbp, rax
mov r13, rdx
lea r15, [rsp + 0x118]
lea r12, [rsp + 0x368]
mov rbx, qword [rsp + 0x48]
jmp 0x1400fcc9c
mov rbp, rbx
jmp 0x1400fcc7f
mov rcx, rsi
mov rdx, rbx
call fcn.1400759fa
lea r15, [rsp + 0x118]
lea r12, [rsp + 0x368]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x118]
mov rdx, rsi
call fcn.1400759fa
lea rcx, [rsp + 0x368]
call fcn.140106b6e
lea rcx, [rsp + 0x5c0]
call fcn.140106b50
mov rdi, qword [rsp + 0x50]
mov rcx, rbx
mov rdx, rdi
call fcn.14010670f
test rbp, rbp
jne 0x1400fcd5a
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
call fcn.1400759fa
nop
add rsp, 0xa48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rsp + 0x3f]
lea rdx, [rsp + 0x368]
mov qword [rdx], rax
lea rax, str.Algorithm__does_not_support_file_hashing_n
lea rcx, [rsp + 0x5c0]
mov qword [rcx], rax
mov qword [rcx + 8], 2
and qword [rcx + 0x20], 0
lea rax, [0x1400d70df]
mov qword [rdx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], 1
call fcn.140138ff0
mov ecx, 1
call fcn.14013a9b0
mov qword [rsp + 0x118], rbp
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x368], r15
lea rax, str.Error:
lea rcx, [rsp + 0x5c0]
mov qword [rcx], rax
mov qword [rcx + 8], 2
and qword [rcx + 0x20], 0
lea rax, [0x140022147]
mov qword [rsp + 0x370], rax
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], 1
call fcn.1401390f0
jmp 0x1400fcd50
call fcn.140001db0
mov ecx, 1
mov rdx, r13
call fcn.140001df0
mov ecx, 1
mov rdx, r13
call fcn.140001df0
jmp 0x1400fcde3
mov ecx, 8
mov edx, 0x30
call fcn.140001df0
ud2