Function at 0x4012c0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c0
mov eax, dword [0x424004]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x4b8], 0
lea ecx, [ebp - 0x44c]
call fcn.00401e00
lea ecx, [ebp - 0x41c]
call fcn.00401e00
lea ecx, [ebp - 0x434]
call fcn.00401e00
lea eax, [ebp - 0x4b4]
push eax
push 0x20119
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallSynology_Surveillance_Station_Client
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x401325
jmp 0x40153f
mov dword [ebp - 0x4b0], 0x400
lea ecx, [ebp - 0x4b0]
push ecx
lea edx, [ebp - 0x404]
push edx
push 0
push 0
push str.InstallerType
mov eax, dword [ebp - 0x4b4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x401369
lea ecx, [ebp - 0x404]
push ecx
lea ecx, [ebp - 0x44c]
call fcn.004020b0
mov dword [ebp - 0x4b0], 0x400
lea edx, [ebp - 0x4b0]
push edx
lea eax, [ebp - 0x404]
push eax
push 0
push 0
push str.UninstallString
mov ecx, dword [ebp - 0x4b4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4013ad
lea edx, [ebp - 0x404]
push edx
lea ecx, [ebp - 0x41c]
call fcn.004020b0
mov dword [ebp - 0x4b0], 0x400
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x404]
push ecx
push 0
push 0
push str.InstallLocation
mov edx, dword [ebp - 0x4b4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4013f1
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x434]
call fcn.004020b0
lea ecx, [ebp - 0x41c]
call fcn.00402810
movzx ecx, al
cmp ecx, 1
jne 0x401416
push str.no_ssc_installer_found
call fcn.00402a30
add esp, 4
jmp 0x40153f
push 4
push str.Installer
mov ecx, dword [ebp + 8]
call fcn.00402790
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x4bc], eax
cmp dword [ebp - 0x4bc], 6
jne 0x401535
lea edx, [ebp - 0x44c]
push edx
push 0x41b39c
call fcn.004016e0
add esp, 8
movzx eax, al
test eax, eax
je 0x4014c5
push str.__passive
lea ecx, [ebp - 0x41c]
push ecx
push 0x41b3b8
lea edx, [ebp - 0x47c]
push edx
call fcn.00401730
add esp, 0xc
push eax
lea eax, [ebp - 0x464]
push eax
call fcn.00401700
add esp, 0xc
push eax
lea ecx, [ebp - 0x41c]
call fcn.00402070
lea ecx, [ebp - 0x464]
call fcn.00401fc0
lea ecx, [ebp - 0x47c]
call fcn.00401fc0
lea ecx, [ebp - 0x41c]
push ecx
call fcn.00401120
add esp, 4
mov dword [ebp - 0x4b8], eax
jmp 0x401533
push str._bin
lea edx, [ebp - 0x434]
push edx
push str._S___
lea eax, [ebp - 0x4ac]
push eax
call fcn.00401730
add esp, 0xc
push eax
lea ecx, [ebp - 0x494]
push ecx
call fcn.00401700
add esp, 0xc
push eax
lea ecx, [ebp - 0x434]
call fcn.00402070
lea ecx, [ebp - 0x494]
call fcn.00401fc0
lea ecx, [ebp - 0x4ac]
call fcn.00401fc0
lea edx, [ebp - 0x434]
push edx
lea eax, [ebp - 0x41c]
push eax
call fcn.004011f0
add esp, 8
mov dword [ebp - 0x4b8], eax
jmp 0x40153f
mov dword [ebp - 0x4b8], 0xffffffff
mov ecx, dword [ebp - 0x4b4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x4c0], edx
lea ecx, [ebp - 0x434]
call fcn.00401fc0
lea ecx, [ebp - 0x41c]
call fcn.00401fc0
lea ecx, [ebp - 0x44c]
call fcn.00401fc0
mov eax, dword [ebp - 0x4c0]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402ba8
mov esp, ebp
pop ebp
ret