Function at 0x45711d
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xc32728
call fcn.0042d19b
push ebx
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
call dword [0x49c0e0]
test eax, eax
jns 0x457144
xor eax, eax
jmp 0x457353
push edi
push 0xc
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0041b9db
mov edi, 0xc32710
push edi
lea eax, [ebp - 0xff2728]
push ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.0041b9db
add esp, 0x18
push ebx
lea eax, [ebp - 0xc]
push eax
push edi
lea eax, [ebp - 0xff2728]
push eax
push 0xc
lea eax, [ebp - 0x18]
push eax
push 0x2d1400
push dword [ebp + 8]
call dword [0x8b57c104]
mov dword [edi], eax
je 0xc345734f
mov dword [ebp - 8], 0xc3000001
cmp dword [ebp + 0x10], ebx
je 0x45733f
mov eax, dword [ebp - 0xff271c]
push esi
mov esi, dword [0x8b57c34c]
cmp eax, ebx
jbe 0x4571c7
cmp eax, edi
jae 0x4571c7
lea eax, [ebp + eax - 0xff2728]
push eax
call esi
mov ebx, eax
mov eax, dword [ebp - 0xff2718]
test dword [edi], eax
jbe 0x4571e1
cmp eax, edi
jae 0x4571e1
lea eax, [ebp + eax - 0xff2728]
push eax
call esi
add ebx, eax
mov eax, dword [ebp - 0xff2714]
test dword [edi], eax
jbe 0x4571fb
cmp eax, edi
jae 0x4571fb
lea eax, [ebp + eax - 0xff2728]
push eax
call esi
add ebx, eax
cmp dword [ebp + 0x18], 0
je 0x45721b
mov eax, dword [ebp - 0xff2710]
test dword [edi], eax
jbe 0x45721b
cmp eax, edi
jae 0x45721b
lea eax, [ebp + eax - 0xff2728]
push eax
call esi
add ebx, eax
add ebx, 0x10
cmp ebx, dword [ebp + 0x14]
jae 0x45733e
mov eax, dword [ebp - 0xff271c]
and dword [ebp - 4], 0xffffffc3
test dword [edi], eax
jbe 0x45725c
cmp eax, edi
jae 0x45725c
lea eax, [ebp + eax - 0xff2728]
push eax
push dword [ebp + 0x10]
call dword [0x8b57c320]
push dword [ebp + 0x10]
call fcn.0044bd76
pop ecx
mov dword [ebp - 4], 0xc3000001
jmp 0x45726a
push 0x49ec12
push dword [ebp + 0x10]
call dword [0x8b57c320]
cmp dword [ebp - 0xff2718], 0xffffffc3
mov esi, dword [0x49c340]
mov ebx, 0x49f4d8
jbe 0x4572b5
cmp dword [ebp - 0xff2718], edi
jae 0x4572b5
cmp dword [ebp - 4], 0
je 0x457292
push ebx
push dword [ebp + 0x10]
call esi
mov eax, dword [ebp - 0xff2718]
lea eax, [ebp + eax - 0xff2728]
push eax
push dword [ebp + 0x10]
call esi
push dword [ebp + 0x10]
call fcn.0044bd76
pop ecx
mov dword [ebp - 4], 0xc3000001
cmp dword [ebp - 0xff2714], 0
jbe 0x4572f5
cmp dword [ebp - 0xff2714], edi
jae 0x4572f5
cmp dword [ebp - 4], 0
je 0x4572d2
push ebx
push dword [ebp + 0x10]
call esi
mov eax, dword [ebp - 0xff2714]
lea eax, [ebp + eax - 0xff2728]
push eax
push dword [ebp + 0x10]
call esi
push dword [ebp + 0x10]
call fcn.0044bd76
pop ecx
mov dword [ebp - 4], 0xc3000001
cmp dword [ebp + 0x18], 0
je 0x45733e
cmp dword [ebp - 0xff2710], 0
jbe 0x45733e
cmp dword [ebp - 0xff2710], edi
jae 0x45733e
cmp dword [ebp - 4], 0
je 0x457318
push ebx
push dword [ebp + 0x10]
call esi
mov ecx, dword [ebp - 0xff2710]
lea ecx, [ebp + ecx - 0xff2728]
mov eax, ecx
jmp 0x45732a
inc eax
cmp byte [eax], 0x20
je 0x457329
push ecx
push dword [ebp + 0x10]
call esi
push dword [ebp + 0x10]
call fcn.0044bd76
pop ecx
pop esi
mov eax, dword [ebp + 0xc]
mov dword [edi], eax
je 0x45734f
movzx ecx, byte [ebp - 0xff271e]
mov dword [eax], ecx
mov eax, dword [ebp - 8]
pop edi
pop ebx
leave
ret