Function at 0x405830
Capabilities:
Check os version

Disassembly:
sub esp, 0x98
mov eax, dword [0x46fb88]
xor eax, esp
mov dword [esp + 0x94], eax
push ebx
push ebp
push esi
push edi
push 0x94
xor edi, edi
lea eax, [esp + 0x14]
push edi
xor ebx, ebx
push eax
xor esi, esi
mov byte [0x471d08], bl
call fcn.0043b700
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x14], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x20], 2
jne 0x4058c2
push str._nTrying_to_read_the_drive_IDs_using_physical_access_with_admin_rights_n
call fcn.0043c686
call fcn.004051b0
push str._nTrying_to_read_the_drive_IDs_using_the_SCSI_back_door_n
call fcn.0043c686
call fcn.004056b0
push str._nTrying_to_read_the_drive_IDs_using_physical_access_with_zero_rights_n
call fcn.0043c686
call fcn.00404ac0
push str._nTrying_to_read_the_drive_IDs_using_Smart_n
call fcn.0043c686
add esp, 0x10
call fcn.004053d0
jmp 0x4058dd
xor ebp, ebp
test ebx, ebx
jne 0x4058dd
cmp byte [0x471d08], bl
jne 0x4058e4
call fcn.00405570
inc ebp
cmp ebp, 0xa
mov ebx, eax
jl 0x4058c4
cmp byte [0x471d08], 0
jle 0x405a24
push 4
mov ebp, 0x471d08
push str.WD_W
push ebp
call fcn.0043cab4
add esp, 0xc
test eax, eax
jne 0x405910
mov ebp, 0x471d0d
jmp 0x405910
mov bl, byte [ebp]
test bl, bl
je 0x405a24
cmp bl, 0x2d
je case.0x405949.48
push 0
push 0xa
push edi
push esi
call fcn.0043c840
mov esi, eax
movsx eax, bl
add eax, 0xffffffd0
mov edi, edx
cmp eax, 0x4a
ja case.0x405949.48
movzx edx, byte [eax + 0x405b8c]
jmp dword [edx*4 + 0x405af8]
add esi, 1
jmp 0x405a18
add esi, 2
jmp 0x405a18
add esi, 3
jmp 0x405a18
add esi, 4
jmp 0x405a18
add esi, 5
jmp 0x405a18
add esi, 6
jmp 0x405a18
add esi, 7
jmp 0x405a18
add esi, 8
jmp 0x405a18
add esi, 9
jmp 0x405a18
add esi, 0xa
jmp 0x405a18
add esi, 0xb
jmp 0x405a18
add esi, 0xc
jmp 0x405a18
add esi, 0xd
jmp 0x405a18
add esi, 0xe
jmp 0x405a18
add esi, 0xf
jmp 0x405a18
add esi, 0x10
jmp 0x405a18
add esi, 0x11
jmp 0x405a18
add esi, 0x12
jmp 0x405a18
add esi, 0x13
jmp 0x405a18
add esi, 0x14
jmp 0x405a18
add esi, 0x15
jmp 0x405a18
add esi, 0x16
jmp 0x405a18
add esi, 0x17
jmp 0x405a18
add esi, 0x18
jmp 0x405a18
add esi, 0x19
jmp 0x405a18
add esi, 0x1a
jmp 0x405a18
add esi, 0x1b
jmp 0x405a18
add esi, 0x1c
jmp 0x405a18
add esi, 0x1d
jmp 0x405a18
add esi, 0x1e
jmp 0x405a18
add esi, 0x1f
jmp 0x405a18
add esi, 0x20
jmp 0x405a18
add esi, 0x21
jmp 0x405a18
add esi, 0x22
jmp 0x405a18
add esi, 0x23
adc edi, 0
add ebp, 1
jne 0x405910
push 0
push 0x5f5e100
push edi
push esi
call fcn.0043cb80
push str.IBM_
push 0x471908
mov esi, eax
mov edi, edx
call fcn.0043c600
add esp, 8
test eax, eax
je 0x405a54
add esi, 0x11e1a300
jmp 0x405aac
push str.MAXTOR
push 0x471908
call fcn.0043c600
add esp, 8
test eax, eax
jne 0x405aa6
push str.Maxtor
push 0x471908
call fcn.0043c600
add esp, 8
test eax, eax
jne 0x405aa6
push str.WDC
push 0x471908
call fcn.0043c600
add esp, 8
test eax, eax
je 0x405a9e
add esi, 0x1dcd6500
jmp 0x405aac
add esi, 0x23c34600
jmp 0x405aac
add esi, 0x17d78400
push 0x471d08
push str._nHard_Drive_Serial_Number__________:__s_n
adc edi, 0
call fcn.0043c686
push 0x471908
push str._nHard_Drive_Model_Number___________:__s_n
call fcn.0043c686
push edi
push esi
push str._nComputer_ID_______________________:__I64d_n
call fcn.0043c686
mov ecx, dword [esp + 0xc0]
add esp, 0x1c
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043b6e4
add esp, 0x98
ret