Function at 0x1400574e0
Capabilities:
Enumerate files on windows
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov r14, rdx
mov rdi, rcx
mov rax, qword [0x140213038]
xor rax, rsp
mov qword [rsp + 0x118], rax
movaps xmm6, xmmword [0x1401d9dd0]
lea rsi, [rsp + 0xc0]
movaps xmmword [rsi + 0x40], xmm6
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rdx, str.Next
lea r8, str..._.._base_files_file_enumerator_win.cc
lea r13, [rsp + 0xa0]
mov rcx, r13
mov r9d, 0x82
call fcn.1400d95e0
mov rcx, rsi
mov rdx, r13
xor r8d, r8d
call fcn.1400e5a80
lea rax, [rdi + 4]
mov qword [rsp + 0x60], rax
lea rsi, [rdi + 0x30]
lea rax, [rdi + 0x260]
mov qword [rsp + 0x30], rax
lea rax, [rdi + 0x280]
mov qword [rsp + 0x40], rax
lea r15, [rdi + reloc.SHELL32.dll_IsUserAnAdmin]
lea rax, [r15 + 0x18]
mov qword [rsp + 0x58], rax
lea rbp, [rsp + 0x90]
mov rbx, qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp byte [rdi], 0
je 0x1400576d8
mov rcx, qword [rdi + 0x258]
mov rdx, qword [rsp + 0x60]
mov r12, rbx
call rbx
test eax, eax
je 0x140057834
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rdi + 0x258], 0xffffffffffffffff
je 0x140057813
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0x90], rsi
test rsi, rsi
je 0x140057acc
mov rcx, rsi
call fcn.14011bf14
mov qword [rsp + 0x98], rax
mov rcx, r13
mov rdx, rbp
call fcn.1400d7ac0
mov rcx, rdi
mov rdx, r13
call fcn.140077060
test al, al
jne 0x1400577b2
mov rbx, rbp
mov ebp, dword [rdi + 4]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x70]
mov r8, r13
call fcn.140049710
test bpl, 0x10
jne 0x140057a6e
and ebp, 0x10
shr ebp, 4
mov rcx, rdi
mov edx, ebp
call fcn.1400771b0
test al, al
mov rbp, rbx
mov rcx, qword [rsp + 0x40]
je 0x140057ab1
mov eax, dword [rdi + 0x298]
cmp eax, 1
jne 0x140057966
cmp byte [rcx + 0x17], 0
mov rdx, rcx
js 0x140057ad3
cmp byte [rsp + 0xb7], 0
mov rcx, r13
jns 0x1400576c4
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.SHLWAPI.dll_PathMatchSpecW]
cmp eax, 1
je 0x14005796e
jmp 0x140057ab1
mov rax, qword [rdi + 0x2c0]
cmp qword [rdi + 0x2b8], rax
je 0x140057a4d
test rax, rax
je 0x140057adb
mov rcx, qword [rdi + 0x2b0]
dec rax
cmp rcx, rax
jb 0x140057ac3
mov r12, rbx
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [r15]
mov rcx, qword [rsp + 0x30]
call fcn.140048830
mov rax, qword [r15 + 0x18]
test rax, rax
mov qword [rsp + 0x38], r14
je 0x140057aea
mov rdx, qword [r15 + 8]
lea rcx, [rax - 1]
mov qword [r15 + 0x18], rcx
cmp rdx, rax
jb 0x140057ac0
cmp rdx, rcx
jb 0x140057ac6
movabs rdx, 0x8000000000000000
cmp rax, rdx
je 0x140057ac9
mov r14, rbp
mov rax, qword [r15]
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
call fcn.1400d7bc0
mov rax, qword [r15 + 8]
cmp rax, 5
jae 0x140057880
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0xa0], xmm6
mov eax, dword [rdi + 0x298]
cmp eax, 1
je 0x140057851
jmp 0x1400579cf
mov rcx, r13
call fcn.1400d7bc0
mov rbx, r12
jmp 0x1400575ab
mov r14, qword [rsp + 0x38]
cmp byte [rsp + 0xb7], 0
mov rcx, r13
js 0x140057959
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], 0
mov edx, 1
mov r8, qword [rsp + 0x60]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov qword [rdi + 0x258], rax
mov byte [rdi], 1
mov rcx, r13
call fcn.1400d7bc0
jmp 0x1400575cd
mov byte [rdi], 0
cmp dword [rdi + 0x298], 0
mov rbx, r12
je 0x140057a19
cmp eax, 0x12
je 0x1400575ab
jmp 0x140057a33
mov rcx, qword [rdi + 0x258]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rdi + 0x258], 0xffffffffffffffff
jmp 0x1400575cd
lea rax, [0x1401e8346]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov rcx, qword [rsp + 0x30]
mov rdx, r13
lea r8, [rsp + 0x70]
call fcn.1400d8c10
mov rbp, r14
jmp 0x1400577c2
lea rcx, [rax - 1]
mov r8, qword [r15 + 0x10]
mov rbx, qword [r15 + 0x18]
cmp rbx, r8
mov edx, 0
cmovae rax, rdx
sub rax, r8
add rax, rbx
mov rdx, rcx
sub rdx, rax
cmp rdx, rax
jb 0x140057784
mov rbp, rax
shr rbp, 2
add rbp, rax
cmp rbp, 3
mov eax, 3
cmovbe rbp, rax
cmp rbp, rcx
jae 0x140057784
lea r9, [r15 + 0x10]
inc rbp
mov rax, rbp
mov ecx, 0x18
mul rcx
mov qword [rsp + 0x68], r9
jo 0x140057b10
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x50], rbx
mov rcx, rax
call fcn.1400e0eb0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbp
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r9, r13
call fcn.140057cb0
mov rcx, qword [r15]
call fcn.1400e0f00
mov rax, qword [rsp + 0xa0]
mov qword [r15], rax
mov rax, qword [rsp + 0xa8]
mov qword [r15 + 8], rax
jmp 0x140057784
mov rcx, qword [rsp + 0xa0]
jmp 0x1400577d8
test eax, eax
jne 0x140057ab1
lea rsi, [rsp + 0x70]
mov rcx, r14
mov rdx, rsi
call fcn.1400d7a60
mov rcx, rsi
call fcn.1400d7bc0
lea rcx, [rsp + 0xa0]
call fcn.1400d7bc0
lea rcx, [rsp + 0xc0]
call fcn.1400e5c10
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1401013e0
mov rax, r14
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test eax, eax
mov rbp, r14
jne 0x140057afe
movzx eax, byte [rdi + 0x297]
test al, al
mov rcx, qword [rdi + 0x280]
cmovns rcx, qword [rsp + 0x40]
mov qword [rsp + 0x70], rcx
cmovs rax, qword [rdi + 0x288]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x30]
mov rdx, r13
lea r8, [rsp + 0x70]
call fcn.1400d8c10
jmp 0x1400577c2
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0x17], 0
js 0x140057a5a
mov byte [rcx + 0x17], 1
mov dword [rcx], 0x2a
jmp 0x140057826
cmp dword [rdi + 0x29c], 0
je 0x1400575ab
mov ecx, eax
call fcn.140052a10
mov dword [rdi + 0x2a0], eax
mov rcx, r14
call fcn.1400d7a40
jmp 0x140057993
mov qword [rdi + 0x288], 1
mov rcx, qword [rdi + 0x280]
jmp 0x140057a28
cmp byte [rdi + 0x278], 0
je 0x140057673
cmp byte [rsp + 0x87], 0
lea rcx, [rsp + 0x70]
jns 0x140057a8f
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
bt eax, 0xa
jb 0x140057673
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.140057b30
jmp 0x140057673
lea rcx, [rsp + 0x70]
call fcn.1400d7bc0
jmp 0x1400577b2
int3
int3
int3
int3
xor eax, eax
jmp 0x140057614
mov rdx, qword [rcx]
jmp 0x1400576af
mov rcx, qword [rdi + 0x2b0]
mov rax, rcx
jmp 0x1400576fc
mov rax, qword [r15 + 8]
lea rcx, [rax - 1]
mov qword [r15 + 0x18], rcx
mov rdx, rax
jmp 0x140057747
lea rcx, [rsp + 0xa0]
call fcn.1400d7a40
jmp 0x1400577c2
int3