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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x107a8]
mov eax, 0x108a8
call fcn.1400caa90
sub rsp, rax
xor r12d, r12d
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov esi, 5
test rdx, rdx
je 0x14005c1e5
cmp word [rdx], r12w
je 0x14005c1e5
lea rdx, str.List
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c002
lea ebx, [rsi - 4]
jmp 0x14005c1e8
lea rdx, str.FileSystem
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14005c1de
lea rdx, [0x1400e8df0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14005c1de
lea rdx, str.Label
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c04e
lea ebx, [rax + 3]
jmp 0x14005c1e8
mov r8d, 9
lea rdx, str.SetLabel:
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x14005c125
lea rdx, str.Serial
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c087
mov ebx, esi
jmp 0x14005c1e8
lea rdx, str.Type
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c0a3
lea ebx, [rax + 6]
jmp 0x14005c1e8
lea rdx, str.Status
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c0bf
lea ebx, [rax + 7]
jmp 0x14005c1e8
lea rdx, str.StatusCD
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c0db
lea ebx, [rax + 8]
jmp 0x14005c1e8
lea rdx, str.Capacity
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14005c107
lea rdx, [0x1400e8e60]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c1e5
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call fcn.14005bad0
add rsp, 0x108a8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8d, 0x7ffe
lea rcx, [rbp + 0x7a0]
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
lea rcx, [rbp + 0x7a0]
mov word [rbp + 0x1079c], r12w
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14005c151
test rax, rax
je 0x14005c178
cmp word [rbp + rax*2 + 0x79e], 0x5c
je 0x14005c178
mov edi, 0x5c
mov word [rbp + rax*2 + 0x7a0], di
lea rdx, [rbx + 0x12]
nop dword [rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005c18f
cmp ax, 9
jne 0x14005c195
add rdx, 2
jmp 0x14005c180
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
lea rcx, [0x1400cc6d4]
mov byte [rsp + 0x20], 1
test eax, eax
lea rdx, [0x1400e1d2c]
cmovne rdx, rcx
mov rcx, qword [0x140102760]
xor r9d, r9d
lea r8, [r9 - 1]
call fcn.1400b1f60
add rsp, 0x108a8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ebx, 2
jmp 0x14005c1e8
mov ebx, r12d
xor r9d, r9d
mov qword [rsp + 0x108f0], r13
mov qword [rsp + 0x108a0], r14
xor edx, edx
mov r14, qword [0x140104ae0]
mov rcx, r14
mov qword [rbp + 0x107e8], r14
lea r8, [r9 - 1]
mov byte [rsp + 0x20], 1
call fcn.1400b1f60
lea r13, [0x140000000]
movsxd rax, ebx
mov eax, dword [r13 + rax*4 + 0x5c798]
add rax, r13
jmp rax
cmp word [rdi], r12w
jne 0x14005c243
mov esi, 0x100
jmp 0x14005c2d6
lea rdx, str.CDRom
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14005c2d6
lea rdx, str.Removable
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c270
lea esi, [rax + 2]
jmp 0x14005c2d6
lea rdx, str.Fixed
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c289
lea esi, [rax + 3]
jmp 0x14005c2d6
lea rdx, str.Network
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c2a2
lea esi, [rax + 4]
jmp 0x14005c2d6
lea rdx, str.Ramdisk
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14005c2bb
lea esi, [rax + 6]
jmp 0x14005c2d6
lea rdx, str.Unknown
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne case.0x14005c231.0
mov esi, r12d
mov r15d, r12d
lea r14, [rsp + 0x60]
mov bl, 0x41
movzx r13d, bl
lea rcx, [rbp - 0x60]
mov word [rbp - 0x60], r13w
mov dword [rbp - 0x5e], 0x5c003a
mov word [rbp - 0x5a], r12w
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, esi
je 0x14005c310
cmp esi, 0x100
jne 0x14005c31b
cmp eax, 1
je 0x14005c31b
inc r15d
mov word [r14], r13w
add r14, 2
inc bl
cmp bl, 0x5a
jbe 0x14005c2e0
mov rcx, qword [rbp + 0x107e8]
lea rdx, [rsp + 0x60]
xor r9d, r9d
movsxd rax, r15d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
mov word [rsp + rax*2 + 0x60], r12w
call fcn.1400b1f60
cmp word [rsp + 0x60], r12w
jne 0x14005c477
mov r15, qword [rbp + 0x107e0]
mov rax, qword [0x1400ff050]
lea rdx, [0x1400e1d2c]
test byte [rax + 0x140], 1
je 0x14005c47e
lea r9, [0x1400cc644]
xor r8d, r8d
mov rcx, r15
call fcn.140047870
jmp 0x14005c496
mov r8d, 0x7ffe
lea rcx, [rbp + 0x7a0]
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
lea rcx, [rbp + 0x7a0]
mov word [rbp + 0x1079c], r12w
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14005c3c0
test rax, rax
je 0x14005c3e7
cmp word [rbp + rax*2 + 0x79e], 0x5c
je 0x14005c3e7
mov edi, 0x5c
mov word [rbp + rax*2 + 0x7a0], di
mov dword [rsp + 0x38], 0xff
lea rax, [rbp + 0x3a0]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 0x107e8]
lea rax, [rbp + 0x107f8]
mov r8d, 0xff
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x1a0]
lea rax, [rsp + 0x40]
lea rcx, [rbp + 0x7a0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je case.0x14005c231.0
sub ebx, 2
je 0x14005c4b6
sub ebx, 1
je 0x14005c45c
cmp ebx, 2
jne 0x14005c477
mov edx, dword [rbp + 0x107e8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, r14
call fcn.1400014c0
jmp 0x14005c477
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea rdx, [rbp + 0x1a0]
lea r8, [r9 - 1]
mov rcx, r14
call fcn.1400b1f60
lea rdx, [0x1400cc6d4]
mov rcx, qword [0x140102760]
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea r8, [r9 - 1]
call fcn.1400b1f60
mov r13, qword [rsp + 0x108f0]
mov r14, qword [rsp + 0x108a0]
add rsp, 0x108a8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r9d, r9d
mov byte [rsp + 0x20], 1
lea rdx, [rbp + 0x3a0]
lea r8, [r9 - 1]
jmp 0x14005c46f