Function at 0x10081b4c
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xe44
mov eax, dword [0x10086084]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x208
mov dword [ebp - 0xe40], eax
xor esi, esi
lea eax, [ebp - 0x824]
mov edi, edx
push esi
push eax
mov ebx, ecx
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0xe3c]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0x61c]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0xa2c]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0x20c]
push esi
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0xc34]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0x48
test ebx, ebx
je 0x10081dc6
test edi, edi
je 0x10081dc6
push ebx
mov ebx, 0x104
lea ecx, [ebp - 0x20c]
mov edx, ebx
call fcn.10015ac7
test eax, eax
js 0x10081dce
push 0x208
lea eax, [ebp - 0x414]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x824]
push ebx
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
je 0x10081dce
lea eax, [ebp - 0x20c]
mov edx, ebx
push eax
lea ecx, [ebp - 0x61c]
call fcn.10015ac7
test eax, eax
js 0x10081dce
lea eax, [ebp - 0xc34]
mov edx, ebx
push eax
lea ecx, [ebp - 0xa2c]
call fcn.10015ac7
test eax, eax
js 0x10081dce
push ecx
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x61c]
call fcn.10081aba
test eax, eax
je 0x10081d38
push ebx
lea edx, [ebp - 0x414]
lea ecx, [ebp - 0x61c]
call fcn.10081b05
test eax, eax
je 0x10081d38
lea ecx, [ebp - 0xa2c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x10081cb4
sub ecx, edx
sar ecx, 1
je 0x10081cea
lea eax, [ebp - 0xa2c]
push eax
lea eax, [ebp - 0x414]
push eax
push 0x10007468
lea eax, [ebp - 0xc34]
push ebx
push eax
call fcn.1001fec9
add esp, 0x14
jmp 0x10081cfe
lea eax, [ebp - 0x414]
mov edx, ebx
push eax
lea ecx, [ebp - 0xc34]
call fcn.10015ac7
test eax, eax
js 0x10081dce
push 0x208
lea eax, [ebp - 0x414]
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x824]
push ebx
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
jne 0x10081c3f
push ebx
lea eax, [ebp - 0x824]
push eax
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumePathNameW]
test eax, eax
je 0x10081dce
push ebx
lea eax, [ebp - 0xe3c]
push eax
lea eax, [ebp - 0x824]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointW]
test eax, eax
je 0x10081dce
mov eax, dword [ebp - 0xe40]
test eax, eax
je 0x10081d88
lea ecx, [ebp - 0xa2c]
mov edx, ebx
push ecx
mov ecx, eax
call fcn.10015ac7
test eax, eax
js 0x10081dce
lea eax, [ebp - 0xe3c]
mov edx, ebx
push eax
mov ecx, edi
call fcn.10015ac7
test eax, eax
js 0x10081dce
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x10081da1
sub ecx, edx
sar ecx, 1
je 0x10081dc1
cmp word [edi + ecx*2 - 2], 0x5c
jne 0x10081dc1
xor eax, eax
mov word [edi + ecx*2 - 2], ax
xor esi, esi
inc esi
jmp 0x10081dce
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10083b20
mov esp, ebp
pop ebp
ret 0xc