Function at 0x140051be0
Capabilities:
Get disk information
Get disk size

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0xb8]
sub rsp, 0x1b0
mov rax, qword [0x1400ea3e8]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov edi, edx
mov rbx, rcx
lea rdx, [rcx + 0x30]
cmp qword [rdx + 0x18], 8
jb 0x140051c22
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
call fcn.14006977c
nop
lea rdx, [rbx + 0x50]
cmp qword [rdx + 0x18], 8
jb 0x140051c3a
mov rdx, qword [rdx]
lea rcx, [rbp + 0x10]
call fcn.14006977c
nop
xor ebx, ebx
mov qword [rbp], rbx
mov qword [rbp - 8], rbx
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
xor r9d, r9d
lea r8, [rbp - 8]
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
lea r9, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae r9, qword [rbp - 0x30]
mov rax, qword [rbp - 8]
mov qword [rsp + 0x20], rax
mov edx, 0x2b3
call fcn.14004eb84
mov qword [rbp + 8], rbx
mov qword [rbp - 0x10], rbx
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rcx, qword [rbp + 0x10]
xor r9d, r9d
lea r8, [rbp - 0x10]
lea rdx, [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
lea r9, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae r9, qword [rbp + 0x10]
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov edx, 0x2b8
call fcn.14004eb84
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
test rcx, rcx
je 0x140051d36
lea rax, [rbp - 0x30]
cmp rdx, 8
setae r8b
cmovae rax, qword [rbp - 0x30]
lea r9d, [rbx + 0x5c]
cmp word [rax + rcx*2 - 2], r9w
je 0x140051d36
cmp rcx, rdx
jae 0x140051d1f
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
test r8b, r8b
cmovne rax, qword [rbp - 0x30]
mov dword [rax + rcx*2], r9d
jmp 0x140051d32
mov r8b, byte [rsp + 0x50]
mov edx, 1
lea rcx, [rbp - 0x30]
call fcn.140047e4c
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x30]
cmp rdx, 8
cmovae rcx, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov ebx, 4
cmp eax, ebx
je 0x140051d68
mov rax, qword [rbp - 8]
cmp qword [rbp - 0x10], rax
jbe 0x140051d63
mov ebx, 1
jmp 0x140051d68
sbb ebx, ebx
add ebx, 3
mov dword [rsp + 0x48], 2
mov dword [rsp + 0x40], 3
lea rax, [0x1400ba7ba]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 1
lea rsi, [0x1400c4578]
mov r9, rsi
lea r8, str.4f83483d4cda4752b3bdc869c43e0fee_MigrationScanPreCrossVolumeMove
lea rdx, str.diagnosticssync
lea rcx, [rsp + 0x60]
call qword [sym.imp.LoggingPlatform.DLL_public:_void___cdecl_TelemetryEvent::constructor_char_const____ptr64__char_const____ptr64__struct__GUID_const____ptr64__unsigned_int__unsigned_int__char_const____ptr64__char_const____ptr64__unsigned_int__unsigned_int____ptr64]
nop
lea rax, str.MigrationScanPreCrossVolumeMove
mov qword [rbp - 0x58], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.LoggingPlatform.DLL_public:_void___cdecl_TelemetryEvent::SetEventExpiration_unsigned_int__unsigned_int____ptr64]
lea rax, str.crossVolumeState
mov qword [rbp + 0x68], rax
mov ecx, 5
mov dword [rbp + 0x60], ecx
mov dword [rbp + 0x70], ebx
lea rax, str.folderType
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x80], ecx
mov dword [rbp + 0x90], edi
mov dword [rsp + 0x40], 2
mov dword [rsp + 0x38], 2
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0x3bb48714
mov qword [rsp + 0x20], rsi
lea r9, str.MigrationScan::FireCrossVolumeTelemetry
mov r8d, 0x2d4
lea rdx, str.D:dbs_shodct1130_230136_1cmd6clientonedriveProductCrossPlatformUXKnownFolderMoveMigrationScan.cpp
lea rcx, [rbp + 0x30]
call qword [sym.imp.LoggingPlatform.DLL_public:_void___cdecl_StructuredEvent::constructor_char_const____ptr64__int__char_const____ptr64__struct__GUID_const____ptr64__unsigned_int__unsigned_int__unsigned_int__unsigned_int____ptr64]
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x30]
call qword [sym.imp.LoggingPlatform.DLL_void___cdecl_LoggingWriteStructuredEvent_struct_StructuredEvent_const____ptr64__struct_StructuredEventParameter__const___ptr64_]
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x60]
call qword [sym.imp.LoggingPlatform.DLL_void___cdecl_LoggingSendTelemetryEvent_struct_TelemetryEvent____ptr64__struct_StructuredEventParameter__const___ptr64_]
call qword [sym.imp.LoggingPlatform.DLL_void___cdecl_LoggingRotateIfNeeded_void_]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.LoggingPlatform.DLL_public:_void___cdecl_TelemetryEvent::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x10]
call fcn.140009ca4
nop
lea rcx, [rbp - 0x30]
call fcn.140009ca4
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14009bdf0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret