Function at 0x437670
Capabilities:
Check os version

Disassembly:
sub esp, 0xd8
mov eax, dword [0x489348]
xor eax, esp
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xdc]
push ebx
push ebp
push esi
push edi
mov edi, ecx
lea ebp, [edi + 4]
lea ecx, [ebp + 8]
push ecx
mov dword [esp + 0x14], eax
call fcn.004043b0
lea esi, [ebp + 0x21c]
call fcn.00449040
mov eax, 1
lea esi, [edi + 0x848]
lea edx, [esi + 4]
xor ebx, ebx
push edx
mov dword [ebp + 0x11c], eax
mov dword [ebp + 0x114], eax
mov dword [ebp + 0x118], eax
mov dword [ebp + 0x124], ebx
mov dword [ebp + 0x110], eax
mov byte [ebp], al
mov dword [ebp + 4], ebx
call fcn.004043b0
mov dword [esi + 0x114], ebx
mov dword [esi + 0x10c], 1
mov dword [edi + 0x9a8], ebx
mov dword [edi + 0x9b0], ebx
push ebx
mov dword [edi + 0xcc0], ebx
mov dword [edi + 0xcd4], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push str.user32.dll
mov dword [edi + 0xcd8], ebx
mov dword [edi + 0xcdc], ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.ChangeWindowMessageFilter
push eax
mov dword [edi + 0xce0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x43775e
mov ecx, dword [0x4a67c4]
push 1
push ecx
call eax
mov edx, dword [0x4a67bc]
push 1
push edx
call dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [edi], eax
lea eax, [edi + 0xbb4]
call fcn.00448060
mov ecx, dword [0x4a5458]
push 0x7f00
push ebx
mov dword [esp + 0x20], 0x30
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x438180
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push ebx
mov dword [esp + 0x38], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push ebx
mov dword [esp + 0x38], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push 0x7f00
push ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], str.WinVNC_Tray_Icon
call dword [sym.imp.USER32.dll_LoadIconA]
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov eax, dword [0x4a5458]
push ebx
push eax
push ebx
push ebx
push 0xc8
push 0xc8
push accept
push accept
push 0xcf0000
push str.WinVNC_Tray_Icon
push str.WinVNC_Tray_Icon
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [edi + 0x9b4], eax
cmp eax, ebx
jne 0x437830
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x437af0
cmp dword [edi + 0xcc0], ebx
jne 0x437849
push str.wtsapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0xcc0], eax
mov eax, dword [edi + 0xcc0]
cmp eax, ebx
je 0x43786d
push str.WTSRegisterSessionNotification
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x43786d
mov ecx, dword [edi + 0x9b4]
push ebx
push ecx
call eax
mov edx, dword [edi + 0x9b4]
push edi
push 0xffffffffffffffeb
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [edi + 0x9b4]
mov eax, dword [eax + 0x60]
push edx
call eax
mov ecx, dword [edi]
push ecx
mov ecx, ebp
call fcn.0043b960
test eax, eax
je 0x437824
mov eax, dword [edi]
mov ecx, esi
call fcn.00440af0
push ebx
test eax, eax
je 0x437825
mov edx, dword [edi + 0x9b4]
push 0x1388
push 1
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [edi]
lea ecx, [esp + 0x48]
push ecx
mov dword [edi + 0x9ac], eax
mov dword [esp + 0x4c], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x58], 2
jne 0x437a36
cmp dword [esp + 0x4c], 5
jne 0x437994
cmp dword [esp + 0x50], 1
jb 0x437994
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x10
push 0x32
call ebp
push eax
push 0x31
call ebp
mov esi, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 1
push str.icon1.ico
push ebx
call esi
push 0x10
push 0x32
mov dword [edi + 0xcb8], eax
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push str.icon2.ico
push ebx
call esi
mov dword [edi + 0xcbc], eax
cmp dword [edi + 0xcb8], ebx
jne 0x437969
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
mov edx, dword [0x4a1094]
push eax
push 1
push 0x66
push edx
call esi
mov dword [edi + 0xcb8], eax
cmp dword [edi + 0xcbc], ebx
jne 0x437ad6
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
mov eax, dword [0x4a1094]
push 1
push 0x86
push eax
call esi
jmp 0x437ad0
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x90
push 0x32
call esi
push eax
push 0x31
call esi
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 [edi + 0xcb8], eax
call esi
push eax
push 0x31
call esi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
mov dword [edi + 0xcbc], eax
cmp dword [edi + 0xcb8], ebx
jne 0x437a08
push 0x80
push 0x32
call esi
push eax
push 0x31
call esi
mov ecx, dword [0x4a1094]
push eax
push 1
push 0x66
push ecx
call ebp
mov dword [edi + 0xcb8], eax
cmp dword [edi + 0xcbc], ebx
jne 0x437ad6
push 0x80
push 0x32
call esi
push eax
push 0x31
call esi
mov edx, dword [0x4a1094]
push eax
push 1
push 0x86
push edx
jmp 0x437ace
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x90
push 0x32
call esi
push eax
push 0x31
call esi
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 [edi + 0xcb8], eax
call esi
push eax
push 0x31
call esi
push eax
push 1
push str.icon2.ico
push ebx
call ebp
mov dword [edi + 0xcbc], eax
cmp dword [edi + 0xcb8], ebx
jne 0x437aa9
push 0x80
push 0x32
call esi
push eax
push 0x31
call esi
push eax
mov eax, dword [0x4a1094]
push 1
push 0x66
push eax
call ebp
mov dword [edi + 0xcb8], eax
cmp dword [edi + 0xcbc], ebx
jne 0x437ad6
push 0x80
push 0x32
call esi
push eax
push 0x31
call esi
mov ecx, dword [0x4a1094]
push eax
push 1
push 0x86
push ecx
call ebp
mov dword [edi + 0xcbc], eax
mov edx, dword [0x4a1094]
push 0x68
push edx
call dword [sym.imp.USER32.dll_LoadMenuA]
mov dword [edi + 0x9b8], eax
call fcn.00437bf0
mov ecx, dword [esp + 0xe4]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045c77f
add esp, 0xd8
ret 4