Function at 0x23194332e
Capabilities:
Delete file

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x20], r8d
cmp qword [rbp + 0x18], 0
je 0x231943359
cmp dword [rbp + 0x20], 1
jne 0x231943359
mov eax, 0x32
jmp 0x2319436b0
mov rax, qword [rbp + 0x18]
mov rcx, rax
call sym.strlen
add rax, 1
mov rcx, rax
call sym.operator_new___unsigned_long_long_
mov qword [rbp - 0x10], rax
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym.strcpy
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
call rax
lea rax, [rbp - 0x23]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__1::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_5ull__2383503591529054477ull__char_.operator_char__
mov rdx, rax
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.SHLWAPI.dll_PathAddExtensionA]
call rax
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 2
mov r9d, 0
mov r8d, 0
mov edx, 0x40000000
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateFileA]
call rax
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0xffffffffffffffff
je 0x23194369a
lea rax, [rbp - 0x22]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__2::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_7ull__3101044269379612617ull__char_.operator_char__
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.strcmp
test eax, eax
sete al
test al, al
je 0x231943482
lea rax, [rbp - 0x21]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__3::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_7ull__13243283173928690465ull__char_.operator_char__
mov r8d, dword [0x231ba37a0]
mov r9d, dword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rax, [0x231a37020]
mov rdx, rax
call sym.f_dpf_cmm_void__void__unsigned_long__int__char_const__char_const__char_const_
mov dword [rbp - 4], eax
jmp 0x23194369a
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__4::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_7ull__11472090391755700195ull__char_.operator_char__
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.strcmp
test eax, eax
sete al
test al, al
je 0x2319434ff
lea rax, [rbp - 0x1f]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__5::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_7ull__8629949727968059195ull__char_.operator_char__
mov r8d, dword [0x231d71d34]
mov r9d, dword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rax, [0x231ba37c0]
mov rdx, rax
call sym.f_dpf_cmm_void__void__unsigned_long__int__char_const__char_const__char_const_
mov dword [rbp - 4], eax
jmp 0x23194369a
lea rax, [rbp - 0x1e]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__6::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_7ull__3872386999216203527ull__char_.operator_char__
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.strcmp
test eax, eax
sete al
test al, al
je 0x23194357c
lea rax, [rbp - 0x1d]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__7::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_7ull__12943852509659099461ull__char_.operator_char__
mov r8d, dword [0x231ea4c0c]
mov r9d, dword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rax, [0x231d71d40]
mov rdx, rax
call sym.f_dpf_cmm_void__void__unsigned_long__int__char_const__char_const__char_const_
mov dword [rbp - 4], eax
jmp 0x23194369a
lea rax, [rbp - 0x1c]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__8::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_10ull__16221261474557017537ull__char_.operator_char__
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.strcmp
test eax, eax
sete al
test al, al
je 0x2319435f9
lea rax, [rbp - 0x1b]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__9::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_10ull__8344932244452511525ull__char_.operator_char__
mov r8d, dword [0x231ea4e98]
mov r9d, dword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rax, [0x231ea4c20]
mov rdx, rax
call sym.f_dpf_cmm_void__void__unsigned_long__int__char_const__char_const__char_const_
mov dword [rbp - 4], eax
jmp 0x23194369a
lea rax, [rbp - 0x1a]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__10::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_10ull__13376770447370329909ull__char_.operator_char__
mov rdx, rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sym.strcmp
test eax, eax
sete al
test al, al
je 0x231943673
lea rax, [rbp - 0x19]
mov rcx, rax
call sym.f_dpf_char__char_const__int_::lambda__11::operator_____const
mov rcx, rax
call method.ay::obfuscated_data_10ull__5137786773421776791ull__char_.operator_char__
mov r8d, dword [0x231ec3cc8]
mov r9d, dword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rax, str.MSCF
mov rdx, rax
call sym.f_dpf_cmm_void__void__unsigned_long__int__char_const__char_const__char_const_
mov dword [rbp - 4], eax
jmp 0x23194369a
mov rax, qword [rbp - 0x18]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x18]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_DeleteFileA]
call rax
mov dword [rbp - 4], 0x57
cmp qword [rbp - 0x10], 0
je 0x2319436ad
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sym.operator_delete___void_
mov eax, dword [rbp - 4]
add rsp, 0x70
pop rbp
ret