Function at 0x472140
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56aec3
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x5d7008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
lea ecx, [edi + 0x14]
call fcn.00425a60
lea ecx, [edi + 0x870]
call fcn.00487620
mov esi, dword [sym.imp.USER32.dll_LoadImageA]
push 0x20
push 0
push 0
push 0
push 0xda
push dword [0x5e6634]
mov dword [edi + 0x138], 1
mov dword [edi + 0x12c], 1
mov dword [edi + 0x130], 0
mov dword [edi + 0x134], 1
mov dword [edi + 0x54c], 0
mov dword [edi + 0x128], 1
mov byte [edi + 0xc], 1
mov dword [edi + 0x10], 0
mov dword [edi + 0x13c], 0x1e
mov dword [edi + 0x140], 5
mov dword [edi + 0x144], 0
mov dword [edi + 0x109c], 1
mov dword [edi + 0x10a0], 0
mov byte [edi + 0x670], 0
call esi
push 0x20
push 0
push 0
push 0
push 0xdb
push dword [0x5e6634]
mov dword [edi + 0x11c], eax
call esi
lea ecx, [edi + 0x10b0]
mov dword [edi + 0x120], eax
mov dword [edi + 0x118], 1
mov dword [edi + 0x10a8], 0
mov dword [edi + 0x10a4], 0
mov byte [edi + 0x148], 0
call fcn.00425a60
mov edx, 2
mov byte [edi + 0x1318], 0
push 0
mov dword [edi + 0x11c0], 0
mov dword [edi + 0x11b8], 1
lea ecx, [edx + 4]
call fcn.00429090
add esp, 4
test al, al
je 0x4722a4
mov byte [edi + 0x1318], 1
lea eax, [edi + 0x1530]
mov dword [edi + 0x1320], 0
push eax
mov dword [edi + 0x1328], 0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push str.C:Users_rudiDesktopgit_ultravncwinvncwinvnc_vncmenu.cpp_:_vncmenu_server__n
push 0
push 0x5d7d48
mov dword [ebp - 4], 0
call fcn.0041c960
add esp, 0xc
mov dword [edi + 0x165c], 0
mov dword [edi + 0x1670], 0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push str.user32.dll
mov byte [edi + 0x1674], 0
mov dword [edi + 0x1678], 0
mov dword [edi], 0
mov dword [edi + 4], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
xor ebx, ebx
test esi, esi
je 0x472378
push str.ChangeWindowMessageFilter
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x472371
push 1
push dword [0x5e8d28]
call ebx
push 1
push dword [0x5e8d34]
call ebx
push 1
push dword [0x5e8d40]
call ebx
push 1
push dword [0x5e8d2c]
call ebx
push 1
push dword [0x5e8d38]
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x1550]
mov dword [edi + 0x1548], 0
mov dword [edi + 0x154c], 0
mov dword [edi + 8], eax
call fcn.00486920
mov eax, dword [edi + 0x165c]
test eax, eax
jne 0x4723bc
push str.wtsapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x165c], eax
test eax, eax
je 0x4723dc
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WTSRegisterSessionNotification
push eax
call esi
push str.WTSUnRegisterSessionNotification
push dword [edi + 0x165c]
mov dword [edi], eax
call esi
mov dword [edi + 4], eax
mov eax, dword [0x5e7ca0]
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push 0
mov dword [ebp - 0x40], 0x30
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0x473040
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], eax
call esi
push 0x7f00
push 0
mov dword [ebp - 0x28], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0
mov dword [ebp - 0x24], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push 0x7f00
push 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], str.WinVNC_Tray_Icon
call esi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [0x5e7ca0]
push 0
push 0
push 0xc8
push 0xc8
push bind
push bind
push 0xcf0000
push str.WinVNC_Tray_Icon
push str.WinVNC_Tray_Icon
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [edi + 0x132c], eax
mov dword [0x5e22b4], eax
test eax, eax
je 0x47260c
push edi
push 0xffffffffffffffeb
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [ebp + 8]
push dword [edi + 0x132c]
mov eax, dword [ecx]
call dword [eax + 0x68]
push dword [edi + 8]
lea ecx, [edi + 0xc]
call fcn.00477390
test eax, eax
je 0x47260c
mov eax, dword [edi + 8]
mov dword [edi + 0x11b4], eax
lea eax, [edi + 0x10b0]
push eax
push 0
push str.UseRegistry
push str.admin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xor edx, edx
lea ecx, [edi + 0x10ac]
cmp eax, 1
sete dl
mov dword [edi + 0x10ac], edx
jne 0x47250e
push 1
call fcn.0047fc10
jmp 0x472513
call fcn.00480890
cmp dword [edi + 0x130], 0
je 0x472534
test ebx, ebx
je 0x472534
push 1
push dword [0x5e8d30]
call ebx
push 1
push dword [0x5e8d3c]
call ebx
push 0
push 0x1388
push 1
push dword [edi + 0x132c]
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [edi + 8]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x10
push 0x32
mov dword [edi + 0x1324], eax
call esi
push eax
push 0x31
call esi
mov ebx, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 1
push str.icon1.ico
push 0
call ebx
push 0x10
push 0x32
mov dword [edi + 0x1654], eax
call esi
push eax
push 0x31
call esi
push eax
push 1
push str.icon2.ico
push 0
call ebx
cmp dword [edi + 0x1654], 0
mov dword [edi + 0x1658], eax
jne 0x4725bf
push 0
push 0x32
call esi
push eax
push 0x31
call esi
push eax
push 1
push 0x66
push dword [0x5e6634]
call ebx
mov dword [edi + 0x1654], eax
cmp dword [edi + 0x1658], 0
jne 0x4725e9
push 0
push 0x32
call esi
push eax
push 0x31
call esi
push eax
push 1
push 0x86
push dword [0x5e6634]
call ebx
mov dword [edi + 0x1658], eax
push 0x68
push dword [0x5e6634]
call dword [sym.imp.USER32.dll_LoadMenuA]
mov ecx, edi
mov dword [edi + 0x1330], eax
call fcn.00472630
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x472614
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4