Function at 0x5afb5c
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4d
push 0
push 0
dec ecx
jne 0x5afb64
push ecx
xor eax, eax
push ebp
push 0x5aff4f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x5aff64
call fcn.004c938c
mov eax, dword [ebp + 8]
imul eax, dword [eax - 0x2ac], 0x97
add eax, 0xcd563c
mov edx, 0x5aff78
mov cl, 0x96
call fcn.00403294
cmp byte [0x889858], 0
je 0x5aff14
lea eax, [ebp - 4]
call fcn.0040528c
lea eax, [ebp - 0x13a]
xor ecx, ecx
mov edx, 0x121
call fcn.00403464
lea eax, [ebp - 0x19]
xor ecx, ecx
mov edx, 0xd
call fcn.00403464
push 0
lea eax, [ebp - 0xc]
push eax
push 0x121
lea eax, [ebp - 0x13a]
push eax
push 0xd
lea eax, [ebp - 0x19]
push eax
push 0x2d1400
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x5aff0a
mov eax, dword [ebp - 0x11e]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x144]
call fcn.0040a878
mov ecx, dword [ebp - 0x144]
lea eax, [ebp - 0x140]
mov edx, 0x5aff88
call fcn.00405598
mov eax, dword [ebp - 0x140]
call fcn.004c938c
lea eax, [ebp - 0x248]
mov edx, dword [ebp + 8]
imul edx, dword [edx - 0x2ac], 0x97
add edx, 0xcd563c
call fcn.004054f0
lea eax, [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x11e]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x24c]
call fcn.0040a878
mov edx, dword [ebp - 0x24c]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x248]
lea eax, [ebp - 0x244]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0x244]
mov eax, dword [ebp + 8]
imul eax, dword [eax - 0x2ac], 0x97
add eax, 0xcd563c
mov cl, 0x96
call fcn.004032d0
cmp dword [ebp - 0x11e], 7
jne 0x5afcd0
mov eax, dword [ebp + 8]
mov byte [eax - 0x4c6], 1
lea edx, [ebp - 0x254]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x2ac]
call fcn.0040a78c
mov ecx, dword [ebp - 0x254]
lea eax, [ebp - 0x250]
mov edx, 0x5affa4
call fcn.00405598
mov eax, dword [ebp - 0x250]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x13a]
mov ecx, 0x14
mov edx, dword [ebp - 0x126]
call fcn.005ac594
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 4]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0x244]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
add eax, 0x1a
mov cl, 0x14
call fcn.004032d0
push dword [ebp - 4]
push 0x5affb8
lea edx, [ebp - 0x25c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x2ac]
call fcn.0040a78c
push dword [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp - 0x258]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x13a]
mov ecx, 0x14
mov edx, dword [ebp - 0x126]
call fcn.005ac6e0
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 8]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0x244]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
add eax, 0x2f
mov cl, 0x14
call fcn.004032d0
push 0
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x13a]
mov ecx, 8
mov edx, dword [ebp - 0x12e]
call fcn.005ac594
push 0x5affc8
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x13a]
mov ecx, 0x28
mov edx, dword [ebp - 0x12a]
call fcn.005ac594
mov edx, dword [ebp - 0x260]
lea eax, [ebp - 4]
call fcn.00405554
lea edx, [ebp - 0x264]
mov eax, dword [ebp - 4]
call fcn.0040a298
mov edx, dword [ebp - 0x264]
lea eax, [ebp - 4]
call fcn.00405324
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 4]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0x244]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
mov cl, 0x19
call fcn.004032d0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
mov dl, byte [ebp - 0x132]
mov byte [eax + 0xdf], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
mov dl, byte [ebp - 0x130]
mov byte [eax + 0xe1], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
mov byte [eax + 0xe0], 1
lea edx, [ebp - 0x26c]
xor eax, eax
mov al, byte [ebp - 0x131]
call fcn.0040a78c
mov ecx, dword [ebp - 0x26c]
lea eax, [ebp - 0x268]
mov edx, 0x5affdc
call fcn.00405598
mov edx, dword [ebp - 0x268]
lea eax, [ebp - 0x244]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0x244]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
add eax, 0x44
mov cl, 0x32
call fcn.004032d0
cmp byte [ebp - 0x12f], 0
je 0x5aff0a
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x29c]
add eax, 0x44
mov edx, 0x5affe0
mov cl, 0x32
call fcn.00403294
mov eax, 0x5afff4
call fcn.004c938c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5aff56
lea eax, [ebp - 0x26c]
mov edx, 0xa
call fcn.004052b0
lea eax, [ebp - 0x144]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 8]
mov edx, 2
call fcn.004052b0
ret