Function at 0x401ba7
Capabilities:
Delete registry value

Disassembly:
sub esp, 0x450
mov edx, dword [str.CLSID23170F69_40C1_278A_1000_000100020000InprocServer32]
lea eax, [esp + 4]
push ebx
push ebp
push esi
push edi
mov esi, 0x80000000
push eax
push 0
mov ecx, esi
call fcn.00401dde
mov ebp, dword [sym.imp.MSVCRT.dll_wcscpy]
mov edi, 0x403130
test eax, eax
je 0x401c8e
push str.7_zip.dll
mov edx, 0x405b08
lea ecx, [esp + 0x18]
call fcn.00401ea0
test eax, eax
je 0x401c8e
mov edx, dword [str.CLSID23170F69_40C1_278A_1000_000100020000InprocServer32]
mov ecx, esi
call fcn.00401e22
test eax, eax
jne 0x401c16
mov edx, dword [str.CLSID23170F69_40C1_278A_1000_000100020000]
mov ecx, esi
call fcn.00401e22
mov ebx, edi
push dword [ebx]
lea eax, [esp + 0x25c]
push eax
call ebp
lea eax, [esp + 0x260]
push str.7_Zip
push eax
call dword [sym.imp.MSVCRT.dll_wcscat]
add esp, 0x10
lea edx, [esp + 0x258]
mov ecx, esi
call fcn.00401e22
add ebx, 4
cmp ebx, 0x403144
jb 0x401c18
mov edx, dword [str.SoftwareMicrosoftWindowsCurrentVersionShell_ExtensionsApproved]
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov ebx, 0x80000002
push eax
mov ecx, ebx
call fcn.00401947
test eax, eax
jne 0x401c93
push str.23170F69_40C1_278A_1000_000100020000
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x401c93
mov ebx, 0x80000002
mov edx, dword [str.CLSID23170F69_40C1_278A_1000_000100020000InprocServer32]
lea eax, [esp + 0x14]
push eax
push 0
mov ecx, esi
call fcn.00401e3d
test eax, eax
je 0x401d57
push str.7_zip32.dll
mov edx, 0x405b08
lea ecx, [esp + 0x18]
call fcn.00401ea0
test eax, eax
je 0x401d57
mov edx, dword [str.CLSID23170F69_40C1_278A_1000_000100020000InprocServer32]
mov ecx, esi
call fcn.00401e97
test eax, eax
jne 0x401ce8
mov edx, dword [str.CLSID23170F69_40C1_278A_1000_000100020000]
mov ecx, esi
call fcn.00401e97
push dword [edi]
lea eax, [esp + 0x25c]
push eax
call ebp
lea eax, [esp + 0x260]
push str.7_Zip
push eax
call dword [sym.imp.MSVCRT.dll_wcscat]
add esp, 0x10
lea edx, [esp + 0x258]
mov ecx, esi
call fcn.00401e97
add edi, 4
cmp edi, 0x403144
jb 0x401ce8
mov edx, dword [str.SoftwareMicrosoftWindowsCurrentVersionShell_ExtensionsApproved]
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
call fcn.00401e81
test eax, eax
jne 0x401d57
push str.23170F69_40C1_278A_1000_000100020000
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths7zFM.exe]
lea eax, [esp + 0x14]
push eax
push 0
mov ecx, ebx
call fcn.00401dde
test eax, eax
je 0x401d93
push str.7zFM.exe
mov edx, 0x405b08
lea ecx, [esp + 0x18]
call fcn.00401ea0
test eax, eax
je 0x401d93
mov edx, dword [str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths7zFM.exe]
mov ecx, ebx
call fcn.00401e22
mov edx, dword [str.SoftwareMicrosoftWindowsCurrentVersionUninstall7_Zip]
lea eax, [esp + 0x14]
push eax
push str.UninstallString
mov ecx, ebx
call fcn.00401dde
test eax, eax
je 0x401dd3
push dword [0x40312c]
mov edx, 0x405b08
lea ecx, [esp + 0x18]
call fcn.00401ea0
test eax, eax
je 0x401dd3
mov edx, dword [str.SoftwareMicrosoftWindowsCurrentVersionUninstall7_Zip]
mov ecx, ebx
call fcn.00401e22
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x450
ret