Function at 0x41b2a0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, ecx
mov eax, dword [0x526014]
xor eax, ebp
mov dword [esp + 0x90], eax
call fcn.0041e560
call fcn.00410430
test al, al
mov dword [esp + 4], esi
jne 0x41b5de
lea edi, [esp + 0x84]
push edi
call fcn.004df1b0
add esp, 4
movzx eax, byte [edi + 0xb]
mov ebx, eax
test al, al
jns 0x41b2fd
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
cmp ebx, 0x7ffffff0
jae 0x41b81a
mov dword [esp + 8], eax
cmp ebx, 5
jae 0x41b31f
lea eax, [esp + 0x10]
mov byte [eax + 0xb], bl
test ebx, ebx
jne 0x41b343
jmp 0x41b354
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.00493d3d
add esp, 4
mov dword [esp + 0x10], eax
or esi, 0x80000000
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
xor ecx, ecx
movsx edx, byte [edi + ecx]
mov word [eax], dx
add eax, 2
inc ecx
cmp ebx, ecx
jne 0x41b345
mov word [eax], 0
mov ebx, dword [esp + 4]
lea esi, [ebx + 0xb4]
cmp byte [ebx + 0xbf], 0
mov ecx, dword [esp + 8]
jns 0x41b381
push dword [esi]
call fcn.00493d6d
add esp, 4
mov cl, byte [esp + 0x8f]
mov eax, dword [esp + 0x18]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x10]
movsd qword [esi], xmm0
test cl, cl
jns 0x41b3a5
push dword [esp + 0x84]
call fcn.00493d6d
add esp, 4
mov ecx, dword [ebx + 0x6c]
call fcn.00415ff0
lea eax, [ebx + 0x78]
mov ecx, ebx
push eax
call fcn.0041a6c0
call fcn.00410430
test al, al
jne 0x41b449
lea eax, [ebx + 0x84]
cmp byte [ebx + 0x8f], 0
jns 0x41b3d6
mov eax, dword [eax]
push eax
push str.InstallerData
call fcn.004dde50
add esp, 8
lea eax, [ebx + 0x90]
cmp byte [ebx + 0x9b], 0
jns 0x41b3f5
mov eax, dword [eax]
push eax
push str.ClidsFile
call fcn.004dde50
add esp, 8
lea eax, [ebx + 0x9c]
cmp byte [ebx + 0xa7], 0
jns 0x41b414
mov eax, dword [eax]
push eax
push str.ClidsSearchbandFile
call fcn.004dde50
add esp, 8
lea eax, [ebx + 0xa8]
cmp byte [ebx + 0xb3], 0
jns 0x41b433
mov eax, dword [eax]
push eax
push str.YandexWebsiteIconFile
call fcn.004dde50
add esp, 8
mov ecx, dword [ebx + 0x6c]
call fcn.004160c0
mov ecx, ebx
call fcn.0041e8b0
test eax, eax
je 0x41b4bf
mov edi, eax
cmp eax, 1
jne 0x41b468
mov eax, dword [0x53f0d8]
xor edi, edi
inc edi
test eax, eax
cmovne edi, eax
cmp dword [ebx + 0x68], 0
je 0x41b4a9
push 0
push dword [ebx + 0xc8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x41b48c
cmp dword [0x53f0d8], 0
je 0x41b4a9
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x68]
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.00410430
test al, al
jne 0x41b4c5
jmp 0x41b55f
mov al, 1
mov dword [esp + 8], eax
push str.InstallerData
call fcn.004ddee0
add esp, 4
push str.ClidsFile
call fcn.004ddee0
add esp, 4
push str.ClidsSearchbandFile
call fcn.004ddee0
add esp, 4
push str.YandexWebsiteIconFile
call fcn.004ddee0
add esp, 4
call fcn.00418b70
push eax
call fcn.004ddee0
add esp, 4
mov ecx, dword [ebx + 0x6c]
call fcn.00415540
mov ecx, dword [ebx + 0x6c]
lea eax, [ecx + 0x8c]
cmp byte [ecx + 0x97], 0
js 0x41b525
jne 0x41b530
jmp 0x41b53a
cmp dword [ecx + 0x90], 0
je 0x41b53a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebx + 0x6c]
lea eax, [ecx + 0x98]
cmp byte [ecx + 0xa3], 0
js 0x41b54d
jne 0x41b558
jmp 0x41b55f
cmp dword [ecx + 0x9c], 0
je 0x41b55f
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebx + 0x68], 0
je 0x41b5b9
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 + 0xc8]
call edi
cmp eax, 0x102
jne 0x41b5b9
call fcn.0044ec50
push ebx
push eax
push ebx
push 0xfffffffffffffffd
call esi
test eax, eax
jne 0x41b573
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x68]
test edi, edi
je 0x41b5b9
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.0041ce10
mov ecx, dword [esp + 0x90]
xor ecx, ebp
call fcn.004948c8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004db0c0
mov dword [esp + 0xc], eax
lea eax, [esp + 0x80]
mov dword [eax], 0xffffffff
lea eax, [esi + 0x12c]
mov dword [esp + 8], eax
mov esi, 0x126
push esi
call fcn.00493d3d
add esp, 4
lea edi, [esp + 0x10]
mov dword [edi], eax
lea ebx, [eax + esi]
mov dword [edi + 8], ebx
push esi
push 0x50c4d0
push eax
call fcn.00497010
add esp, 0xc
mov dword [edi + 4], ebx
lea esi, [esp + 0x74]
mov ecx, esi
push str.partner_package_guid
call fcn.004be760
lea eax, [esp + 0x84]
mov ebx, dword [esp + 0xc]
mov ecx, ebx
push esi
push eax
call fcn.004db430
lea edi, [esp + 0x5c]
mov ecx, edi
push str.msi_database
call fcn.004be760
lea esi, [esp + 0x68]
mov ecx, ebx
push edi
mov ebx, dword [esp + 0xc]
push esi
call fcn.004db430
push ebx
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x8c]
push eax
push esi
lea eax, [esp + 0x90]
push eax
call fcn.0042dd60
add esp, 0x14
cmp byte [esi + 0xb], 0
jns 0x41b6a0
push dword [esp + 0x68]
call fcn.00493d6d
add esp, 4
cmp byte [esp + 0x67], 0
jns 0x41b6b3
push dword [esp + 0x5c]
call fcn.00493d6d
add esp, 4
cmp byte [esp + 0x8f], 0
mov esi, dword [esp + 4]
jns 0x41b6d0
push dword [esp + 0x84]
call fcn.00493d6d
add esp, 4
cmp byte [esp + 0x7f], 0
jns 0x41b6e3
push dword [esp + 0x74]
call fcn.00493d6d
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41b6f8
mov dword [esp + 0x14], eax
push eax
call fcn.00493d6d
add esp, 4
mov edi, dword [esp + 0x80]
test edi, edi
je 0x41b2d5
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x41b715
mov eax, dword [esi + 0x130]
test eax, eax
jne 0x41b739
mov dword [esp + 0x80], 0
mov ecx, edi
call fcn.0046f030
push edi
call fcn.00493d6d
add esp, 4
jmp 0x41b2d5
lea ecx, [esp + 0x10]
push 0x3da
push str.Install
push 0
call fcn.0043bcc0
lea edi, [esp + 0x4c]
mov ecx, edi
push 0x50cbb2
push str.Partner_package_override_found:
call fcn.004be8c0
movzx eax, byte [esi + 0x137]
test al, al
jns 0x41b77a
mov ebx, dword [esi + 0x12c]
mov eax, dword [esi + 0x130]
push eax
push ebx
lea esi, [esp + 0x8c]
push esi
call fcn.00473260
add esp, 0xc
movzx eax, byte [esp + 0x8f]
test al, al
jns 0x41b7a6
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov ecx, edi
push eax
push esi
call fcn.0046d820
cmp byte [esp + 0x8f], 0
jns 0x41b7c8
push dword [esp + 0x84]
call fcn.00493d6d
add esp, 4
lea ecx, [esp + 0x10]
call fcn.0043bef0
mov edi, dword [esp + 0x80]
mov dword [esp + 0x80], 0
test edi, edi
je 0x41b2d5
mov ecx, edi
call fcn.0046f030
push edi
call fcn.00493d6d
add esp, 4
mov edi, dword [esp + 0x80]
mov dword [esp + 0x80], 0
test edi, edi
jne 0x41b724
jmp 0x41b2d5
lea ecx, [esp + 0x10]
call fcn.004d5dc0
int3