Function at 0x1400dd8a0
Capabilities:
Get disk information

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rdi, qword [0x140207460]
mov rax, qword [rdi]
mov qword [rsp + 0x28], rax
xor eax, eax
mov rbx, rcx
mov rcx, qword [rcx + 0x80]
mov esi, edx
test rcx, rcx
je 0x14001e120
mov dword [rsp + 0x24], 0xffffffff
call 0x1400ddba0
test eax, eax
je 0x14001e0ec
cmp eax, 1
je 0x14001e0d0
mov eax, 3
mov rdx, qword [rsp + 0x28]
sub rdx, qword [rdi]
jne 0x14001e127
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
lea r8, [rsp + 0x24]
lea rdx, str.fsmonitor.allowremote
mov rcx, rbx
call fcn.14000b010
mov eax, dword [rsp + 0x24]
test eax, eax
jle 0x14001e110
mov rax, qword [rsp + 0x28]
sub rax, qword [rdi]
jne 0x14001e127
mov edx, esi
mov rcx, rbx
add rsp, 0x30
pop rbx
pop rsi
pop rdi
jmp 0x1400dd850
mov eax, 4
jmp 0x14001e0b8
mov eax, 2
jmp 0x14001e0b8
call fcn.1401be670
nop
nop dword [rax]
push rbx
sub rsp, 0x30
mov rbx, qword [0x140207460]
lea rdx, str.core.virtualfilesystem
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
xor eax, eax
lea r8, [rsp + 0x20]
call fcn.14000ad10
cmp eax, 1
sbb eax, eax
and eax, 4
add eax, 1
mov rdx, qword [rsp + 0x28]
sub rdx, qword [rbx]
jne 0x1400dd892
add rsp, 0x30
pop rbx
ret
call fcn.1401be670
nop
nop
nop
nop
nop
nop
nop
nop
nop
push r13
mov eax, 0x40d8
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1401be370
sub rsp, rax
mov rbp, qword [0x140207460]
mov rax, qword [rbp]
mov qword [rsp + 0x40c8], rax
xor eax, eax
mov rbx, rcx
lea rsi, [rsp + 0xc0]
mov rdi, rdx
call fcn.1400b9ca0
mov r9d, 0xffffffff
mov rdx, rbx
mov rcx, rsi
mov r8d, 0x1000
mov r12d, eax
call fcn.1400bb020
test eax, eax
js 0x1400ddb00
mov r9d, r12d
mov r8d, 0x104
mov edx, eax
mov rcx, rsi
call fcn.1400bc630
test eax, eax
js 0x1400ddb0e
mov rcx, rsi
call sub.msvcrt.dll_wcslen
movzx edx, word [rsp + rax*2 + 0xbe]
cmp dx, 0x5c
je 0x1400dd941
cmp dx, 0x2f
je 0x1400dd941
mov dword [rsp + rax*2 + 0xc0], 0x5c
lea r13, [rsp + 0x20c0]
xor r9d, r9d
mov edx, 0x1000
mov rcx, rsi
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x1400ddb0e
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov r12, qword [0x140207d50]
movabs rdx, 0x100000000
mov esi, eax
movabs rax, 0x1ffffffff
and rax, qword [r12 + 8]
cmp rax, rdx
jne 0x1400dda10
cmp esi, 4
je 0x1400dda42
mov dword [rdi], 0
movabs rax, 0x1ffffffff
and rax, qword [r12 + 8]
movabs rdx, 0x100000000
cmp rax, rdx
je 0x1400dd9e8
mov eax, dword [rdi]
mov qword [rsp + 0x20], rbx
mov r8, r12
lea r9, str._s_is_remote:__d
mov edx, 0x75
lea rcx, str.compat_fsmonitor_fsm_path_utils_win32.c
mov dword [rsp + 0x28], eax
call fcn.14008dc10
xor eax, eax
mov rdx, qword [rsp + 0x40c8]
sub rdx, qword [rbp]
jne 0x1400ddb95
add rsp, 0x40d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov dword [rsp + 0x30], esi
mov r8, r12
lea r9, str.DriveType__s_L_ls___u_
mov edx, 0x69
mov qword [rsp + 0x28], r13
lea rcx, str.compat_fsmonitor_fsm_path_utils_win32.c
mov qword [rsp + 0x20], rbx
call fcn.14008dc10
cmp esi, 4
jne 0x1400dd99e
mov dword [rdi], 1
xor r9d, r9d
mov edx, 0x80000000
mov rcx, r13
mov qword [rsp + 0x30], 0
mov r8d, 1
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1400ddb63
mov r9d, 0x74
lea r8, [rsp + 0x40]
mov edx, 0xd
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
test eax, eax
je 0x1400ddb2a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movabs rax, 0x1ffffffff
and rax, qword [r12 + 8]
movabs rdx, 0x100000000
cmp rax, rdx
je 0x1400dd9e8
mov eax, dword [rsp + 0x44]
mov qword [rsp + 0x20], r13
mov r8, r12
mov edx, 0x24
lea r9, str.check_remote_protocol__ls__remote_protocol__8.8lx
lea rcx, str.compat_fsmonitor_fsm_path_utils_win32.c
mov dword [rsp + 0x28], eax
call fcn.14008dc10
jmp 0x1400dd9a4
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
je 0x1400ddb20
mov eax, 0xffffffff
jmp 0x1400dd9ea
call rbx
mov dword [rax], 0x26
jmp 0x1400ddb0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._GLE__ld__unable_to_get_protocol_information_for__ls
mov ebx, eax
mov rax, qword [0x1402078f0]
mov eax, dword [rax]
test eax, eax
je 0x1400ddb4e
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov r8, r13
mov edx, ebx
call fcn.1400a0b40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400ddb0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._GLE__ld__unable_to_open_for_read__ls
mov ebx, eax
mov rax, qword [0x1402078f0]
cmp dword [rax], 0
je 0x1400ddb86
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov r8, r13
mov edx, ebx
call fcn.1400a0b40
jmp 0x1400ddb0e
call fcn.1401be670
nop
nop dword [rax + rax]
push rbx
sub rsp, 0x40
mov rbx, qword [0x140207460]
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
xor eax, eax
lea rdx, [rsp + 0x20]
call 0x1400dd8a0
test eax, eax
jne 0x1400ddbe0
mov eax, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
sub rdx, qword [rbx]
jne 0x1400ddbe7
add rsp, 0x40
pop rbx
ret
mov eax, 0xffffffff
jmp 0x1400ddbc8
call fcn.1401be670
nop
nop dword [rax]
xor eax, eax
ret