Function at 0x140019430
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov r14, rcx
xor r15d, r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov ebx, eax
mov ecx, eax
call fcn.14008f940
mov rsi, rax
mov rdx, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
test eax, eax
jne 0x14001948a
mov rcx, rsi
call fcn.14008f90c
xor al, al
jmp 0x14001968e
mov rcx, r14
call fcn.140012690
mov rbx, rsi
cmp byte [rsi], r15b
je 0x140019684
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 2
jne 0x14001958a
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], Ordinal_20
mov word [rsp + 0x20], 0
mov qword [rsp + 0x30], 1
movsx eax, byte [rbx]
movzx eax, al
mov byte [rsp + 0x20], al
lea r8, [rsp + 0x20]
lea rdx, str.Removable_Disk:
lea rcx, [rbp + 0x27]
call fcn.14001a580
mov rdi, rax
mov qword [rbp + 7], rax
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.14001a110
nop
mov byte [rbp - 0x29], 0
mov rcx, rdi
call fcn.14000da80
nop
lea rcx, [r14 + 0x1f8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14001956c
mov qword [rbp + 0xf], rdx
mov qword [rdx], r15
mov qword [rdx + 0x10], r15
mov qword [rdx + 0x18], r15
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x39]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp - 0x39], r15
mov qword [rbp - 0x31], Ordinal_20
mov byte [rbp - 0x49], 0
movzx eax, byte [rbp - 0x29]
mov byte [rdx + 0x20], al
add qword [rcx + 8], 0x28
jmp 0x140019576
lea r8, [rbp - 0x49]
call fcn.14001a870
nop
lea rcx, [rbp - 0x49]
call fcn.14000da80
nop
lea rcx, [rsp + 0x20]
jmp 0x140019665
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
jne 0x140019670
mov qword [rbp - 0x79], r15
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x61], r15
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x61], Ordinal_20
mov word [rbp - 0x79], 0
mov qword [rbp - 0x69], 1
movsx eax, byte [rbx]
movzx eax, al
mov byte [rbp - 0x79], al
lea r8, [rbp - 0x79]
lea rdx, str.Local_Disk:
lea rcx, [rbp + 0x27]
call fcn.14001a580
mov rdi, rax
mov qword [rbp + 0x17], rax
mov rdx, rax
lea rcx, [rbp - 0x21]
call fcn.14001a110
nop
mov byte [rbp - 1], 0
mov rcx, rdi
call fcn.14000da80
nop
lea rcx, [r14 + 0x1f8]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14001964d
mov qword [rbp + 0x1f], rdx
mov qword [rdx], r15
mov qword [rdx + 0x10], r15
mov qword [rdx + 0x18], r15
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp - 0x11], r15
mov qword [rbp - 9], Ordinal_20
mov byte [rbp - 0x21], 0
movzx eax, byte [rbp - 1]
mov byte [rdx + 0x20], al
add qword [rcx + 8], 0x28
jmp 0x140019657
lea r8, [rbp - 0x21]
call fcn.14001a870
nop
lea rcx, [rbp - 0x21]
call fcn.14000da80
nop
lea rcx, [rbp - 0x79]
call fcn.14000da80
nop word [rax + rax]
inc rbx
cmp byte [rbx], 0
jne 0x140019670
inc rbx
cmp byte [rbx], 0
jne 0x1400194a0
mov rcx, rsi
call fcn.14008f90c
mov al, 1
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret