Function at 0x41bc50
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x4f840c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x114
xor esi, esi
lea edx, [ebp - 0x118]
push esi
xor ebx, ebx
push edx
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ecx
xor edi, edi
mov byte [0x50b7e8], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x118], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x108], 2
jne 0x41bccc
call fcn.0041b0e0
call fcn.0041b900
call fcn.0041b5c0
call fcn.0041b2e0
jmp 0x41bcf7
mov dword [ebp - 0x11c], ebx
test ebx, ebx
jne 0x41bcf7
cmp byte [0x50b7e8], bl
jne 0x41bcfe
call fcn.0041b830
mov ebx, eax
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
cmp eax, 0xa
jl 0x41bcd2
cmp byte [0x50b7e8], 0
jle 0x41be3a
push 4
mov ebx, 0x50b7e8
push str.WD_W
push ebx
call dword [sym.imp.MSVCR100.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x41bd23
mov ebx, 0x50b7ed
mov al, byte [ebx]
test al, al
je 0x41be3a
cmp al, 0x2d
je case.0x41bd61.48
mov ecx, edi
mov edx, esi
shld esi, edi, 2
add edi, edi
add edi, edi
add edi, ecx
adc esi, edx
shld esi, edi, 1
movsx eax, al
add eax, 0xffffffd0
add edi, edi
cmp eax, 0x4a
ja case.0x41bd61.48
movzx eax, byte [eax + 0x41bfa8]
jmp dword [eax*4 + 0x41bf14]
add edi, 1
jmp 0x41be30
add edi, 2
jmp 0x41be30
add edi, 3
jmp 0x41be30
add edi, 4
jmp 0x41be30
add edi, 5
jmp 0x41be30
add edi, 6
jmp 0x41be30
add edi, 7
jmp 0x41be30
add edi, 8
jmp 0x41be30
add edi, 9
jmp 0x41be30
add edi, 0xa
jmp 0x41be30
add edi, 0xb
jmp 0x41be30
add edi, 0xc
jmp 0x41be30
add edi, 0xd
jmp 0x41be30
add edi, 0xe
jmp 0x41be30
add edi, 0xf
jmp 0x41be30
add edi, 0x10
jmp 0x41be30
add edi, 0x11
jmp 0x41be30
add edi, 0x12
jmp 0x41be30
add edi, 0x13
jmp 0x41be30
add edi, 0x14
jmp 0x41be30
add edi, 0x15
jmp 0x41be30
add edi, 0x16
jmp 0x41be30
add edi, 0x17
jmp 0x41be30
add edi, 0x18
jmp 0x41be30
add edi, 0x19
jmp 0x41be30
add edi, 0x1a
jmp 0x41be30
add edi, 0x1b
jmp 0x41be30
add edi, 0x1c
jmp 0x41be30
add edi, 0x1d
jmp 0x41be30
add edi, 0x1e
jmp 0x41be30
add edi, 0x1f
jmp 0x41be30
add edi, 0x20
jmp 0x41be30
add edi, 0x21
jmp 0x41be30
add edi, 0x22
jmp 0x41be30
add edi, 0x23
adc esi, 0
inc ebx
jne 0x41bd23
push 0xffffffffffffffff
push 0xfa0a1f00
push esi
push edi
call fcn.00486660
push 0
push 0x5f5e100
push edx
push eax
call fcn.00486710
mov ebx, dword [sym.imp.MSVCR100.dll_strstr]
add edi, eax
push str.IBM_
push 0x50bbe8
adc esi, edx
call ebx
add esp, 8
test eax, eax
je 0x41be7b
add edi, 0x11e1a300
jmp 0x41beca
push str.MAXTOR
push 0x50bbe8
call ebx
add esp, 8
test eax, eax
jne 0x41bec4
push str.Maxtor
push 0x50bbe8
call ebx
add esp, 8
test eax, eax
jne 0x41bec4
push str.WDC
push 0x50bbe8
call ebx
add esp, 8
test eax, eax
je 0x41bebc
add edi, 0x1dcd6500
jmp 0x41beca
add edi, 0x23c34600
jmp 0x41beca
add edi, 0x17d78400
mov ecx, dword [ebp - 0x120]
adc esi, 0
push esi
push edi
push str._I64d
push 0x100
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf_s]
mov edx, dword [ebp - 0x124]
mov eax, 0x50b7e8
add esp, 0x14
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41bef6
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00485d44
mov esp, ebp
pop ebp
ret