Function at 0x405620
Capabilities:
Check os version

Disassembly:
sub esp, 0x98
mov eax, dword [0x469b70]
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 [0x46bce8], bl
call fcn.00437670
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 0x4056b2
push str._nTrying_to_read_the_drive_IDs_using_physical_access_with_admin_rights_n
call fcn.00438566
call fcn.00404fa0
push str._nTrying_to_read_the_drive_IDs_using_the_SCSI_back_door_n
call fcn.00438566
call fcn.004054a0
push str._nTrying_to_read_the_drive_IDs_using_physical_access_with_zero_rights_n
call fcn.00438566
call fcn.004048b0
push str._nTrying_to_read_the_drive_IDs_using_Smart_n
call fcn.00438566
add esp, 0x10
call fcn.004051c0
jmp 0x4056cd
xor ebp, ebp
test ebx, ebx
jne 0x4056cd
cmp byte [0x46bce8], bl
jne 0x4056d4
call fcn.00405360
inc ebp
cmp ebp, 0xa
mov ebx, eax
jl 0x4056b4
cmp byte [0x46bce8], 0
jle 0x405814
push 4
mov ebp, 0x46bce8
push str.WD_W
push ebp
call fcn.00438994
add esp, 0xc
test eax, eax
jne 0x405700
mov ebp, 0x46bced
jmp 0x405700
mov bl, byte [ebp]
test bl, bl
je 0x405814
cmp bl, 0x2d
je case.0x405739.48
push 0
push 0xa
push edi
push esi
call fcn.00438720
mov esi, eax
movsx eax, bl
add eax, 0xffffffd0
mov edi, edx
cmp eax, 0x4a
ja case.0x405739.48
movzx edx, byte [eax + 0x40597c]
jmp dword [edx*4 + 0x4058e8]
add esi, 1
jmp 0x405808
add esi, 2
jmp 0x405808
add esi, 3
jmp 0x405808
add esi, 4
jmp 0x405808
add esi, 5
jmp 0x405808
add esi, 6
jmp 0x405808
add esi, 7
jmp 0x405808
add esi, 8
jmp 0x405808
add esi, 9
jmp 0x405808
add esi, 0xa
jmp 0x405808
add esi, 0xb
jmp 0x405808
add esi, 0xc
jmp 0x405808
add esi, 0xd
jmp 0x405808
add esi, 0xe
jmp 0x405808
add esi, 0xf
jmp 0x405808
add esi, 0x10
jmp 0x405808
add esi, 0x11
jmp 0x405808
add esi, 0x12
jmp 0x405808
add esi, 0x13
jmp 0x405808
add esi, 0x14
jmp 0x405808
add esi, 0x15
jmp 0x405808
add esi, 0x16
jmp 0x405808
add esi, 0x17
jmp 0x405808
add esi, 0x18
jmp 0x405808
add esi, 0x19
jmp 0x405808
add esi, 0x1a
jmp 0x405808
add esi, 0x1b
jmp 0x405808
add esi, 0x1c
jmp 0x405808
add esi, 0x1d
jmp 0x405808
add esi, 0x1e
jmp 0x405808
add esi, 0x1f
jmp 0x405808
add esi, 0x20
jmp 0x405808
add esi, 0x21
jmp 0x405808
add esi, 0x22
jmp 0x405808
add esi, 0x23
adc edi, 0
add ebp, 1
jne 0x405700
push 0
push 0x5f5e100
push edi
push esi
call fcn.00438a60
push str.IBM_
push 0x46b8e8
mov esi, eax
mov edi, edx
call fcn.004384e0
add esp, 8
test eax, eax
je 0x405844
add esi, 0x11e1a300
jmp 0x40589c
push str.MAXTOR
push 0x46b8e8
call fcn.004384e0
add esp, 8
test eax, eax
jne 0x405896
push str.Maxtor
push 0x46b8e8
call fcn.004384e0
add esp, 8
test eax, eax
jne 0x405896
push str.WDC
push 0x46b8e8
call fcn.004384e0
add esp, 8
test eax, eax
je 0x40588e
add esi, 0x1dcd6500
jmp 0x40589c
add esi, 0x23c34600
jmp 0x40589c
add esi, 0x17d78400
push 0x46bce8
push str._nHard_Drive_Serial_Number__________:__s_n
adc edi, 0
call fcn.00438566
push 0x46b8e8
push str._nHard_Drive_Model_Number___________:__s_n
call fcn.00438566
push edi
push esi
push str._nComputer_ID_______________________:__I64d_n
call fcn.00438566
mov ecx, dword [esp + 0xc0]
add esp, 0x1c
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00437657
add esp, 0x98
ret