Function at 0x41f10f
Capabilities:
Get disk information via ioctl

Disassembly:
push 0x54
mov eax, 0x448823
call fcn.0043bc61
mov dword [ebp - 0x54], edx
xor esi, esi
mov dword [ebp - 4], esi
call fcn.00420a74
mov ebx, eax
mov dword [ebp - 0x5c], ebx
cmp ebx, 0xffffffff
je 0x4520b3
mov edi, esi
test edi, edi
js 0x41f2ec
mov dword [ebp - 0x3c], esi
lea edx, [ebp - 0x3c]
mov ecx, ebx
call fcn.0041f4a7
test eax, eax
js 0x452168
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.DEVOBJ.dll_DevObjCreateDeviceInfoList]
mov esi, eax
mov dword [ebp - 0x58], esi
cmp esi, 0xffffffff
je 0x4520d1
xor edi, edi
test edi, edi
js 0x41f2ce
xor edi, edi
push edi
push edi
push 0x12
push edi
push 0x408f44
push esi
call dword [sym.imp.DEVOBJ.dll_DevObjGetClassDevs]
test eax, eax
je 0x452141
mov eax, edi
mov dword [ebp - 0x50], edi
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x1c
push ecx
push eax
push 0x408f44
push edi
push esi
call dword [sym.imp.DEVOBJ.dll_DevObjEnumDeviceInterfaces]
test eax, eax
je 0x41f2a7
mov dword [ebp - 0x44], edi
lea eax, [ebp - 0x44]
mov edx, esi
push eax
lea ecx, [ebp - 0x38]
call fcn.0041f3df
mov esi, dword [ebp - 0x44]
mov edi, eax
test edi, edi
js 0x41f27d
xor edi, edi
mov byte [ebp - 4], 4
push edi
push edi
push 3
push edi
push 1
lea eax, [esi + 4]
push edi
push eax
call dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_CreateFileW]
mov ecx, eax
mov dword [ebp - 0x40], ecx
cmp ecx, 0xffffffff
je 0x4520f9
test edi, edi
js 0x41f26a
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x60]
xor edi, edi
push edi
push eax
push 0xc
lea eax, [ebp - 0x1c]
push eax
push edi
push edi
push 0x2d1080
push ecx
call dword [sym.imp.api_ms_win_core_io_l1_1_0.dll_DeviceIoControl]
test eax, eax
je 0x45211a
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x48], ecx
lea edx, [eax + 8]
mov dword [ebp - 0x4c], edx
cmp ecx, dword [eax]
jae 0x41f26a
mov ecx, dword [edx]
cmp ecx, dword [ebp - 0x18]
jne 0x41f259
mov ecx, dword [ebp - 0x54]
lea eax, [esi + 4]
push eax
call fcn.0041efb6
mov edx, dword [ebp - 0x4c]
mov edi, eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
add edx, 0x18
inc ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], ecx
test edi, edi
jns 0x41f23a
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x41f27d
cmp eax, 0xffffffff
je 0x41f27d
push eax
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov byte [ebp - 4], 5
push esi
mov esi, dword [0x402f60]
mov ecx, esi
call dword [0x4a3670]
call esi
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
test edi, edi
js 0x41f2ce
xor edi, edi
jmp 0x41f198
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x41f2be
movzx edi, di
or edi, 0x80070000
test edi, edi
jns 0x4520ef
cmp edi, 0x80070103
jne 0x41f295
xor edi, edi
push esi
call dword [sym.imp.DEVOBJ.dll_DevObjDestroyDeviceInfoList]
mov byte [ebp - 4], 6
push dword [ebp - 0x3c]
mov esi, dword [0x402f60]
mov ecx, esi
call dword [0x4a3670]
call esi
test ebx, ebx
je 0x41f2fc
cmp ebx, 0xffffffff
je 0x41f2fc
push ebx
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov eax, edi
call fcn.0043bc10
ret
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x41f13a
movzx edi, di
or edi, 0x80070000
jmp 0x41f138
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x41f172
movzx edi, di
or edi, 0x80070000
jmp 0x41f170
mov edi, 0x80004005
jmp 0x41f295
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [ebp - 0x40]
mov edi, eax
test edi, edi
jle 0x41f1ff
movzx edi, di
or edi, 0x80070000
jmp 0x41f1fd
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x452131
movzx edi, di
or edi, 0x80070000
test edi, edi
js 0x41f26a
mov edi, 0x80004005
jmp 0x41f26a
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x452158
movzx edi, di
or edi, 0x80070000
test edi, edi
js 0x41f2ce
mov edi, 0x80004005
jmp 0x41f2ce
mov edi, esi
jmp 0x41f2d5