Function at 0x14005f440
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.1400d1bf0
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140043090
movsxd rsi, eax
cmp esi, 9
jne 0x14005f495
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14005ed80
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 0x14005f82c
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400ccab4
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 0x14005f500
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f500
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005f513
cmp ax, 9
jne 0x14005f519
add rdx, 2
jmp 0x14005f504
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 0x14005f56b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b0520
mov r12d, eax
jmp 0x140060212
mov dl, 1
test r13, r13
jne 0x14005f580
xor dl, dl
mov r14, r12
lea r13, [0x1400e245c]
jmp 0x14005f5a2
cmp qword [rbx + 8], r13
jne 0x14005f58f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005f5a2
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 0x14005f5c3
mov rdx, r14
mov rcx, r13
call fcn.140006150
mov r12d, eax
jmp 0x140060212
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005f5f7
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f5f7
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
mov r12d, eax
jmp 0x140060212
cmp rax, 2
jae 0x14005f621
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400b0bd0
mov r12d, 1
mov eax, r12d
jmp 0x140060212
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f63e
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 0x14005f7b4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f675
cmp al, 2
je 0x14005f6b5
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f7a8
cmp rsi, 0x80
ja 0x14005f6b5
cmp rsi, 8
ja 0x14005f68b
mov edi, 8
jmp 0x14005f69b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14005f7e0
mov byte [rbx + 0x20], 1
jmp 0x14005f7a8
cmp rsi, 0x20
jae 0x14005f6c5
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f76f
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f76f
cmp rsi, 0x50000
jae 0x14005f72b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f6f2
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f721
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f721
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f76f
cmp rsi, 0x320000
jae 0x14005f73d
lea rdi, [rsi + 0x8000]
jmp 0x14005f76f
cmp rsi, 0xc80000
jae 0x14005f768
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f76f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f78f
test r9, r9
je 0x14005f78f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x14005f792
xor sil, sil
test rdi, rdi
js 0x14005f7e8
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14005f7e8
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 0x14005f7c9
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400ca5a0
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 0x140060212
test sil, sil
je 0x14005f7fe
lea rax, [0x140119108]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005f806
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.140040520
mov r12d, eax
jmp 0x140060212
mov rbx, qword [0x1401175a0]
mov rcx, rbx
call fcn.14001c060
cmp esi, 8
ja case.0x14005f856.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x60e94]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14005f86b
mov esi, 0x100
jmp 0x14005f8fd
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400c98bc
test eax, eax
jne 0x14005f883
lea esi, [rax + 5]
jmp 0x14005f8fd
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400c98bc
test eax, eax
jne 0x14005f89b
lea esi, [rax + 2]
jmp 0x14005f8fd
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400c98bc
test eax, eax
jne 0x14005f8b3
lea esi, [rax + 3]
jmp 0x14005f8fd
lea rdx, str.Network
mov rcx, rdi
call fcn.1400c98bc
test eax, eax
jne 0x14005f8cb
lea esi, [rax + 4]
jmp 0x14005f8fd
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400c98bc
test eax, eax
jne 0x14005f8e3
lea esi, [rax + 6]
jmp 0x14005f8fd
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400c98bc
test eax, eax
jne case.0x14005f856.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 0x14005f93f
cmp esi, 0x100
jne 0x14005f94f
cmp eax, 1
je 0x14005f94f
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14005f910
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14005f990
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp 0x14005fbe5
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14005f9a4
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005f9b9
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 0x14005f9d8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006150
jmp 0x14005fbe5
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005fa09
cmp rsi, qword [rbx + 0x18]
jbe 0x14005fa09
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp 0x14005fbe5
cmp rax, 2
jae 0x14005fa23
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp 0x14005fbe5
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fa40
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 0x14005fbb6
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fa77
cmp al, 2
je 0x14005fab7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fbaa
cmp rsi, 0x80
ja 0x14005fab7
cmp rsi, 8
ja 0x14005fa8d
mov edi, 8
jmp 0x14005fa9d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je 0x14005fbe5
mov byte [rbx + 0x20], 1
jmp 0x14005fbaa
cmp rsi, 0x20
jae 0x14005fac7
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fb71
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fb71
cmp rsi, 0x50000
jae 0x14005fb2d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005faf4
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fb23
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fb23
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fb71
cmp rsi, 0x320000
jae 0x14005fb3f
lea rdi, [rsi + 0x8000]
jmp 0x14005fb71
cmp rsi, 0xc80000
jae 0x14005fb6a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fb71
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fb91
test r9, r9
je 0x14005fb91
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x14005fb94
xor sil, sil
test rdi, rdi
js 0x14005fc04
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x14005fc04
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 0x14005fbd3
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400ca5a0
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.0x14005f856.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14003ef80
jmp 0x140060212
test sil, sil
je 0x14005fc1a
lea rax, [0x140119108]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005fc22
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.140040520
jmp 0x14005fbe5
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400ccab4
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 0x14005fc94
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005fc94
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.0x14005f856.0
sub esi, 2
je 0x14005ff63
dec esi
je 0x14005fd11
cmp esi, 2
jne case.0x14005f856.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14005f856.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005fd3a
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14005fd50
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fd67
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 0x14005fd88
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006150
jmp case.0x14005f856.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14005fd9e
cmp rsi, qword [rbx + 0x18]
ja 0x14005ffec
cmp rax, 2
jb 0x140060011
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fdc5
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 0x14005ff43
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fdfc
cmp al, 2
je 0x14005fe3c
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005ff37
cmp rsi, 0x80
ja 0x14005fe3c
cmp rsi, 8
ja 0x14005fe12
mov edi, 8
jmp 0x14005fe22
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je case.0x14005f856.4
mov byte [rbx + 0x20], 1
jmp 0x14005ff37
cmp rsi, 0x20
jae 0x14005fe4c
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fef6
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fef6
cmp rsi, 0x50000
jae 0x14005feb2
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fe79
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fea8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fea8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fef6
cmp rsi, 0x320000
jae 0x14005fec4
lea rdi, [rsi + 0x8000]
jmp 0x14005fef6
cmp rsi, 0xc80000
jae 0x14005feef
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fef6
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005ff16
test r9, r9
je 0x14005ff16
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x14005ff19
xor sil, sil
test rdi, rdi
js 0x140060230
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x140060230
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 0x1400601e1
lea rdx, [rbp + 0xa0]
jmp 0x1400601d7
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005ff8c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14005ffa2
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005ffb9
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 0x14005ffda
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006150
jmp case.0x14005f856.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x14006000b
cmp rsi, qword [rbx + 0x18]
jbe 0x14006000b
lea r8, [0x1400e245c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x140119150]
call fcn.140040520
jmp case.0x14005f856.4
cmp rax, 2
jae 0x140060025
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0bd0
jmp case.0x14005f856.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060042
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 0x1400601c0
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060079
cmp al, 2
je 0x1400600b9
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400601b4
cmp rsi, 0x80
ja 0x1400600b9
cmp rsi, 8
ja 0x14006008f
mov edi, 8
jmp 0x14006009f
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je case.0x14005f856.4
mov byte [rbx + 0x20], 1
jmp 0x1400601b4
cmp rsi, 0x20
jae 0x1400600c9
mov edi, SafeArrayAllocDescriptor
jmp 0x140060173
mov edi, 0x208
cmp rsi, rdi
jb 0x140060173
cmp rsi, 0x50000
jae 0x14006012f
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400600f6
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060125
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060125
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060173
cmp rsi, 0x320000
jae 0x140060141
lea rdi, [rsi + 0x8000]
jmp 0x140060173
cmp rsi, 0xc80000
jae 0x14006016c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060173
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060193
test r9, r9
je 0x140060193
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x140060196
xor sil, sil
test rdi, rdi
js 0x140060230
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x140060230
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 0x1400601e1
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400ca5a0
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.1400b0520
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 0x140060246
lea rax, [0x140119108]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006024e
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.140040520
jmp case.0x14005f856.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400ccab4
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 0x1400602c0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x1400602c0
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.0x14005f856.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x60eb8]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006030e
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060324
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060329
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006085d
mov r8, qword [0x140112460]
cmp r13, r8
jbe 0x14006034f
cmp r13, qword [rbx + 0x18]
ja 0x14005ffec
cmp rcx, 2
jb 0x140060011
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060376
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 0x1400604f4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400603ad
cmp al, 2
je 0x1400603ed
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400604e8
cmp r13, 0x80
ja 0x1400603ed
cmp r13, 8
ja 0x1400603c3
mov edi, 8
jmp 0x1400603d3
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je case.0x14005f856.4
mov byte [rbx + 0x20], 1
jmp 0x1400604e8
cmp r13, 0x20
jae 0x1400603fd
mov edi, SafeArrayAllocDescriptor
jmp 0x1400604a7
mov edi, 0x208
cmp r13, rdi
jb 0x1400604a7
cmp r13, 0x50000
jae 0x140060463
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006042a
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060459
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060459
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400604a7
cmp r13, 0x320000
jae 0x140060475
lea rdi, [r13 + 0x8000]
jmp 0x1400604a7
cmp r13, 0xc80000
jae 0x1400604a0
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x1400604a7
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400604c7
test r9, r9
je 0x1400604c7
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400ca3e0
jmp 0x1400604ca
xor r13b, r13b
test rdi, rdi
js 0x1400609f1
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x1400609f1
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 0x140060509
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400ca5a0
lea rcx, [rsi + rsi]
jmp 0x1400601e6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006053b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x140060551
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x140060557
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060573
mov rdx, r14
mov rcx, r13
call fcn.140006150
jmp case.0x14005f856.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x140060589
cmp rsi, qword [rbx + 0x18]
ja 0x14005ffec
cmp rcx, 2
jb 0x140060011
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400605b0
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 0x14006072e
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400605e7
cmp al, 2
je 0x140060627
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060722
cmp rsi, 0x80
ja 0x140060627
cmp rsi, 8
ja 0x1400605fd
mov edi, 8
jmp 0x14006060d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je case.0x14005f856.4
mov byte [rbx + 0x20], 1
jmp 0x140060722
cmp rsi, 0x20
jae 0x140060637
mov edi, SafeArrayAllocDescriptor
jmp 0x1400606e1
mov edi, 0x208
cmp rsi, rdi
jb 0x1400606e1
cmp rsi, 0x50000
jae 0x14006069d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060664
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060693
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060693
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400606e1
cmp rsi, 0x320000
jae 0x1400606af
lea rdi, [rsi + 0x8000]
jmp 0x1400606e1
cmp rsi, 0xc80000
jae 0x1400606da
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x1400606e1
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060701
test r9, r9
je 0x140060701
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x140060704
xor sil, sil
test rdi, rdi
js 0x140060230
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x140060230
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 0x140060743
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400ca5a0
lea rcx, [r14 + r14]
jmp 0x1400601e6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060775
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x140060dcc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060ac5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400607bb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.Network
jmp 0x140060ab1
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400607f0
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x140060dcc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060ac5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060836
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x14006084c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060851
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14006086d
mov rdx, rsi
mov rcx, r14
call fcn.140006150
jmp case.0x14005f856.4
mov r8, qword [0x140112460]
cmp r13, r8
jbe 0x140060883
cmp r13, qword [rbx + 0x18]
ja 0x14005ffec
cmp rcx, 2
jb 0x140060011
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400608aa
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 0x1400604f4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400608e1
cmp al, 2
je 0x1400608fe
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400604e8
cmp r13, 0x80
ja 0x1400608fe
cmp r13, 8
ja 0x1400603c3
mov edi, 8
jmp 0x1400603d3
cmp r13, 0x20
jae 0x14006090e
mov edi, SafeArrayAllocDescriptor
jmp 0x1400609b8
mov edi, 0x208
cmp r13, rdi
jb 0x1400609b8
cmp r13, 0x50000
jae 0x140060974
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006093b
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006096a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006096a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400609b8
cmp r13, 0x320000
jae 0x140060986
lea rdi, [r13 + 0x8000]
jmp 0x1400609b8
cmp r13, 0xc80000
jae 0x1400609b1
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x1400609b8
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400609d8
test r9, r9
je 0x1400609d8
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400ca3e0
jmp 0x1400609db
xor r13b, r13b
test rdi, rdi
js 0x1400609f1
mov rcx, rdi
call fcn.1400c9944
test rax, rax
jne 0x1400604e4
test r13b, r13b
jmp 0x140060233
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400ccab4
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 0x140060a4b
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x140060a4b
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 0x140060d92
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140060d92
cmp eax, 3
je 0x140060d5d
cmp eax, 0x13
je 0x140060d01
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x140060ada
test al, al
je 0x1400602ed
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060ac0
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060ac5
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006085d
jmp 0x14006086d
test al, al
jne 0x140060aff
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140060b1a
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060b1d
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060b39
mov rdx, r13
mov rcx, r14
call fcn.140006150
jmp case.0x14005f856.4
mov r8, qword [0x140112460]
cmp rsi, r8
jbe 0x140060b4f
cmp rsi, qword [rbx + 0x18]
ja 0x14005ffec
cmp rcx, 2
jb 0x140060011
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060b76
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 0x140060cec
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060bad
cmp al, 2
je 0x140060be5
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x140060ce0
cmp rsi, 0x80
ja 0x140060be5
cmp rsi, rdi
jbe 0x140060bcb
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a96a0
test rax, rax
je case.0x14005f856.4
mov byte [rbx + 0x20], 1
jmp 0x140060ce0
cmp rsi, 0x20
jae 0x140060bf5
mov edi, SafeArrayAllocDescriptor
jmp 0x140060c9f
mov edi, 0x208
cmp rsi, rdi
jb 0x140060c9f
cmp rsi, 0x50000
jae 0x140060c5b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060c22
addsd xmm0, qword [0x140100db8]
mulsd xmm0, qword [0x140100df0]
movsd xmm1, qword [0x140100de8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060c51
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060c51
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060c9f
cmp rsi, 0x320000
jae 0x140060c6d
lea rdi, [rsi + 0x8000]
jmp 0x140060c9f
cmp rsi, 0xc80000
jae 0x140060c98
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060c9f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060cbf
test r9, r9
je 0x140060cbf
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400ca3e0
jmp 0x140060cc2
xor sil, sil
test rdi, rdi
js 0x140060230
mov rcx, rdi
call fcn.1400c9944
test rax, rax
je 0x140060230
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 0x1400601e1
mov rdx, r14
jmp 0x1400601d7
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060d2a
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140060d45
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060d48
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x140060b29
jmp 0x140060b39
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060d86
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.Invalid
jmp 0x140060ab1
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060dbb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x140060ab7
mov esi, 5
jmp 0x140060ac5
cmp word [rdi], 0
jne 0x140060dfd
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 0x140060e6b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400ac4a0
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.0x14005f856.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.0x14005f856.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400b0520
jmp case.0x14005f856.4