Function at 0x40f23c
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x40f244
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00403a94
mov ebx, 0x416ae8
mov esi, 0x416b53
xor eax, eax
push ebp
push 0x40fd08
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x416b14
mov edx, 0x40fd20
call fcn.00403780
lea eax, [ebp - 0xc]
mov ecx, 0x40fda4
mov edx, dword [ebp - 4]
call fcn.004038f0
mov eax, dword [ebp - 0xc]
call fcn.00403aa4
push eax
call fcn.0040478c
add eax, 0xfffffffe
sub eax, 3
jb 0x40f2ae
sub eax, 1
jne 0x40fced
push dword [ebp - 4]
push 0x40fdb0
push 0x40fdc4
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 8]
call fcn.004054e4
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f314
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40fdb0
push 0x40fdd8
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x14]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40fdd8
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40fdec
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f3ad
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40fdb0
push 0x40fe04
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 0x18]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40fe04
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
mov eax, 0x416b14
mov edx, 0x40fe18
call fcn.00403780
push dword [ebp - 4]
push 0x40fdb0
push 0x40fe90
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f55a
push 1
push 0x96
push 0x222e1
mov ecx, 0x40fe90
lea eax, [ebp - 0x1c]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f45e
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40fea8
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40fea8
lea eax, [ebp - 0x20]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f4b2
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40febc
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40febc
lea eax, [ebp - 0x24]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f506
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40fed0
lea eax, [ebp - 8]
mov edx, 3
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40fed0
lea eax, [ebp - 0x28]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f55a
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
mov eax, 0x416b14
mov edx, 0x40fee4
call fcn.00403780
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fdc4
lea eax, [ebp - 0x2c]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 8]
call fcn.004054e4
mov edx, dword [ebp - 8]
mov eax, dword [0x416adc]
call fcn.00403b8c
test eax, eax
jne 0x40f88f
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f5f6
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fdd8
lea eax, [ebp - 0x30]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x30]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fdd8
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40f640
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fdec
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f6ad
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fe04
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x34]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fe04
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.00403964
mov edx, dword [ebp - 0x38]
mov cl, 1
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40f71b
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40ff84
push 0x40fe04
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.00403964
mov eax, dword [ebp - 0x3c]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40fe90
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f88f
push 1
push 0x96
push 0x222e1
mov ecx, 0x40fe90
lea eax, [ebp - 0x40]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x40]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f784
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40fea8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40fea8
lea eax, [ebp - 0x44]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x44]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f7dd
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40fe90
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40febc
lea eax, [ebp - 0x48]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x48]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f836
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40ff68
push 0x40ff74
push 0x40fea8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov ecx, 0x40fed0
lea eax, [ebp - 0x4c]
mov edx, dword [0x416adc]
call fcn.004038f0
mov eax, dword [ebp - 0x4c]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
test al, al
je 0x40f88f
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
mov eax, 0x416b14
mov edx, 0x40ff98
call fcn.00403780
push dword [ebp - 4]
push 0x40fdb0
push 0x40ff84
push 0x40fdc4
lea eax, [ebp - 0x50]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 8]
call fcn.004054e4
mov edx, dword [ebp - 8]
mov eax, dword [0x416adc]
call fcn.00403b8c
test eax, eax
jne 0x40fa04
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f923
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40fdb0
push 0x40ff84
push 0x40fdd8
lea eax, [ebp - 0x54]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 0x54]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40ff84
push 0x40fdd8
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40f968
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40fdb0
push 0x40ff84
push 0x40fdec
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 8]
call fcn.00405a3c
test al, al
jne 0x40f9cb
push 1
push 0x96
push 0x222e1
push dword [ebp - 4]
push 0x40fdb0
push 0x40ff84
push 0x40fe04
lea eax, [ebp - 0x58]
mov edx, 4
call fcn.00403964
mov eax, dword [ebp - 0x58]
mov cl, 1
mov edx, dword [ebp - 8]
call fcn.00405990
push dword [ebp - 4]
push 0x40fdb0
push 0x40ff84
push 0x40fe04
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push 0x41004c
push 0x410058
push dword [0x416b18]
push 0x410068
lea eax, [ebp - 8]
mov edx, 6
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40fa54
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push dword [0x416b18]
push 0x410068
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40fa9a
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push 0x41004c
push 0x410058
push dword [0x416b1c]
push 0x410068
lea eax, [ebp - 8]
mov edx, 6
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40faea
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push dword [0x416b1c]
push 0x410068
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40fb30
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push 0x410088
push dword [0x416b18]
push 0x410068
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40fb7b
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push dword [0x416b18]
push 0x410068
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40fbc1
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push 0x410088
push dword [0x416b1c]
push 0x410068
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
je 0x40fc0c
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x410020
push dword [0x416b1c]
push 0x410068
lea eax, [ebp - 8]
mov edx, 4
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
test al, al
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
mov eax, 0x416b14
mov edx, 0x40fd20
call fcn.00403780
push dword [ebp - 4]
push 0x40fda4
push 0x410058
push dword [0x416b18]
push 0x410068
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
push dword [ebp - 4]
push 0x40fda4
push 0x410058
push dword [0x416b1c]
push 0x410068
lea eax, [ebp - 8]
mov edx, 5
call fcn.00403964
push 1
push 0x96
push 0x222e1
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebx]
call fcn.00405990
mov eax, dword [ebp - 8]
call fcn.00406c40
mov byte [esi], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40fd0f
lea eax, [ebp - 0x58]
mov edx, 0x16
call fcn.00403750
ret