Function at 0x41172c
Capabilities:
Check os version
Reference processor manufacturer constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x178
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], esi
mov dword [ebp - 4], edi
mov dword [0x471f44], 0x10000
mov dword [ebp - 0xb8], 0x94
lea eax, [ebp - 0xb8]
mov dword [esp], eax
call sub.KERNEL32.dll_GetVersionExA
sub esp, 4
mov dword [0x471f50], 0x7263694d
mov dword [0x471f54], 0x666f736f
mov dword [0x471f58], 0x69572074
mov dword [0x471f5c], 0x776f646e
mov word [0x471f60], 0x73
mov eax, dword [ebp - 0xa8]
cmp eax, 1
je 0x4117f2
cmp eax, 1
jb 0x4117b2
cmp eax, 2
je 0x4118fb
jmp 0x411ff0
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x471f4f
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 4], str._Win32s__lu._lu
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
jmp 0x411ff0
cmp dword [ebp - 0xb4], 4
jne 0x41188d
mov eax, dword [ebp - 0xb0]
cmp eax, 0x5a
je 0x411868
cmp eax, 0x5a
ja 0x41188d
test eax, eax
je 0x41181a
cmp eax, 0xa
je 0x411841
jmp 0x41188d
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
mov dword [ecx + 0x471f4f], 0x353920
or dword [0x471f44], 0x10011
jmp 0x41188d
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
mov dword [ecx + 0x471f4f], 0x383920
or dword [0x471f44], 0x10012
jmp 0x41188d
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
mov dword [ecx + 0x471f4f], 0x654d20
or dword [0x471f44], 0x10014
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x471f4f
movzx eax, word [ebp - 0xac]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 4], str.__lu._lu._lu
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
cmp byte [ebp - 0xa4], 0
je 0x411ff0
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov dword [esp], 0x471f50
call sub.msvcrt.dll_strcat
jmp 0x411ff0
cmp dword [ebp - 0xb4], 5
jne 0x4119f0
mov eax, dword [ebp - 0xb0]
cmp eax, 1
je 0x411956
cmp eax, 1
jb 0x411922
cmp eax, 2
je 0x411980
jmp 0x4119c6
or dword [0x471f44], 0x10240
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x30303220
mov word [ecx + 0x471f54], 0x30
jmp 0x411a8d
or dword [0x471f44], 0x10440
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
mov dword [ecx + 0x471f4f], 0x505820
jmp 0x411a8d
or dword [0x471f44], 0x10240
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x72655320
mov dword [ecx + 0x471f54], 0x20726576
mov dword [ecx + 0x471f58], 0x33303032
mov byte [ecx + 0x471f5c], 0
jmp 0x411a8d
or dword [0x471f44], 0x10140
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
mov dword [ecx + 0x471f4f], 0x544e20
jmp 0x411a8d
cmp dword [ebp - 0xb4], 6
jne 0x411a31
or dword [0x471f44], 0x10840
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x53495620
mov word [ecx + 0x471f54], 0x4154
mov byte [ecx + 0x471f56], 0
jmp 0x411a8d
cmp dword [ebp - 0xb4], 7
jne 0x411a68
or dword [0x471f44], 0x11040
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov word [ecx + 0x471f50], 0x3720
mov byte [ecx + 0x471f52], 0
jmp 0x411a8d
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
mov dword [ecx + 0x471f4f], 0x544e20
or dword [0x471f44], 0x10140
cmp dword [ebp - 0xb4], 4
jbe 0x411f70
mov dword [ebp - 0x158], 0x9c
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.KERNEL32.dll_GetVersionExA
sub esp, 4
test byte [ebp - 0xbf], 4
je 0x411af7
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x6557202c
mov dword [ecx + 0x471f54], 0x64452062
mov dword [ecx + 0x471f58], 0x6f697469
mov word [ecx + 0x471f5c], 0x6e
cmp byte [ebp - 0xc0], 0
jns 0x411bba
cmp dword [ebp - 0xb4], 5
jne 0x411bba
cmp dword [ebp - 0xb0], 0
jne 0x411b66
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x74614420
mov dword [ecx + 0x471f54], 0x6e656361
mov dword [ecx + 0x471f58], 0x20726574
mov dword [ecx + 0x471f5c], 0x76726553
mov word [ecx + 0x471f60], 0x7265
mov byte [ecx + 0x471f62], 0
jmp 0x411bba
cmp dword [ebp - 0xb0], 2
jne 0x411bba
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x6144202c
mov dword [ecx + 0x471f54], 0x65636174
mov dword [ecx + 0x471f58], 0x7265746e
mov dword [ecx + 0x471f5c], 0x69644520
mov dword [ecx + 0x471f60], 0x6e6f6974
mov byte [ecx + 0x471f64], 0
test byte [ebp - 0xc0], 2
je 0x411cc6
cmp dword [ebp - 0xb4], 4
jne 0x411c19
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x746e4520
mov dword [ecx + 0x471f54], 0x72707265
mov dword [ecx + 0x471f58], 0x20657369
mov dword [ecx + 0x471f5c], 0x74696445
mov dword [ecx + 0x471f60], 0x6e6f69
jmp 0x411cc6
cmp dword [ebp - 0xb4], 5
jne 0x411cc6
cmp dword [ebp - 0xb0], 0
jne 0x411c72
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x76644120
mov dword [ecx + 0x471f54], 0x65636e61
mov dword [ecx + 0x471f58], 0x65532064
mov dword [ecx + 0x471f5c], 0x72657672
mov byte [ecx + 0x471f60], 0
jmp 0x411cc6
cmp dword [ebp - 0xb0], 2
jne 0x411cc6
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x6e45202c
mov dword [ecx + 0x471f54], 0x70726574
mov dword [ecx + 0x471f58], 0x65736972
mov dword [ecx + 0x471f5c], 0x69644520
mov dword [ecx + 0x471f60], 0x6e6f6974
mov byte [ecx + 0x471f64], 0
movzx eax, byte [ebp - 0xbe]
cmp eax, 2
je 0x411e27
cmp eax, 2
jg 0x411ce5
cmp eax, 1
je 0x411cf3
jmp 0x411ea3
cmp eax, 3
je 0x411e74
jmp 0x411ea3
cmp dword [ebp - 0xb4], 4
jne 0x411d41
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x6f572820
mov dword [ecx + 0x471f54], 0x74736b72
mov dword [ecx + 0x471f58], 0x6f697461
mov word [ecx + 0x471f5c], 0x296e
mov byte [ecx + 0x471f5e], 0
jmp 0x411ea3
cmp dword [ebp - 0xb4], 5
jne 0x411ea3
cmp dword [ebp - 0xb0], 0
jne 0x411d96
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x72502820
mov dword [ecx + 0x471f54], 0x7365666f
mov dword [ecx + 0x471f58], 0x6e6f6973
mov dword [ecx + 0x471f5c], 0x296c61
jmp 0x411ea3
cmp dword [ebp - 0xb0], 1
jne 0x411ea3
test byte [ebp - 0xbf], 2
je 0x411deb
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x6f482820
mov dword [ecx + 0x471f54], 0x4520656d
mov dword [ecx + 0x471f58], 0x69746964
mov dword [ecx + 0x471f5c], 0x296e6f
jmp 0x411ea3
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x72502820
mov dword [ecx + 0x471f54], 0x7365666f
mov dword [ecx + 0x471f58], 0x6e6f6973
mov dword [ecx + 0x471f5c], 0x296c61
jmp 0x411ea3
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x6f442820
mov dword [ecx + 0x471f54], 0x6e69616d
mov dword [ecx + 0x471f58], 0x6e6f4320
mov dword [ecx + 0x471f5c], 0x6c6f7274
mov dword [ecx + 0x471f60], 0x2972656c
mov byte [ecx + 0x471f64], 0
jmp 0x411ea3
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x65532820
mov dword [ecx + 0x471f54], 0x72657672
mov word [ecx + 0x471f58], 0x29
test byte [ebp - 0xc0], 0x10
je 0x411ef7
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ecx + 0x471f50], 0x65542820
mov dword [ecx + 0x471f54], 0x6e696d72
mov dword [ecx + 0x471f58], 0x53206c61
mov dword [ecx + 0x471f5c], 0x69767265
mov dword [ecx + 0x471f60], 0x29736563
mov byte [ecx + 0x471f64], 0
cmp word [ebp - 0xc4], 0
je 0x411f70
mov esi, 0xffffffff
mov edi, 0x471f50
mov bl, 0
cld
mov ecx, esi
mov al, bl
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x471f4f
movzx eax, word [ebp - 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 4], str._SP_d
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
cmp word [ebp - 0xc2], 0
je 0x411f70
mov edi, 0x471f50
cld
mov ecx, esi
mov al, bl
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x471f4f
movzx eax, word [ebp - 0xc2]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4645d5
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
cmp byte [ebp - 0xa4], 0
je 0x411faa
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x471f4f
lea eax, [ebp - 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 4], str.___s_
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
mov edi, 0x471f50
cld
mov ecx, 0xffffffff
mov al, 0
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x471f4f
movzx eax, word [ebp - 0xac]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 4], str.__lu._lu._lu
mov dword [esp], ecx
call sub.msvcrt.dll_sprintf
mov dword [0x471f40], 0x471f50
mov eax, dword [0x471f40]
mov edx, dword [0x471f44]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret