Function at 0x10001f44
Capabilities:
Get disk information
Get disk size
Get file system object information

Disassembly:
push ebp
lea ebp, [esp - 0x870]
sub esp, 0x8f0
mov eax, dword [0x10020550]
xor eax, ebp
mov dword [ebp + 0x86c], eax
push ebx
push esi
push edi
push 0x2000
mov dword [ebp - 0x80], ecx
call fcn.1000b8d1
mov edi, eax
pop ecx
lea ebx, [ebp + 0x25c]
mov eax, ebx
push eax
xor esi, esi
push 0x200
mov byte [edi], 0x67
inc esi
call dword [sym.imp.KERNEL32.DLL_GetLogicalDriveStringsW]
xor eax, eax
cmp word [ebp + 0x25c], ax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
je 0x10002131
jmp 0x10001fab
xor eax, eax
mov ecx, 0x104
push ecx
lea edx, [ebp + 0x45c]
push edx
push eax
push eax
push eax
mov word [ebp + 0x664], ax
mov word [ebp + 0x45c], ax
push ecx
lea eax, [ebp + 0x664]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetVolumeInformationW]
push 0x410
push 0x2b4
lea eax, [ebp - 0x58]
push eax
push 0x80
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
lea eax, [ebp + 0x1bc]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
movzx eax, ax
mov dword [ebp - 0x60], eax
lea eax, [ebp + 0x45c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
movzx eax, ax
mov dword [ebp - 0x64], eax
lea eax, [ebp + 0x664]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, eax
movzx eax, ax
mov dword [ebp - 0x5c], eax
movzx eax, word [ebx]
cmp ax, 0x41
je 0x10002077
cmp ax, 0x42
je 0x10002077
push 0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x7c]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetDiskFreeSpaceExW]
test eax, eax
je 0x10002077
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
shrd eax, ecx, 0x14
shr ecx, 0x14
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x7c]
shrd eax, ecx, 0x14
mov dword [ebp - 0x6c], eax
shr ecx, 0x14
jmp 0x1000207f
and dword [ebp - 0x68], 0
and dword [ebp - 0x6c], 0
push 4
lea eax, [edi + esi]
push ebx
push eax
call fcn.1000a7e0
add esp, 0xc
push ebx
add esi, 4
call dword [sym.imp.KERNEL32.DLL_GetDriveTypeW]
mov word [edi + esi], ax
mov eax, dword [ebp - 0x68]
inc esi
inc esi
mov dword [edi + esi], eax
mov eax, dword [ebp - 0x6c]
add esi, 4
mov dword [edi + esi], eax
mov eax, dword [ebp - 0x60]
add esi, 4
mov word [edi + esi], ax
movzx eax, ax
push eax
mov dword [ebp - 0x60], eax
inc esi
lea eax, [ebp + 0x1bc]
push eax
inc esi
lea eax, [edi + esi]
push eax
call fcn.1000a7e0
add esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
mov word [edi + esi], ax
movzx eax, ax
push eax
mov dword [ebp - 0x64], eax
inc esi
lea eax, [ebp + 0x45c]
push eax
inc esi
lea eax, [edi + esi]
push eax
call fcn.1000a7e0
add esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x5c]
mov word [edi + esi], ax
movzx eax, ax
push eax
mov dword [ebp - 0x5c], eax
inc esi
lea eax, [ebp + 0x664]
push eax
inc esi
lea eax, [edi + esi]
push eax
call fcn.1000a7e0
add esi, dword [ebp - 0x5c]
add esp, 0x24
push ebx
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea ebx, [ebx + eax*2 + 2]
cmp word [ebx], 0
jne 0x10001fa9
mov ecx, dword [ebp - 0x80]
push esi
push edi
call fcn.10001f13
push edi
call fcn.1000b195
pop ecx
mov ecx, dword [ebp + 0x86c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000b561
add ebp, 0x870
leave
ret 8