Function at 0x413d40
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x616780]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push 0x1030
mov dword [ebp - 0x208], esi
call fcn.0057d953
mov ebx, eax
add esp, 4
mov dword [ebp - 0x218], ebx
test ebx, ebx
je 0x413dfe
push 0x1024
lea eax, [ebx + 0xc]
push 0
push eax
call fcn.00579c10
add esp, 0xc
mov dword [ebx + 0x18], 0x28
lea eax, [ebp - 0x20c]
mov dword [ebx + 8], 3
mov dword [ebx + 0xc], 2
mov dword [ebx + 0x10], 2
push 0
push eax
push 0x1030
push ebx
push 0x1030
push ebx
push 0x2d1400
push dword [esi]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x1c], 0x1000
mov dword [ebx], 0x31
mov dword [ebx + 4], 0
mov dword [ebp - 0x20c], 0
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x413e10
push ebx
call fcn.0057d4a3
add esp, 4
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057837f
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x18]
add esi, 8
push edi
add esi, ebx
je 0x413e2a
mov ecx, 0x80
lea edi, [ebp - 0x204]
rep movsd dword es:[edi], dword [esi]
jmp 0x413e50
push 0x200
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.00579c10
add esp, 0xc
call fcn.0057d8c8
mov dword [eax], 0x16
call fcn.0057d7ca
mov esi, dword [ebp - 0x208]
push 0x400
push 0
lea eax, [esi + 0xe40]
mov dword [esi + 0xe3c], 0x400
push eax
call fcn.00579c10
movzx edi, byte [ebp - 0x202]
movzx eax, byte [ebp - 0x203]
movzx ebx, byte [ebp - 0x182]
movzx edx, byte [ebp - 0x184]
mov ecx, ebx
shl edi, 8
add edi, eax
shl ecx, 0x10
add ecx, edx
mov dword [ebp - 0x214], edx
mov dword [esi + 0x1fc], 1
lea eax, [edi - 0x111]
mov dword [esi + 0x208], eax
movzx eax, byte [ebp - 0x183]
mov dword [ebp - 0x210], eax
imul eax, eax, 0x1000100
add eax, ecx
movzx ecx, byte [ebp - 0x204]
mov dword [esi + 0x20c], eax
mov eax, ecx
cdq
mov esi, 0x64
push edx
push eax
push 0x63
mov eax, esi
sub eax, ecx
push eax
push 1
push 0
push dword [ebp - 0x208]
call fcn.00413c90
push 0
push edi
mov edi, dword [ebp - 0x208]
push 0
sub esi, dword [edi + 0x208]
push esi
push 2
push 1
push edi
call fcn.00413c90
movzx ecx, byte [ebp - 0x201]
add esp, 0x44
mov eax, ecx
cdq
push edx
push eax
movzx eax, byte [ebp - 0x200]
push eax
push ecx
push 3
push 2
push edi
call fcn.00413c90
movzx ecx, byte [ebp - 0x1ff]
mov eax, ecx
cdq
push edx
push eax
push 0
mov eax, 0xff
sub eax, ecx
push eax
push 4
push 3
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x1e1]
movzx ecx, byte [ebp - 0x1e2]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1e3]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1e4]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 5
push 4
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x1d1]
add esp, 0x54
movzx ecx, byte [ebp - 0x1d2]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1d3]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1d4]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 6
push 5
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0x1c2]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1c3]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1c4]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 7
push 6
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x1b1]
movzx ecx, byte [ebp - 0x1b2]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1b3]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1b4]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 8
push 7
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x1a1]
add esp, 0x54
movzx ecx, byte [ebp - 0x1a2]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1a3]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x1a4]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 9
push 8
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x191]
movzx ecx, byte [ebp - 0x192]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x193]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x194]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0xa
push 9
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x181]
shl eax, 8
add eax, ebx
shl eax, 8
add eax, dword [ebp - 0x210]
shl eax, 8
add eax, dword [ebp - 0x214]
cdq
push edx
push eax
push 0
push 0
push 0xb
push 0xa
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x171]
add esp, 0x54
movzx ecx, byte [ebp - 0x172]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x173]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x174]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0xc
push 0xb
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x161]
movzx ecx, byte [ebp - 0x162]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x163]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x164]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0xd
push 0xc
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp - 0x152]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x153]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x154]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0xe
push 0xd
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x141]
add esp, 0x54
movzx ecx, byte [ebp - 0x142]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x143]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x144]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0xf
push 0xe
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x13d]
movzx ecx, byte [ebp - 0x13e]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x13f]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x140]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0x10
push 0xf
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x129]
movzx ecx, byte [ebp - 0x12a]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x12b]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x12c]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0x11
push 0x10
push edi
call fcn.00413c90
add esp, 0x54
movzx eax, byte [ebp - 0x121]
movzx ecx, byte [ebp - 0x122]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x123]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x124]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0x12
push 0x11
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x125]
movzx ecx, byte [ebp - 0x126]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x127]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x128]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0x13
push 0x12
push edi
call fcn.00413c90
movzx eax, byte [ebp - 0x11d]
movzx ecx, byte [ebp - 0x11e]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x11f]
shl eax, 8
add eax, ecx
movzx ecx, byte [ebp - 0x120]
shl eax, 8
add eax, ecx
cdq
push edx
push eax
push 0
push 0
push 0x14
push 0x13
push edi
call fcn.00413c90
add esp, 0x54
push dword [ebp - 0x218]
call fcn.0057d4a3
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
mov al, 1
pop edi
pop esi
pop ebx
call fcn.0057837f
mov esp, ebp
pop ebp
ret