Function at 0x4096c0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov eax, 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x18]
push eax
push 0x20019
xor ebp, ebp
push ebp
push str.SoftwareLenovoAccess_ConnectionsOptions
mov ebx, 4
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
call esi
test eax, eax
je 0x409714
mov dword [esp + 0x20], ebp
jmp 0x409b5b
lea ecx, [esp + 0x1c]
push ecx
push 0x20019
push ebp
push str.SoftwareLenovoAccess_ConnectionsInstall
push reloc.OLEAUT32.dll_SysReAllocString
call esi
test eax, eax
je 0x409738
mov dword [esp + 0x20], ebp
jmp 0x409b5b
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.AllowPrfCreationThruFWN
push edx
call edi
test eax, eax
mov esi, dword [esp + 0x2c]
jne 0x409771
cmp dword [esp + 0x10], 1
mov eax, dword [esi]
jne 0x409773
or eax, 1
jmp 0x409776
mov eax, dword [esi]
and eax, 0xfffffffe
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push ebp
push str.NoWarningMsgForUnencryptedNW
push eax
call edi
test eax, eax
jne 0x4097a6
cmp dword [esp + 0x10], 1
mov eax, dword [esi]
jne 0x4097a8
or eax, 2
jmp 0x4097ab
mov eax, dword [esi]
and eax, 0xfffffffd
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
mov dword [esi], eax
lea eax, [esp + 0x20]
push eax
push ebp
push str.DefaultRoamingSelectionForProfile
push ecx
call edi
test eax, eax
jne 0x4097da
cmp dword [esp + 0x10], ebp
mov eax, dword [esi]
jne 0x4097dc
or eax, 0x10
jmp 0x4097df
mov eax, dword [esi]
and eax, 0xffffffef
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x24]
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.HideServicesMenu
push edx
call edi
test eax, eax
jne 0x40980e
cmp dword [esp + 0x10], 1
mov eax, dword [esi]
jne 0x409810
or eax, ebx
jmp 0x409813
mov eax, dword [esi]
and eax, 0xfffffffb
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push ebp
push str.DisableLocationSwitchingFeatureChanges
push eax
call edi
test eax, eax
mov ebx, 1
jne 0x409847
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409849
or eax, 0x20
jmp 0x40984c
mov eax, dword [esi]
and eax, 0xffffffdf
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x14]
push edx
mov dword [esi], eax
lea eax, [esp + 0x20]
push eax
push ebp
push str.DoSilentImportOfADDProfiles
push ecx
call edi
test eax, eax
jne 0x40987b
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x40987d
or eax, 0x40
jmp 0x409880
mov eax, dword [esi]
and eax, 0xffffffbf
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.DefaultRoamingSelectionForNoSecWLANProfile
push edx
call edi
test eax, eax
jne 0x4098b1
cmp dword [esp + 0x10], ebp
mov eax, dword [esi]
jne 0x4098b3
or eax, 0x80
jmp 0x4098b8
mov eax, dword [esi]
and eax, 0xffffff7f
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push ebp
push str.DisableEthAdptWhenCableUnplugged
push eax
call edi
test eax, eax
jne 0x4098e9
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x4098eb
or eax, 0x100
jmp 0x4098f0
mov eax, dword [esi]
and eax, 0xfffffeff
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
mov dword [esi], eax
lea eax, [esp + 0x20]
push eax
push ebp
push str.DefaultDisconnectWiredOrWLRadioWhenSwitched
push ecx
call edi
test eax, eax
jne 0x409921
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409923
or eax, 0x200
jmp 0x409928
mov eax, dword [esi]
and eax, 0xfffffdff
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.DefaultPinterShare
push edx
call edi
test eax, eax
jne 0x409959
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x40995b
or eax, 0x10000
jmp 0x409960
mov eax, dword [esi]
and eax, 0xfffeffff
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push ebp
push str.DefaultICS
push eax
call edi
test eax, eax
jne 0x409991
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409993
or eax, 0x20000
jmp 0x409998
mov eax, dword [esi]
and eax, 0xfffdffff
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
mov dword [esi], eax
lea eax, [esp + 0x20]
push eax
push ebp
push str.DefaultICF
push ecx
call edi
test eax, eax
jne 0x4099c9
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x4099cb
or eax, 0x40000
jmp 0x4099d0
mov eax, dword [esi]
and eax, 0xfffbffff
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.DefaultNetworkSecurity
push edx
call edi
test eax, eax
jne 0x409a01
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409a03
or eax, 0x80000
jmp 0x409a08
mov eax, dword [esi]
and eax, 0xfff7ffff
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push ebp
push str.DefaultStartApplications
push eax
call edi
test eax, eax
jne 0x409a39
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409a3b
or eax, 0x100000
jmp 0x409a40
mov eax, dword [esi]
and eax, 0xffefffff
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
mov dword [esi], eax
lea eax, [esp + 0x20]
push eax
push ebp
push str.DefaultSetPrinter
push ecx
call edi
test eax, eax
jne 0x409a71
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409a73
or eax, 0x200000
jmp 0x409a78
mov eax, dword [esi]
and eax, 0xffdfffff
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.DefaultOverrideTCPIP
push edx
call edi
test eax, eax
jne 0x409aa9
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409aab
or eax, 0x400000
jmp 0x409ab0
mov eax, dword [esi]
and eax, 0xffbfffff
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push ebp
push str.DefaultEnableVPN
push eax
call edi
test eax, eax
jne 0x409ae1
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409ae3
or eax, 0x800000
jmp 0x409ae8
mov eax, dword [esi]
and eax, 0xff7fffff
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
mov dword [esi], eax
lea eax, [esp + 0x20]
push eax
push ebp
push str.DefaultOverrideHomepage
push ecx
call edi
test eax, eax
jne 0x409b19
cmp dword [esp + 0x10], ebx
mov eax, dword [esi]
jne 0x409b1b
or eax, 0x1000000
jmp 0x409b20
mov eax, dword [esi]
and eax, 0xfeffffff
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
mov dword [esi], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
push str.DefaultOverrideProxyConfig
push edx
call edi
test eax, eax
pop edi
jne 0x409b52
cmp dword [esp + 0xc], ebx
mov eax, dword [esi]
jne 0x409b54
or eax, 0x2000000
jmp 0x409b59
mov eax, dword [esi]
and eax, 0xfdffffff
mov dword [esi], eax
mov eax, dword [esp + 0x18]
cmp eax, ebp
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x409b6c
push eax
call esi
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x409b77
push eax
call esi
mov eax, dword [esp + 0x20]
pop esi
pop ebp
pop ebx
add esp, 0x18
ret