Function at 0x12dfb3c0
Capabilities:
Get disk information

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1305b72e
push eax
mov dword fs:[0], esp
sub esp, 0x430
push ebx
push esi
mov esi, dword [esp + 0x448]
xor ebx, ebx
cmp esi, ebx
jne 0x12dfb3f1
xor eax, eax
jmp 0x12dfba13
mov eax, dword [0x13199068]
cmp eax, ebx
je 0x12dfb41c
mov eax, dword [0x131a8c64]
mov ecx, dword [0x131a8c60]
push esi
push eax
push ecx
push str.Filter_WinUsb_Initialize__________g_bhaveCheck:_d___g_bEnablehaveCheck:_d___DeviceHandle:_08x_
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
push esi
mov ecx, 0x13190f80
call fcn.12d81f90
cmp dword [0x131a8c60], ebx
je 0x12dfb43b
cmp dword [0x131a8c64], ebx
jne 0x12dfba0e
push ebp
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x32]
mov word [esp + 0x30], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x13199068]
mov dword [0x131a8c68], ebx
cmp eax, ebx
je 0x12dfb475
push esi
push str.filter_winusbinit1__handle_:__08x_
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
lea edx, [esp + 0x30]
push 0x104
push edx
push esi
call fcn.12e7baa0
add esp, 0xc
test eax, eax
je 0x12dfb9e9
cmp dword [0x13199068], ebx
je 0x12dfb4b1
lea eax, [esp + 0x30]
push eax
push str.filter_winusbinit__s
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
mov ebp, 0x2000
mov dword [esp + 0x18], ebx
lea esi, [ebp + ebp + 4]
push esi
call fcn.12f5c05b
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x12dfb523
mov ecx, esi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebp
and ecx, 3
push ebx
rep stosb byte es:[edi], al
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
ja 0x12dfb523
push ebx
call fcn.12f5c050
add esp, 4
mov dword [esp + 0x20], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x12dfb51f
mov eax, dword [esp + 0x18]
shl ebp, 1
inc eax
cmp eax, 4
mov dword [esp + 0x18], eax
jl 0x12dfb4ba
mov ebx, dword [esp + 0x20]
mov eax, dword [0x13199068]
test eax, eax
je 0x12dfb549
push ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push str._08x__08x
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x18
test ebx, ebx
je 0x12dfb9e9
xor ebp, ebp
mov esi, ebx
cmp word [ebx], bp
je 0x12dfb9e0
cmp dword [0x13199068], ebp
je 0x12dfb57b
push esi
push str.QueryDosDeviceW__s
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
push 4
push str.USB
push esi
call fcn.12f5e383
add esp, 0xc
test eax, eax
jne 0x12dfb601
mov ecx, 0x81
lea edi, [esp + 0x23a]
mov word [esp + 0x238], bp
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x23c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x12dfb601
cmp dword [0x13199068], ebp
je 0x12dfb5e3
lea ecx, [esp + 0x238]
push ecx
push str.winusb_device__s
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
lea edx, [esp + 0x30]
push 0x104
lea eax, [esp + 0x23c]
push edx
push eax
call fcn.12f5e383
add esp, 0xc
test eax, eax
je 0x12dfb61c
push esi
call fcn.12f5c51d
lea esi, [esi + eax*2 + 2]
add esp, 4
cmp word [esi], bp
je 0x12dfb9e0
jmp 0x12dfb55e
push 0x23
push esi
call fcn.12f5c984
sub eax, esi
add esp, 8
sar eax, 1
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.12f41aa0
push 0x5c
push 0x23
lea ecx, [esp + 0x18]
mov dword [esp + 0x450], ebp
call fcn.12f43ca0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x1c]
push ecx
push str.SYSTEMCurrentControlSetEnum_
push edx
call fcn.12f42890
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x44c], 1
call fcn.12f420f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x448], 0
call fcn.12f41f70
cmp dword [0x13199068], ebp
je 0x12dfb6c7
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
call fcn.12f469f0
mov ecx, dword [eax]
mov byte [esp + 0x448], 2
push ecx
push str.winusb_device_name__s
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x448], 0
call fcn.12f472f0
lea ecx, [esp + 0x28]
call fcn.12f56d80
mov edx, dword [esp + 0x10]
push 0x20019
push edx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x34]
mov byte [esp + 0x454], 3
call fcn.12f56ef0
test eax, eax
je 0x12dfb96e
lea eax, [esp + 0x18]
push str.DeviceDesc
push eax
lea ecx, [esp + 0x30]
call fcn.12f578f0
lea ecx, [esp + 0x14]
push str.ClassGUID
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x450], 4
call fcn.12f578f0
lea ecx, [esp + 0x28]
mov byte [esp + 0x448], 5
call fcn.12f56f40
cmp dword [0x13199068], ebp
je 0x12dfb75d
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
push str.winusb_device_strClassGUID___s__Desc___s_
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
mov ecx, dword [esp + 0x18]
mov esi, 1
cmp dword [ecx - 8], ebp
je 0x12dfb78a
push str.ADB_Device
lea ecx, [esp + 0x1c]
mov dword [0x131a8c60], esi
call fcn.12f4bf10
cmp eax, 0xffffffff
je 0x12dfb78a
mov dword [0x131a8c68], esi
cmp dword [0x13199068], ebp
je 0x12dfb7b3
mov edx, dword [0x131a8c68]
mov eax, dword [0x131a8c60]
push edx
push eax
push str.winusb_device___d____d_
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
cmp dword [0x131a8c68], ebp
jne 0x12dfb921
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 8], ebp
je 0x12dfb921
push str.SYSTEMCurrentControlSetControlClass_
lea ecx, [esp + 0x20]
call fcn.12f469f0
lea edx, [esp + 0x14]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x28]
mov bl, 6
push eax
push ecx
mov byte [esp + 0x454], bl
call fcn.12f47890
mov eax, dword [eax]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0x44c], 7
call fcn.12f422b0
lea ecx, [esp + 0x24]
mov byte [esp + 0x448], bl
call fcn.12f472f0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x448], 5
call fcn.12f472f0
mov eax, dword [0x13199068]
test eax, eax
je 0x12dfb873
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push edx
call fcn.12f469f0
mov eax, dword [eax]
mov byte [esp + 0x448], 8
push eax
push str.winusb_device_Class_path__s
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
lea ecx, [esp + 0x24]
mov byte [esp + 0x448], 5
call fcn.12f472f0
mov ecx, dword [esp + 0x10]
push 0x20019
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x34]
call fcn.12f56ef0
test eax, eax
je 0x12dfb995
lea edx, [esp + 0x24]
push str.Class
push edx
lea ecx, [esp + 0x30]
call fcn.12f578f0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x44c], 9
call fcn.12f47480
lea ecx, [esp + 0x24]
mov byte [esp + 0x448], 5
call fcn.12f472f0
lea ecx, [esp + 0x28]
call fcn.12f56f40
mov eax, dword [0x13199068]
test eax, eax
je 0x12dfb8f4
mov eax, dword [esp + 0x14]
push eax
push str.winusb_device_strClass__s
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x12dfb905
mov dword [0x131a8c60], esi
push str.AndroidUsbDeviceClass
push eax
call fcn.12f5e2a4
add esp, 8
test eax, eax
jne 0x12dfb91d
mov dword [0x131a8c68], esi
mov ebx, dword [esp + 0x20]
mov eax, dword [0x13199068]
test eax, eax
je 0x12dfb94c
mov ecx, dword [0x131a8c68]
mov edx, dword [0x131a8c60]
push ecx
push edx
push str.winusb_device___d____d_
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x14
lea ecx, [esp + 0x14]
mov byte [esp + 0x448], 4
call fcn.12f472f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x448], 3
call fcn.12f472f0
lea ecx, [esp + 0x28]
mov byte [esp + 0x448], 0
call fcn.12f56e70
lea ecx, [esp + 0x10]
mov dword [esp + 0x448], 0xffffffff
call fcn.12f41f70
jmp 0x12dfb9e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x448], 4
call fcn.12f472f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x448], 3
call fcn.12f472f0
lea ecx, [esp + 0x28]
mov byte [esp + 0x448], 0
call fcn.12f56e70
lea ecx, [esp + 0x10]
mov dword [esp + 0x448], 0xffffffff
call fcn.12f41f70
mov ebx, dword [esp + 0x20]
push ebx
call fcn.12f5c050
add esp, 4
mov eax, dword [0x13199068]
pop edi
test eax, eax
pop ebp
je 0x12dfba0e
mov eax, dword [0x131a8c68]
push eax
push str.winusb_device__g_bWPD:__d_
push str.winusb
push 0xffffffffffffffff
call fcn.12dad750
add esp, 0x10
call fcn.12dfbc30
mov ecx, dword [esp + 0x438]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x43c
ret 8