Function at 0x4556c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
push 0x2011f
xor ebx, ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Products
push 0x80000002
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
call fcn.00412570
test eax, eax
je 0x45579f
mov esi, dword [ebp - 0x20]
mov dword [ebp - 4], ebx
cmp esi, ebx
je 0x455758
cmp dword [esi], ebx
je 0x455749
push str.Advapi32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp eax, ebx
jne 0x455716
mov eax, 1
jmp 0x455779
push str.RegCreateKeyTransactedW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x45570f
mov ecx, dword [esi]
push ebx
push ecx
lea edx, [ebp - 8]
push edx
lea ecx, [ebp - 4]
push ecx
push ebx
push 0x2011f
push ebx
push ebx
push ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Products
push 0x80000002
call eax
jmp 0x455779
cmp dword [esi + 4], ebx
je 0x45570f
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 4]
push eax
jmp 0x455760
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
push ebx
push 0x2011f
push ebx
push ebx
push ebx
push str.SOFTWAREMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Products
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x455888
mov ecx, dword [ebp - 0x28]
xor eax, eax
cmp ecx, ebx
je 0x455791
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x28], ecx
cmp eax, ebx
jne 0x455888
mov ecx, dword [ebp + 8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea edx, [ebp - 0x14]
push edx
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 8]
push eax
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push ecx
push edx
mov dword [ebp - 8], ebx
call esi
cmp eax, ebx
jne 0x455888
mov eax, dword [ebp - 8]
push edi
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 4]
push edx
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push str.Patches
push eax
mov dword [ebp - 0x34], eax
xor edi, edi
mov dword [ebp - 4], ebx
call esi
cmp eax, ebx
jne 0x45581d
mov esi, dword [ebp - 4]
push 0x4c79ac
mov edi, esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
push 0x4c79ac
push 1
push ebx
push str.AllPatches
push esi
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0xc]
push edx
push ebx
push 0x2001f
push ebx
push ebx
push ebx
push str.Usage
push eax
mov dword [ebp - 0xc], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x45586e
mov esi, dword [ebp - 0xc]
push 4
lea ecx, [ebp - 0x10]
push ecx
push 4
push ebx
push str.MSOfficeDocumentImaging
push esi
mov dword [ebp - 0x10], 0x44700002
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp esi, ebx
je 0x45586e
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp edi, ebx
je 0x455879
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x34]
pop edi
cmp eax, ebx
je 0x455888
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x28]
pop esi
cmp eax, ebx
pop ebx
je 0x455898
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret