Function at 0x4205e0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov eax, dword [0x540010]
xor eax, ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 4], ecx
call fcn.00424790
call fcn.004114c0
test al, al
je 0x420b41
call fcn.0049e500
mov edi, eax
push str.override_partner_package
call fcn.004fb1c0
add esp, 4
cmp eax, 0x7ffffff8
jae 0x420e6c
mov ebx, eax
cmp eax, 0xa
jbe 0x42065c
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x38], eax
or esi, 0x80000000
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
jmp 0x420663
lea eax, [esp + 0x38]
mov byte [eax + 0xb], bl
lea esi, [eax + ebx]
cmp eax, str.override_partner_package
ja 0x420679
cmp esi, str.override_partner_package
ja 0x420e4f
test ebx, ebx
je 0x42068c
push ebx
push str.override_partner_package
push eax
call fcn.004e3510
add esp, 0xc
mov byte [esi], 0
lea esi, [esp + 0x38]
mov ecx, edi
push esi
call fcn.0049eb20
mov ebx, eax
cmp byte [esi + 0xb], 0
jns 0x4206af
push dword [esp + 0x38]
call fcn.004dfb35
add esp, 4
test bl, bl
je 0x420835
push str.override_partner_package
call fcn.004fb1c0
add esp, 4
cmp eax, 0x7ffffff8
jae 0x420e75
mov ebx, eax
cmp eax, 0xa
jbe 0x420702
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x94], eax
or esi, 0x80000000
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
jmp 0x42070c
lea eax, [esp + 0x94]
mov byte [eax + 0xb], bl
lea esi, [eax + ebx]
cmp eax, str.override_partner_package
ja 0x420722
cmp esi, str.override_partner_package
ja 0x420e4f
test ebx, ebx
je 0x420735
push ebx
push str.override_partner_package
push eax
call fcn.004e3510
add esp, 0xc
mov byte [esi], 0
lea eax, [esp + 0x94]
mov ecx, edi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0049ed60
mov esi, dword [esp + 4]
lea edi, [esi + 0x124]
cmp byte [esi + 0x12f], 0
jns 0x420769
push dword [edi]
call fcn.004dfb35
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [edi + 8], eax
movsd xmm0, qword [esp + 0x38]
movsd qword [edi], xmm0
mov byte [esp + 0x43], 0
mov word [esp + 0x38], 0
cmp byte [esp + 0x9f], 0
jns 0x42079f
push dword [esp + 0x94]
call fcn.004dfb35
add esp, 4
movzx eax, byte [esi + 0x12f]
mov edx, edi
test al, al
jns 0x4207c0
mov eax, dword [esi + 0x128]
test eax, eax
js 0x420e48
mov edx, dword [esi + 0x124]
test edx, edx
jne 0x4207cc
test eax, eax
jne 0x420e41
lea esi, [esp + 0x38]
mov ecx, esi
push eax
push edx
call fcn.00493e00
push esi
call fcn.0047e270
add esp, 4
mov ebx, eax
mov ecx, esi
call fcn.00493ef0
test bl, bl
je 0x420ac1
lea ebx, [esp + 0x38]
mov ecx, ebx
push 0x42f
push str.Install
push 0
call fcn.00455190
lea esi, [esp + 0x40]
lea ecx, [esp + 0x74]
push 0x52315a
push str.Partner_package_override_is:
call fcn.004147c0
mov ecx, esi
push edi
call fcn.00414700
mov ecx, ebx
call fcn.004553c0
jmp 0x420b41
mov dword [esp + 0x34], 0xffffffff
mov esi, 0x126
push esi
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x38], eax
lea ebx, [eax + 0x126]
mov dword [esp + 0x40], ebx
push esi
push 0x5229c0
push eax
call fcn.004e3510
add esp, 0xc
mov dword [esp + 0x3c], ebx
push str.partner_package_guid
call fcn.004fb1c0
add esp, 4
cmp eax, 0x7ffffff8
jae 0x420e81
mov ebx, eax
lea eax, [esp + 0x28]
cmp ebx, 0xa
jbe 0x4208b2
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x28], eax
or esi, 0x80000000
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
jmp 0x4208b6
mov byte [esp + 0x33], bl
lea esi, [eax + ebx]
cmp eax, str.partner_package_guid
ja 0x4208cc
cmp esi, str.partner_package_guid
ja 0x420e4f
mov dword [esp + 8], edi
test ebx, ebx
je 0x4208e3
push ebx
push str.partner_package_guid
push eax
call fcn.004e3510
add esp, 0xc
mov byte [esi], 0
lea edi, [esp + 0x94]
mov ecx, dword [esp + 8]
lea eax, [esp + 0x28]
push eax
push edi
call fcn.0049ed60
push str.msi_database
call fcn.004fb1c0
add esp, 4
cmp eax, 0x7ffffff8
jae 0x420e8a
mov ebx, eax
lea eax, [esp + 0x10]
cmp ebx, 0xa
jbe 0x420942
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x10], eax
or esi, 0x80000000
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
jmp 0x420946
mov byte [esp + 0x1b], bl
lea esi, [eax + ebx]
cmp eax, str.msi_database
ja 0x42095c
cmp esi, str.msi_database
ja 0x420e4f
mov ecx, dword [esp + 4]
add ecx, 0x124
mov dword [esp + 0xc], ecx
test ebx, ebx
je 0x42097d
push ebx
push str.msi_database
push eax
call fcn.004e3510
add esp, 0xc
mov byte [esi], 0
lea esi, [esp + 0x1c]
mov ecx, dword [esp + 8]
lea eax, [esp + 0x10]
push eax
push esi
call fcn.0049ed60
lea eax, [esp + 0x34]
push dword [esp + 0xc]
lea ecx, [esp + 0x3c]
push ecx
push edi
push esi
push eax
call fcn.0043b130
add esp, 0x14
cmp byte [esi + 0xb], 0
jns 0x4209bd
push dword [esp + 0x1c]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x1b], 0
mov esi, dword [esp + 4]
jns 0x4209d4
push dword [esp + 0x10]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x9f], 0
jns 0x4209ed
push dword [esp + 0x94]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x33], 0
jns 0x420a00
push dword [esp + 0x28]
call fcn.004dfb35
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x420a26
mov ecx, dword [esp + 0x3c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x420e93
mov dword [esp + 0x3c], eax
push eax
call fcn.004dfb35
add esp, 4
mov edi, dword [esp + 0x34]
test edi, edi
je 0x420b41
movzx eax, byte [esi + 0x12f]
test al, al
jns 0x420a43
mov eax, dword [esi + 0x128]
test eax, eax
je 0x420b29
xor esi, esi
lea edi, [esp + 0x38]
mov ecx, edi
push 0x43c
push str.Install
push esi
call fcn.00455190
lea ebx, [esp + 0x40]
lea ecx, [esp + 0x74]
push 0x52317b
push str.Partner_package_override_found:
call fcn.004147c0
mov ecx, ebx
push dword [esp + 0xc]
call fcn.00414700
mov ecx, edi
call fcn.004553c0
mov edi, dword [esp + 0x34]
mov dword [esp + 0x34], esi
test edi, edi
je 0x420b41
mov ecx, edi
call fcn.00496320
push edi
call fcn.004dfb35
add esp, 4
mov edi, dword [esp + 0x34]
mov dword [esp + 0x34], 0
test edi, edi
jne 0x420b31
jmp 0x420b41
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea esi, [esp + 0x98]
push esi
call fcn.0050e3e0
add esp, 8
lea ebx, [esp + 0x38]
mov ecx, ebx
push esi
push 0x42d
push str.Install
push 1
call fcn.00455540
lea esi, [esp + 0x40]
lea ecx, [esp + 0x74]
push 0x52313d
push str.Wrong_overridden_partner_package_path:
call fcn.004147c0
mov ecx, esi
push edi
call fcn.00414700
mov ecx, ebx
call fcn.00455590
cmp byte [esp + 0x9f], 0
jns 0x420b41
push dword [esp + 0x94]
jmp 0x420b39
mov dword [esp + 0x34], 0
mov ecx, edi
call fcn.00496320
push edi
call fcn.004dfb35
add esp, 4
lea edi, [esp + 0x94]
push edi
call fcn.0050ffd0
add esp, 4
movzx ebx, byte [edi + 0xb]
test bl, bl
jns 0x420b67
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
cmp ebx, 0x7ffffff8
jae 0x420e5e
cmp ebx, 5
jae 0x420b85
lea eax, [esp + 0x38]
mov byte [eax + 0xb], bl
test ebx, ebx
jne 0x420baf
jmp 0x420bc0
mov esi, ebx
or esi, 3
inc esi
js 0x420e67
lea eax, [esi + esi]
push eax
call fcn.004dfb05
add esp, 4
mov dword [esp + 0x38], eax
or esi, 0x80000000
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
xor ecx, ecx
movsx edx, byte [edi + ecx]
mov word [eax], dx
add eax, 2
inc ecx
cmp ebx, ecx
jne 0x420bb1
mov word [eax], 0
mov ebx, dword [esp + 4]
lea esi, [ebx + 0xb0]
cmp byte [ebx + 0xbb], 0
jns 0x420be2
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x38]
movsd qword [esi], xmm0
cmp byte [esp + 0x9f], 0
jns 0x420c0c
push dword [esp + 0x94]
call fcn.004dfb35
add esp, 4
mov ecx, dword [ebx + 0x68]
call fcn.00418920
lea eax, [ebx + 0x74]
mov ecx, ebx
push eax
call fcn.0041f040
call fcn.004114c0
test al, al
jne 0x420cb0
lea eax, [ebx + 0x80]
cmp byte [ebx + 0x8b], 0
jns 0x420c3d
mov eax, dword [eax]
push eax
push str.InstallerData
call fcn.00499f80
add esp, 8
lea eax, [ebx + 0x8c]
cmp byte [ebx + 0x97], 0
jns 0x420c5c
mov eax, dword [eax]
push eax
push str.ClidsFile
call fcn.00499f80
add esp, 8
lea eax, [ebx + 0x98]
cmp byte [ebx + 0xa3], 0
jns 0x420c7b
mov eax, dword [eax]
push eax
push str.YandexWebsiteIconFile
call fcn.00499f80
add esp, 8
lea eax, [ebx + 0xa4]
cmp byte [ebx + 0xaf], 0
jns 0x420c9a
mov eax, dword [eax]
push eax
push str.AbtConfigResourceFile
call fcn.00499f80
add esp, 8
mov ecx, dword [ebx + 0x68]
call fcn.00418a00
mov ecx, ebx
call fcn.00424a90
test eax, eax
je 0x420d4b
mov edi, eax
cmp eax, 1
jne 0x420cd2
mov edi, dword [0x556ed0]
cmp edi, 1
adc edi, 0
cmp dword [ebx + 0x64], 0
je 0x420d13
push 0
push dword [ebx + 0xc4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x420cf6
cmp dword [0x556ed0], 0
je 0x420d13
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x64]
mov eax, dword [ebx]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x53a380]
mov ecx, ebx
mov ebx, dword [esp + 4]
push edi
call esi
mov dword [esp + 8], 0
call fcn.004114c0
test al, al
jne 0x420d51
jmp 0x420dc2
cmp dword [eax + 0x9c], 0
je 0x420dab
mov eax, dword [eax + 0x98]
jmp 0x420da1
cmp dword [eax + 0xa8], 0
je 0x420dc2
mov eax, dword [eax + 0xa4]
jmp 0x420dbb
mov al, 1
mov dword [esp + 8], eax
push str.InstallerData
call fcn.0049a0e0
add esp, 4
push str.ClidsFile
call fcn.0049a0e0
add esp, 4
push str.YandexWebsiteIconFile
call fcn.0049a0e0
add esp, 4
call fcn.0041cdf0
push eax
call fcn.0049a0e0
add esp, 4
mov ecx, dword [ebx + 0x68]
call fcn.00417cf0
mov eax, dword [ebx + 0x68]
cmp byte [eax + 0xa3], 0
js 0x420d29
je 0x420dab
add eax, 0x98
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebx + 0x68]
cmp byte [eax + 0xaf], 0
js 0x420d3a
je 0x420dc2
add eax, 0xa4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebx + 0x64], 0
je 0x420e1c
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor ebx, ebx
mov esi, dword [sym.imp.USER32.dll_FindWindowExW]
push 0x4e20
mov eax, dword [esp + 8]
push dword [eax + 0xc4]
call edi
cmp eax, 0x102
jne 0x420e1c
call fcn.004a3f90
push ebx
push eax
push ebx
push 0xfffffffffffffffd
call esi
test eax, eax
jne 0x420dd6
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x64]
test edi, edi
je 0x420e1c
mov eax, dword [edi]
mov ebx, dword [eax + 0x10]
mov ecx, ebx
call dword [0x53a380]
mov ecx, edi
push 1
call ebx
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 4]
push eax
call fcn.004226e0
mov ecx, dword [esp + 0xa0]
xor ecx, ebp
call fcn.004e0685
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push str....._third_partylibc_srcinclude_string_view:313:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
jmp 0x420e54
push str....._third_partylibc_srcinclude_string_view:311:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
jmp 0x420e54
push str....._third_partylibc_srcinclude__stringchar_traits.h:245:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
push 0x521354
call fcn.0044d640
lea ecx, [esp + 0x38]
call fcn.004147a0
call fcn.0050dc70
lea ecx, [esp + 0x38]
call fcn.004147a0
lea ecx, [esp + 0x94]
call fcn.004147a0
lea ecx, [esp + 0x28]
call fcn.004147a0
lea ecx, [esp + 0x10]
call fcn.004147a0
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
jmp 0x420e54