Function at 0x477c30
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
mov eax, dword [0x55800c]
xor eax, esp
mov dword [esp + 0x240], eax
push ebx
push esi
push edi
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Entering_Load_n
push 9
push 0x558c50
mov edi, ecx
call fcn.0041c840
add esp, 0xc
lea ecx, [esp + 0x140]
call fcn.00484080
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x477e51
mov ecx, 0x518188
lea eax, [esp + 0x140]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477cb0
test dl, dl
je 0x477cac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477cb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x477c90
xor eax, eax
jmp 0x477cb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477cdb
cmp dword [0x5674b8], eax
jne 0x477cdb
push 0x101
lea eax, [esp + 0x144]
push str.Default
push eax
call fcn.004daa40
add esp, 0xc
mov ecx, 0x518188
lea eax, [esp + 0x140]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477d07
test dl, dl
je 0x477d03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477d07
add eax, 2
add ecx, 2
test dl, dl
jne 0x477ce7
xor eax, eax
jmp 0x477d0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477d2a
push str.SYSTEM
lea eax, [esp + 0x144]
push 0x101
push eax
call fcn.004d0170
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push 0x519c94
push reloc.WS2_32.dll_bind
call esi
test eax, eax
je 0x477d66
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
jmp 0x477de8
lea eax, [esp + 0x28]
push eax
push 0x20019
push 0
lea eax, [esp + 0x14c]
push eax
push dword [esp + 0x24]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [esp + 0x28]
xor edx, edx
test eax, eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x28]
cmovne ecx, edx
push eax
push edx
push 0x20019
push edx
push edx
push edx
push str.Default
push dword [esp + 0x34]
mov dword [esp + 0x4c], ecx
call esi
mov ecx, dword [esp + 0x24]
xor edx, edx
test eax, eax
mov eax, dword [esp + 0x28]
cmovne ecx, edx
mov dword [esp + 0x24], ecx
test eax, eax
je 0x477dcf
push eax
call ebx
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x477dd6
push ecx
call ebx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x477de1
push eax
call ebx
push reloc.WS2_32.dll_bind
call ebx
mov ecx, str.SYSTEM
lea eax, [esp + 0x140]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477e14
test dl, dl
je 0x477e10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477e14
add eax, 2
add ecx, 2
test dl, dl
jne 0x477df4
xor eax, eax
jmp 0x477e19
sbb eax, eax
or eax, 1
test eax, eax
je 0x477e51
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x34]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push 0x519c94
push reloc.WS2_32.dll_accept
call esi
test eax, eax
jne 0x477e51
push dword [esp + 0x30]
call ebx
push reloc.WS2_32.dll_accept
call ebx
mov ecx, dword [edi + 0x10c]
xor eax, eax
cmp dword [0x5674b8], eax
setne al
xor esi, esi
test eax, eax
mov eax, dword [ecx]
cmove esi, dword [ebp + 8]
cmp eax, vtable.vncServer.0
jne 0x478b1e
mov eax, dword [ecx + 0x824]
xor ecx, ecx
mov edx, str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___User_mode_n
test eax, eax
mov eax, str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Service_mode_n
cmove ecx, esi
test ecx, ecx
mov dword [esp + 0x24], ecx
mov dword [edi + 0x110], ecx
cmovne eax, edx
push eax
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
lea ecx, [esp + 0x38]
call fcn.00484080
test eax, eax
je 0x478af3
mov ecx, 0x518188
lea eax, [esp + 0x38]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477ee7
test dl, dl
je 0x477ee3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477ee7
add eax, 2
add ecx, 2
test dl, dl
jne 0x477ec7
xor eax, eax
jmp 0x477eec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477f0f
cmp dword [0x5674b8], eax
jne 0x477f0f
push 0x101
lea eax, [esp + 0x3c]
push str.Default
push eax
call fcn.004daa40
add esp, 0xc
mov ecx, 0x518188
lea eax, [esp + 0x38]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477f38
test dl, dl
je 0x477f34
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477f38
add eax, 2
add ecx, 2
test dl, dl
jne 0x477f18
xor eax, eax
jmp 0x477f3d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477f6c
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Force_USER_SYSTEM_1_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
lea eax, [esp + 0x38]
push str.SYSTEM
push 0x101
push eax
call fcn.004d0170
add esp, 0xc
lea eax, [esp + 0x38]
push eax
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___UserName___s_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0x10
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push 0x519c94
push reloc.WS2_32.dll_bind
call esi
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x477fcd
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
jmp 0x47852e
lea eax, [esp + 0x18]
push eax
push 0x20019
push 0
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [esp + 0x18]
xor edx, edx
test eax, eax
lea eax, [esp + 0x2c]
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 + 0x3c]
mov dword [esp + 0x3c], ecx
call esi
mov ecx, dword [esp + 0x20]
xor edx, edx
test eax, eax
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Machine_level_prefs_n
cmovne ecx, edx
push 9
push 0x558c50
mov dword [esp + 0x2c], ecx
call fcn.0041c840
add esp, 0xc
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_loading_local_only_settings_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
mov dword [esp + 0x10], 4
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x18]
push eax
push 0
push 0x53f760
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x478080
xor ecx, ecx
jmp 0x478099
cmp dword [esp + 0x10], 4
je 0x47808b
xor ecx, ecx
jmp 0x478099
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp dword [esp + 0x14], 4
cmovne ecx, eax
mov edx, dword [edi + 0x10c]
mov eax, dword [edx]
cmp eax, vtable.vncServer.0
jne 0x478b29
cmp ecx, dword [edx + 0xec]
je 0x4780ba
mov dword [edx + 0xec], ecx
lea eax, [esp + 0x14]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x18], 4
push eax
lea eax, [esp + 0x18]
push eax
push 0
push str.rdpmode
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x4780ee
xor ecx, ecx
jmp 0x478107
cmp dword [esp + 0x10], 4
je 0x4780f9
xor ecx, ecx
jmp 0x478107
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp dword [esp + 0x14], 4
cmovne ecx, eax
mov edx, dword [edi + 0x10c]
mov eax, dword [edx]
cmp eax, vtable.vncServer.0
jne 0x478b37
cmp ecx, dword [edx + 0xf0]
je 0x478128
mov dword [edx + 0xf0], ecx
lea eax, [esp + 0x14]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x18], 4
push eax
lea eax, [esp + 0x18]
push eax
push 0
push 0x53f778
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x47815c
xor edx, edx
jmp 0x478175
cmp dword [esp + 0x10], 4
je 0x478167
xor edx, edx
jmp 0x478175
mov edx, dword [esp + 0x30]
xor eax, eax
cmp dword [esp + 0x14], 4
cmovne edx, eax
mov ecx, dword [edi + 0x10c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x16c]
lea eax, [esp + 0x14]
mov dword [edi + 0x1bc], 0
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.Secure
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x4781c2
xor eax, eax
jmp 0x4781db
cmp dword [esp + 0x10], 4
je 0x4781cd
xor eax, eax
jmp 0x4781db
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x14], 4
cmovne eax, ecx
mov ecx, dword [edi + 0x10c]
mov dword [edi + 0x1bc], eax
mov edx, dword [ecx]
cmp edx, vtable.vncServer.0
jne 0x478b45
mov dword [ecx + 0x37c], eax
lea eax, [esp + 0x14]
mov dword [edi + 0x1b8], 0
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.MSLogonRequired
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x478239
xor eax, eax
jmp 0x478252
cmp dword [esp + 0x10], 4
je 0x478244
xor eax, eax
jmp 0x478252
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x14], 4
cmovne eax, ecx
mov ecx, dword [edi + 0x10c]
mov dword [edi + 0x1b8], eax
mov edx, dword [ecx]
cmp edx, vtable.vncServer.0
jne 0x478b51
mov dword [ecx + 0x380], eax
lea eax, [esp + 0x14]
mov dword [edi + 0x1c0], 0
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.NewMSLogon
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x4782b0
xor eax, eax
jmp 0x4782c9
cmp dword [esp + 0x10], 4
je 0x4782bb
xor eax, eax
jmp 0x4782c9
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x14], 4
cmovne eax, ecx
mov ecx, dword [edi + 0x10c]
mov dword [edi + 0x1c0], eax
mov edx, dword [ecx]
cmp edx, vtable.vncServer.0
jne 0x478b5d
mov dword [ecx + 0x384], eax
lea eax, [esp + 0x14]
mov dword [edi + 0x1c4], 0
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.UseDSMPlugin
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x478327
xor eax, eax
jmp 0x478340
cmp dword [esp + 0x10], 4
je 0x478332
xor eax, eax
jmp 0x478340
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x14], 4
cmovne eax, ecx
mov dword [edi + 0x1c4], eax
lea eax, [edi + 0x1c8]
push eax
push dword [esp + 0x20]
call fcn.0047a180
push str.DSMPluginConfig
push dword [esp + 0x20]
call fcn.00477ba0
mov esi, eax
lea eax, [edi + 0x248]
test esi, esi
je 0x478389
push 0xffffffffffffffff
push esi
push 0x1ff
push eax
call fcn.004dc5a0
push esi
call fcn.004cbf38
add esp, 0x14
jmp 0x47838c
mov byte [eax], 0
mov ecx, dword [edi + 0x10c]
mov eax, dword [ecx]
cmp eax, vtable.vncServer.0
jne 0x478b69
mov eax, dword [ecx + 0xa0]
test eax, eax
je 0x4783c8
mov ecx, dword [edi + 0x10c]
mov eax, dword [ecx]
cmp eax, vtable.vncServer.0
jne 0x478b74
mov dword [ecx + 0x9c], 1
jmp 0x4783f2
push 1
push str.AllowLoopback
push dword [esp + 0x24]
call fcn.00477b50
mov ecx, dword [edi + 0x10c]
mov edx, dword [ecx]
cmp edx, vtable.vncServer.0
jne 0x478b81
mov dword [ecx + 0x9c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x18], 4
push eax
lea eax, [esp + 0x18]
push eax
push 0
push str.AuthRequired
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x478429
mov eax, 1
jmp 0x478448
cmp dword [esp + 0x10], 4
je 0x478437
mov eax, 1
jmp 0x478448
cmp dword [esp + 0x14], 4
mov ecx, 1
mov eax, dword [esp + 0x30]
cmovne eax, ecx
mov ecx, dword [edi + 0x10c]
mov edx, dword [ecx]
cmp edx, vtable.vncServer.0
jne 0x478b8d
mov dword [ecx + 0x98], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x10], 4
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x18], 4
push eax
lea eax, [esp + 0x18]
push eax
push 0
push str.ConnectPriority
push dword [esp + 0x30]
call ebx
test eax, eax
je 0x478496
xor eax, eax
jmp 0x4784af
cmp dword [esp + 0x10], 4
je 0x4784a1
xor eax, eax
jmp 0x4784af
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x14], 4
cmovne eax, ecx
mov ecx, dword [edi + 0x10c]
mov edx, dword [ecx]
cmp edx, vtable.vncServer.0
jne 0x478b99
mov dword [ecx + 0xc0], eax
mov ecx, dword [edi + 0x10c]
mov eax, dword [ecx]
cmp eax, vtable.vncServer.0
jne 0x478ba5
mov eax, dword [ecx + 0xa0]
test eax, eax
jne 0x47851e
push str.AuthHosts
push dword [esp + 0x20]
call fcn.00477ba0
mov edx, dword [edi + 0x10c]
mov esi, eax
mov ecx, dword [edx]
mov eax, dword [ecx + 0x1a0]
mov ecx, edx
test esi, esi
je 0x478518
push esi
call eax
push esi
call fcn.004cbf38
add esp, 4
jmp 0x47852e
push 0
call eax
jmp 0x47852e
mov ecx, dword [edi + 0x10c]
push 0
mov eax, dword [ecx]
call dword [eax + 0x1a0]
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Load_User_Preferences_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_clearing_user_settings_n
push 9
push 0x558c50
call fcn.0041c840
mov esi, dword [edi + 0x1bc]
add esp, 0xc
mov dword [edi + 0x140], 1
mov dword [edi + 0x13c], 1
mov dword [edi + 0x144], 0x170c
push str.d:_saasultravncwinvncwinvnc_vncpasswd.h_:_PASSWD_:_FromClear_called_n
push 9
push 0x558c50
mov dword [edi + 0x138], 1
call fcn.0041c840
xor eax, eax
lea edx, [esp + 0x3c]
add esp, 0xc
mov ecx, 0x518188
test esi, esi
setne al
push eax
call fcn.00432580
mov eax, dword [esp + 0x34]
add esp, 4
cmp dword [esp + 0x20], 0
mov dword [edi + 0x14c], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x150], eax
mov dword [edi + 0x15c], 2
mov dword [edi + 0x168], 0xa
mov dword [edi + 0x16c], 0
mov dword [edi + 0x164], 0
mov dword [edi + 0x170], 0
mov dword [edi + 0x184], 1
mov dword [edi + 0x18c], 0
mov dword [edi + 0x190], 0
mov dword [edi + 0x194], 0
mov dword [edi + 0x198], 0
mov dword [edi + 0x19c], 0
mov dword [edi + 0x188], 0xffffffff
mov dword [edi + 0x174], 0
mov dword [edi + 0x178], 0
mov dword [edi + 0x17c], 0
mov dword [edi + 0x180], 0
mov dword [edi + 0x120], 1
mov dword [edi + 0x11c], 1
mov dword [edi + 0x114], 1
mov dword [edi + 0x118], 0
mov dword [edi + 0x1c4], 0
mov byte [edi + 0x1c8], 0
mov byte [edi + 0x248], 0
mov dword [edi + 0x1a4], 1
mov dword [edi + 0x1a8], 1
mov dword [edi + 0x1ac], 1
mov dword [edi + 0x1b0], 0
mov dword [edi + 0x160], 0
mov dword [edi + 0x1b4], 1
je 0x478863
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Local_Preferences___Default_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_loading_DEFAULT_local_settings_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
mov ecx, edi
push dword [esp + 0x20]
call fcn.00478bb0
mov esi, dword [edi + 0x11c]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.AllowShutdown
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x47876a
cmp dword [esp + 0x10], 4
jne 0x47876a
cmp dword [esp + 0x14], 4
mov eax, dword [esp + 0x30]
cmovne eax, esi
mov esi, eax
lea eax, [esp + 0x14]
mov dword [edi + 0x11c], esi
mov esi, dword [edi + 0x114]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.AllowProperties
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x4787bb
cmp dword [esp + 0x10], 4
jne 0x4787bb
cmp dword [esp + 0x14], 4
mov eax, dword [esp + 0x30]
cmovne eax, esi
mov esi, eax
lea eax, [esp + 0x14]
mov dword [edi + 0x114], esi
mov esi, dword [edi + 0x118]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.AllowInjection
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x47880c
cmp dword [esp + 0x10], 4
jne 0x47880c
cmp dword [esp + 0x14], 4
mov eax, dword [esp + 0x30]
cmovne eax, esi
mov esi, eax
lea eax, [esp + 0x14]
mov dword [edi + 0x118], esi
mov esi, dword [edi + 0x120]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 4
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 4
push eax
push 0
push str.AllowEditClients
push dword [esp + 0x34]
call ebx
test eax, eax
jne 0x47885d
cmp dword [esp + 0x10], 4
jne 0x47885d
cmp dword [esp + 0x14], 4
mov eax, dword [esp + 0x30]
cmovne eax, esi
mov esi, eax
mov dword [edi + 0x120], esi
cmp dword [esp + 0x24], 0
je 0x4789ef
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___User_Settings_on_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x47892d
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___LoadUser_Preferences_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
lea eax, [esp + 0x38]
push eax
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_loading___s__local_settings_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0x10
mov ecx, edi
push dword [esp + 0x18]
call fcn.00478bb0
push dword [edi + 0x11c]
push str.AllowShutdown
push dword [esp + 0x20]
call fcn.00477b50
push dword [edi + 0x114]
mov dword [edi + 0x11c], eax
push str.AllowProperties
push dword [esp + 0x20]
call fcn.00477b50
push dword [edi + 0x118]
mov dword [edi + 0x114], eax
push str.AllowInjection
push dword [esp + 0x20]
call fcn.00477b50
push dword [edi + 0x120]
mov dword [edi + 0x118], eax
push str.AllowEditClients
push dword [esp + 0x20]
call fcn.00477b50
mov dword [edi + 0x120], eax
cmp dword [edi + 0x114], 0
je 0x478aae
mov ecx, str.SYSTEM
lea eax, [esp + 0x38]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478963
test dl, dl
je 0x47895f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478963
add eax, 2
add ecx, 2
test dl, dl
jne 0x478943
xor eax, eax
jmp 0x478968
sbb eax, eax
or eax, 1
test eax, eax
je 0x478aae
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___Override_system_settings_with_users_settings_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push 0x519c94
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x478aae
lea eax, [esp + 0x38]
push eax
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_loading___s__global_settings_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0x10
mov ecx, edi
push dword [esp + 0x10]
call fcn.00478bb0
push dword [esp + 0x10]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push reloc.WS2_32.dll_accept
call esi
jmp 0x478ab4
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___User_Settings_off_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
cmp dword [esp + 0x18], 0
je 0x478a9a
lea eax, [esp + 0x38]
push eax
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_loading___s__local_settings_n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0x10
mov ecx, edi
push dword [esp + 0x18]
call fcn.00478bb0
push dword [edi + 0x11c]
push str.AllowShutdown
push dword [esp + 0x20]
call fcn.00477b50
push dword [edi + 0x114]
mov dword [edi + 0x11c], eax
push str.AllowProperties
push dword [esp + 0x20]
call fcn.00477b50
push dword [edi + 0x118]
mov dword [edi + 0x114], eax
push str.AllowInjection
push dword [esp + 0x20]
call fcn.00477b50
push dword [edi + 0x120]
mov dword [edi + 0x118], eax
push str.AllowEditClients
push dword [esp + 0x20]
call fcn.00477b50
mov dword [edi + 0x120], eax
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:_bypassing_user_specific_settings__both_local_and_global__n
push 9
push 0x558c50
call fcn.0041c840
add esp, 0xc
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x478abf
push eax
call esi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x478aca
push eax
call esi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x478ad5
push eax
call esi
mov ecx, edi
call fcn.00479b00
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x240]
xor ecx, esp
call fcn.004cbf27
mov esp, ebp
pop ebp
ret 4
push str.d:_saasultravncwinvncwinvnc_vncproperties.cpp_:__DBG___NO_current_user_n
push 9
push 0x558c50
call fcn.0041c840
mov ecx, dword [esp + 0x258]
add esp, 0xc
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004cbf27
mov esp, ebp
pop ebp
ret 4
call dword [eax + 0x2d8]
jmp 0x477e7d
push ecx
mov ecx, edx
call dword [eax + 0x174]
jmp 0x4780ba
push ecx
mov ecx, edx
call dword [eax + 0x17c]
jmp 0x478128
push eax
call dword [edx + 0x23c]
jmp 0x4781fb
push eax
call dword [edx + 0x248]
jmp 0x478272
push eax
call dword [edx + 0x250]
jmp 0x4782e9
call dword [eax + 0x170]
jmp 0x4783a5
push 1
call dword [eax + 0x1e4]
jmp 0x4783f2
push eax
call dword [edx + 0x1e4]
jmp 0x4783f2
push eax
call dword [edx + 0x198]
jmp 0x478462
push eax
call dword [edx + 0x15c]
jmp 0x4784c9
call dword [eax + 0x170]
jmp 0x4784e2