Function at 0x461670
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bea4d
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x4ff684]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], ecx
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
test ebx, ebx
jne 0x4616bf
lea eax, [ebx + 0x31]
mov ecx, str.invalid_substitutor
jmp 0x461932
push 6
push str.Source
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
call fcn.0041441e
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004476d0
lea ecx, [ebp - 0x38]
call fcn.00414870
push 7
push str.DestDir
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 7
call fcn.0041441e
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004476d0
lea ecx, [ebp - 0x38]
call fcn.00414870
mov eax, dword [esi]
mov edi, dword [ebp - 0x20]
cmp edi, eax
je 0x461928
mov esi, dword [ebp - 0x1c]
cmp esi, eax
je 0x461928
push str.DeleteFile
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x1c], 0
call fcn.00412441
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004476d0
lea ecx, [ebp - 0x38]
call fcn.00414870
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ecx]
je 0x4617e8
add eax, 0x28
mov ecx, ebx
push eax
mov dword [ebp - 0x18], eax
call fcn.0044b270
test al, al
jne 0x4617b6
mov eax, 0x43
mov ecx, str.Unable_to_substitute_DeleteFile_attribute
jmp 0x461932
lea eax, [ebp - 0x11]
push eax
push dword [ebp - 0x18]
call fcn.00450bc0
add esp, 8
test al, al
jne 0x4617e8
push str.Failed_to_parse_DeleteFile_as_a_boolean___default_to_false
push 0x49
push str.NWebAdvisor::NXmlUpdater::CExtractCabLocalCommand::Execute
push str.C:Jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterExtractCabLocalCommand.cpp
push 1
call fcn.00449540
add esp, 0x14
mov byte [ebp - 0x11], 0
add edi, 0x28
mov ecx, ebx
push edi
call fcn.0044b270
test al, al
je 0x46191c
add esi, 0x28
mov ecx, ebx
push esi
call fcn.0044b270
test al, al
je 0x46191c
cmp dword [edi + 0x14], 8
mov ecx, edi
mov bl, byte [ebp - 0x11]
jb 0x46181b
mov ecx, dword [edi]
mov edx, dword [0x506cd0]
push ecx
test edx, edx
je 0x461831
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 4]
call eax
jmp 0x461839
call fcn.0045fa10
add esp, 4
test al, al
jne 0x461866
cmp dword [edi + 0x14], 8
jb 0x461845
mov edi, dword [edi]
push edi
push str.Unable_to_verify_signature_for_file:__s
push 0x5c
push str.NWebAdvisor::NXmlUpdater::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
push str.C:Jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterExtractCabLocalCommand.cpp
push 1
call fcn.00449540
add esp, 0x18
jmp 0x461948
cmp dword [esi + 0x14], 8
mov eax, esi
mov dword [ebp - 0x18], 0
jb 0x461877
mov eax, dword [esi]
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.004b5950
add esp, 8
test al, al
jne 0x4618ab
push dword [ebp - 0x18]
push str.Unable_to_create_destination_directory___d_
push 0x63
push str.NWebAdvisor::NXmlUpdater::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
push str.C:Jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterExtractCabLocalCommand.cpp
push 1
call fcn.00449540
add esp, 0x18
jmp 0x461948
mov ecx, dword [ebp - 0x3c]
push esi
push edi
call fcn.004619a0
test al, al
jne 0x4618df
cmp dword [edi + 0x14], 8
jb 0x4618c1
mov edi, dword [edi]
push edi
push str.Failed_to_extract_cab___s_
push 0x6b
push str.NWebAdvisor::NXmlUpdater::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
push str.C:Jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterExtractCabLocalCommand.cpp
push 1
call fcn.00449540
add esp, 0x18
jmp 0x461948
test bl, bl
je 0x461918
cmp dword [edi + 0x14], 8
jb 0x4618eb
mov edi, dword [edi]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x461918
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_delete_src_cab___d_
push 0x73
push str.NWebAdvisor::NXmlUpdater::CExtractCabLocalCommand::ExecuteExtractCabLocalCommand
push str.C:Jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterExtractCabLocalCommand.cpp
push 1
call fcn.00449540
add esp, 0x18
mov bl, 1
jmp 0x46194a
mov eax, 0x50
mov ecx, str.Unable_to_substitute_variables_for_the_EXTRACT_CAB_LOCAL_command
jmp 0x461932
mov eax, 0x39
mov ecx, str.Unable_to_read_Source_and_or_DestDir_attribute_of_EXTRACT_CAB_LOCAL_command
push ecx
push eax
push str.NWebAdvisor::NXmlUpdater::CExtractCabLocalCommand::Execute
push str.C:Jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterExtractCabLocalCommand.cpp
push 1
call fcn.00449540
add esp, 0x14
xor bl, bl
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x461972
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x461972
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x461972
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00488f07
mov esp, ebp
pop ebp
ret 0x10