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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r13
lea rbp, [rsp - 0x107b0]
mov eax, 0x108b0
call fcn.1400d1910
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140043030
movsxd rsi, eax
cmp esi, 9
jne 0x14005f365
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14005ec50
add rsp, 0x108b0
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x108e8], r12
mov qword [rsp + 0x108a8], r14
cmp esi, 4
jne 0x14005f6fc
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc7d4
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp + 0x7a0]
mov word [rbp + 0x1079c], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14005f3d0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f3d0
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005f3e3
cmp ax, 9
jne 0x14005f3e9
add rdx, 2
jmp 0x14005f3d4
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x140118280]
lea rdx, [0x1400e24fc]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400e51ac]
cmovne r13, rdx
test r9b, r9b
jne 0x14005f43b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b0240
mov r12d, eax
jmp 0x1400600e2
mov dl, 1
test r13, r13
jne 0x14005f450
xor dl, dl
mov r14, r12
lea r13, [0x1400e245c]
jmp 0x14005f472
cmp qword [rbx + 8], r13
jne 0x14005f45f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005f472
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
lea rax, [r14 + 1]
lea rsi, [rax + rax]
cmp r9b, 2
jne 0x14005f493
mov rdx, r14
mov rcx, r13
call fcn.140006140
mov r12d, eax
jmp 0x1400600e2
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005f4c7
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f4c7
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
mov r12d, eax
jmp 0x1400600e2
cmp rax, 2
jae 0x14005f4f1
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400b08f0
mov r12d, 1
mov eax, r12d
jmp 0x1400600e2
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f50e
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005f684
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f545
cmp al, 2
je 0x14005f585
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f678
cmp rsi, 0x80
ja 0x14005f585
cmp rsi, 8
ja 0x14005f55b
mov edi, 8
jmp 0x14005f56b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14005f6b0
mov byte [rbx + 0x20], 1
jmp 0x14005f678
cmp rsi, 0x20
jae 0x14005f595
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f63f
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f63f
cmp rsi, 0x50000
jae 0x14005f5fb
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f5c2
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f5f1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f5f1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f63f
cmp rsi, 0x320000
jae 0x14005f60d
lea rdi, [rsi + 0x8000]
jmp 0x14005f63f
cmp rsi, 0xc80000
jae 0x14005f638
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f63f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f65f
test r9, r9
je 0x14005f65f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x14005f662
xor sil, sil
test rdi, rdi
js 0x14005f6b8
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14005f6b8
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r13
je 0x14005f699
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400ca2c0
mov rax, qword [rbx + 8]
lea rcx, [r14 + r14]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov r12d, 1
mov eax, r12d
jmp 0x1400600e2
test sil, sil
je 0x14005f6ce
lea rax, [0x140119108]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005f6d6
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [rbx + 0x10], r12
call fcn.1400404c0
mov r12d, eax
jmp 0x1400600e2
mov rbx, qword [0x1401175a0]
mov rcx, rbx
call fcn.14001bfc0
cmp esi, 8
ja case.0x14005f726.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x60d64]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14005f73b
mov esi, 0x100
jmp 0x14005f7cd
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400c95dc
test eax, eax
jne 0x14005f753
lea esi, [rax + 5]
jmp 0x14005f7cd
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400c95dc
test eax, eax
jne 0x14005f76b
lea esi, [rax + 2]
jmp 0x14005f7cd
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400c95dc
test eax, eax
jne 0x14005f783
lea esi, [rax + 3]
jmp 0x14005f7cd
lea rdx, str.Network
mov rcx, rdi
call fcn.1400c95dc
test eax, eax
jne 0x14005f79b
lea esi, [rax + 4]
jmp 0x14005f7cd
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400c95dc
test eax, eax
jne 0x14005f7b3
lea esi, [rax + 6]
jmp 0x14005f7cd
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400c95dc
test eax, eax
jne case.0x14005f726.0
mov esi, r12d
mov qword [rsp + 0x108a0], r15
mov dil, 0x41
lea r14, [rsp + 0x60]
mov r15d, r12d
movzx eax, dil
lea rcx, [rbp - 0x60]
mov dword [rbp - 0x5e], 0x5c003a
mov word [rbp - 0x60], ax
mov word [rbp - 0x5a], r12w
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, esi
je 0x14005f80f
cmp esi, 0x100
jne 0x14005f81f
cmp eax, 1
je 0x14005f81f
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14005f7e0
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14005f860
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp 0x14005fab5
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14005f874
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005f889
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x60]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
lea rax, [r13 + 1]
lea rsi, [rax + rax]
cmp dl, 2
jne 0x14005f8a8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006140
jmp 0x14005fab5
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005f8d9
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f8d9
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp 0x14005fab5
cmp rax, 2
jae 0x14005f8f3
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp 0x14005fab5
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f910
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fa86
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f947
cmp al, 2
je 0x14005f987
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fa7a
cmp rsi, 0x80
ja 0x14005f987
cmp rsi, 8
ja 0x14005f95d
mov edi, 8
jmp 0x14005f96d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je 0x14005fab5
mov byte [rbx + 0x20], 1
jmp 0x14005fa7a
cmp rsi, 0x20
jae 0x14005f997
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fa41
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fa41
cmp rsi, 0x50000
jae 0x14005f9fd
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f9c4
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f9f3
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f9f3
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fa41
cmp rsi, 0x320000
jae 0x14005fa0f
lea rdi, [rsi + 0x8000]
jmp 0x14005fa41
cmp rsi, 0xc80000
jae 0x14005fa3a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fa41
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fa61
test r9, r9
je 0x14005fa61
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x14005fa64
xor sil, sil
test rdi, rdi
js 0x14005fad4
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x14005fad4
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x14005faa3
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400ca2c0
mov rax, qword [rbx + 8]
lea rcx, [r13 + r13]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
cmp word [rsp + 0x60], r12w
jne case.0x14005f726.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14003ef20
jmp 0x1400600e2
test sil, sil
je 0x14005faea
lea rax, [0x140119108]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005faf2
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [rbx + 0x10], r12
call fcn.1400404c0
jmp 0x14005fab5
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc7d4
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp + 0x7a0]
mov word [rbp + 0x1079c], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14005fb64
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005fb64
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
mov dword [rsp + 0x38], 0xff
lea rax, [rbp + 0x2a0]
lea r9, [rbp + 0x107f8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
lea rdx, [rbp + 0xa0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
lea rcx, [rbp + 0x7a0]
mov r8d, 0xff
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je case.0x14005f726.0
sub esi, 2
je 0x14005fe33
dec esi
je 0x14005fbe1
cmp esi, 2
jne case.0x14005f726.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14005f726.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005fc0a
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14005fc20
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fc37
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0xa0]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
lea rax, [r13 + 1]
lea rsi, [rax + rax]
cmp dl, 2
jne 0x14005fc58
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006140
jmp case.0x14005f726.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005fc6e
cmp rsi, qword [rbx + 0x18]
ja 0x14005febc
cmp rax, 2
jb 0x14005fee1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fc95
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fe13
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fccc
cmp al, 2
je 0x14005fd0c
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fe07
cmp rsi, 0x80
ja 0x14005fd0c
cmp rsi, 8
ja 0x14005fce2
mov edi, 8
jmp 0x14005fcf2
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je case.0x14005f726.4
mov byte [rbx + 0x20], 1
jmp 0x14005fe07
cmp rsi, 0x20
jae 0x14005fd1c
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fdc6
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fdc6
cmp rsi, 0x50000
jae 0x14005fd82
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fd49
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fd78
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fd78
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fdc6
cmp rsi, 0x320000
jae 0x14005fd94
lea rdi, [rsi + 0x8000]
jmp 0x14005fdc6
cmp rsi, 0xc80000
jae 0x14005fdbf
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fdc6
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fde6
test r9, r9
je 0x14005fde6
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x14005fde9
xor sil, sil
test rdi, rdi
js 0x140060100
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x140060100
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
lea rax, [rbp + 0xa0]
cmp rcx, rax
je 0x1400600b1
lea rdx, [rbp + 0xa0]
jmp 0x1400600a7
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005fe5c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14005fe72
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fe89
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x2a0]
xor eax, eax
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
lea rax, [r13 + 1]
lea rsi, [rax + rax]
cmp dl, 2
jne 0x14005feaa
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006140
jmp case.0x14005f726.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005fedb
cmp rsi, qword [rbx + 0x18]
jbe 0x14005fedb
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.1400404c0
jmp case.0x14005f726.4
cmp rax, 2
jae 0x14005fef5
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b08f0
jmp case.0x14005f726.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005ff12
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060090
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005ff49
cmp al, 2
je 0x14005ff89
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060084
cmp rsi, 0x80
ja 0x14005ff89
cmp rsi, 8
ja 0x14005ff5f
mov edi, 8
jmp 0x14005ff6f
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je case.0x14005f726.4
mov byte [rbx + 0x20], 1
jmp 0x140060084
cmp rsi, 0x20
jae 0x14005ff99
mov edi, SafeArrayAllocDescriptor
jmp 0x140060043
mov edi, 0x208
cmp rsi, rdi
jb 0x140060043
cmp rsi, 0x50000
jae 0x14005ffff
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005ffc6
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fff5
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fff5
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060043
cmp rsi, 0x320000
jae 0x140060011
lea rdi, [rsi + 0x8000]
jmp 0x140060043
cmp rsi, 0xc80000
jae 0x14006003c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060043
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060063
test r9, r9
je 0x140060063
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x140060066
xor sil, sil
test rdi, rdi
js 0x140060100
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x140060100
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
lea rax, [rbp + 0x2a0]
cmp rcx, rax
je 0x1400600b1
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400ca2c0
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x140118280]
lea rdx, [0x1400e24fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
mov r12, qword [rsp + 0x108e8]
mov r14, qword [rsp + 0x108a8]
add rsp, 0x108b0
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
test sil, sil
je 0x140060116
lea rax, [0x140119108]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006011e
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119150]
mov qword [rbx + 0x10], r12
call fcn.1400404c0
jmp case.0x14005f726.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc7d4
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp + 0x7a0]
mov word [rbp + 0x1079c], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x140060190
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x140060190
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 6
ja case.0x14005f726.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x60d88]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400601de
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x1400601f4
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x1400601f9
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006072d
mov r8, qword [0x140112460]
cmp r13, r8
jbe 0x14006021f
cmp r13, qword [rbx + 0x18]
ja 0x14005febc
cmp rcx, 2
jb 0x14005fee1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060246
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x1400603c4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006027d
cmp al, 2
je 0x1400602bd
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400603b8
cmp r13, 0x80
ja 0x1400602bd
cmp r13, 8
ja 0x140060293
mov edi, 8
jmp 0x1400602a3
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je case.0x14005f726.4
mov byte [rbx + 0x20], 1
jmp 0x1400603b8
cmp r13, 0x20
jae 0x1400602cd
mov edi, SafeArrayAllocDescriptor
jmp 0x140060377
mov edi, 0x208
cmp r13, rdi
jb 0x140060377
cmp r13, 0x50000
jae 0x140060333
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x1400602fa
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060329
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060329
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060377
cmp r13, 0x320000
jae 0x140060345
lea rdi, [r13 + 0x8000]
jmp 0x140060377
cmp r13, 0xc80000
jae 0x140060370
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060377
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060397
test r9, r9
je 0x140060397
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400ca100
jmp 0x14006039a
xor r13b, r13b
test rdi, rdi
js 0x1400608c1
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x1400608c1
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r14
je 0x1400603d9
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400ca2c0
lea rcx, [rsi + rsi]
jmp 0x1400600b6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006040b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x140060421
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x140060427
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060443
mov rdx, r14
mov rcx, r13
call fcn.140006140
jmp case.0x14005f726.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x140060459
cmp rsi, qword [rbx + 0x18]
ja 0x14005febc
cmp rcx, 2
jb 0x14005fee1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060480
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x1400605fe
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400604b7
cmp al, 2
je 0x1400604f7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400605f2
cmp rsi, 0x80
ja 0x1400604f7
cmp rsi, 8
ja 0x1400604cd
mov edi, 8
jmp 0x1400604dd
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je case.0x14005f726.4
mov byte [rbx + 0x20], 1
jmp 0x1400605f2
cmp rsi, 0x20
jae 0x140060507
mov edi, SafeArrayAllocDescriptor
jmp 0x1400605b1
mov edi, 0x208
cmp rsi, rdi
jb 0x1400605b1
cmp rsi, 0x50000
jae 0x14006056d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060534
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060563
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060563
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400605b1
cmp rsi, 0x320000
jae 0x14006057f
lea rdi, [rsi + 0x8000]
jmp 0x1400605b1
cmp rsi, 0xc80000
jae 0x1400605aa
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x1400605b1
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400605d1
test r9, r9
je 0x1400605d1
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x1400605d4
xor sil, sil
test rdi, rdi
js 0x140060100
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x140060100
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rdi
mov rcx, qword [rbx + 8]
cmp rcx, r13
je 0x140060613
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400ca2c0
lea rcx, [r14 + r14]
jmp 0x1400600b6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060645
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x140060c9c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060995
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006068b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.Network
jmp 0x140060981
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400606c0
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x140060c9c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060995
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060706
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x14006071c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060721
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14006073d
mov rdx, rsi
mov rcx, r14
call fcn.140006140
jmp case.0x14005f726.4
mov r8, qword [0x140112460]
cmp r13, r8
jbe 0x140060753
cmp r13, qword [rbx + 0x18]
ja 0x14005febc
cmp rcx, 2
jb 0x14005fee1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006077a
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x1400603c4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400607b1
cmp al, 2
je 0x1400607ce
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400603b8
cmp r13, 0x80
ja 0x1400607ce
cmp r13, 8
ja 0x140060293
mov edi, 8
jmp 0x1400602a3
cmp r13, 0x20
jae 0x1400607de
mov edi, SafeArrayAllocDescriptor
jmp 0x140060888
mov edi, 0x208
cmp r13, rdi
jb 0x140060888
cmp r13, 0x50000
jae 0x140060844
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006080b
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006083a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006083a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060888
cmp r13, 0x320000
jae 0x140060856
lea rdi, [r13 + 0x8000]
jmp 0x140060888
cmp r13, 0xc80000
jae 0x140060881
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060888
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400608a8
test r9, r9
je 0x1400608a8
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400ca100
jmp 0x1400608ab
xor r13b, r13b
test rdi, rdi
js 0x1400608c1
mov rcx, rdi
call fcn.1400c9664
test rax, rax
jne 0x1400603b4
test r13b, r13b
jmp 0x140060103
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc7d4
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp + 0x7a0]
mov word [rbp + 0x1079c], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14006091b
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006091b
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
lea rcx, [rbp + 0x7a0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x140060c62
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140060c62
cmp eax, 3
je 0x140060c2d
cmp eax, 0x13
je 0x140060bd1
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x1400609aa
test al, al
je 0x1400601bd
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060990
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060995
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006072d
jmp 0x14006073d
test al, al
jne 0x1400609cf
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x1400609ea
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x1400609ed
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060a09
mov rdx, r13
mov rcx, r14
call fcn.140006140
jmp case.0x14005f726.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x140060a1f
cmp rsi, qword [rbx + 0x18]
ja 0x14005febc
cmp rcx, 2
jb 0x14005fee1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060a46
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r8, qword [0x140112460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060bbc
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060a7d
cmp al, 2
je 0x140060ab5
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x140060bb0
cmp rsi, 0x80
ja 0x140060ab5
cmp rsi, rdi
jbe 0x140060a9b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a93d0
test rax, rax
je case.0x14005f726.4
mov byte [rbx + 0x20], 1
jmp 0x140060bb0
cmp rsi, 0x20
jae 0x140060ac5
mov edi, SafeArrayAllocDescriptor
jmp 0x140060b6f
mov edi, 0x208
cmp rsi, rdi
jb 0x140060b6f
cmp rsi, 0x50000
jae 0x140060b2b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060af2
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060b21
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060b21
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060b6f
cmp rsi, 0x320000
jae 0x140060b3d
lea rdi, [rsi + 0x8000]
jmp 0x140060b6f
cmp rsi, 0xc80000
jae 0x140060b68
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060b6f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060b8f
test r9, r9
je 0x140060b8f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca100
jmp 0x140060b92
xor sil, sil
test rdi, rdi
js 0x140060100
mov rcx, rdi
call fcn.1400c9664
test rax, rax
je 0x140060100
mov byte [rbx + 0x20], 2
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 0x18], rdi
mov qword [rbx + 8], rax
mov rcx, qword [rbx + 8]
cmp rcx, r14
je 0x1400600b1
mov rdx, r14
jmp 0x1400600a7
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060bfa
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140060c15
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060c18
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x1400609f9
jmp 0x140060a09
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060c56
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.Invalid
jmp 0x140060981
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060c8b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x140060987
mov esi, 5
jmp 0x140060995
cmp word [rdi], 0
jne 0x140060ccd
lea rdx, [rbp + 0x4a0]
lea rcx, str.status_cdaudio_mode
xor r9d, r9d
mov r8d, 0x80
call qword [sym.imp.WINMM.dll_mciSendStringW]
test eax, eax
jmp 0x140060d3b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400ac1c0
lea rcx, [rbp + 0x5a0]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WINMM.dll_mciSendStringW]
test eax, eax
jne case.0x14005f726.0
lea rdx, [rbp + 0x4a0]
lea rcx, str.status_cd_mode
xor r9d, r9d
mov r8d, 0x80
call qword [sym.imp.WINMM.dll_mciSendStringW]
lea rcx, str.close_cd_wait
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov edi, eax
call qword [sym.imp.WINMM.dll_mciSendStringW]
test edi, edi
jne case.0x14005f726.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400b0240
jmp case.0x14005f726.4