Function at 0x418de2
Capabilities:
Check os version

Disassembly:
mov eax, 0x427fc8
call fcn.00427220
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.0041a125
xor edi, edi
lea ecx, [esi + 0x2f0]
mov dword [esp + 0xe0], edi
call fcn.0041a3e7
lea ecx, [esi + 0x324]
mov byte [esp + 0xe0], 1
call fcn.004169a0
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.0041d51f
mov eax, dword [0x439248]
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], 0x41962a
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 [0x439248]
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 0x418f3c
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.0041a13d
test eax, eax
je 0x418f3c
push dword [esi]
lea ecx, [esi + 0x2f0]
call fcn.0041a3f5
test eax, eax
jne 0x418f48
push edi
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x4190e3
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x134]
test eax, eax
jne 0x418f6a
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
jne 0x419027
cmp dword [esp + 0x48], 5
jb 0x419027
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
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 0x418ffc
push edi
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x66
push dword [0x439248]
call ebx
mov dword [esi + 0x61c], eax
cmp dword [esi + 0x620], edi
jne 0x4190c8
push edi
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x86
push dword [0x439248]
call ebx
jmp 0x4190c2
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
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 0x41909c
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x66
push dword [0x439248]
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [esi + 0x61c], eax
cmp dword [esi + 0x620], edi
jne 0x4190c8
push ebx
push 0x32
call ebp
push eax
push 0x31
call ebp
push eax
push 1
push 0x86
push dword [0x439248]
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [esi + 0x620], eax
push 0x68
push dword [0x439248]
call dword [sym.imp.USER32.dll_LoadMenuA]
mov ecx, esi
mov dword [esi + 0x32c], eax
call fcn.004191f0
mov ecx, dword [esp + 0xd8]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret 4