Function at 0x40dc4d
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x118]
sub esp, 0x118
push 0xffffffffffffffff
push 0x466a2f
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x49353c]
xor eax, ebp
mov dword [ebp + 0x114], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x24], ebx
push 0x479a58
mov dword [ebp - 0x20], edi
call fcn.004042c5
lea eax, [ebp]
mov dword [ebp - 4], edi
push eax
mov dword [ebp - 0x20], 1
mov dword [ebp], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 4]
mov dword [esi], ecx
sub eax, edi
je 0x40dd6c
sub eax, 1
je 0x40dd36
sub eax, 1
jne 0x40dd80
mov eax, dword [ebp + 8]
cmp ecx, 5
jne 0x40dd0b
test eax, eax
jne 0x40dcf2
lea eax, [ebp + 0x14]
push eax
push str.Windows_2000_With__s
jmp 0x40dd00
cmp eax, 1
jne 0x40dd2b
lea eax, [ebp + 0x14]
push eax
push str.Windows_XP__s
push ebx
call fcn.00404e31
add esp, 0xc
jmp 0x40dd80
mov ecx, dword [ebp + 4]
cmp ecx, 4
ja 0x40dd2b
lea eax, [ebp + 0x14]
push eax
push dword [ebp + 8]
push ecx
push str.Windows_NT__d._d_with__s
push ebx
call fcn.00404e31
add esp, 0x14
jmp 0x40dd80
push eax
push dword [ebp + 4]
push str.Windows__d._d
jmp 0x40dd77
mov eax, dword [ebp + 8]
test eax, eax
jne 0x40dd44
mov esi, str.Windows_t95
jmp 0x40dd5a
cmp eax, 0xa
jne 0x40dd50
mov esi, str.Windows_98
jmp 0x40dd5a
cmp eax, 0x5a
jne 0x40dd80
mov esi, str.Windows_tMe
push esi
call fcn.00443870
pop ecx
push eax
push esi
mov ecx, ebx
call fcn.00404b48
jmp 0x40dd80
push dword [ebp + 8]
push dword [ebp + 4]
push 0x481028
push ebx
call fcn.00404e31
add esp, 0x10
mov edx, dword [ebp + 4]
lea ecx, [ebp - 0x18]
call fcn.0040da98
push ebx
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 1
push str.OSVersion:
push eax
call fcn.0040ec5e
add esp, 0xc
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00404926
mov ecx, dword [ebp - 0x10]
lea ecx, [ecx - 0x10]
call fcn.00401696
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x1c], edi
call fcn.0040431c
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.0040eeff
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 4
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push eax
call fcn.00404e31
mov edi, dword [ebp - 0x14]
add edi, 0xfffffff0
push edi
call fcn.00404a80
add esp, 0xc
lea esi, [eax + 0x10]
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x3c]
call fcn.00404926
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 4
call fcn.00401696
mov esi, 0x481140
push esi
call fcn.00443870
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00404b48
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040ef9d
push dword [ebp - 0x18]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp + 4]
push eax
push str._s__d._d._d__s
push ebx
call fcn.00404e31
add esp, 0x1c
mov ecx, ebx
call fcn.0040436c
push eax
push 0x47d290
call fcn.004064a1
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
call fcn.0040dbeb
mov ecx, edi
call fcn.00401696
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401696
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x114]
xor ecx, ebp
call fcn.0043caa2
add ebp, 0x118
leave
ret