Function at 0x1400a57d0
Capabilities:
Delete file

Disassembly:
push rbp
push rsi
push rdi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
mov rax, qword [0x1401b4a98]
xor rax, rsp
mov qword [rbp + 0x2f], rax
cmp qword [rdx + 0x18], 8
movzx r15d, r9b
mov rsi, r8
mov rdi, rdx
mov rcx, rdx
jb 0x1400a5807
mov rcx, qword [rdx]
call fcn.1400a3b40
test al, al
jne 0x1400a584f
cmp qword [rdi + 0x18], 8
jb 0x1400a581a
mov rdi, qword [rdi]
mov r9d, 0x5c
mov qword [rsp + 0x28], rdi
lea rax, str.Unable_to_verify_signature_for_file:__s
lea r8, str.XMLUpdater::v2::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
mov qword [rsp + 0x20], rax
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterExtractCabLocalCommand.cpp
lea ecx, [r9 - 0x5b]
call fcn.14007d3e0
xor al, al
jmp 0x1400a5b1c
mov qword [rsp + 0x118], r12
mov rcx, rsi
xor r12d, r12d
cmp qword [rsi + 0x18], 8
mov dword [rbp - 0x69], r12d
jb 0x1400a586b
mov rcx, qword [rsi]
mov dl, 1
call fcn.140085ec0
cmp qword [rsi + 0x18], 8
mov rcx, rsi
jb 0x1400a587f
mov rcx, qword [rsi]
lea rdx, [rbp - 0x69]
call fcn.1401328d0
test al, al
jne 0x1400a58c3
mov eax, dword [rbp - 0x69]
lea r8, str.XMLUpdater::v2::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
mov dword [rsp + 0x28], eax
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterExtractCabLocalCommand.cpp
mov r9d, 0x64
lea rax, str.Unable_to_create_destination_directory___d_
mov qword [rsp + 0x20], rax
lea ecx, [r9 - 0x63]
call fcn.14007d3e0
xor al, al
jmp 0x1400a5b14
xorps xmm0, xmm0
mov qword [rsp + 0xd0], r14
mov r14, qword [rsi + 0x10]
xor eax, eax
cmp qword [rsi + 0x18], 8
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp + 7], rax
lea rax, vtable.XMLUpdater::v2::CCabParser.0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x59], rax
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x51], r12
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x41], r12
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 0x39], r12
movups xmmword [rbp - 9], xmm0
jb 0x1400a5911
mov rsi, qword [rsi]
mov qword [rsp + 0x100], rbx
cmp r14, 8
jae 0x1400a5930
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x39], 7
movups xmmword [rbp - 0x51], xmm0
jmp 0x1400a5970
movabs rax, 0x7ffffffffffffffe
lea rcx, [rbp - 0x51]
mov rbx, r14
or rbx, 7
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
call fcn.14000ce60
lea r8, [r14*2 + 2]
mov qword [rbp - 0x51], rax
mov rdx, rsi
mov rcx, rax
call fcn.1400fe220
mov qword [rbp - 0x39], rbx
cmp qword [rdi + 0x18], 8
xorps xmm0, xmm0
mov qword [rbp - 0x41], r14
mov rcx, rdi
mov r14, qword [rsp + 0xd0]
movdqa xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x31], r12
mov qword [rbp - 0x11], r12
mov qword [rbp + 7], 0xffffffffffffffff
jb 0x1400a59a1
mov rcx, qword [rdi]
lea rax, vtable.XMLUpdater::v2::NCab::CParserCallbackImplT_class_XMLUpdater::v2::CCabParser_.0
mov dword [rbp + 0x27], r12d
mov qword [rbp + 0x17], rax
lea rdx, [rbp + 0x17]
lea rax, [rbp - 0x59]
mov qword [rbp + 0x1f], rax
call fcn.1400b5050
mov rcx, qword [rbp - 0x21]
mov ebx, r12d
test al, al
jne 0x1400a5a65
test rcx, rcx
je 0x1400a59ea
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
jne 0x1400a59e6
call fcn.1400a53d0
mov ebx, eax
mov qword [rbp - 0x21], r12
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1400a5a0a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400a5a06
test ebx, ebx
js 0x1400a5a06
call fcn.1400a53d0
mov qword [rbp - 0x11], r12
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x1400a5a1d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x31], r12
lea rcx, [rbp - 0x51]
call fcn.14000d700
cmp qword [rdi + 0x18], 8
jb 0x1400a5a30
mov rdi, qword [rdi]
mov r9d, 0x6c
mov qword [rsp + 0x28], rdi
lea rax, str.Failed_to_extract_cab___s_
lea r8, str.XMLUpdater::v2::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
mov qword [rsp + 0x20], rax
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterExtractCabLocalCommand.cpp
lea ecx, [r9 - 0x6b]
call fcn.14007d3e0
xor al, al
jmp 0x1400a5b0c
test rcx, rcx
je 0x1400a5a7f
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
jne 0x1400a5a7b
call fcn.1400a53d0
mov ebx, eax
mov qword [rbp - 0x21], r12
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1400a5a9f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400a5a9b
test ebx, ebx
js 0x1400a5a9b
call fcn.1400a53d0
mov qword [rbp - 0x11], r12
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x1400a5ab2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x31], r12
lea rcx, [rbp - 0x51]
call fcn.14000d700
test r15b, r15b
je 0x1400a5b0a
cmp qword [rdi + 0x18], 8
jb 0x1400a5aca
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400a5b0a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
mov r9d, 0x74
lea r8, str.XMLUpdater::v2::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
lea rax, str.Failed_to_delete_src_cab___d_
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterExtractCabLocalCommand.cpp
mov qword [rsp + 0x20], rax
lea ecx, [r9 - 0x73]
call fcn.14007d3e0
mov al, 1
mov rbx, qword [rsp + 0x100]
mov r12, qword [rsp + 0x118]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400fb890
add rsp, 0xd8
pop r15
pop rdi
pop rsi
pop rbp
ret