Function at 0x40f270
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 4], eax
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionRunOnce
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
push dword [edi + 8]
mov dword [ebp - 0x10], eax
call fcn.00413da5
push eax
push dword [ebp + 0x14]
call fcn.00413da5
push eax
push dword [ebp + 0x10]
call fcn.0041445f
push eax
push dword [edi + 0x50]
push 0x20000173
push 2
call fcn.004056f0
add esp, 0x18
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.004436a3
cmp dword [ebp - 0xc], 5
mov eax, str.SOFTWAREMicrosoftWindowsCurrentVersionRun
mov ebx, dword [ebp + 0xc]
cmovge eax, esi
mov dword [ebp + 8], eax
test ebx, ebx
je 0x40f320
push dword [ebp + 0x10]
push str.Resume
push ebx
call fcn.00440fe9
mov esi, eax
test esi, esi
jns 0x40f2fd
push str.Failed_to_write_Resume_value.
jmp 0x40f47f
cmp dword [ebp + 0x10], 3
jne 0x40f320
push 1
push str.Installed
push ebx
call fcn.00440fe9
mov esi, eax
test esi, esi
jns 0x40f326
push str.Failed_to_write_Installed_value.
jmp 0x40f47f
cmp dword [ebp + 0x10], 1
je 0x40f330
cmp dword [ebp + 0x14], 0
je 0x40f3c7
cmp dword [edi + 8], 0
jne 0x40f3c7
push str.burn.runonce
push dword [edi + 0x54]
lea eax, [ebp - 8]
push str.__ls____ls
push eax
call fcn.00401fb8
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x40f363
push str.Failed_to_format_resume_command_line_for_RunOnce.
jmp 0x40f47f
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [ebp + 8]
push dword [edi + 0x4c]
call fcn.00440732
mov esi, eax
test esi, esi
jns 0x40f387
push str.Failed_to_create_run_key.
jmp 0x40f47f
push dword [ebp - 8]
push dword [edi + 0x10]
push dword [ebp - 4]
call fcn.00441037
mov esi, eax
test esi, esi
jns 0x40f3a5
push str.Failed_to_write_run_key_value.
jmp 0x40f47f
push dword [edi + 0x58]
push str.BundleResumeCommandLine
push ebx
call fcn.00441037
mov esi, eax
test esi, esi
jns 0x40f487
push str.Failed_to_write_resume_command_line_value.
jmp 0x40f47f
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [ebp + 8]
push dword [edi + 0x4c]
call fcn.00440aee
mov esi, eax
cmp esi, 0x80070002
je 0x40f434
cmp esi, 0x80070003
je 0x40f434
push dword [edi + 0x10]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
xor ecx, ecx
cmp eax, 2
cmove eax, ecx
test eax, eax
je 0x40f436
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov eax, 0x80004005
test esi, esi
cmovns esi, eax
push esi
push 0x4e7
push str.c:jworkspacewix3_build5059eb25_src_burnengine_registration.cpp
call fcn.00403970
push str.Failed_to_delete_run_key_value.
jmp 0x40f47f
xor esi, esi
test ebx, ebx
je 0x40f487
push str.BundleResumeCommandLine
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
xor ecx, ecx
cmp eax, 2
cmove eax, ecx
test eax, eax
je 0x40f487
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
mov eax, 0x80004005
test esi, esi
cmovns esi, eax
push esi
push 0x4f1
push str.c:jworkspacewix3_build5059eb25_src_burnengine_registration.cpp
call fcn.00403970
push str.Failed_to_delete_resume_command_line_value.
push esi
call fcn.0043fdf0
pop ecx
pop ecx
cmp dword [ebp - 8], 0
je 0x40f495
push dword [ebp - 8]
call fcn.00402706
cmp dword [ebp - 4], 0
je 0x40f4a4
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x10