Function at 0x1400fe820
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x14057b900]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov r13, rcx
xor edi, edi
mov dword [rsp + 0x40], edi
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
mov qword [rbp - 0x68], rdi
lea rdx, [rbp - 0x60]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov edx, eax
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x1400fefbe
lea rbx, [rbp - 0x60]
cmp word [rbp - 0x60], di
je 0x1400fe98d
nop dword [rax + rax]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x1400fe8b7
cmp eax, 6
jne 0x1400fe965
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400fe8d0
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.14001fb40
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, qword [rbp - 0x68]
je 0x1400fe915
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rdx + 0x10], xmm1
mov edx, 7
mov word [rsp + 0x48], di
add qword [rbp - 0x70], 0x20
jmp 0x1400fe928
lea r8, [rsp + 0x48]
lea rcx, [rbp - 0x78]
call fcn.140047a50
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x1400fe965
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fe960
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
call fcn.14014f510
mov rax, 0xffffffffffffffff
nop dword [rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x1400fe970
lea rbx, [rbx + rax*2]
add rbx, 2
cmp word [rbx], 0
jne 0x1400fe8a0
mov rbx, qword [rbp - 0x78]
mov r15, qword [rbp - 0x70]
mov r12d, 2
movabs r14, 0x7ffffffffffffffe
cmp rbx, r15
je 0x1400fec05
nop
cmp qword [rbx + 0x10], 0
je 0x1400fead1
mov rcx, rbx
call fcn.1400fa5e0
mov esi, eax
cmp eax, 0xffffffff
je 0x1400feabf
mov rcx, rbx
call fcn.140085d30
test al, al
je 0x1400fe9df
mov eax, r12d
jmp 0x1400fe9f6
bt esi, 0xa
jae 0x1400fe9ec
mov eax, 3
jmp 0x1400fe9f6
movzx eax, sil
shr eax, 4
and eax, 1
cmp eax, 1
jne 0x1400fead1
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x1400ff0b4
mov r9, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1400fea20
mov r9, qword [rbx]
mov qword [rsp + 0x30], 7
lea rax, [0x14050c048]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.14001d800
or edi, 0x20
or edi, 1
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x68]
call fcn.140087fd0
test al, al
jne 0x1400feaba
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 5
jb 0x1400ff0a8
mov r9, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1400fea7d
mov r9, qword [rbx]
mov qword [rsp + 0x30], 5
lea rax, [0x140514f18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x48]
call fcn.14001d800
bts edi, 8
or edi, 2
mov dword [rsp + 0x40], edi
lea rcx, [rsp + 0x48]
call fcn.140087fd0
test al, al
je 0x1400fead1
mov sil, 1
jmp 0x1400fead4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x1400fead1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
xor sil, sil
test dil, 2
je 0x1400feb20
and edi, 0xfffffffd
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x1400feb20
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400feb1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0ae
call fcn.14014f510
nop
test dil, 1
je 0x1400feb6a
and edi, 0xfffffffe
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x1400feb6a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400feb65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
call fcn.14014f510
test sil, sil
jne 0x1400feb81
add rbx, 0x20
cmp rbx, r15
jne 0x1400fe9b0
jmp 0x1400fec05
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
mov r8, r12
cmp qword [rbx + 0x10], r12
cmovb r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 7
jbe 0x1400feba8
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.14001fb40
lea rcx, [r13 + 0x58]
lea rdx, [rsp + 0x48]
call fcn.14001f2e0
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x1400fec05
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fec00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
call fcn.14014f510
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400fec66
mov rax, qword [rcx]
mov r10, qword [rax + 0x20]
lea rdx, [r13 + 0x58]
cmp qword [rdx + 0x18], 7
jbe 0x1400fec23
mov rdx, qword [rdx]
lea rax, [r13 + 0x18]
cmp qword [rax + 0x18], 7
jbe 0x1400fec31
mov rax, qword [rax]
mov qword [rsp + 0x38], rdx
lea rdx, str.SysDrive:__s
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
mov r9d, 0x40
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonSystemRootPath_Windows.cpp
lea rdx, str.mb::common::io::SystemRootPath::InitWinPE
call r10
lea r9, [r13 + 0x58]
mov rcx, qword [r9 + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 8
jb 0x1400ff0b4
cmp qword [r9 + 0x18], 7
jbe 0x1400fec88
mov r9, qword [r9]
mov qword [rsp + 0x30], 8
lea rdi, str.WINDOWS
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x48]
call fcn.14001d800
nop
cmp qword [rsp + 0x58], 0
je 0x1400fed0a
lea rcx, [rsp + 0x48]
call fcn.1400fa5e0
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400fecf9
lea rcx, [rsp + 0x48]
call fcn.140085d30
test al, al
je 0x1400fecd9
mov eax, r12d
jmp 0x1400fecef
bt ebx, 0xa
jae 0x1400fece6
mov eax, 3
jmp 0x1400fecef
movzx eax, bl
shr eax, 4
and eax, 1
cmp eax, 1
jne 0x1400fed0a
movzx ebx, al
jmp 0x1400fed0c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x1400fed0a
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor bl, bl
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x1400fed4e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fed49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
call fcn.14014f510
lea r9, [r13 + 0x58]
test bl, bl
je 0x1400fedea
mov rax, qword [r9 + 0x10]
sub r14, rax
cmp r14, 8
jb 0x1400ff0b4
cmp qword [r9 + 0x18], 7
jbe 0x1400fed75
mov r9, qword [r9]
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x68]
call fcn.14001d800
lea rcx, [r13 + 0x38]
lea rdx, [rsp + 0x68]
call fcn.14001f2e0
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x1400ff011
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fede0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
call fcn.14014f510
jmp 0x1400ff011
mov rcx, qword [r9 + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 6
jb 0x1400ff0b4
cmp qword [r9 + 0x18], 7
jbe 0x1400fee08
mov r9, qword [r9]
mov qword [rsp + 0x30], 6
lea rdi, str.WINNT
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x48]
call fcn.14001d800
nop
cmp qword [rsp + 0x58], 0
je 0x1400fee8b
lea rcx, [rsp + 0x48]
call fcn.1400fa5e0
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400fee7a
lea rcx, [rsp + 0x48]
call fcn.140085d30
test al, al
jne 0x1400fee6e
bt ebx, 0xa
jae 0x1400fee62
mov r12d, 3
jmp 0x1400fee6e
movzx r12d, bl
shr r12d, 4
and r12d, 1
cmp r12d, 1
jne 0x1400fee8b
movzx ebx, r12b
jmp 0x1400fee8d
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x1400fee8b
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor bl, bl
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x1400feecf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400feeca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
call fcn.14014f510
test bl, bl
je 0x1400fef6a
lea r9, [r13 + 0x58]
mov rax, qword [r9 + 0x10]
sub r14, rax
cmp r14, 6
jb 0x1400ff0b4
cmp qword [r9 + 0x18], 7
jbe 0x1400feef6
mov r9, qword [r9]
mov qword [rsp + 0x30], 6
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x68]
call fcn.14001d800
lea rcx, [r13 + 0x38]
lea rdx, [rsp + 0x68]
call fcn.14001f2e0
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x1400ff011
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fede0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff0a2
jmp 0x1400fede0
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400ff011
mov rax, qword [rcx]
mov r10, qword [rax + 0x18]
lea rax, [r13 + 0x18]
cmp qword [rax + 0x18], 7
jbe 0x1400fef8c
mov rax, qword [rax]
lea rdx, str.No_system_root_found_
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9d, 0x4c
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonSystemRootPath_Windows.cpp
lea rdx, str.mb::common::io::SystemRootPath::InitWinPE
call r10
jmp 0x1400ff011
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400ff011
mov rax, qword [rcx]
mov r10, qword [rax + 0x20]
lea rax, [r13 + 0x18]
cmp qword [rax + 0x18], 7
jbe 0x1400fefdc
mov rax, qword [rax]
mov dword [rsp + 0x38], edx
lea rdx, str.Failed_to_get_the_logical_drive_strings_on_this_system__ret___d.
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9d, 0x34
lea r8, str.D:JenkinsworkspaceN_MBCommon_vs2022_srcmbcommonSystemRootPath_Windows.cpp
lea rdx, str.mb::common::io::SystemRootPath::InitWinPE
call r10
nop
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x1400ff06c
mov rdi, qword [rbp - 0x70]
cmp rbx, rdi
je 0x1400ff038
mov rcx, rbx
call fcn.140021d30
add rbx, 0x20
cmp rbx, rdi
jne 0x1400ff023
mov rbx, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x68]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400ff064
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ff09c
mov rcx, rbx
call fcn.14014f510
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14014f4f0
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14015fa1c
nop
call fcn.14015fa1c
nop
call fcn.14001cc60
int3
call fcn.14015fa1c
nop
call fcn.14001cc60
int3