Function at 0x464770
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x4f5568]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
push edi
push str.vncproperties.cpp_:__DBG___Entering_Load_n
push 9
push 0x4f6c50
mov esi, ecx
call fcn.00414f90
add esp, 0xc
call fcn.00464580
mov ecx, dword [esi + 0x10c]
xor eax, eax
cmp dword [0x501498], eax
mov ebx, dword [ebp + 8]
cmovne ebx, eax
mov eax, dword [ecx]
call dword [eax + 0x2b0]
xor ecx, ecx
test eax, eax
cmovne ebx, ecx
mov dword [esi + 0x110], ebx
test ebx, ebx
je 0x4647dc
push str.vncproperties.cpp_:__DBG___User_mode_n
jmp 0x4647e1
push str.vncproperties.cpp_:__DBG___Service_mode_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
lea ecx, [esp + 0x30]
call fcn.0046fff0
test eax, eax
jne 0x464828
push str.vncproperties.cpp_:__DBG___NO_current_user_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.004aca59
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x4d9f42
lea eax, [esp + 0x30]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x464851
test dl, dl
je 0x46484d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x464851
add eax, 2
add ecx, 2
test dl, dl
jne 0x464831
xor eax, eax
jmp 0x464856
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46488b
push str.vncproperties.cpp_:__DBG___Force_USER_SYSTEM_1_n
push 9
push 0x4f6c50
call fcn.00414f90
mov eax, dword [str.SYSTEM]
add esp, 0xc
mov dword [esp + 0x30], eax
mov ax, word [0x4e0918]
mov word [esp + 0x34], ax
mov al, byte [0x4e091a]
mov byte [esp + 0x36], al
lea eax, [esp + 0x30]
push eax
push str.vncproperties.cpp_:__DBG___UserName___s_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0x10
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push 0x4db79c
push reloc.WS2_32.dll_bind
call edi
test eax, eax
je 0x4648e6
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
jmp 0x464c4e
lea eax, [esp + 0x18]
push eax
push 0x20019
push 0
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [esp + 0x18]
xor edx, edx
test eax, eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
cmovne ecx, edx
push eax
push edx
push 0x20019
push edx
push edx
push edx
push str.Default
push dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
call edi
mov ecx, dword [esp + 0x20]
xor edx, edx
test eax, eax
push str.vncproperties.cpp_:__DBG___Machine_level_prefs_n
cmovne ecx, edx
push 9
push 0x4f6c50
mov dword [esp + 0x2c], ecx
call fcn.00414f90
add esp, 0xc
push str.vncproperties.cpp_:_loading_local_only_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x1c], 4
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push 0x4e05b8
push dword [esp + 0x24]
call edi
test eax, eax
je 0x46499f
xor edx, edx
jmp 0x4649b8
cmp dword [esp + 0x1c], 4
je 0x4649aa
xor edx, edx
jmp 0x4649b8
mov edx, dword [esp + 0x28]
xor eax, eax
cmp dword [esp + 0x14], 4
cmovne edx, eax
mov ecx, dword [esi + 0x10c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x16c]
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], 4
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push 0x4e05c8
push dword [esp + 0x24]
call edi
test eax, eax
je 0x4649fb
xor edx, edx
jmp 0x464a14
cmp dword [esp + 0x14], 4
je 0x464a06
xor edx, edx
jmp 0x464a14
mov edx, dword [esp + 0x28]
xor eax, eax
cmp dword [esp + 0x1c], 4
cmovne edx, eax
mov ecx, dword [esi + 0x10c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x164]
push 0
push str.MSLogonRequired
push dword [esp + 0x18]
mov dword [esi + 0x1a8], 0
call fcn.00464490
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x1a8], eax
push eax
mov edx, dword [ecx]
call dword [edx + 0x224]
push 0
push str.NewMSLogon
push dword [esp + 0x18]
mov dword [esi + 0x1ac], 0
call fcn.00464490
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x1ac], eax
push eax
mov edx, dword [ecx]
call dword [edx + 0x22c]
push 0
push str.UseDSMPlugin
push dword [esp + 0x18]
mov dword [esi + 0x1b0], 0
call fcn.00464490
mov dword [esi + 0x1b0], eax
lea eax, [esi + 0x1b4]
push eax
push dword [esp + 0x14]
call fcn.004661d0
push str.DSMPluginConfig
push dword [esp + 0x14]
call fcn.004644f0
mov dword [esp + 0x28], eax
test eax, eax
je 0x464ae9
push 0xffffffffffffffff
push eax
lea ecx, [esi + 0x234]
push 0x1ff
push ecx
call fcn.004b0ecb
push dword [esp + 0x38]
call fcn.004ad334
add esp, 0x14
jmp 0x464af0
mov byte [esi + 0x234], 0
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx]
call dword [eax + 0x168]
push 1
test eax, eax
je 0x464b14
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx]
call dword [eax + 0x1c8]
jmp 0x464b3d
mov eax, dword [esi + 0x10c]
push str.AllowLoopback
push dword [esp + 0x18]
mov edi, dword [eax]
call fcn.00464490
mov ecx, dword [esi + 0x10c]
push eax
call dword [edi + 0x1c8]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], 4
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.AuthRequired
push dword [esp + 0x24]
call edi
test eax, eax
je 0x464b74
mov edx, 1
jmp 0x464b93
cmp dword [esp + 0x14], 4
je 0x464b82
mov edx, 1
jmp 0x464b93
cmp dword [esp + 0x1c], 4
mov eax, 1
mov edx, dword [esp + 0x28]
cmovne edx, eax
mov ecx, dword [esi + 0x10c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x188]
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], 4
push eax
lea eax, [esp + 0x1c]
push eax
push 0
push str.ConnectPriority
push dword [esp + 0x24]
call edi
test eax, eax
je 0x464bd6
xor edx, edx
jmp 0x464bef
cmp dword [esp + 0x14], 4
je 0x464be1
xor edx, edx
jmp 0x464bef
mov edx, dword [esp + 0x28]
xor eax, eax
cmp dword [esp + 0x1c], 4
cmovne edx, eax
mov ecx, dword [esi + 0x10c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x154]
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx]
call dword [eax + 0x168]
test eax, eax
jne 0x464c3e
push str.AuthHosts
push dword [esp + 0x14]
call fcn.004644f0
mov ecx, dword [esi + 0x10c]
mov edi, eax
test edi, edi
je 0x464c44
mov edx, dword [ecx]
push edi
call dword [edx + 0x190]
push edi
call fcn.004ad334
add esp, 4
jmp 0x464c4e
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x190]
push str.vncproperties.cpp_:__DBG___Load_User_Preferences_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
push str.vncproperties.cpp_:_clearing_user_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
mov dword [esi + 0x13c], 1
mov dword [esi + 0x138], 1
mov dword [esi + 0x140], 0x170c
mov dword [esi + 0x134], 1
push str.l:ultravnc_install_vs2013ultravnc_test2ultravnc_project_rootultravncwinvncwinvnc_vncpasswd.h_:_PASSWD_:_FromClear_called_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
lea edx, [esp + 0x28]
mov ecx, 0x4d9f42
call fcn.0042a240
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x28]
mov dword [esi + 0x148], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x14c], eax
mov dword [esi + 0x158], 2
mov dword [esi + 0x164], 0xa
mov dword [esi + 0x160], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x17c], 1
mov dword [esi + 0x184], 0
mov dword [esi + 0x188], 0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x180], 0xffffffff
mov dword [esi + 0x16c], 0
mov dword [esi + 0x170], 0
mov dword [esi + 0x174], 0
mov dword [esi + 0x178], 0
mov dword [esi + 0x11c], 1
mov dword [esi + 0x118], 1
mov dword [esi + 0x114], 1
mov dword [esi + 0x1b0], 0
mov byte [esi + 0x1b4], 0
mov byte [esi + 0x234], 0
mov dword [esi + 0x194], 1
mov dword [esi + 0x198], 1
mov dword [esi + 0x19c], 1
mov dword [esi + 0x1a0], 0
mov dword [esi + 0x15c], 0
mov dword [esi + 0x1a4], 1
je 0x464e54
push str.vncproperties.cpp_:__DBG___Local_Preferences___Default_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
push str.vncproperties.cpp_:_loading_DEFAULT_local_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
mov ecx, esi
push dword [esp + 0x20]
call fcn.004650b0
push dword [esi + 0x118]
push str.AllowShutdown
push dword [esp + 0x28]
call fcn.00464490
push dword [esi + 0x114]
mov dword [esi + 0x118], eax
push str.AllowProperties
push dword [esp + 0x28]
call fcn.00464490
push dword [esi + 0x11c]
mov dword [esi + 0x114], eax
push str.AllowEditClients
push dword [esp + 0x28]
call fcn.00464490
mov dword [esi + 0x11c], eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
je 0x464fc6
push str.vncproperties.cpp_:__DBG___User_Settings_on_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x464f07
push str.vncproperties.cpp_:__DBG___LoadUser_Preferences_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
lea eax, [esp + 0x30]
push eax
push str.vncproperties.cpp_:_loading___s__local_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0x10
mov ecx, esi
push dword [esp + 0x18]
call fcn.004650b0
push dword [esi + 0x118]
push str.AllowShutdown
push dword [esp + 0x20]
call fcn.00464490
push dword [esi + 0x114]
mov dword [esi + 0x118], eax
push str.AllowProperties
push dword [esp + 0x20]
call fcn.00464490
push dword [esi + 0x11c]
mov dword [esi + 0x114], eax
push str.AllowEditClients
push dword [esp + 0x20]
call fcn.00464490
mov dword [esi + 0x11c], eax
cmp dword [esi + 0x114], 0
je 0x465067
mov ecx, str.SYSTEM
lea eax, [esp + 0x30]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x464f40
test dl, dl
je 0x464f3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x464f40
add eax, 2
add ecx, 2
test dl, dl
jne 0x464f20
xor eax, eax
jmp 0x464f45
sbb eax, eax
or eax, 1
test eax, eax
je 0x465067
push str.vncproperties.cpp_:__DBG___Override_system_settings_with_users_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x18]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push 0x4db79c
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x465067
lea eax, [esp + 0x30]
push eax
push str.vncproperties.cpp_:_loading___s__global_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0x10
mov ecx, esi
push dword [esp + 0x14]
call fcn.004650b0
push dword [esp + 0x14]
call edi
push reloc.WS2_32.dll_accept
call edi
jmp 0x465067
push str.vncproperties.cpp_:__DBG___User_Settings_off_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x465053
lea eax, [esp + 0x30]
push eax
push str.vncproperties.cpp_:_loading___s__local_settings_n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0x10
mov ecx, esi
push dword [esp + 0x18]
call fcn.004650b0
push dword [esi + 0x118]
push str.AllowShutdown
push dword [esp + 0x20]
call fcn.00464490
push dword [esi + 0x114]
mov dword [esi + 0x118], eax
push str.AllowProperties
push dword [esp + 0x20]
call fcn.00464490
push dword [esi + 0x11c]
mov dword [esi + 0x114], eax
push str.AllowEditClients
push dword [esp + 0x20]
call fcn.00464490
mov dword [esi + 0x11c], eax
push str.vncproperties.cpp_:_bypassing_user_specific_settings__both_local_and_global__n
push 9
push 0x4f6c50
call fcn.00414f90
add esp, 0xc
mov eax, dword [esp + 0x18]
test eax, eax
je 0x465072
push eax
call edi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x46507d
push eax
call edi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x465088
push eax
call edi
mov ecx, esi
call fcn.00465e70
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004aca59
mov esp, ebp
pop ebp
ret 4