Function at 0x418891
Capabilities:
Check os version

Disassembly:
mov eax, 0x427644
call fcn.004268b0
sub esp, 0xc8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x40], esi
lea ecx, [esi + 4]
call fcn.00419b9e
xor edi, edi
lea ecx, [esi + 0x2f0]
mov dword [esp + 0xe0], edi
call fcn.00419e60
lea ecx, [esi + 0x324]
mov byte [esp + 0xe0], 1
call fcn.00406785
push edi
mov byte [esp + 0xe4], 2
mov dword [esi + 0x638], edi
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [esp + 0xec]
push 0x101
mov dword [esi], eax
lea eax, [esi + 0x518]
push eax
call fcn.0041cf6f
mov eax, dword [0x437ff8]
mov ebx, dword [sym.imp.USER32.dll_LoadIconA]
pop ecx
mov ebp, 0x7f00
pop ecx
mov dword [esp + 0x10], 0x30
push ebp
push edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0x4190c1
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
call ebx
push ebp
push edi
mov dword [esp + 0x30], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push edi
mov dword [esp + 0x30], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x30], eax
mov eax, dword [str.WinVNC_SC_Tray_Icon]
push ebp
push edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
call ebx
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
push edi
mov eax, 0xc8
push dword [0x437ff8]
push edi
push edi
push eax
push eax
mov eax, 0x80000000
push eax
push eax
mov eax, dword [str.WinVNC_SC_Tray_Icon]
push 0xcf0000
push eax
push eax
push edi
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp eax, edi
mov dword [esi + 0x328], eax
je 0x4189eb
push esi
push 0xffffffffffffffeb
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov ebx, dword [esp + 0xec]
push dword [esi + 0x328]
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x60]
push dword [esi]
lea ecx, [esi + 4]
call fcn.00419bb6
test eax, eax
je 0x4189eb
push dword [esi]
lea ecx, [esi + 0x2f0]
call fcn.00419e6e
test eax, eax
jne 0x4189f7
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x418b8c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x134]
test eax, eax
jne 0x418a19
push edi
push 0x1388
push 1
push dword [esi + 0x328]
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x54], 2
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
jne 0x418ad6
cmp dword [esp + 0x48], 5
jb 0x418ad6
push 0x10
push 0x32
call ebp
push eax
push 0x31
call ebp
mov ebx, dword [sym.imp.USER32.dll_LoadImageA]
push eax
push 1
push str.icon1.ico
push edi
call ebx
push 0x10
push 0x32
mov dword [esi + 0x61c], eax
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push str.icon2.ico
push edi
call ebx
cmp dword [esi + 0x61c], edi
mov dword [esi + 0x620], eax
jne 0x418aab
push edi
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x66
push dword [0x437ff8]
call ebx
mov dword [esi + 0x61c], eax
cmp dword [esi + 0x620], edi
jne 0x418b71
push edi
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x86
push dword [0x437ff8]
call ebx
jmp 0x418b6b
mov ebx, 0x90
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push str.icon1.ico
push edi
call dword [sym.imp.USER32.dll_LoadImageA]
push ebx
push 0x32
mov dword [esi + 0x61c], eax
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push str.icon2.ico
push edi
call dword [sym.imp.USER32.dll_LoadImageA]
add ebx, 0xfffffff0
cmp dword [esi + 0x61c], edi
mov dword [esi + 0x620], eax
jne 0x418b45
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x66
push dword [0x437ff8]
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [esi + 0x61c], eax
cmp dword [esi + 0x620], edi
jne 0x418b71
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x86
push dword [0x437ff8]
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [esi + 0x620], eax
push 0x68
push dword [0x437ff8]
call dword [sym.imp.USER32.dll_LoadMenuA]
mov ecx, esi
mov dword [esi + 0x32c], eax
call fcn.00418c87
mov ecx, dword [esp + 0xd8]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret 4