Function at 0x421420
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov eax, dword [0x547008]
xor eax, ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 4], ecx
call fcn.00425290
call fcn.004114c0
test al, al
je 0x42197e
call fcn.004a7210
mov edi, eax
push str.override_partner_package
call fcn.00503950
add esp, 4
cmp eax, 0x7ffffff8
jae 0x421ce9
mov ebx, eax
cmp eax, 0xa
jbe 0x42149c
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x38], eax
or esi, 0x80000000
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
jmp 0x4214a3
lea eax, [esp + 0x38]
mov byte [eax + 0xb], bl
lea esi, [eax + ebx]
cmp eax, str.override_partner_package
ja 0x4214b9
cmp esi, str.override_partner_package
ja 0x421cb8
test ebx, ebx
je 0x4214cc
push ebx
push str.override_partner_package
push eax
call fcn.004ebca0
add esp, 0xc
mov byte [esi], 0
lea esi, [esp + 0x38]
mov ecx, edi
push esi
call fcn.004a7750
mov ebx, eax
cmp byte [esi + 0xb], 0
jns 0x4214ef
push dword [esp + 0x38]
call fcn.004e82d5
add esp, 4
test bl, bl
je 0x421675
push str.override_partner_package
call fcn.00503950
add esp, 4
cmp eax, 0x7ffffff8
jae 0x421cf2
mov ebx, eax
cmp eax, 0xa
jbe 0x421542
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x94], eax
or esi, 0x80000000
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
jmp 0x42154c
lea eax, [esp + 0x94]
mov byte [eax + 0xb], bl
lea esi, [eax + ebx]
cmp eax, str.override_partner_package
ja 0x421562
cmp esi, str.override_partner_package
ja 0x421cb8
test ebx, ebx
je 0x421575
push ebx
push str.override_partner_package
push eax
call fcn.004ebca0
add esp, 0xc
mov byte [esi], 0
lea eax, [esp + 0x94]
mov ecx, edi
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.004a79f0
mov esi, dword [esp + 4]
lea edi, [esi + 0x124]
cmp byte [esi + 0x12f], 0
jns 0x4215a9
push dword [edi]
call fcn.004e82d5
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 0x4215df
push dword [esp + 0x94]
call fcn.004e82d5
add esp, 4
movzx eax, byte [esi + 0x12f]
mov edx, edi
test al, al
jns 0x421600
mov eax, dword [esi + 0x128]
test eax, eax
js 0x421ca2
mov edx, dword [esi + 0x124]
test edx, edx
jne 0x42160c
test eax, eax
jne 0x421c91
lea esi, [esp + 0x38]
mov ecx, esi
push eax
push edx
call fcn.0049c050
push esi
call fcn.00487bc0
add esp, 4
mov ebx, eax
mov ecx, esi
call fcn.0049c100
test bl, bl
je 0x4218fe
lea ebx, [esp + 0x38]
mov ecx, ebx
push 0x404
push str.Install
push 0
call fcn.0045baa0
lea esi, [esp + 0x40]
lea ecx, [esp + 0x74]
push 0x52b10b
push str.Partner_package_override_is:
call fcn.004148f0
mov ecx, esi
push edi
call fcn.00414720
mov ecx, ebx
call fcn.0045bd40
jmp 0x42197e
mov dword [esp + 0x34], 0xffffffff
mov esi, 0x126
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x38], eax
lea ebx, [eax + esi]
mov dword [esp + 0x40], ebx
push esi
push 0x52a980
push eax
call fcn.004ebca0
add esp, 0xc
mov dword [esp + 0x3c], ebx
push str.partner_package_guid
call fcn.00503950
add esp, 4
cmp eax, 0x7ffffff8
jae 0x421cfe
mov ebx, eax
lea eax, [esp + 0x28]
cmp ebx, 0xa
jbe 0x4216ef
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x28], eax
or esi, 0x80000000
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
jmp 0x4216f3
mov byte [esp + 0x33], bl
lea esi, [eax + ebx]
cmp eax, str.partner_package_guid
ja 0x421709
cmp esi, str.partner_package_guid
ja 0x421cb8
mov dword [esp + 8], edi
test ebx, ebx
je 0x421720
push ebx
push str.partner_package_guid
push eax
call fcn.004ebca0
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.004a79f0
push str.msi_database
call fcn.00503950
add esp, 4
cmp eax, 0x7ffffff8
jae 0x421d07
mov ebx, eax
lea eax, [esp + 0x10]
cmp ebx, 0xa
jbe 0x42177f
mov esi, ebx
or esi, 7
inc esi
push esi
call fcn.004e82a5
add esp, 4
mov dword [esp + 0x10], eax
or esi, 0x80000000
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
jmp 0x421783
mov byte [esp + 0x1b], bl
lea esi, [eax + ebx]
cmp eax, str.msi_database
ja 0x421799
cmp esi, str.msi_database
ja 0x421cb8
mov ecx, dword [esp + 4]
add ecx, 0x124
mov dword [esp + 0xc], ecx
test ebx, ebx
je 0x4217ba
push ebx
push str.msi_database
push eax
call fcn.004ebca0
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.004a79f0
lea eax, [esp + 0x34]
push dword [esp + 0xc]
lea ecx, [esp + 0x3c]
push ecx
push edi
push esi
push eax
call fcn.0043d400
add esp, 0x14
cmp byte [esi + 0xb], 0
jns 0x4217fa
push dword [esp + 0x1c]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x1b], 0
mov esi, dword [esp + 4]
jns 0x421811
push dword [esp + 0x10]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x9f], 0
jns 0x42182a
push dword [esp + 0x94]
call fcn.004e82d5
add esp, 4
cmp byte [esp + 0x33], 0
jns 0x42183d
push dword [esp + 0x28]
call fcn.004e82d5
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x421863
mov ecx, dword [esp + 0x3c]
mov edx, ecx
sub edx, eax
dec ecx
cmp edx, ecx
ja 0x421cd6
mov dword [esp + 0x3c], eax
push eax
call fcn.004e82d5
add esp, 4
mov edi, dword [esp + 0x34]
test edi, edi
je 0x42197e
movzx eax, byte [esi + 0x12f]
test al, al
jns 0x421880
mov eax, dword [esi + 0x128]
test eax, eax
je 0x421966
xor esi, esi
lea edi, [esp + 0x38]
mov ecx, edi
push 0x411
push str.Install
push esi
call fcn.0045baa0
lea ebx, [esp + 0x40]
lea ecx, [esp + 0x74]
push 0x52b12c
push str.Partner_package_override_found:
call fcn.004148f0
mov ecx, ebx
push dword [esp + 0xc]
call fcn.00414720
mov ecx, edi
call fcn.0045bd40
mov edi, dword [esp + 0x34]
mov dword [esp + 0x34], esi
test edi, edi
je 0x42197e
mov ecx, edi
call fcn.0049ee80
push edi
call fcn.004e82d5
add esp, 4
mov edi, dword [esp + 0x34]
mov dword [esp + 0x34], 0
test edi, edi
jne 0x42196e
jmp 0x42197e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea esi, [esp + 0x98]
push esi
call fcn.00516ab0
add esp, 8
lea ebx, [esp + 0x38]
mov ecx, ebx
push esi
push 0x402
push str.Install
push 1
call fcn.0045bec0
lea esi, [esp + 0x40]
lea ecx, [esp + 0x74]
push 0x52b0ee
push str.Wrong_overridden_partner_package_path:
call fcn.004148f0
mov ecx, esi
push edi
call fcn.00414720
mov ecx, ebx
call fcn.0045bf00
cmp byte [esp + 0x9f], 0
jns 0x42197e
push dword [esp + 0x94]
jmp 0x421976
mov dword [esp + 0x34], 0
mov ecx, edi
call fcn.0049ee80
push edi
call fcn.004e82d5
add esp, 4
lea edi, [esp + 0x94]
push edi
call fcn.00518530
add esp, 4
movzx ebx, byte [edi + 0xb]
test bl, bl
js 0x42199b
and ebx, 0x7f
jmp 0x4219a9
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
cmp ebx, 0x7ffffff8
jae 0x421c83
cmp ebx, 5
jae 0x4219c7
lea eax, [esp + 0x38]
mov byte [eax + 0xb], bl
test ebx, ebx
jne 0x4219f1
jmp 0x421a02
mov esi, ebx
or esi, 3
inc esi
js 0x421c8c
lea eax, [esi + esi]
push eax
call fcn.004e82a5
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 0x4219f3
mov word [eax], 0
mov ebx, dword [esp + 4]
lea esi, [ebx + 0xb0]
cmp byte [ebx + 0xbb], 0
jns 0x421a24
push dword [esi]
call fcn.004e82d5
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 0x421a4e
push dword [esp + 0x94]
call fcn.004e82d5
add esp, 4
mov ecx, dword [ebx + 0x68]
call fcn.00419080
lea eax, [ebx + 0x74]
mov ecx, ebx
push eax
call fcn.00420060
call fcn.004114c0
test al, al
jne 0x421af2
lea eax, [ebx + 0x80]
cmp byte [ebx + 0x8b], 0
jns 0x421a7f
mov eax, dword [eax]
push eax
push str.InstallerData
call fcn.004a2980
add esp, 8
lea eax, [ebx + 0x8c]
cmp byte [ebx + 0x97], 0
jns 0x421a9e
mov eax, dword [eax]
push eax
push str.ClidsFile
call fcn.004a2980
add esp, 8
lea eax, [ebx + 0x98]
cmp byte [ebx + 0xa3], 0
jns 0x421abd
mov eax, dword [eax]
push eax
push str.YandexWebsiteIconFile
call fcn.004a2980
add esp, 8
lea eax, [ebx + 0xa4]
cmp byte [ebx + 0xaf], 0
jns 0x421adc
mov eax, dword [eax]
push eax
push str.AbtConfigResourceFile
call fcn.004a2980
add esp, 8
mov ecx, dword [ebx + 0x68]
call fcn.00419160
mov ecx, ebx
call fcn.00425630
test eax, eax
je 0x421b8d
mov edi, eax
cmp eax, 1
jne 0x421b14
mov edi, dword [0x560ed0]
cmp edi, 1
adc edi, 0
cmp dword [ebx + 0x64], 0
je 0x421b55
push 0
push dword [ebx + 0xc4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x421b38
cmp dword [0x560ed0], 0
je 0x421b55
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x64]
mov eax, dword [ebx]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
mov ebx, dword [esp + 4]
push edi
call esi
mov dword [esp + 8], 0
call fcn.004114c0
test al, al
jne 0x421b93
jmp 0x421c04
cmp dword [eax + 0x90], 0
je 0x421bed
mov eax, dword [eax + 0x8c]
jmp 0x421be3
cmp dword [eax + 0x9c], 0
je 0x421c04
mov eax, dword [eax + 0x98]
jmp 0x421bfd
mov al, 1
mov dword [esp + 8], eax
push str.InstallerData
call fcn.004a2b70
add esp, 4
push str.ClidsFile
call fcn.004a2b70
add esp, 4
push str.YandexWebsiteIconFile
call fcn.004a2b70
add esp, 4
call fcn.0041dd90
push eax
call fcn.004a2b70
add esp, 4
mov ecx, dword [ebx + 0x68]
call fcn.00418230
mov eax, dword [ebx + 0x68]
cmp byte [eax + 0x97], 0
js 0x421b6b
je 0x421bed
add eax, 0x8c
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebx + 0x68]
cmp byte [eax + 0xa3], 0
js 0x421b7c
je 0x421c04
add eax, 0x98
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebx + 0x64], 0
je 0x421c5e
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 0x421c5e
call fcn.004accb0
push ebx
push eax
push ebx
push 0xfffffffffffffffd
call esi
test eax, eax
jne 0x421c18
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x64]
test edi, edi
je 0x421c5e
mov eax, dword [edi]
mov ebx, dword [eax + 0x10]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
call ebx
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 4]
push eax
call fcn.004235d0
mov ecx, dword [esp + 0xa0]
xor ecx, ebp
call fcn.004e8be6
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x38]
call fcn.004148d0
call fcn.00516400
push str.string_view::string_view__CharT___size_t_:_received_nullptr
push str.__len__0____s___nullptr
push 0x13c
jmp 0x421cb1
push str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
push str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
push 0x13a
push str....._third_partylibc_srcinclude_string_view
jmp 0x421ccc
push str.char_traits::copy_overlapped_range
push str.__s2_____s1____s2_____s1____n
push 0xf3
push str....._third_partylibc_srcinclude__stringchar_traits.h
push str._s:_d:_assertion__s_failed:__s_n
call fcn.00457520
push str.null_pointer_given_to_destroy_at
push str.__loc___nullptr
push 0x44
push str....._third_partylibc_srcinclude__memoryconstruct_at.h
jmp 0x421ccc
lea ecx, [esp + 0x38]
call fcn.004148d0
lea ecx, [esp + 0x94]
call fcn.004148d0
lea ecx, [esp + 0x28]
call fcn.004148d0
lea ecx, [esp + 0x10]
call fcn.004148d0