Function at 0x14005f660
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.1400d2180
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140043210
movsxd rsi, eax
cmp esi, 9
jne 0x14005f6b5
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14005efa0
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 0x14005fa4c
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd044
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 0x14005f720
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f720
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005f733
cmp ax, 9
jne 0x14005f739
add rdx, 2
jmp 0x14005f724
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.DLL_SetVolumeLabelW]
mov rbx, qword [0x1401182a0]
lea rdx, [0x1400e24fc]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400e51ac]
cmovne r13, rdx
test r9b, r9b
jne 0x14005f78b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
mov r12d, eax
jmp 0x140060432
mov dl, 1
test r13, r13
jne 0x14005f7a0
xor dl, dl
mov r14, r12
lea r13, [0x1400e245c]
jmp 0x14005f7c2
cmp qword [rbx + 8], r13
jne 0x14005f7af
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005f7c2
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 0x14005f7e3
mov rdx, r14
mov rcx, r13
call fcn.140006100
mov r12d, eax
jmp 0x140060432
mov r8, qword [0x140112480]
cmp rsi, r8
jbe 0x14005f817
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f817
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.1400406a0
mov r12d, eax
jmp 0x140060432
cmp rax, 2
jae 0x14005f841
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400b10c0
mov r12d, 1
mov eax, r12d
jmp 0x140060432
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f85e
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005f9d4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f895
cmp al, 2
je 0x14005f8d5
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f9c8
cmp rsi, 0x80
ja 0x14005f8d5
cmp rsi, 8
ja 0x14005f8ab
mov edi, 8
jmp 0x14005f8bb
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je 0x14005fa00
mov byte [rbx + 0x20], 1
jmp 0x14005f9c8
cmp rsi, 0x20
jae 0x14005f8e5
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f98f
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f98f
cmp rsi, 0x50000
jae 0x14005f94b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f912
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f941
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f941
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f98f
cmp rsi, 0x320000
jae 0x14005f95d
lea rdi, [rsi + 0x8000]
jmp 0x14005f98f
cmp rsi, 0xc80000
jae 0x14005f988
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f98f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f9af
test r9, r9
je 0x14005f9af
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca970
jmp 0x14005f9b2
xor sil, sil
test rdi, rdi
js 0x14005fa08
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x14005fa08
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 0x14005f9e9
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cab30
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 0x140060432
test sil, sil
je 0x14005fa1e
lea rax, [0x140119128]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005fa26
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [rbx + 0x10], r12
call fcn.1400406a0
mov r12d, eax
jmp 0x140060432
mov rbx, qword [0x1401175c0]
mov rcx, rbx
call fcn.14001c050
cmp esi, 8
ja case.0x14005fa76.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x610b4]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14005fa8b
mov esi, 0x100
jmp 0x14005fb1d
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400c9e4c
test eax, eax
jne 0x14005faa3
lea esi, [rax + 5]
jmp 0x14005fb1d
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400c9e4c
test eax, eax
jne 0x14005fabb
lea esi, [rax + 2]
jmp 0x14005fb1d
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400c9e4c
test eax, eax
jne 0x14005fad3
lea esi, [rax + 3]
jmp 0x14005fb1d
lea rdx, str.Network
mov rcx, rdi
call fcn.1400c9e4c
test eax, eax
jne 0x14005faeb
lea esi, [rax + 4]
jmp 0x14005fb1d
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400c9e4c
test eax, eax
jne 0x14005fb03
lea esi, [rax + 6]
jmp 0x14005fb1d
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400c9e4c
test eax, eax
jne case.0x14005fa76.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 0x14005fb5f
cmp esi, 0x100
jne 0x14005fb6f
cmp eax, 1
je 0x14005fb6f
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14005fb30
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14005fbb0
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp 0x14005fe05
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14005fbc4
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fbd9
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 0x14005fbf8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006100
jmp 0x14005fe05
mov r8, qword [0x140112480]
cmp rsi, r8
jbe 0x14005fc29
cmp rsi, qword [rbx + 0x18]
jbe 0x14005fc29
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.1400406a0
jmp 0x14005fe05
cmp rax, 2
jae 0x14005fc43
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b10c0
jmp 0x14005fe05
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fc60
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fdd6
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fc97
cmp al, 2
je 0x14005fcd7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fdca
cmp rsi, 0x80
ja 0x14005fcd7
cmp rsi, 8
ja 0x14005fcad
mov edi, 8
jmp 0x14005fcbd
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je 0x14005fe05
mov byte [rbx + 0x20], 1
jmp 0x14005fdca
cmp rsi, 0x20
jae 0x14005fce7
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fd91
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fd91
cmp rsi, 0x50000
jae 0x14005fd4d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fd14
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fd43
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fd43
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fd91
cmp rsi, 0x320000
jae 0x14005fd5f
lea rdi, [rsi + 0x8000]
jmp 0x14005fd91
cmp rsi, 0xc80000
jae 0x14005fd8a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fd91
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fdb1
test r9, r9
je 0x14005fdb1
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca970
jmp 0x14005fdb4
xor sil, sil
test rdi, rdi
js 0x14005fe24
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x14005fe24
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 0x14005fdf3
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400cab30
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.0x14005fa76.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14003f100
jmp 0x140060432
test sil, sil
je 0x14005fe3a
lea rax, [0x140119128]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005fe42
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [rbx + 0x10], r12
call fcn.1400406a0
jmp 0x14005fe05
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd044
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 0x14005feb4
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005feb4
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.0x14005fa76.0
sub esi, 2
je 0x140060183
dec esi
je 0x14005ff31
cmp esi, 2
jne case.0x14005fa76.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14005fa76.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005ff5a
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14005ff70
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005ff87
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 0x14005ffa8
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006100
jmp case.0x14005fa76.4
mov r8, qword [0x140112480]
cmp rsi, r8
jbe 0x14005ffbe
cmp rsi, qword [rbx + 0x18]
ja 0x14006020c
cmp rax, 2
jb 0x140060231
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005ffe5
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060163
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006001c
cmp al, 2
je 0x14006005c
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060157
cmp rsi, 0x80
ja 0x14006005c
cmp rsi, 8
ja 0x140060032
mov edi, 8
jmp 0x140060042
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je case.0x14005fa76.4
mov byte [rbx + 0x20], 1
jmp 0x140060157
cmp rsi, 0x20
jae 0x14006006c
mov edi, SafeArrayAllocDescriptor
jmp 0x140060116
mov edi, 0x208
cmp rsi, rdi
jb 0x140060116
cmp rsi, 0x50000
jae 0x1400600d2
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060099
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400600c8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400600c8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060116
cmp rsi, 0x320000
jae 0x1400600e4
lea rdi, [rsi + 0x8000]
jmp 0x140060116
cmp rsi, 0xc80000
jae 0x14006010f
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060116
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060136
test r9, r9
je 0x140060136
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca970
jmp 0x140060139
xor sil, sil
test rdi, rdi
js 0x140060450
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x140060450
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 0x140060401
lea rdx, [rbp + 0xa0]
jmp 0x1400603f7
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x1400601ac
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x1400601c2
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x1400601d9
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 0x1400601fa
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006100
jmp case.0x14005fa76.4
mov r8, qword [0x140112480]
cmp rsi, r8
jbe 0x14006022b
cmp rsi, qword [rbx + 0x18]
jbe 0x14006022b
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119170]
call fcn.1400406a0
jmp case.0x14005fa76.4
cmp rax, 2
jae 0x140060245
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b10c0
jmp case.0x14005fa76.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060262
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x1400603e0
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060299
cmp al, 2
je 0x1400602d9
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400603d4
cmp rsi, 0x80
ja 0x1400602d9
cmp rsi, 8
ja 0x1400602af
mov edi, 8
jmp 0x1400602bf
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je case.0x14005fa76.4
mov byte [rbx + 0x20], 1
jmp 0x1400603d4
cmp rsi, 0x20
jae 0x1400602e9
mov edi, SafeArrayAllocDescriptor
jmp 0x140060393
mov edi, 0x208
cmp rsi, rdi
jb 0x140060393
cmp rsi, 0x50000
jae 0x14006034f
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060316
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060345
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060345
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060393
cmp rsi, 0x320000
jae 0x140060361
lea rdi, [rsi + 0x8000]
jmp 0x140060393
cmp rsi, 0xc80000
jae 0x14006038c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060393
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400603b3
test r9, r9
je 0x1400603b3
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca970
jmp 0x1400603b6
xor sil, sil
test rdi, rdi
js 0x140060450
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x140060450
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 0x140060401
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400cab30
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x1401182a0]
lea rdx, [0x1400e24fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
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 0x140060466
lea rax, [0x140119128]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006046e
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e245c]
lea rdx, str.Out_of_memory.
lea rcx, [0x140119170]
mov qword [rbx + 0x10], r12
call fcn.1400406a0
jmp case.0x14005fa76.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd044
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 0x1400604e0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x1400604e0
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.0x14005fa76.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x610d8]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006052e
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060544
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060549
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x140060a7d
mov r8, qword [0x140112480]
cmp r13, r8
jbe 0x14006056f
cmp r13, qword [rbx + 0x18]
ja 0x14006020c
cmp rcx, 2
jb 0x140060231
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060596
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x140060714
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400605cd
cmp al, 2
je 0x14006060d
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060708
cmp r13, 0x80
ja 0x14006060d
cmp r13, 8
ja 0x1400605e3
mov edi, 8
jmp 0x1400605f3
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je case.0x14005fa76.4
mov byte [rbx + 0x20], 1
jmp 0x140060708
cmp r13, 0x20
jae 0x14006061d
mov edi, SafeArrayAllocDescriptor
jmp 0x1400606c7
mov edi, 0x208
cmp r13, rdi
jb 0x1400606c7
cmp r13, 0x50000
jae 0x140060683
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006064a
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060679
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060679
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400606c7
cmp r13, 0x320000
jae 0x140060695
lea rdi, [r13 + 0x8000]
jmp 0x1400606c7
cmp r13, 0xc80000
jae 0x1400606c0
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x1400606c7
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400606e7
test r9, r9
je 0x1400606e7
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400ca970
jmp 0x1400606ea
xor r13b, r13b
test rdi, rdi
js 0x140060c11
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x140060c11
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 0x140060729
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400cab30
lea rcx, [rsi + rsi]
jmp 0x140060406
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006075b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x140060771
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x140060777
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060793
mov rdx, r14
mov rcx, r13
call fcn.140006100
jmp case.0x14005fa76.4
mov r8, qword [0x140112480]
cmp rsi, r8
jbe 0x1400607a9
cmp rsi, qword [rbx + 0x18]
ja 0x14006020c
cmp rcx, 2
jb 0x140060231
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400607d0
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006094e
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060807
cmp al, 2
je 0x140060847
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060942
cmp rsi, 0x80
ja 0x140060847
cmp rsi, 8
ja 0x14006081d
mov edi, 8
jmp 0x14006082d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je case.0x14005fa76.4
mov byte [rbx + 0x20], 1
jmp 0x140060942
cmp rsi, 0x20
jae 0x140060857
mov edi, SafeArrayAllocDescriptor
jmp 0x140060901
mov edi, 0x208
cmp rsi, rdi
jb 0x140060901
cmp rsi, 0x50000
jae 0x1400608bd
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060884
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400608b3
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400608b3
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060901
cmp rsi, 0x320000
jae 0x1400608cf
lea rdi, [rsi + 0x8000]
jmp 0x140060901
cmp rsi, 0xc80000
jae 0x1400608fa
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060901
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060921
test r9, r9
je 0x140060921
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca970
jmp 0x140060924
xor sil, sil
test rdi, rdi
js 0x140060450
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x140060450
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 0x140060963
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cab30
lea rcx, [r14 + r14]
jmp 0x140060406
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060995
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x140060fec
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060ce5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400609db
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.Network
jmp 0x140060cd1
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a10
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x140060fec
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060ce5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a56
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x140060a6c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060a71
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x140060a8d
mov rdx, rsi
mov rcx, r14
call fcn.140006100
jmp case.0x14005fa76.4
mov r8, qword [0x140112480]
cmp r13, r8
jbe 0x140060aa3
cmp r13, qword [rbx + 0x18]
ja 0x14006020c
cmp rcx, 2
jb 0x140060231
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060aca
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x140060714
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060b01
cmp al, 2
je 0x140060b1e
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060708
cmp r13, 0x80
ja 0x140060b1e
cmp r13, 8
ja 0x1400605e3
mov edi, 8
jmp 0x1400605f3
cmp r13, 0x20
jae 0x140060b2e
mov edi, SafeArrayAllocDescriptor
jmp 0x140060bd8
mov edi, 0x208
cmp r13, rdi
jb 0x140060bd8
cmp r13, 0x50000
jae 0x140060b94
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x140060b5b
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060b8a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060b8a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060bd8
cmp r13, 0x320000
jae 0x140060ba6
lea rdi, [r13 + 0x8000]
jmp 0x140060bd8
cmp r13, 0xc80000
jae 0x140060bd1
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060bd8
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060bf8
test r9, r9
je 0x140060bf8
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400ca970
jmp 0x140060bfb
xor r13b, r13b
test rdi, rdi
js 0x140060c11
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
jne 0x140060704
test r13b, r13b
jmp 0x140060453
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd044
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 0x140060c6b
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x140060c6b
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 0x140060fb2
call qword [sym.imp.KERNEL32.DLL_GetLastError]
test eax, eax
je 0x140060fb2
cmp eax, 3
je 0x140060f7d
cmp eax, 0x13
je 0x140060f21
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x140060cfa
test al, al
je 0x14006050d
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060ce0
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060ce5
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x140060a7d
jmp 0x140060a8d
test al, al
jne 0x140060d1f
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140060d3a
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060d3d
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060d59
mov rdx, r13
mov rcx, r14
call fcn.140006100
jmp case.0x14005fa76.4
mov r8, qword [0x140112480]
cmp rsi, r8
jbe 0x140060d6f
cmp rsi, qword [rbx + 0x18]
ja 0x14006020c
cmp rcx, 2
jb 0x140060231
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060d96
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 [0x140112480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060f0c
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060dcd
cmp al, 2
je 0x140060e05
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x140060f00
cmp rsi, 0x80
ja 0x140060e05
cmp rsi, rdi
jbe 0x140060deb
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a9920
test rax, rax
je case.0x14005fa76.4
mov byte [rbx + 0x20], 1
jmp 0x140060f00
cmp rsi, 0x20
jae 0x140060e15
mov edi, SafeArrayAllocDescriptor
jmp 0x140060ebf
mov edi, 0x208
cmp rsi, rdi
jb 0x140060ebf
cmp rsi, 0x50000
jae 0x140060e7b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060e42
addsd xmm0, qword [0x140100e18]
mulsd xmm0, qword [0x140100e50]
movsd xmm1, qword [0x140100e48]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060e71
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060e71
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060ebf
cmp rsi, 0x320000
jae 0x140060e8d
lea rdi, [rsi + 0x8000]
jmp 0x140060ebf
cmp rsi, 0xc80000
jae 0x140060eb8
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060ebf
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060edf
test r9, r9
je 0x140060edf
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca970
jmp 0x140060ee2
xor sil, sil
test rdi, rdi
js 0x140060450
mov rcx, rdi
call fcn.1400c9ed4
test rax, rax
je 0x140060450
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 0x140060401
mov rdx, r14
jmp 0x1400603f7
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060f4a
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140060f65
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060f68
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x140060d49
jmp 0x140060d59
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060fa6
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.Invalid
jmp 0x140060cd1
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060fdb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x140060cd7
mov esi, 5
jmp 0x140060ce5
cmp word [rdi], 0
jne 0x14006101d
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 0x14006108b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400ac730
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.0x14005fa76.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.0x14005fa76.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400b0a10
jmp case.0x14005fa76.4