Function at 0x140020a10
Capabilities:
Enumerate files on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
lea rbp, [rax - 0x5a8]
sub rsp, 0x690
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140055020]
xor rax, rsp
mov qword [rbp + 0x580], rax
call fcn.140012ad0
test rax, rax
jne 0x140020a5d
xor al, al
jmp 0x140020cca
mov r8, rax
lea rdx, str._s.xml
lea rcx, [rbp + 0x370]
call fcn.140008670
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x370]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140020a56
xor esi, esi
lea r12, [0x140055f30]
lea r13, [0x140057880]
mov edx, 0x5c
lea rcx, [rbp + 0xfc]
call qword [sym.imp.MSVCR100.dll_wcsrchr]
mov rbx, rax
test rax, rax
jne 0x140020ad8
lea edx, [rax + 0x3a]
lea rcx, [rbp + 0xfc]
call qword [sym.imp.MSVCR100.dll_wcsrchr]
lea rbx, [rbp + 0xfc]
test rax, rax
cmovne rbx, rax
mov edx, 0x2e
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_wcsrchr]
test rax, rax
je 0x140020aa0
mov word [rax], si
mov rdx, rbx
lea rcx, [rbp + 0x320]
call fcn.140027b60
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x320]
call qword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
jne 0x140020c9c
lea rax, [rbp + 0x88]
mov rdx, qword [rax]
cmp rdx, qword [r12]
jne 0x140020b38
mov rdx, qword [rax + 8]
cmp rdx, qword [r12 + 8]
jne 0x140020b38
mov eax, esi
jmp 0x140020b3d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x140020c9c
mov ecx, 0xa30
call qword [sym.imp.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140020b67
mov rcx, rax
call fcn.14001eb30
mov rbx, rax
jmp 0x140020b6a
mov rbx, rsi
test rbx, rbx
je 0x140020a56
mov qword [rbp + 0x78], 7
mov qword [rbp + 0x70], rsi
mov word [rbp + 0x60], si
mov r8d, 0x27
lea rdx, str.ProfilesManager::EnumerateSavedProfiles
lea rcx, [rbp + 0x60]
call fcn.140004580
nop
mov qword [rbp + 0x98], r13
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], rsi
mov word [rbp + 0xa0], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0xa0]
call fcn.140003cb0
nop
lea rcx, [rsp + 0x60]
call fcn.140003a40
nop
lea rdx, [0x14000f470]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x140010610]
call qword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, qword [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea rcx, [rbp - 8]
call fcn.140003af0
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP100.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
nop
cmp qword [rbp + 0x78], 8
jb 0x140020c32
mov rcx, qword [rbp + 0x60]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x78], 7
mov qword [rbp + 0x70], rsi
mov word [rbp + 0x60], si
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x90]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x20]
call fcn.140028020
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140027bf0
nop
mov rcx, qword [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
cmp qword [rbp + 0xb8], 8
jb 0x140020c9c
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
lea rdx, [rbp + 0xd0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x140020cbf
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x140020aa0
cmp qword [0x1400578e8], 0
seta al
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.140032000
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rbp
ret