Function at 0x439340
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x4723c1
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
mov eax, dword [0x48ea40]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48ea40]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xf0]
mov esi, ecx
lea ecx, [esi + 4]
mov dword [esp + 0x44], esi
call fcn.0043c770
xor ebx, ebx
lea ecx, [esi + 0x84c]
mov dword [esp + 0xe8], ebx
call fcn.00441140
lea ecx, [esi + 0x9ac]
mov byte [esp + 0xe8], 1
call fcn.0040e4f0
lea ecx, [esi + 0x9b0]
mov byte [esp + 0xe8], 2
call fcn.00437370
push str.._vncmenu.cpp_:_vncmenu_server__n
push ebx
push 0x490660
mov byte [esp + 0xf4], 3
call fcn.00401810
add esp, 0xc
push ebx
mov dword [esi + 0xb24], ebx
mov dword [esi + 0xb38], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push str.user32.dll
mov byte [esi + 0xb3c], bl
mov dword [esi + 0xb40], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.ChangeWindowMessageFilter
push eax
mov dword [esi + 0xb44], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
cmp edi, ebx
je 0x439447
mov eax, dword [0x4a5490]
push 1
push eax
call edi
mov ecx, dword [0x4a5480]
push 1
push ecx
call edi
mov edx, dword [0x4a548c]
push 1
push edx
call edi
lea eax, [esi + 0xa18]
push 0x101
push eax
mov dword [esi], ebp
call fcn.004483c0
mov ecx, dword [0x4a9634]
mov edi, dword [sym.imp.USER32.dll_LoadIconA]
add esp, 8
push 0x7f00
push ebx
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x4383d0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ecx
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]
mov edx, dword [str.WinVNC_Tray_Icon]
push 0x7f00
push ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edx
call edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov ecx, dword [0x4a9634]
mov eax, dword [str.WinVNC_Tray_Icon]
push ebx
push ecx
push ebx
push ebx
push 0xc8
push 0xc8
push closesocket
push closesocket
push 0xcf0000
push eax
push eax
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp eax, ebx
mov dword [esi + 0x9b8], eax
jne 0x43951c
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x4397ef
cmp dword [esi + 0xb24], ebx
jne 0x439535
push str.wtsapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi + 0xb24], eax
mov eax, dword [esi + 0xb24]
cmp eax, ebx
je 0x439559
push str.WTSRegisterSessionNotification
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x439559
mov edx, dword [esi + 0x9b8]
push ebx
push edx
call eax
mov eax, dword [esi + 0x9b8]
push esi
push eax
call fcn.0044a270
mov edx, dword [ebp]
mov eax, dword [esi + 0x9b8]
mov edx, dword [edx + 0x60]
add esp, 8
push eax
mov ecx, ebp
call edx
mov eax, dword [esi]
push eax
lea ecx, [esi + 4]
call fcn.00440f50
test eax, eax
je 0x439510
mov ecx, dword [esi]
push ecx
lea ecx, [esi + 0x84c]
call fcn.00441fb0
test eax, eax
push ebx
je 0x439511
mov edx, dword [esi + 0x9b8]
push 0x1388
push 1
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [esi]
push eax
lea ecx, [esi + 0x9b0]
call fcn.00437390
test eax, eax
je 0x439510
lea ecx, [esp + 0x48]
push ecx
mov dword [esp + 0x4c], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x58], 2
jne 0x439733
cmp dword [esp + 0x4c], 5
jne 0x439691
cmp dword [esp + 0x50], 1
jb 0x439691
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 + 0xb1c], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
cmp dword [esi + 0xb1c], ebx
mov dword [esi + 0xb20], eax
jne 0x439668
push ebx
push 0x32
call edi
push eax
push 0x31
call edi
mov edx, dword [0x4a9630]
push eax
push 1
push 0x66
push edx
call ebp
mov dword [esi + 0xb1c], eax
cmp dword [esi + 0xb20], ebx
jne 0x4397d3
push ebx
push 0x32
call edi
push eax
push 0x31
call edi
push eax
mov eax, dword [0x4a9630]
push 1
push 0x86
push eax
jmp 0x4397cb
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 + 0xb1c], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
cmp dword [esi + 0xb1c], ebx
mov dword [esi + 0xb20], eax
jne 0x439705
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
mov ecx, dword [0x4a9630]
push eax
push 1
push 0x66
push ecx
call ebp
mov dword [esi + 0xb1c], eax
cmp dword [esi + 0xb20], ebx
jne 0x4397d3
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
mov edx, dword [0x4a9630]
push eax
push 1
push 0x86
push edx
jmp 0x4397cb
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 + 0xb1c], eax
call edi
push eax
push 0x31
call edi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
cmp dword [esi + 0xb1c], ebx
mov dword [esi + 0xb20], eax
jne 0x4397a6
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
push eax
mov eax, dword [0x4a9630]
push 1
push 0x66
push eax
call ebp
mov dword [esi + 0xb1c], eax
cmp dword [esi + 0xb20], ebx
jne 0x4397d3
push 0x80
push 0x32
call edi
push eax
push 0x31
call edi
mov ecx, dword [0x4a9630]
push eax
push 1
push 0x86
push ecx
call ebp
mov dword [esi + 0xb20], eax
mov edx, dword [0x4a9630]
push 0x68
push edx
call dword [sym.imp.USER32.dll_LoadMenuA]
mov ecx, esi
mov dword [esi + 0x9bc], eax
call fcn.004382d0
mov eax, esi
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.0045c20d
add esp, 0xd8
ret 4