Function at 0x4088c8
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x45a06c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xc], 7
mov edi, ecx
mov word [ebp - 0x20], ax
xor ebx, ebx
mov byte [ebp - 8], al
and dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x20]
push str.Install_Browser.
mov dword [ebp - 0x90], ebx
call fcn.004011b7
lea eax, [ebp - 0x20]
push eax
push eax
push 0x307
push str.Installer::InstallBrowser
push ebx
call fcn.00415994
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.00402499
mov eax, dword [edi]
lea ecx, [ebp - 0x1c]
push ecx
lea esi, [edi + 0x108]
mov ecx, edi
mov dword [ebp - 0x98], esi
call dword [eax + 0x14]
push eax
mov ecx, esi
call fcn.00405ab4
lea ecx, [ebp - 0x1c]
call fcn.00402499
xor eax, eax
cmp dword [edi + 0x118], ebx
jne 0x40895f
inc eax
jmp 0x408f8d
and dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x20]
push str.Executable_path:
mov dword [ebp - 0xc], 7
mov word [ebp - 0x20], ax
mov byte [ebp - 8], al
call fcn.004011b7
push esi
mov ecx, eax
call fcn.004023c1
lea eax, [ebp - 0x20]
push eax
push eax
push 0x310
push str.Installer::InstallBrowser
push 0
call fcn.00415994
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.00402499
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x4089b0
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
and dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x54]
and dword [ebp - 0x40], ebx
push esi
call fcn.004043eb
lea ecx, [ebp - 0xb0]
call fcn.0041ae20
push esi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x94], eax
mov eax, dword [edi]
mov dword [ebp - 0xa4], ecx
mov ecx, edi
call dword [eax + 0x18]
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x408f53
lea ecx, [ebp - 0xb0]
call fcn.0041b190
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi + 0xc8], ecx
lea ecx, [ebp - 0xb0]
mov dword [edi + 0xcc], eax
call fcn.0041ae20
push 0xffffffffffffffff
push 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xc0], ecx
sbb eax, dword [ebp - 0x94]
mov dword [ebp - 0xac], eax
mov eax, dword [edi + 0x88]
mov dword [ebp - 0xd0], eax
mov eax, dword [edi + 0x8c]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xd0]
push eax
push 2
pop eax
push eax
mov dword [ebp - 0x9c], eax
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x88], ecx
cmp eax, ecx
je 0x408ac6
and dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0xc], 7
push str.Installation_after_download_event_isnt_in_signal_state_or_installation_was_stopped_early.
mov word [ebp - 0x20], ax
mov byte [ebp - 8], al
call fcn.004011b7
lea eax, [ebp - 0x20]
push eax
push eax
push 0x324
push str.Installer::InstallBrowser
push dword [ebp - 0x88]
call fcn.00415994
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.00402499
jmp 0x408f53
lea ecx, [ebp - 0xc8]
call fcn.0041ae20
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push ecx
push ecx
mov dword [ebp - 0xbc], ecx
mov ecx, esp
push esi
mov dword [ebp - 0xc4], eax
call fcn.0040235e
lea ecx, [ebp - 0x1c]
call fcn.00417a30
push 0x28
mov esi, eax
call fcn.0042769c
mov dword [esp], 0x40221
mov ecx, eax
push esi
call fcn.0041ac60
mov ebx, eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xa4], ebx
mov esi, ebx
call fcn.00417ae0
mov ecx, ebx
call fcn.0041a8a0
test al, al
jne 0x408b67
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0xc], 7
push str.Cannot_lock_file:
mov word [ebp - 0x20], ax
mov byte [ebp - 8], al
call fcn.004011b7
mov ecx, dword [ebp - 0x98]
push ecx
mov ecx, eax
call fcn.004023c1
lea eax, [ebp - 0x20]
push eax
push eax
push 0x32f
jmp 0x408df8
mov eax, dword [edi]
lea ebx, [edi + 0x108]
push ebx
mov ecx, edi
call dword [eax + 0x1c]
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc], 7
test al, al
jne 0x408bdd
xor eax, eax
push str.Module_verification_failed:
mov word [ebp - 0x20], ax
mov byte [ebp - 8], al
call fcn.004011b7
push ebx
mov ecx, eax
call fcn.004023c1
lea eax, [ebp - 0x20]
push eax
push eax
push 0x334
push str.Installer::InstallBrowser
push dword [ebp - 0x88]
call fcn.00415994
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.00402499
mov ecx, edi
mov dword [edi + 0x80], 0x192
call fcn.00409c2e
jmp 0x408e9a
xor eax, eax
push str.Verification_succeeded:
mov word [ebp - 0x20], ax
mov byte [ebp - 8], al
call fcn.004011b7
push ebx
mov ecx, eax
call fcn.004023c1
lea eax, [ebp - 0x20]
push eax
push eax
push 0x339
push str.Installer::InstallBrowser
push 0
call fcn.00415994
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.00402499
lea ecx, [ebp - 0xb8]
call fcn.0041ae20
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x98], ecx
push ecx
mov ecx, edi
mov dword [ebp - 0xb4], eax
call fcn.00409d12
cmp dword [edi + 0x100], 0
jne 0x408c79
push dword [ebp - 0x88]
lea eax, [ebp - 0x24]
mov ecx, edi
push ebx
push eax
call fcn.00408f9e
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push ebx
mov ecx, edi
call dword [eax + 4]
mov bl, al
lea ecx, [ebp - 0x24]
mov byte [ebp - 0x94], bl
call fcn.0041f589
jmp 0x408e26
mov eax, dword [edi + 0x14]
xor ebx, ebx
cmp byte [eax + 0xf9], bl
je 0x408cb1
mov ecx, dword [ebp - 0x88]
add eax, 0xc8
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
call fcn.004043eb
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x94], ecx
jmp 0x408cd7
xor eax, eax
mov dword [ebp - 0x2c], ebx
push 0x450878
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
call fcn.004067a8
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x94], eax
mov eax, dword [edi + 0x14]
cmp byte [eax + 0xf8], 0
je 0x408d04
add eax, 0xb0
mov dword [ebp - 0x74], ebx
push eax
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x70], ebx
call fcn.004043eb
lea ecx, [ebp - 0x84]
push 4
jmp 0x408d26
xor eax, eax
mov dword [ebp - 0x5c], ebx
push 0x450878
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.004067a8
lea ecx, [ebp - 0x6c]
push 8
pop ebx
or ebx, dword [ebp - 0x9c]
lea eax, [edi + 0x120]
push eax
push dword [ebp - 0x94]
lea eax, [edi + 0x38]
mov dword [ebp - 0x90], ebx
push ecx
push eax
lea eax, [edi + 0x50]
push eax
lea edx, [edi + 0xe8]
lea ecx, [edi + 0x108]
call fcn.0040a219
add esp, 0x14
neg al
sbb al, al
inc al
mov byte [ebp - 0x89], al
test bl, 8
je 0x408d7f
and ebx, 0xfffffff7
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x90], ebx
call fcn.00402499
test bl, 4
je 0x408d98
and ebx, 0xfffffffb
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x90], ebx
call fcn.00402499
test bl, 2
je 0x408dae
and ebx, 0xfffffffd
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x90], ebx
call fcn.00402499
test bl, 1
je 0x408dc4
and ebx, 0xfffffffe
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x90], ebx
call fcn.00402499
cmp byte [ebp - 0x89], 0
je 0x408e18
and dword [ebp - 0x10], 0
lea ecx, [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0xc], 7
push str.Unexpected_error_in_CreateDelayedParamsMapping__
mov word [ebp - 0x20], ax
mov byte [ebp - 8], al
call fcn.004011b7
lea eax, [ebp - 0x20]
push eax
push eax
push 0x34e
push str.Installer::InstallBrowser
push dword [ebp - 0x88]
call fcn.00415994
add esp, 0x14
lea ecx, [ebp - 0x20]
call fcn.00402499
jmp 0x408e9a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov bl, al
mov byte [ebp - 0x94], bl
mov eax, dword [ebp - 0xa4]
xor esi, esi
test eax, eax
je 0x408e45
mov ecx, eax
call fcn.0041ad60
push dword [ebp - 0xa4]
call fcn.0042740d
pop ecx
lea ecx, [ebp - 0xa8]
call fcn.0041ae20
push dword [ebp - 0x94]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x98]
mov eax, dword [eax + 4]
sbb eax, dword [ebp - 0xb4]
mov dword [edi + 0xa8], ecx
push ecx
mov ecx, edi
mov dword [edi + 0xac], eax
call fcn.00409e87
mov ecx, dword [edi + 0x100]
and dword [edi + 0x100], esi
test ecx, ecx
je 0x408e96
mov eax, dword [ecx]
push dword [ebp - 0x88]
call dword [eax + 4]
test bl, bl
jne 0x408eab
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x88], eax
jmp 0x408f3b
and dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x3c]
push 0x15
push str.do_not_launch_browser
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
call fcn.0040256f
lea eax, [ebp - 0x3c]
push eax
push ecx
call fcn.0041f106
pop ecx
mov ecx, eax
call fcn.0041f267
lea ecx, [ebp - 0x3c]
mov bl, al
call fcn.00402525
test bl, bl
je 0x408f01
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x408f01
mov eax, dword [ecx]
push 0x64
call dword [eax + 0x1c]
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
and dword [edi + 0x10], esi
lea ecx, [ebp - 0xb8]
call fcn.0041ae20
mov ecx, dword [eax]
sub ecx, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
sbb eax, dword [ebp - 0xc4]
add ecx, dword [ebp - 0xc0]
mov dword [edi + 0x98], ecx
adc eax, dword [ebp - 0xac]
and dword [ebp - 0x88], esi
mov dword [edi + 0x9c], eax
test esi, esi
je 0x408f4d
mov ecx, esi
call fcn.0041ad60
push esi
call fcn.0042740d
pop ecx
mov ebx, dword [ebp - 0x90]
cmp dword [ebp - 0x44], 0
je 0x408f7f
cmp dword [ebp - 0x40], 8
lea eax, [ebp - 0x54]
cmovae eax, dword [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x408f7f
test ebx, 0x400
je 0x408f7f
lea ecx, [ebp - 0x1c]
call fcn.00417ae0
lea ecx, [ebp - 0x54]
call fcn.00402499
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00427412
mov esp, ebp
pop ebp
ret