Function at 0x140238c10
Capabilities:
Delete file

Disassembly:
push rbp
push rsi
push rdi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xd8
mov rax, qword [0x1403ceac0]
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 0x140238c47
mov rcx, qword [rdx]
call fcn.140237030
test al, al
jne 0x140238c8f
cmp qword [rdi + 0x18], 8
jb 0x140238c5a
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:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterExtractCabLocalCommand.cpp
lea ecx, [r9 - 0x5b]
call fcn.140213350
xor al, al
jmp 0x140238f58
mov qword [rsp + 0x118], r12
mov rcx, rsi
xor r12d, r12d
cmp qword [rsi + 0x18], 8
mov dword [rbp - 0x69], r12d
jb 0x140238cab
mov rcx, qword [rsi]
mov dl, 1
call fcn.14021c290
cmp qword [rsi + 0x18], 8
mov rcx, rsi
jb 0x140238cbf
mov rcx, qword [rsi]
lea rdx, [rbp - 0x69]
call fcn.1400f12f0
test al, al
jne 0x140238d03
mov eax, dword [rbp - 0x69]
lea r8, str.XMLUpdater::v2::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
mov dword [rsp + 0x28], eax
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_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.140213350
xor al, al
jmp 0x140238f50
xorps xmm0, xmm0
mov qword [rsp + 0xd0], r14
mov r14, qword [rsi + 0x10]
xor eax, eax
cmp qword [rsi + 0x18], 8
mov qword [rbp + 7], rax
lea rax, vtable.XMLUpdater::v2::CCabParser.0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x59], rax
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x41], r12
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x39], r12
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
jb 0x140238d4d
mov rsi, qword [rsi]
mov qword [rsp + 0x100], rbx
cmp r14, 8
jae 0x140238d6c
movups xmm0, xmmword [rsi]
mov qword [rbp - 0x39], 7
movups xmmword [rbp - 0x51], xmm0
jmp 0x140238dac
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.14002bf30
lea r8, [r14*2 + 2]
mov qword [rbp - 0x51], rax
mov rdx, rsi
mov rcx, rax
call fcn.1402b53e0
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 0x140238ddd
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.14025a370
mov rcx, qword [rbp - 0x21]
mov ebx, r12d
test al, al
jne 0x140238ea1
test rcx, rcx
je 0x140238e26
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
jne 0x140238e22
call fcn.140238830
mov ebx, eax
mov qword [rbp - 0x21], r12
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x140238e46
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x140238e42
test ebx, ebx
js 0x140238e42
call fcn.140238830
mov qword [rbp - 0x11], r12
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140238e59
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x31], r12
lea rcx, [rbp - 0x51]
call fcn.14002ce60
cmp qword [rdi + 0x18], 8
jb 0x140238e6c
mov rdi, qword [rdi]
mov r9d, WSAGetLastError
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:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterExtractCabLocalCommand.cpp
lea ecx, [r9 - 0x6b]
call fcn.140213350
xor al, al
jmp 0x140238f48
test rcx, rcx
je 0x140238ebb
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
jne 0x140238eb7
call fcn.140238830
mov ebx, eax
mov qword [rbp - 0x21], r12
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x140238edb
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x140238ed7
test ebx, ebx
js 0x140238ed7
call fcn.140238830
mov qword [rbp - 0x11], r12
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140238eee
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x31], r12
lea rcx, [rbp - 0x51]
call fcn.14002ce60
test r15b, r15b
je 0x140238f46
cmp qword [rdi + 0x18], 8
jb 0x140238f06
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140238f46
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
mov r9d, reloc.WS2_32.dll_WSACleanup
lea r8, str.XMLUpdater::v2::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
lea rax, str.Failed_to_delete_src_cab___d_
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterExtractCabLocalCommand.cpp
mov qword [rsp + 0x20], rax
lea ecx, [r9 - 0x73]
call fcn.140213350
mov al, 1
mov rbx, qword [rsp + 0x100]
mov r12, qword [rsp + 0x118]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140296f70
add rsp, 0xd8
pop r15
pop rdi
pop rsi
pop rbp
ret