Function at 0x7450c4
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x78
push 0
push 0
dec ecx
jne 0x7450cc
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x7455fc
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x358]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0x358]
lea eax, [ebp - 0x354]
mov edx, 0x745610
call fcn.00405594
mov eax, dword [ebp - 0x354]
call fcn.004c6770
call fcn.0040d300
fstp qword [ebp - 0x18]
wait
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov edx, 0x745634
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0x360]
call fcn.0040a83c
mov ecx, dword [ebp - 0x360]
lea eax, [ebp - 0x35c]
mov edx, 0x745650
call fcn.00405594
mov eax, dword [ebp - 0x35c]
call fcn.00405748
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x7451c4
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x368]
call fcn.0040a928
mov ecx, dword [ebp - 0x368]
lea eax, [ebp - 0x364]
mov edx, 0x74566c
call fcn.00405594
mov edx, dword [ebp - 0x364]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x7455d6
lea eax, [ebp - 0x14a]
xor ecx, ecx
mov edx, 0x121
call fcn.00403450
lea eax, [ebp - 0x29]
xor ecx, ecx
mov edx, 0xd
call fcn.00403450
lea eax, [ebp - 0x34e]
xor ecx, ecx
mov edx, 0x204
call fcn.00403450
push 0
lea eax, [ebp - 0x10]
push eax
push 0x121
lea eax, [ebp - 0x14a]
push eax
push 0xd
lea eax, [ebp - 0x29]
push eax
push 0x2d1400
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x7453ec
mov eax, 0x745680
call fcn.004c6770
mov eax, dword [ebp + 8]
add eax, 0xffff0200
xor ecx, ecx
mov edx, 0xfe00
call fcn.00403450
mov eax, dword [ebp + 8]
lea edx, [eax - 0xfe00]
lea eax, [ebp - 0x14a]
mov ecx, 0x121
call fcn.00402a6c
mov eax, dword [ebp + 8]
push eax
mov dl, 1
xor eax, eax
call fcn.00744e18
pop ecx
push 0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x14a]
mov ecx, 8
mov edx, dword [ebp - 0x13e]
call fcn.00581a30
push 0x745690
lea eax, [ebp - 0x36c]
push eax
lea eax, [ebp - 0x14a]
mov ecx, 0x28
mov edx, dword [ebp - 0x13a]
call fcn.00581a30
mov edx, dword [ebp - 0x36c]
lea eax, [ebp - 8]
call fcn.00405550
lea edx, [ebp - 0x370]
mov eax, dword [ebp - 8]
call fcn.0040a348
mov edx, dword [ebp - 0x370]
lea eax, [ebp - 8]
call fcn.00405310
lea eax, [ebp - 0x374]
mov ecx, dword [ebp - 8]
mov edx, 0x7456a4
call fcn.00405594
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x37c]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0x37c]
lea eax, [ebp - 0x378]
mov edx, 0x7456b8
call fcn.00405594
mov eax, dword [ebp - 0x378]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x14a]
mov ecx, 0x14
mov edx, dword [ebp - 0x136]
call fcn.00581a30
lea eax, [ebp - 0x380]
mov ecx, dword [ebp - 8]
mov edx, 0x7456cc
call fcn.00405594
mov edx, dword [ebp - 0x380]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push dword [ebp - 8]
push 0x7456e0
lea edx, [ebp - 0x38c]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x38c]
lea eax, [ebp - 0x388]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x388]
push eax
lea eax, [ebp - 0x384]
push eax
lea eax, [ebp - 0x14a]
mov ecx, 0x14
mov edx, dword [ebp - 0x136]
call fcn.00581b7c
mov edx, dword [ebp - 0x384]
lea eax, [ebp - 8]
call fcn.00405310
lea eax, [ebp - 0x390]
mov ecx, dword [ebp - 8]
mov edx, 0x7456f0
call fcn.00405594
mov edx, dword [ebp - 0x390]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x74545b
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x398]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x398]
lea eax, [ebp - 0x394]
mov edx, 0x745704
call fcn.00405594
mov edx, dword [ebp - 0x394]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x3a0]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x3a0]
lea eax, [ebp - 0x39c]
mov edx, 0x745718
call fcn.00405594
mov eax, dword [ebp - 0x39c]
call fcn.004c6770
push 0
lea eax, [ebp - 0x10]
push eax
push 0x204
lea eax, [ebp - 0x34e]
push eax
push 0
push 0
push 0x2d1100
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x7454cd
mov eax, 0x74572c
call fcn.004c6770
mov eax, dword [ebp + 8]
add eax, 0xffff0200
xor ecx, ecx
mov edx, 0xfe00
call fcn.00403450
mov eax, dword [ebp + 8]
lea edx, [eax - 0xfe00]
lea eax, [ebp - 0x34e]
mov ecx, 0x204
call fcn.00402a6c
mov eax, dword [ebp + 8]
push eax
xor edx, edx
mov eax, 4
call fcn.00744e18
pop ecx
jmp 0x74553c
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x3a8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x3a8]
lea eax, [ebp - 0x3a4]
mov edx, 0x745740
call fcn.00405594
mov edx, dword [ebp - 0x3a4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x3b0]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x3b0]
lea eax, [ebp - 0x3ac]
mov edx, 0x745718
call fcn.00405594
mov eax, dword [ebp - 0x3ac]
call fcn.004c6770
mov eax, dword [ebp - 0xc]
call fcn.005aa59c
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x3b8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x3b8]
lea eax, [ebp - 0x3b4]
mov edx, 0x745754
call fcn.00405594
mov edx, dword [ebp - 0x3b4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x14]
push dword [ebp - 0x18]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x3c0]
call fcn.0040a928
mov ecx, dword [ebp - 0x3c0]
lea eax, [ebp - 0x3bc]
mov edx, 0x74576c
call fcn.00405594
mov edx, dword [ebp - 0x3bc]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xfe04]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x745603
lea eax, [ebp - 0x3c0]
mov edx, 0x1c
call fcn.0040529c
lea eax, [ebp - 8]
call fcn.00405278
ret