Function at 0x43a89f
Capabilities:
Get storage device properties

Disassembly:
push ebp
sub esp, 0xd0c
lea ebp, [esp - 4]
mov eax, dword [0x498030]
xor eax, ebp
mov dword [ebp + 0xd0c], eax
push 0x54
mov eax, 0x442c37
call fcn.0043e348
mov eax, dword [ebp + 0xd18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xd1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xd20]
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0xd], bl
mov dword [ebp - 0x14], ebx
mov edi, 0xff
cmp byte [ebp - 0xd], bl
jne 0x43aad5
push 0x200
lea eax, [ebp + 0x80c]
push ebx
push eax
call fcn.0043e190
push dword [ebp - 0x14]
lea eax, [ebp + 0x80c]
push 0x488dcc
push 0xffffffffffffffff
push edi
push eax
call dword [0x4483fc]
add esp, 0x20
push ebx
push ebx
push 3
push ebx
push 3
push ebx
lea eax, [ebp + 0x80c]
push eax
call dword [fcn.00448090]
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x43aac8
push 0xc
lea eax, [ebp]
push ebx
push eax
mov dword [ebp - 0x20], ebx
call fcn.0043e190
mov esi, 0x800
push esi
lea eax, [ebp + 0xc]
push ebx
push eax
mov dword [ebp], ebx
mov dword [ebp + 4], ebx
call fcn.0043e190
add esp, 0x18
push ebx
lea eax, [ebp - 0x20]
push eax
push esi
lea eax, [ebp + 0xc]
push eax
push 0xc
lea eax, [ebp]
push eax
push 0x2d1400
push dword [ebp - 0x18]
call dword [fcn.004480fc]
test eax, eax
je 0x43aab9
push edi
lea eax, [ebp + 0xc0d]
push ebx
push eax
mov byte [ebp + 0xc0c], bl
call fcn.0043e190
push edi
lea eax, [ebp + 0xb0d]
push ebx
push eax
mov byte [ebp + 0xb0c], bl
call fcn.0043e190
push edi
lea eax, [ebp + 0xa0d]
push ebx
push eax
mov byte [ebp + 0xa0c], bl
call fcn.0043e190
mov eax, dword [ebp + 0x1c]
push ebx
lea esi, [ebp + 0xb0c]
lea ecx, [ebp + 0xc]
call fcn.0043a316
mov eax, dword [ebp + 0x20]
push ebx
lea esi, [ebp + 0xa0c]
lea ecx, [ebp + 0xc]
call fcn.0043a316
mov eax, dword [ebp + 0x24]
push 1
lea esi, [ebp + 0xc0c]
lea ecx, [ebp + 0xc]
call fcn.0043a316
movsx eax, byte [ebp + 0xc0c]
mov esi, dword [fcn.004483d8]
push eax
call esi
add esp, 0x34
test eax, eax
jne 0x43aa2d
movsx eax, byte [ebp + 0xc1f]
push eax
call esi
test eax, eax
pop ecx
je 0x43aabf
lea eax, [ebp + 0xc0c]
push eax
lea ecx, [ebp - 0x44]
call dword [fcn.0044829c]
mov ecx, dword [ebp - 0x28]
push eax
mov dword [ebp - 4], ebx
call dword [fcn.004482c8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call dword [fcn.00448298]
lea eax, [ebp + 0xb0c]
push eax
lea ecx, [ebp - 0x44]
call dword [fcn.0044829c]
mov ecx, dword [ebp - 0x24]
push eax
mov dword [ebp - 4], 1
call dword [fcn.004482c8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call dword [fcn.00448298]
lea eax, [ebp + 0xa0c]
push eax
lea ecx, [ebp - 0x60]
call dword [fcn.0044829c]
mov ecx, dword [ebp - 0x1c]
push eax
mov dword [ebp - 4], 2
call dword [fcn.004482c8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call dword [fcn.00448298]
mov byte [ebp - 0xd], 1
jmp 0x43aabf
call dword [fcn.004481e0]
push dword [ebp - 0x18]
call dword [fcn.004481b8]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x10
jl 0x43a8eb
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xd0c]
xor ecx, ebp
call fcn.0043de0c
add ebp, 0xd10
leave
ret