Function at 0x43e490
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x49a49e
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ba700]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
mov esi, dword [esp + 0x54]
lea edi, [esi + 4]
call fcn.00443300
lea eax, [esi + 0xa70]
push eax
call fcn.00407a90
xor ebx, ebx
mov dword [esi + 0xb80], ebx
mov dword [esi + 0xb78], 1
mov dword [esi + 0xcd4], ebx
lea ecx, [esi + 0xee0]
mov dword [esi + 0xcdc], ebx
call fcn.0047b920
push str.._vncmenu.cpp_:_vncmenu_server__n
xor ecx, ecx
mov eax, 0x4bc990
mov dword [esp + 0x50], ebx
call fcn.00401110
add esp, 4
push ebx
mov dword [esi + 0x100c], ebx
mov dword [esi + 0x1020], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push str.user32.dll
mov byte [esi + 0x1024], bl
mov dword [esi + 0x1028], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
push str.ChangeWindowMessageFilter
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebp, eax
cmp ebp, ebx
je 0x43e579
mov ecx, dword [0x4f3864]
push 1
push ecx
call ebp
mov edx, dword [0x4f3854]
push 1
push edx
call ebp
mov eax, dword [0x4f3860]
push 1
push eax
call ebp
mov ecx, dword [0x4f3858]
push 1
push ecx
call ebp
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebp, dword [esp + 0x58]
lea eax, [esi + 0xf00]
mov dword [esi + 0xef8], ebx
mov dword [esi + 0xefc], ebx
mov dword [esi], ebp
call fcn.00451550
mov edx, dword [0x4f21dc]
mov edi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push ebx
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x43f300
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edx
call edi
push 0x7f00
push ebx
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push ebx
mov dword [esp + 0x34], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push 0x7f00
push ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], str.WinVNC_Tray_Icon
call edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov ecx, dword [0x4f21dc]
push ebx
push ecx
push ebx
push ebx
push 0xc8
push 0xc8
push bind
push bind
push 0xcf0000
push str.WinVNC_Tray_Icon
push str.WinVNC_Tray_Icon
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [esi + 0xce0], eax
cmp eax, ebx
jne 0x43e65d
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x43e92c
cmp dword [esi + 0x100c], ebx
jne 0x43e676
push str.wtsapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi + 0x100c], eax
mov eax, dword [esi + 0x100c]
cmp eax, ebx
je 0x43e69a
push str.WTSRegisterSessionNotification
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x43e69a
mov edx, dword [esi + 0xce0]
push ebx
push edx
call eax
mov eax, dword [esi + 0xce0]
push esi
push 0xffffffffffffffeb
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edx, dword [ebp]
mov eax, dword [esi + 0xce0]
mov edx, dword [edx + 0x68]
push eax
mov ecx, ebp
call edx
mov eax, dword [esi]
push eax
lea ecx, [esi + 4]
call fcn.00443370
test eax, eax
je 0x43e651
mov eax, dword [esi]
lea ecx, [esi + 0xa6c]
call fcn.004490a0
push ebx
test eax, eax
je 0x43e652
mov ecx, dword [esi + 0xce0]
push 0x1388
push 1
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [esi]
lea eax, [esi + 0x102c]
push eax
mov dword [esi + 0xcd8], edx
mov dword [eax], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esi + 0x103c], 2
jne 0x43e86a
cmp dword [esi + 0x1030], 5
jne 0x43e7c9
cmp dword [esi + 0x1034], 1
jb 0x43e7c9
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x10
push 0x32
call edi
push eax
push 0x31
call edi
mov ebp, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 1
push str.icon1.ico
push ebx
call ebp
push 0x10
push 0x32
mov dword [esi + 0x1004], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
mov dword [esi + 0x1008], eax
cmp dword [esi + 0x1004], ebx
jne 0x43e79f
push ebx
push 0x32
call edi
push eax
push 0x31
call edi
push eax
mov eax, dword [0x4f21d8]
push 1
push 0x66
push eax
call ebp
mov dword [esi + 0x1004], eax
cmp dword [esi + 0x1008], ebx
jne 0x43e90b
push ebx
push 0x32
call edi
push eax
push 0x31
call edi
mov ecx, dword [0x4f21d8]
push eax
push 1
push 0x86
push ecx
jmp 0x43e903
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x90
push 0x32
call edi
push eax
push 0x31
call edi
mov ebp, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 1
push str.icon1.ico
push ebx
call ebp
push 0x90
push 0x32
mov dword [esi + 0x1004], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
mov dword [esi + 0x1008], eax
cmp dword [esi + 0x1004], ebx
jne 0x43e83d
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
mov edx, dword [0x4f21d8]
push eax
push 1
push 0x66
push edx
call ebp
mov dword [esi + 0x1004], eax
cmp dword [esi + 0x1008], ebx
jne 0x43e90b
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
push eax
mov eax, dword [0x4f21d8]
push 1
push 0x86
push eax
jmp 0x43e903
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x90
push 0x32
call edi
push eax
push 0x31
call edi
mov ebp, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 1
push str.icon1.ico
push ebx
call ebp
push 0x90
push 0x32
mov dword [esi + 0x1004], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
mov dword [esi + 0x1008], eax
cmp dword [esi + 0x1004], ebx
jne 0x43e8de
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
mov ecx, dword [0x4f21d8]
push eax
push 1
push 0x66
push ecx
call ebp
mov dword [esi + 0x1004], eax
cmp dword [esi + 0x1008], ebx
jne 0x43e90b
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
mov edx, dword [0x4f21d8]
push eax
push 1
push 0x86
push edx
call ebp
mov dword [esi + 0x1008], eax
mov eax, dword [0x4f21d8]
push 0x68
push eax
call dword [sym.imp.USER32.dll_LoadMenuA]
mov dword [esi + 0xce4], eax
mov eax, esi
call fcn.0043eaa0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 8