Function at 0x414c80
Capabilities:
Check os version

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xa0
mov edi, ecx
mov esi, edx
mov ebp, eax
test ebp, ebp
je 0x414f50
test esi, esi
je 0x414f50
test edi, edi
je 0x414f50
push str.unknown_Windows_version
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0
lea eax, [esp]
mov dword [esp], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x414f50
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
movzx eax, word [esp + 0xc]
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], eax
push eax
push edx
push ebx
push str._u._u._u
push edi
mov dword [esp + 0xb0], ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0xb0]
add esp, 0x14
cmp ecx, 1
jne 0x414e4a
cmp ebx, 4
jne 0x414f40
cmp dword [esp + 0x98], 0xa
jae 0x414d9e
cmp dword [esp + 0x94], 0x3b6
je 0x414d87
cmp dword [esp + 0x94], 0x3b7
jb 0x414f40
cmp dword [esp + 0x94], 0x438
jbe 0x414d70
push str.Windows_95_OSR2
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 3
jmp 0x414f40
push str.Windows_95_SP1
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 2
jmp 0x414f40
push str.Windows_95
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 1
jmp 0x414f40
jne 0x414e25
cmp dword [esp + 0x94], 0x7ce
je 0x414e0e
cmp dword [esp + 0x94], 0x7cf
jb 0x414f40
cmp dword [esp + 0x94], 0x886
jbe 0x414df7
cmp dword [esp + 0x94], 0x887
jb 0x414f40
push str.Windows_98_SE
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 6
jmp 0x414f40
push str.Windows_98_SP1
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 5
jmp 0x414f40
push str.Windows_98
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 4
jmp 0x414f40
cmp dword [esp + 0x98], 0x5a
jne 0x414f40
push str.Windows_ME
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 7
jmp 0x414f40
cmp ecx, 2
jne 0x414f29
cmp ebx, 3
jne 0x414e7d
cmp dword [esp + 0x98], 0x33
jne 0x414f40
push str.Windows_NT_3.51
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0x65
jmp 0x414f40
cmp ebx, 4
jne 0x414ea7
cmp dword [esp + 0x98], 0
jne 0x414f40
push str.Windows_NT_4
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0x66
jmp 0x414f40
cmp ebx, 5
jne 0x414f06
cmp dword [esp + 0x98], 0
je 0x414ef2
cmp dword [esp + 0x98], 1
je 0x414ede
cmp dword [esp + 0x98], 2
jne 0x414f40
push str.Windows_2003_Server
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0x69
jmp 0x414f40
push str.Windows_XP
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0x68
jmp 0x414f40
push str.Windows_2000
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0x67
jmp 0x414f40
cmp ebx, 6
jne 0x414f40
cmp dword [esp + 0x98], 0
jne 0x414f40
push str.Windows_Vista
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0x6a
jmp 0x414f40
cmp ecx, 3
jne 0x414f40
push str.Windows_CE
push ebp
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esi], 0xc9
mov eax, 1
add esp, 0xa0
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
add esp, 0xa0
pop ebx
pop ebp
pop esi
pop edi
ret