Function at 0x401b7c
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push 0x404070
mov dword [0x414134], edi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x64
push dword [0x404128]
mov dword [0x404124], eax
call dword [sym.imp.USER32.dll_LoadIconA]
push eax
xor ebx, ebx
push ebx
push 0x80
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [0x414130]
push edi
call fcn.00401720
mov eax, dword [0x414130]
add eax, 0x80
cmp byte [eax], bl
je 0x401bef
push eax
push 0x7d4
push edi
call fcn.0040173a
jmp 0x401bfa
push 0x7d1
push edi
call fcn.00401758
mov eax, dword [0x414130]
add eax, 0x100
cmp byte [eax], bl
jne 0x401c15
push 0x7d3
push edi
call fcn.00401758
jmp 0x401c51
push eax
mov esi, 0x7d6
push esi
push edi
call fcn.0040173a
mov eax, dword [0x414130]
cmp byte [eax + 0x180], bl
jne 0x401c37
cmp byte [eax + 0x200], bl
je 0x401c51
push esi
mov esi, 0x414178
push edi
mov ecx, esi
call fcn.00402900
push 0x4019dc
mov ecx, esi
call fcn.00402917
mov eax, dword [0x414130]
add eax, 0x1280
push eax
push 0x7d8
push edi
call fcn.0040173a
push 0x1000
push 0x7d5
mov esi, 0x414168
push edi
mov ecx, esi
call fcn.00402c09
mov eax, dword [0x414130]
add eax, 0x280
push eax
mov ecx, esi
call fcn.0040292f
mov eax, dword [0x414130]
cmp byte [eax + 0x180], bl
mov dword [0x404120], ebx
je 0x401cf0
cmp byte [eax + 0x200], bl
je 0x401cf0
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov ecx, dword [0x414130]
mov esi, dword [sym.imp.USER32.dll_AppendMenuA]
add ecx, 0x180
push ecx
push 0x384
push ebx
push eax
mov dword [0x404120], eax
call esi
mov eax, dword [0x414130]
add eax, 0x200
push eax
push 0x385
push ebx
push dword [0x404120]
call esi
mov eax, dword [0x414130]
cmp dword [eax + 0xbeac], ebx
je 0x401d72
lea ecx, [ebp - 0x28]
call fcn.0040295c
push 0x800
mov esi, 0x404130
push esi
call fcn.00402bd6
push ebx
push 0x40000000
push esi
lea ecx, [ebp - 0x28]
call fcn.00402a6a
mov eax, dword [0x414130]
push ebx
push dword [eax + 0xbeac]
add eax, 0xbeb0
push eax
lea ecx, [ebp - 0x28]
call fcn.00402a34
lea ecx, [ebp - 0x28]
call fcn.00402b9e
push edi
mov eax, esi
call fcn.00401310
push esi
mov dword [0x414160], eax
call sub.msvcrt.dll_strlen
inc eax
push eax
call sub.msvcrt.dll_malloc
push esi
push eax
mov dword [0x414164], eax
call sub.msvcrt.dll_strcpy
add esp, 0x10
lea ecx, [ebp - 0x28]
call fcn.00402cb6
cmp dword [0x404074], 5
jb 0x401e03
push 0x4012d8
push 0x4012cc
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xffffffffffffffec
push edi
mov dword [ebp - 8], eax
call esi
or eax, 0x80000
push eax
push 0xffffffffffffffec
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 1
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 4]
push 2
push 0x64
pop ecx
cdq
idiv ecx
push eax
push ebx
push edi
call dword [ebp - 8]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
add dword [ebp - 4], 0x4fb
cmp dword [ebp - 4], 0x6897
jne 0x401dbf
push 0xffffffffffffffec
push edi
call esi
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
pop esi
pop ebx
leave
ret