Function at 0x402402
Capabilities:
Delete file
Enumerate files on windows
Enumerate files recursively

Disassembly:
push rbp
push rbx
sub rsp, 0x308
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x2a0], rcx
mov dword [rbp + 0x2a8], edx
lea rax, [rbp + 0x220]
lea r8, [0x0040625a]
mov rdx, qword [rbp + 0x2a0]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
lea rax, [rbp + 0x220]
mov rcx, rax
call fcn.00402bf8
mov rcx, rax
lea rax, [rbp - 0x30]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindFirstFileW]
call rax
mov qword [rbp + 0x270], rax
lea rax, [rbp + 0x220]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
cmp qword [rbp + 0x270], 0xffffffffffffffff
jne 0x402517
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [rbp + 0x26c], eax
lea rdx, [0x00406260]
mov rcx, qword [sym.imp.libstdc_6.dll_std::wcerr]
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rdx, qword [rbp + 0x2a0]
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
lea rdx, str.._Error_code:
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rcx, rax
mov eax, dword [rbp + 0x26c]
mov edx, eax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___unsigned_long_
mov rdx, qword [0x00406940]
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___std::basic_ostream_wchar_t__std::char_traits_wchar_t_______std::basic_ostream_wchar_t__std::char_traits_wchar_t_____
cmp dword [rbp + 0x26c], 5
jne 0x40250d
lea rdx, str.Access_denied._Try_running_the_program_as_an_administrator.
mov rcx, qword [sym.imp.libstdc_6.dll_std::wcerr]
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rdx, qword [0x00406940]
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___std::basic_ostream_wchar_t__std::char_traits_wchar_t_______std::basic_ostream_wchar_t__std::char_traits_wchar_t_____
mov eax, 0
jmp 0x40274b
mov byte [rbp + 0x27f], 0
movzx eax, word [rbp - 4]
cmp ax, 0x2e
je 0x4026b5
lea rax, [rbp + 0x240]
lea r8, [0x00406330]
mov rdx, qword [rbp + 0x2a0]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__wchar_t_const_
lea rax, [rbp - 0x60]
lea rdx, [rbp - 0x30]
lea rcx, [rdx + 0x2c]
lea rdx, [rbp + 0x240]
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std.allocator_wchar_t____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar
lea rax, [rbp + 0x240]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
mov eax, dword [rbp - 0x30]
and eax, 0x10
test eax, eax
je 0x40259d
mov edx, dword [rbp + 0x2a8]
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.ListAndDeleteFilesBySize_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const__unsigned_long_
or byte [rbp + 0x27f], al
jmp 0x4026a7
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x14]
mov dword [rbp - 0x34], eax
mov rdx, qword [rbp - 0x38]
mov eax, dword [rbp + 0x2a8]
cmp rdx, rax
jne 0x4026a7
lea rdx, str.Found_file_with_matching_size:
mov rcx, qword [sym.imp.libstdc_6.dll_std::wcout]
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rcx, rax
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
mov rdx, qword [0x00406940]
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___std::basic_ostream_wchar_t__std::char_traits_wchar_t_______std::basic_ostream_wchar_t__std::char_traits_wchar_t_____
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.00402bf8
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_DeleteFileW]
call rax
test eax, eax
setne al
test al, al
je 0x402648
lea rdx, str.File_deleted:
mov rcx, qword [sym.imp.libstdc_6.dll_std::wcout]
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rcx, rax
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
mov rdx, qword [0x00406940]
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___std::basic_ostream_wchar_t__std::char_traits_wchar_t_______std::basic_ostream_wchar_t__std::char_traits_wchar_t_____
mov byte [rbp + 0x27f], 1
jmp 0x4026a7
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [rbp + 0x268], eax
lea rdx, str.Failed_to_delete_file:
mov rcx, qword [sym.imp.libstdc_6.dll_std::wcerr]
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rcx, rax
lea rax, [rbp - 0x60]
mov rdx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
lea rdx, str.._Error_code:
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::operator____wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t_____wchar_t_const_
mov rcx, rax
mov eax, dword [rbp + 0x268]
mov edx, eax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___unsigned_long_
mov rdx, qword [0x00406940]
mov rcx, rax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t___::operator___std::basic_ostream_wchar_t__std::char_traits_wchar_t_______std::basic_ostream_wchar_t__std::char_traits_wchar_t_____
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
jmp 0x4026b6
nop
lea rax, [rbp - 0x30]
mov rcx, qword [rbp + 0x270]
mov rdx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindNextFileW]
call rax
test eax, eax
setne al
test al, al
je 0x4026db
jmp 0x40251e
mov rax, qword [rbp + 0x270]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FindClose]
call rax
movzx eax, byte [rbp + 0x27f]
jmp 0x40274b
add rsp, 0x308
pop rbx
pop rbp
ret