Function at 0x10003ade
Capabilities:
Get disk information

Disassembly:
push 0x3a8
mov eax, 0x10044606
call fcn.1002a6aa
mov eax, dword [ebp + 8]
and dword [ebp - 0x2b0], 0
push 6
pop edx
lea ebx, [ebp - 0x34c]
mov dword [ebp - 0x2d0], eax
call fcn.1001a608
lea eax, [ebp - 0x378]
push eax
mov dword [ebp - 4], 1
call fcn.100236e6
pop ecx
lea eax, [ebp - 0x330]
push eax
mov byte [ebp - 4], 2
call fcn.10001be2
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x360]
mov ecx, dword [eax]
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [ebp - 0x378]
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x2cc], ecx
mov eax, dword [ebp - 0x2bc]
xor ebx, ebx
cmp eax, ebx
je 0x10003b6d
cmp eax, dword [ebp - 0x2cc]
je 0x10003b72
call fcn.100299cf
mov eax, dword [ebp - 0x2c8]
cmp dword [ebp - 0x2b8], eax
je 0x10003f13
lea esi, [ebp - 0x2bc]
call fcn.1000e803
movzx eax, byte [eax]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.100031a1
push ebx
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 4
mov dword [ebp - 0x2c4], 1
call fcn.1000b192
add esp, 0xc
test eax, eax
je 0x10003bca
mov dword [ebp - 0x2c4], 0x10000001
push ebx
push ebx
lea eax, [ebp - 0x2ec]
call fcn.1001b5c1
sub esp, 0x18
mov byte [ebp - 4], 7
lea edx, [ebp - 0x234]
mov esi, esp
mov dword [ebp - 0x2b4], esp
call fcn.1001a754
lea eax, [ebp - 0x2ec]
push eax
mov edx, str.unique
mov byte [ebp - 4], 8
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 7
call fcn.1001a9a7
lea esi, [ebp - 0x2bc]
call fcn.1000e803
movsx eax, byte [eax]
push eax
push 0x10048eb0
lea esi, [ebp - 0x270]
call fcn.100141ea
sub esp, 0x10
mov byte [ebp - 4], 9
mov edx, eax
mov esi, esp
mov dword [ebp - 0x2b4], esp
call fcn.1001a754
lea eax, [ebp - 0x2ec]
push eax
mov edx, str.letter
mov byte [ebp - 4], 0xa
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 9
call fcn.1001a9a7
push ebx
push 1
lea ecx, [ebp - 0x270]
call fcn.10001d94
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2b4], esp
push dword [ebp - 0x2c4]
call fcn.1001a675
lea eax, [ebp - 0x2ec]
push eax
mov edx, str.state
mov byte [ebp - 4], 0xb
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 7
call fcn.1001a9a7
lea esi, [ebp - 0x2bc]
call fcn.1000e803
movsx ax, byte [eax]
movzx eax, ax
push eax
push 0x10048ebc
lea ecx, [ebp - 0x254]
call fcn.1001418c
xor eax, eax
mov esi, 0xfe
mov byte [ebp - 4], 0xc
push esi
mov word [ebp - 0x114], ax
lea eax, [ebp - 0x112]
push ebx
push eax
call fcn.1002bdc0
add esp, 0x14
xor eax, eax
push esi
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x212]
push ebx
push eax
call fcn.1002bdc0
mov ecx, dword [ebp - 0x250]
add esp, 0xc
cmp dword [ebp - 0x23c], 8
jae 0x10003d1f
lea ecx, [ebp - 0x250]
mov eax, 0x80
push eax
lea edx, [ebp - 0x214]
push edx
push ebx
push ebx
push ebx
push eax
lea eax, [ebp - 0x114]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je 0x10003da1
cmp word [ebp - 0x114], bx
je 0x10003da1
lea eax, [ebp - 0x114]
push eax
lea esi, [ebp - 0x28c]
call fcn.10001b24
mov eax, esi
push eax
lea eax, [ebp - 0x270]
push eax
mov byte [ebp - 4], 0xd
call fcn.1000303a
sub esp, 0x10
mov byte [ebp - 4], 0xe
mov edx, eax
mov esi, esp
mov dword [ebp - 0x2b4], esp
call fcn.1001a754
lea eax, [ebp - 0x2ec]
push eax
mov edx, str.label
mov byte [ebp - 4], 0xf
call fcn.1001b85f
mov byte [ebp - 4], 0xe
jmp 0x10003df3
push 0x10048ed0
lea esi, [ebp - 0x28c]
call fcn.10001b24
mov eax, esi
push eax
lea eax, [ebp - 0x270]
push eax
mov byte [ebp - 4], 0x10
call fcn.1000303a
sub esp, 0x10
mov byte [ebp - 4], 0x11
mov edx, eax
mov esi, esp
mov dword [ebp - 0x2b4], esp
call fcn.1001a754
lea eax, [ebp - 0x2ec]
push eax
mov edx, str.label
mov byte [ebp - 4], 0x12
call fcn.1001b85f
mov byte [ebp - 4], 0x11
mov edi, eax
call fcn.1001a9a7
push ebx
push 1
lea ecx, [ebp - 0x270]
call fcn.10001d94
push ebx
push 1
lea esi, [ebp - 0x28c]
mov byte [ebp - 4], 0xc
call fcn.10001e8c
lea esi, [ebp - 0x2bc]
mov byte [ebp - 0x2a9], bl
mov byte [ebp - 0x2bd], bl
call fcn.1000e803
movzx eax, byte [eax]
lea ecx, [ebp - 0x2bd]
push ecx
push eax
lea ecx, [ebp - 0x2a9]
call fcn.1002417b
test al, al
je 0x10003e75
movzx eax, byte [ebp - 0x2a9]
neg eax
sbb eax, eax
sub esp, 0x18
and eax, 0x1000
or eax, 1
mov esi, esp
mov dword [ebp - 0x2b4], esp
push eax
call fcn.1001a675
mov byte [ebp - 4], 0x13
jmp 0x10003e8a
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2b4], esp
push ebx
call fcn.1001a675
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x2ec]
push eax
mov edx, str.encryption
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 0xc
call fcn.1001a9a7
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.1001b8b4
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x330]
push eax
lea ebx, [ebp - 0x358]
call fcn.10002e01
push 0
push 1
lea esi, [ebp - 0x254]
call fcn.10001e8c
lea esi, [ebp - 0x2ec]
mov byte [ebp - 4], 4
call fcn.1001a924
push 0
push 1
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 3
call fcn.10001d94
lea esi, [ebp - 0x2bc]
call fcn.100053ec
jmp 0x10003b59
lea eax, [ebp - 0x398]
push eax
mov ecx, str.Softwareprojonepodlpusbmgr_recents_
call fcn.10003082
pop ecx
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x380]
mov edx, dword [ebp - 0x398]
mov ecx, dword [eax]
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2c8], eax
jmp 0x100043ce
lea esi, [ebp - 0x2bc]
call fcn.1000e803
push eax
lea eax, [ebp - 0x2a8]
push eax
call fcn.1000303a
pop ecx
pop ecx
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x294], 8
jne 0x10003fdf
call fcn.1000e803
push eax
lea eax, [ebp - 0x270]
push eax
call fcn.1000303a
pop ecx
pop ecx
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x318]
or dword [ebp - 0x2b0], 1
push eax
mov dword [ebp - 0x2f0], ecx
mov ecx, dword [ebp - 0x330]
lea eax, [ebp - 0x354]
push eax
lea ebx, [ebp - 0x330]
mov dword [ebp - 0x2f4], ecx
call fcn.1000521c
lea edi, [ebp - 0x2f4]
mov esi, eax
call fcn.10015150
xor ebx, ebx
mov byte [ebp - 0x2a9], 1
test al, al
jne 0x10003fe5
mov byte [ebp - 0x2a9], bl
mov dword [ebp - 4], 0x16
test byte [ebp - 0x2b0], 1
je 0x1000400a
and dword [ebp - 0x2b0], 0xfffffffe
push ebx
push 1
lea ecx, [ebp - 0x270]
call fcn.10001d94
cmp byte [ebp - 0x2a9], bl
je 0x100043b1
lea esi, [ebp - 0x2bc]
call fcn.1000e803
cmp dword [eax + 0x18], 8
jb 0x1000402c
mov eax, dword [eax + 4]
jmp 0x1000402f
add eax, 4
lea ecx, [ebp - 0x270]
push ecx
mov edx, eax
mov ecx, str.Softwareprojonepodlpusbmgr_recents_
call fcn.10014437
pop ecx
push ebx
push ebx
lea eax, [ebp - 0x254]
call fcn.1001b5c1
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x310]
push eax
mov byte [ebp - 4], 0x1b
call fcn.1000303a
lea ecx, [ebp - 0x254]
push ecx
mov byte [ebp - 4], 0x1c
or dword [ebp - 0x2b0], 2
mov ecx, eax
call fcn.10001203
add esp, 0xc
test al, al
je 0x10004097
cmp byte [ebp - 0x24c], 7
mov byte [ebp - 0x2a9], 1
je 0x1000409d
mov byte [ebp - 0x2a9], bl
mov dword [ebp - 4], 0x1b
test byte [ebp - 0x2b0], 2
je 0x100040c2
and dword [ebp - 0x2b0], 0xfffffffd
push ebx
push 1
lea ecx, [ebp - 0x310]
call fcn.10001d94
cmp byte [ebp - 0x2a9], bl
je 0x10004394
push str.label
lea ecx, [ebp - 0x3b4]
call fcn.10001ad2
sub esp, 0x1c
mov byte [ebp - 4], 0x1d
mov ecx, esp
mov dword [ebp - 0x2b4], esp
push 0x10048cb8
call fcn.10001ad2
lea eax, [ebp - 0x3b4]
push eax
lea esi, [ebp - 0x254]
lea ebx, [ebp - 0x28c]
call fcn.10003143
add esp, 0x20
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x1f
call fcn.10001d94
push str.action
lea ecx, [ebp - 0x310]
call fcn.10001ad2
lea eax, [ebp - 0x310]
push edi
push eax
mov eax, esi
mov byte [ebp - 4], 0x20
call fcn.1000310c
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp - 0x310]
mov esi, eax
mov byte [ebp - 4], 0x1f
call fcn.10001d94
cmp esi, edi
jne 0x1000416a
mov eax, 0x2000
jmp 0x10004190
cmp esi, 2
jne 0x10004176
mov eax, 0x4000
jmp 0x10004190
cmp esi, 1
jne 0x10004182
mov eax, 0x8000
jmp 0x10004190
cmp esi, 3
jne 0x1000418e
mov eax, 0x10000
jmp 0x10004190
xor eax, eax
or eax, 0x1000
push edi
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x2c4], eax
call fcn.1000b192
pop ecx
test eax, eax
je 0x100041b6
or dword [ebp - 0x2c4], 0x10000000
push edi
push edi
lea eax, [ebp - 0x234]
call fcn.1001b5c1
sub esp, 0x18
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x2a8]
mov esi, esp
mov dword [ebp - 0x2b4], esp
call fcn.1001a754
lea eax, [ebp - 0x234]
push eax
mov edx, str.unique
mov byte [ebp - 4], 0x24
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 0x23
call fcn.1001a9a7
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2b4], esp
mov ebx, 0x10048f40
push ebx
call fcn.1001a6d3
lea eax, [ebp - 0x234]
push eax
mov edx, str.letter
mov byte [ebp - 4], 0x25
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 0x23
call fcn.1001a9a7
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2b4], esp
push dword [ebp - 0x2c4]
call fcn.1001a675
lea eax, [ebp - 0x234]
push eax
mov edx, str.state
mov byte [ebp - 4], 0x26
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 0x23
call fcn.1001a9a7
cmp dword [ebp - 0x278], 0
jne 0x1000428b
push ebx
lea ecx, [ebp - 0x310]
call fcn.10001ad2
mov byte [ebp - 4], 0x27
or dword [ebp - 0x2b0], 4
jmp 0x10004291
lea eax, [ebp - 0x28c]
sub esp, 0x18
mov edx, eax
mov esi, esp
mov dword [ebp - 0x2b4], esp
call fcn.1001a754
lea eax, [ebp - 0x234]
push eax
mov edx, str.label
mov dword [ebp - 4], 0x28
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 0x27
call fcn.1001a9a7
mov dword [ebp - 4], 0x23
test byte [ebp - 0x2b0], 4
je 0x100042ec
and dword [ebp - 0x2b0], 0xfffffffb
push 0
push 1
lea ecx, [ebp - 0x310]
call fcn.10001d94
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x2b4], esp
push 0x10000000
call fcn.1001a675
lea eax, [ebp - 0x234]
push eax
mov edx, str.encryption
mov byte [ebp - 4], 0x29
call fcn.1001b85f
mov edi, eax
mov byte [ebp - 4], 0x23
call fcn.1001a9a7
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.1001b8b4
lea esi, [ebp - 0x2bc]
call fcn.1000e803
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.1000303a
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x330]
push eax
lea ebx, [ebp - 0x2e0]
mov byte [ebp - 4], 0x2a
call fcn.10002e01
push 0
push 1
lea ecx, [ebp - 0x310]
call fcn.10001d94
lea esi, [ebp - 0x234]
mov byte [ebp - 4], 0x1f
call fcn.1001a924
push 0
push 1
lea ecx, [ebp - 0x28c]
call fcn.10001d94
xor ebx, ebx
lea esi, [ebp - 0x254]
mov byte [ebp - 4], 0x18
call fcn.1001a924
push ebx
push 1
lea esi, [ebp - 0x270]
call fcn.10001e8c
push ebx
push 1
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x15
call fcn.10001d94
lea esi, [ebp - 0x2bc]
call fcn.10002aa8
lea edi, [ebp - 0x2cc]
lea esi, [ebp - 0x2bc]
call fcn.10015150
test al, al
je 0x10003f54
lea eax, [ebp - 0x34c]
push eax
push 0x10048f44
push ebx
push dword [ebp - 0x2d0]
call fcn.10011e16
add esp, 0x10
or dword [ebp - 0x2b0], 8
lea eax, [ebp - 0x398]
push eax
mov byte [ebp - 4], 3
call fcn.100052ba
lea eax, [ebp - 0x330]
push eax
mov byte [ebp - 4], 2
call fcn.10001c18
lea eax, [ebp - 0x378]
push eax
mov byte [ebp - 4], 1
call fcn.10005335
lea esi, [ebp - 0x34c]
mov byte [ebp - 4], bl
call fcn.1001a924
mov eax, dword [ebp - 0x2d0]
call fcn.1002a72d
ret