Function at 0x140010f40
Capabilities:
Get disk size

Disassembly:
push rbx
push rsi
sub rsp, 0x6a8
mov rax, qword [0x140027040]
xor rax, rsp
mov qword [rsp + 0x690], rax
xor esi, esi
mov qword [rsp + 0x50], rsi
mov ebx, esi
mov dword [rsp + 0x48], esi
call fcn.140017010
test eax, eax
jne 0x140010f8c
xor r8d, r8d
xor edx, edx
mov ecx, 6
call fcn.14000b990
test al, al
je 0x140010f8c
xor eax, eax
jmp 0x140011248
mov qword [rsp + 0x6c0], rbp
xor eax, eax
mov qword [rsp + 0x6c8], rdi
mov ecx, 0x104
lea rdi, [rsp + 0x60]
mov qword [rsp + 0x6a0], r15
rep stosb byte [rdi], al
lea rcx, [rsp + 0x60]
mov edx, 0x104
mov bpl, 1
call qword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x1400111a2
lea rcx, [rsp + 0x60]
call qword [sym.imp.SHLWAPI.dll_PathGetDriveNumberW]
mov r9d, eax
test eax, eax
js 0x1400111a2
xor eax, eax
lea rdi, [rsp + 0x270]
mov ecx, 0x104
lea r8, str.._C:
rep stosb byte [rdi], al
lea rcx, [rsp + 0x270]
add r9d, 0x41
mov edx, 0x104
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x270]
mov dword [rsp + 0x28], 0x2000000
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov r8d, 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x1400111a2
mov edx, 0x2000
mov qword [rsp + 0x6d0], r14
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov r14, rax
test rax, rax
je 0x14001118c
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], 0x2000
xor r8d, r8d
mov edx, 0x560000
mov qword [rsp + 0x20], r14
mov rcx, r15
mov dword [rsp + 0x58], esi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140011183
cmp dword [r14], ebx
jbe 0x140011183
mov edi, esi
nop dword [rax + rax]
mov eax, edi
lea r8, str..PhysicalDrive_u
mov edx, 0x104
lea rcx, [rsp + 0x480]
lea r9, [rax + rax*2]
mov r9d, dword [r14 + r9*8 + 8]
call qword [sym.imp.SHLWAPI.dll_wnsprintfW]
test eax, eax
jle 0x140011180
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x480]
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x140011180
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 8
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x7405c
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, rbp
test eax, eax
je 0x14001117a
add rbx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor bpl, bpl
inc edi
cmp edi, dword [r14]
jb 0x1400110c0
jmp 0x140011183
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov bpl, 1
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14, qword [rsp + 0x6d0]
test bpl, bpl
je 0x14001121d
mov qword [rsp + 0x30], rsi
lea rcx, str..PhysicalDrive0
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14001121d
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 8
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x7405c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
mov rcx, rdi
cmovne rbx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r15, qword [rsp + 0x6a0]
movabs rax, 0x1400000000
mov rdi, qword [rsp + 0x6c8]
cmp rbx, rax
mov rbp, qword [rsp + 0x6c0]
setl sil
mov eax, esi
mov rcx, qword [rsp + 0x690]
xor rcx, rsp
call fcn.1400177b0
add rsp, 0x6a8
pop rsi
pop rbx
ret