Function at 0x41b350
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 [0x520014]
xor eax, ebp
mov dword [esp + 0x90], eax
call fcn.0041e610
call fcn.00410430
test al, al
mov dword [esp + 4], esi
jne 0x41b68e
lea edi, [esp + 0x84]
push edi
call fcn.004d9b70
add esp, 4
movzx eax, byte [edi + 0xb]
mov ebx, eax
test al, al
jns 0x41b3ad
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
cmp ebx, 0x7ffffff0
jae 0x41b8ca
mov dword [esp + 8], eax
cmp ebx, 5
jae 0x41b3cf
lea eax, [esp + 0x10]
mov byte [eax + 0xb], bl
test ebx, ebx
jne 0x41b3f3
jmp 0x41b404
lea esi, [ebx + 8]
and esi, 0xfffffff8
lea eax, [esi + esi]
push eax
call fcn.0048e8dd
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 0x41b3f5
mov word [eax], 0
mov ebx, dword [esp + 4]
lea esi, [ebx + 0xb4]
cmp byte [ebx + 0xbf], 0
mov ecx, dword [esp + 8]
jns 0x41b431
push dword [esi]
call fcn.0048e90d
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 0x41b455
push dword [esp + 0x84]
call fcn.0048e90d
add esp, 4
mov ecx, dword [ebx + 0x6c]
call fcn.004160b0
lea eax, [ebx + 0x78]
mov ecx, ebx
push eax
call fcn.0041a770
call fcn.00410430
test al, al
jne 0x41b4f9
lea eax, [ebx + 0x84]
cmp byte [ebx + 0x8f], 0
jns 0x41b486
mov eax, dword [eax]
push eax
push str.InstallerData
call fcn.004d8810
add esp, 8
lea eax, [ebx + 0x90]
cmp byte [ebx + 0x9b], 0
jns 0x41b4a5
mov eax, dword [eax]
push eax
push str.ClidsFile
call fcn.004d8810
add esp, 8
lea eax, [ebx + 0x9c]
cmp byte [ebx + 0xa7], 0
jns 0x41b4c4
mov eax, dword [eax]
push eax
push str.ClidsSearchbandFile
call fcn.004d8810
add esp, 8
lea eax, [ebx + 0xa8]
cmp byte [ebx + 0xb3], 0
jns 0x41b4e3
mov eax, dword [eax]
push eax
push str.YandexWebsiteIconFile
call fcn.004d8810
add esp, 8
mov ecx, dword [ebx + 0x6c]
call fcn.00416180
mov ecx, ebx
call fcn.0041e960
test eax, eax
je 0x41b56f
mov edi, eax
cmp eax, 1
jne 0x41b518
mov eax, dword [0x5390d8]
xor edi, edi
inc edi
test eax, eax
cmovne edi, eax
cmp dword [ebx + 0x68], 0
je 0x41b559
push 0
push dword [ebx + 0xc8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x41b53c
cmp dword [0x5390d8], 0
je 0x41b559
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 0x41b575
jmp 0x41b60f
mov al, 1
mov dword [esp + 8], eax
push str.InstallerData
call fcn.004d88a0
add esp, 4
push str.ClidsFile
call fcn.004d88a0
add esp, 4
push str.ClidsSearchbandFile
call fcn.004d88a0
add esp, 4
push str.YandexWebsiteIconFile
call fcn.004d88a0
add esp, 4
call fcn.00418c20
push eax
call fcn.004d88a0
add esp, 4
mov ecx, dword [ebx + 0x6c]
call fcn.00415600
mov ecx, dword [ebx + 0x6c]
lea eax, [ecx + 0x8c]
cmp byte [ecx + 0x97], 0
js 0x41b5d5
jne 0x41b5e0
jmp 0x41b5ea
cmp dword [ecx + 0x90], 0
je 0x41b5ea
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 0x41b5fd
jne 0x41b608
jmp 0x41b60f
cmp dword [ecx + 0x9c], 0
je 0x41b60f
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebx + 0x68], 0
je 0x41b669
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 0x41b669
call fcn.0044e630
push ebx
push eax
push ebx
push 0xfffffffffffffffd
call esi
test eax, eax
jne 0x41b623
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x68]
test edi, edi
je 0x41b669
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.0041cec0
mov ecx, dword [esp + 0x90]
xor ecx, ebp
call fcn.0048f468
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004d5a80
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.0048e8dd
add esp, 4
lea edi, [esp + 0x10]
mov dword [edi], eax
lea ebx, [eax + esi]
mov dword [edi + 8], ebx
push esi
push 0x506300
push eax
call fcn.00491bb0
add esp, 0xc
mov dword [edi + 4], ebx
lea esi, [esp + 0x74]
mov ecx, esi
push str.partner_package_guid
call fcn.004b9300
lea eax, [esp + 0x84]
mov ebx, dword [esp + 0xc]
mov ecx, ebx
push esi
push eax
call fcn.004d5df0
lea edi, [esp + 0x5c]
mov ecx, edi
push str.msi_database
call fcn.004b9300
lea esi, [esp + 0x68]
mov ecx, ebx
push edi
mov ebx, dword [esp + 0xc]
push esi
call fcn.004d5df0
push ebx
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x8c]
push eax
push esi
lea eax, [esp + 0x90]
push eax
call fcn.0042c770
add esp, 0x14
cmp byte [esi + 0xb], 0
jns 0x41b750
push dword [esp + 0x68]
call fcn.0048e90d
add esp, 4
cmp byte [esp + 0x67], 0
jns 0x41b763
push dword [esp + 0x5c]
call fcn.0048e90d
add esp, 4
cmp byte [esp + 0x8f], 0
mov esi, dword [esp + 4]
jns 0x41b780
push dword [esp + 0x84]
call fcn.0048e90d
add esp, 4
cmp byte [esp + 0x7f], 0
jns 0x41b793
push dword [esp + 0x74]
call fcn.0048e90d
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41b7a8
mov dword [esp + 0x14], eax
push eax
call fcn.0048e90d
add esp, 4
mov edi, dword [esp + 0x80]
test edi, edi
je 0x41b385
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x41b7c5
mov eax, dword [esi + 0x130]
test eax, eax
jne 0x41b7e9
mov dword [esp + 0x80], 0
mov ecx, edi
call fcn.0046c140
push edi
call fcn.0048e90d
add esp, 4
jmp 0x41b385
lea ecx, [esp + 0x10]
push 0x3da
push str.Install
push 0
call fcn.0043a1a0
lea edi, [esp + 0x4c]
mov ecx, edi
push 0x5069e2
push str.Partner_package_override_found:
call fcn.004b9460
movzx eax, byte [esi + 0x137]
test al, al
jns 0x41b82a
mov ebx, dword [esi + 0x12c]
mov eax, dword [esi + 0x130]
push eax
push ebx
lea esi, [esp + 0x8c]
push esi
call fcn.0046fb00
add esp, 0xc
movzx eax, byte [esp + 0x8f]
test al, al
jns 0x41b856
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov ecx, edi
push eax
push esi
call fcn.0046ab40
cmp byte [esp + 0x8f], 0
jns 0x41b878
push dword [esp + 0x84]
call fcn.0048e90d
add esp, 4
lea ecx, [esp + 0x10]
call fcn.0043a3d0
mov edi, dword [esp + 0x80]
mov dword [esp + 0x80], 0
test edi, edi
je 0x41b385
mov ecx, edi
call fcn.0046c140
push edi
call fcn.0048e90d
add esp, 4
mov edi, dword [esp + 0x80]
mov dword [esp + 0x80], 0
test edi, edi
jne 0x41b7d4
jmp 0x41b385
lea ecx, [esp + 0x10]
call fcn.004d0930
int3