Function at 0x454740
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x31c
mov eax, dword [0x4ea5e0]
xor eax, esp
mov dword [esp + 0x318], eax
push ebx
push esi
push edi
lea eax, [esp + 0x18]
mov esi, ecx
call fcn.0045dd00
test eax, eax
jne 0x454798
push str.vncproperties.cpp_:__DBG___NO_current_user_n
mov eax, 9
mov ecx, 0x4ecb00
call fcn.00403230
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x318]
xor ecx, esp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret
mov ecx, 0x4ce44c
lea eax, [esp + 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4547c1
test dl, dl
je 0x4547bd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4547c1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4547a1
xor eax, eax
jmp 0x4547c6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x454800
push str.vncproperties.cpp_:__DBG___Force_USER_SYSTEM_2_n
mov eax, 9
mov ecx, 0x4ecb00
call fcn.00403230
mov eax, dword [str.SYSTEM]
mov cx, word [0x4d59d0]
mov dl, byte [0x4d59d2]
add esp, 4
mov dword [esp + 0x18], eax
mov word [esp + 0x1c], cx
mov byte [esp + 0x1e], dl
lea edi, [esi + 8]
push edi
push 0
push str.DebugMode
push str.admin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, eax
call fcn.00449940
push edi
push 0x200
lea eax, [esp + 0x128]
push eax
push 0x4ce44c
push str.path
push str.admin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x120]
push ecx
call fcn.00449e20
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push edi
push 0
push str.DebugLevel
push str.admin
call ebx
push edi
push 0
push str.Avilog
push str.admin
mov dword [0x4ecb10], eax
call ebx
push edi
push 0
test eax, eax
push 0x4d5650
setne dl
push str.admin
mov byte [0x4ecd19], dl
call ebx
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x16c]
call eax
push edi
push 0
push 0x4d5660
push str.admin
call ebx
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x164]
call eax
push edi
push 0
push str.MSLogonRequired
push str.admin
mov dword [esi + 0x1a8], 0
call ebx
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x1a8], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x224]
call eax
push edi
push 0
push str.NewMSLogon
push str.admin
mov dword [esi + 0x1ac], 0
call ebx
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x1ac], eax
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x22c]
call eax
push edi
mov dword [esi + 0x1b0], 0
push 0
push str.UseDSMPlugin
push str.admin
call ebx
push edi
push 0x80
mov dword [esi + 0x1b0], eax
lea eax, [esi + 0x1b4]
push eax
push 0x4ce44c
push str.DSMPlugin
push str.admin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edi
push 0x200
lea eax, [esi + 0x234]
push eax
push 0x4ce44c
push str.DSMPluginConfig
push str.admin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x168]
call eax
test eax, eax
je 0x45499c
push 1
jmp 0x4549ac
push edi
push 1
push str.AllowLoopback
push str.admin
call ebx
push eax
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c8]
call eax
push edi
push 1
push str.AuthRequired
push str.admin
call ebx
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x188]
call eax
push edi
push 0
push str.ConnectPriority
push str.admin
call ebx
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x154]
call eax
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x168]
call eax
test eax, eax
jne 0x454a65
push 0x96
call fcn.004a8a24
add esp, 4
push edi
push 0x96
push eax
push 0x4ce44c
push str.AuthHosts
push str.admin
mov dword [esp + 0x28], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
test eax, eax
je 0x454a6d
push eax
mov eax, dword [edx + 0x190]
call eax
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004a9011
add esp, 4
jmp 0x454a77
mov ecx, dword [esi + 0x10c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x190]
push 0
call eax
push str.vncproperties.cpp_:__DBG___Load_User_Preferences_n
mov eax, 9
mov ecx, 0x4ecb00
call fcn.00403230
add esp, 4
push str.vncproperties.cpp_:_clearing_user_settings_n
mov eax, 9
mov ecx, 0x4ecb00
call fcn.00403230
mov eax, 1
add esp, 4
mov dword [esi + 0x13c], eax
mov dword [esi + 0x138], eax
mov dword [esi + 0x134], eax
push str.l:ultravnc_installer_otherultravncultravnc_project_rootultravncwinvncwinvnc_vncpasswd.h_:_PASSWD_:_FromClear_called_n
mov eax, 9
mov ecx, 0x4ecb00
mov dword [esi + 0x140], 0x170c
call fcn.00403230
add esp, 4
push 0x4ce44c
lea eax, [esp + 0x14]
call fcn.00418030
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor eax, eax
mov dword [esi + 0x148], ecx
mov ecx, 1
add esp, 4
mov dword [esi + 0x14c], edx
mov dword [esi + 0x158], 2
mov dword [esi + 0x164], 0xa
mov dword [esi + 0x160], eax
mov dword [esi + 0x168], eax
mov dword [esi + 0x17c], ecx
mov dword [esi + 0x184], eax
mov dword [esi + 0x188], eax
mov dword [esi + 0x18c], eax
mov dword [esi + 0x180], 0xffffffff
mov dword [esi + 0x16c], eax
mov dword [esi + 0x170], eax
mov dword [esi + 0x174], eax
mov dword [esi + 0x178], eax
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x118], ecx
mov dword [esi + 0x114], ecx
mov dword [esi + 0x190], eax
mov dword [esi + 0x1b0], eax
mov byte [esi + 0x1b4], al
mov byte [esi + 0x234], al
mov dword [esi + 0x194], ecx
mov dword [esi + 0x198], ecx
mov dword [esi + 0x19c], ecx
mov dword [esi + 0x1a0], eax
mov dword [esi + 0x15c], eax
mov dword [esi + 0x1a4], ecx
call fcn.00454ce0
mov eax, dword [esi + 0x118]
push edi
push eax
push str.AllowShutdown
push str.admin
call ebx
push edi
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x114]
push eax
push str.AllowProperties
push str.admin
call ebx
push edi
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0x11c]
push eax
push str.AllowEditClients
push str.admin
call ebx
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x120]
push edi
push eax
push str.FileTransferTimeout
push str.admin
call ebx
mov dword [esi + 0x120], eax
cmp eax, 0x3c
jle 0x454c2d
mov dword [esi + 0x120], 0x3c
mov eax, dword [esi + 0x124]
push edi
push eax
push str.KeepAliveInterval
push str.admin
call ebx
push edi
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x128]
push eax
push str.IdleInputTimeout
push str.admin
call ebx
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x120]
lea ecx, [eax - 1]
cmp dword [esi + 0x124], ecx
jl 0x454c78
mov dword [esi + 0x124], ecx
mov ecx, dword [esi + 0x10c]
mov dword [ecx + 0x84c], eax
mov eax, dword [esi + 0x10c]
mov edx, dword [eax + 0x84c]
mov ecx, dword [esi + 0x124]
dec edx
mov dword [eax + 0x850], ecx
cmp ecx, edx
jl 0x454ca7
mov dword [eax + 0x850], edx
mov edx, dword [esi + 0x10c]
mov eax, dword [esi + 0x128]
mov dword [edx + 0x854], eax
call fcn.004539a0
mov ecx, dword [esp + 0x324]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret