Function at 0x14005f720
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.1400d23d0
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140043260
movsxd rsi, eax
cmp esi, 9
jne 0x14005f775
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14005f060
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 0x14005fb0c
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd814
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 0x14005f7e0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f7e0
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005f7f3
cmp ax, 9
jne 0x14005f7f9
add rdx, 2
jmp 0x14005f7e4
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x14011a308]
lea rdx, [0x1400e350c]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400e619c]
cmovne r13, rdx
test r9b, r9b
jne 0x14005f84b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400b1500
mov r12d, eax
jmp 0x1400604f2
mov dl, 1
test r13, r13
jne 0x14005f860
xor dl, dl
mov r14, r12
lea r13, [0x1400e346c]
jmp 0x14005f882
cmp qword [rbx + 8], r13
jne 0x14005f86f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005f882
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 0x14005f8a3
mov rdx, r14
mov rcx, r13
call fcn.140006090
mov r12d, eax
jmp 0x1400604f2
mov r8, qword [0x140114480]
cmp rsi, r8
jbe 0x14005f8d7
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f8d7
lea r8, [0x1400e346c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14011b1d0]
call fcn.140040760
mov r12d, eax
jmp 0x1400604f2
cmp rax, 2
jae 0x14005f901
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400b1bb0
mov r12d, 1
mov eax, r12d
jmp 0x1400604f2
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f91e
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fa94
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f955
cmp al, 2
je 0x14005f995
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fa88
cmp rsi, 0x80
ja 0x14005f995
cmp rsi, 8
ja 0x14005f96b
mov edi, 8
jmp 0x14005f97b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je 0x14005fac0
mov byte [rbx + 0x20], 1
jmp 0x14005fa88
cmp rsi, 0x20
jae 0x14005f9a5
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fa4f
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fa4f
cmp rsi, 0x50000
jae 0x14005fa0b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f9d2
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fa01
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fa01
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fa4f
cmp rsi, 0x320000
jae 0x14005fa1d
lea rdi, [rsi + 0x8000]
jmp 0x14005fa4f
cmp rsi, 0xc80000
jae 0x14005fa48
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fa4f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fa6f
test r9, r9
je 0x14005fa6f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb13c
jmp 0x14005fa72
xor sil, sil
test rdi, rdi
js 0x14005fac8
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x14005fac8
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 0x14005faa9
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cb300
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 0x1400604f2
test sil, sil
je 0x14005fade
lea rax, [0x14011b184]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005fae6
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e346c]
lea rdx, str.Out_of_memory.
lea rcx, [0x14011b1d0]
mov qword [rbx + 0x10], r12
call fcn.140040760
mov r12d, eax
jmp 0x1400604f2
mov rbx, qword [0x140119630]
mov rcx, rbx
call fcn.14001c010
cmp esi, 8
ja case.0x14005fb36.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x61174]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14005fb4b
mov esi, 0x100
jmp 0x14005fbdd
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400ca93c
test eax, eax
jne 0x14005fb63
lea esi, [rax + 5]
jmp 0x14005fbdd
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400ca93c
test eax, eax
jne 0x14005fb7b
lea esi, [rax + 2]
jmp 0x14005fbdd
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400ca93c
test eax, eax
jne 0x14005fb93
lea esi, [rax + 3]
jmp 0x14005fbdd
lea rdx, str.Network
mov rcx, rdi
call fcn.1400ca93c
test eax, eax
jne 0x14005fbab
lea esi, [rax + 4]
jmp 0x14005fbdd
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400ca93c
test eax, eax
jne 0x14005fbc3
lea esi, [rax + 6]
jmp 0x14005fbdd
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400ca93c
test eax, eax
jne case.0x14005fb36.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 0x14005fc1f
cmp esi, 0x100
jne 0x14005fc2f
cmp eax, 1
je 0x14005fc2f
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14005fbf0
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14005fc70
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp 0x14005fec5
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14005fc84
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fc99
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 0x14005fcb8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006090
jmp 0x14005fec5
mov r8, qword [0x140114480]
cmp rsi, r8
jbe 0x14005fce9
cmp rsi, qword [rbx + 0x18]
jbe 0x14005fce9
lea r8, [0x1400e346c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14011b1d0]
call fcn.140040760
jmp 0x14005fec5
cmp rax, 2
jae 0x14005fd03
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b1bb0
jmp 0x14005fec5
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fd20
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fe96
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fd57
cmp al, 2
je 0x14005fd97
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fe8a
cmp rsi, 0x80
ja 0x14005fd97
cmp rsi, 8
ja 0x14005fd6d
mov edi, 8
jmp 0x14005fd7d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je 0x14005fec5
mov byte [rbx + 0x20], 1
jmp 0x14005fe8a
cmp rsi, 0x20
jae 0x14005fda7
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fe51
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fe51
cmp rsi, 0x50000
jae 0x14005fe0d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fdd4
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fe03
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fe03
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fe51
cmp rsi, 0x320000
jae 0x14005fe1f
lea rdi, [rsi + 0x8000]
jmp 0x14005fe51
cmp rsi, 0xc80000
jae 0x14005fe4a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fe51
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fe71
test r9, r9
je 0x14005fe71
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb13c
jmp 0x14005fe74
xor sil, sil
test rdi, rdi
js 0x14005fee4
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x14005fee4
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 0x14005feb3
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400cb300
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.0x14005fb36.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14003f1c0
jmp 0x1400604f2
test sil, sil
je 0x14005fefa
lea rax, [0x14011b184]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005ff02
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e346c]
lea rdx, str.Out_of_memory.
lea rcx, [0x14011b1d0]
mov qword [rbx + 0x10], r12
call fcn.140040760
jmp 0x14005fec5
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd814
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 0x14005ff74
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005ff74
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.0x14005fb36.0
sub esi, 2
je 0x140060243
dec esi
je 0x14005fff1
cmp esi, 2
jne case.0x14005fb36.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14005fb36.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006001a
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x140060030
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060047
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 0x140060068
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006090
jmp case.0x14005fb36.4
mov r8, qword [0x140114480]
cmp rsi, r8
jbe 0x14006007e
cmp rsi, qword [rbx + 0x18]
ja 0x1400602cc
cmp rax, 2
jb 0x1400602f1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400600a5
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060223
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400600dc
cmp al, 2
je 0x14006011c
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060217
cmp rsi, 0x80
ja 0x14006011c
cmp rsi, 8
ja 0x1400600f2
mov edi, 8
jmp 0x140060102
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je case.0x14005fb36.4
mov byte [rbx + 0x20], 1
jmp 0x140060217
cmp rsi, 0x20
jae 0x14006012c
mov edi, SafeArrayAllocDescriptor
jmp 0x1400601d6
mov edi, 0x208
cmp rsi, rdi
jb 0x1400601d6
cmp rsi, 0x50000
jae 0x140060192
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060159
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060188
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060188
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400601d6
cmp rsi, 0x320000
jae 0x1400601a4
lea rdi, [rsi + 0x8000]
jmp 0x1400601d6
cmp rsi, 0xc80000
jae 0x1400601cf
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x1400601d6
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400601f6
test r9, r9
je 0x1400601f6
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb13c
jmp 0x1400601f9
xor sil, sil
test rdi, rdi
js 0x140060510
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x140060510
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 0x1400604c1
lea rdx, [rbp + 0xa0]
jmp 0x1400604b7
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006026c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x140060282
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060299
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 0x1400602ba
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006090
jmp case.0x14005fb36.4
mov r8, qword [0x140114480]
cmp rsi, r8
jbe 0x1400602eb
cmp rsi, qword [rbx + 0x18]
jbe 0x1400602eb
lea r8, [0x1400e346c]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14011b1d0]
call fcn.140040760
jmp case.0x14005fb36.4
cmp rax, 2
jae 0x140060305
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b1bb0
jmp case.0x14005fb36.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060322
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x1400604a0
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060359
cmp al, 2
je 0x140060399
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060494
cmp rsi, 0x80
ja 0x140060399
cmp rsi, 8
ja 0x14006036f
mov edi, 8
jmp 0x14006037f
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je case.0x14005fb36.4
mov byte [rbx + 0x20], 1
jmp 0x140060494
cmp rsi, 0x20
jae 0x1400603a9
mov edi, SafeArrayAllocDescriptor
jmp 0x140060453
mov edi, 0x208
cmp rsi, rdi
jb 0x140060453
cmp rsi, 0x50000
jae 0x14006040f
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400603d6
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060405
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060405
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060453
cmp rsi, 0x320000
jae 0x140060421
lea rdi, [rsi + 0x8000]
jmp 0x140060453
cmp rsi, 0xc80000
jae 0x14006044c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060453
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060473
test r9, r9
je 0x140060473
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb13c
jmp 0x140060476
xor sil, sil
test rdi, rdi
js 0x140060510
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x140060510
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 0x1400604c1
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400cb300
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x14011a308]
lea rdx, [0x1400e350c]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
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 0x140060526
lea rax, [0x14011b184]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006052e
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e346c]
lea rdx, str.Out_of_memory.
lea rcx, [0x14011b1d0]
mov qword [rbx + 0x10], r12
call fcn.140040760
jmp case.0x14005fb36.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd814
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 0x1400605a0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x1400605a0
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.0x14005fb36.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x61198]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400605ee
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060604
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060609
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x140060b3d
mov r8, qword [0x140114480]
cmp r13, r8
jbe 0x14006062f
cmp r13, qword [rbx + 0x18]
ja 0x1400602cc
cmp rcx, 2
jb 0x1400602f1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060656
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x1400607d4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006068d
cmp al, 2
je 0x1400606cd
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400607c8
cmp r13, 0x80
ja 0x1400606cd
cmp r13, 8
ja 0x1400606a3
mov edi, 8
jmp 0x1400606b3
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je case.0x14005fb36.4
mov byte [rbx + 0x20], 1
jmp 0x1400607c8
cmp r13, 0x20
jae 0x1400606dd
mov edi, SafeArrayAllocDescriptor
jmp 0x140060787
mov edi, 0x208
cmp r13, rdi
jb 0x140060787
cmp r13, 0x50000
jae 0x140060743
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006070a
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060739
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060739
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060787
cmp r13, 0x320000
jae 0x140060755
lea rdi, [r13 + 0x8000]
jmp 0x140060787
cmp r13, 0xc80000
jae 0x140060780
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060787
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400607a7
test r9, r9
je 0x1400607a7
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400cb13c
jmp 0x1400607aa
xor r13b, r13b
test rdi, rdi
js 0x140060cd1
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x140060cd1
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 0x1400607e9
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400cb300
lea rcx, [rsi + rsi]
jmp 0x1400604c6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006081b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x140060831
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x140060837
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060853
mov rdx, r14
mov rcx, r13
call fcn.140006090
jmp case.0x14005fb36.4
mov r8, qword [0x140114480]
cmp rsi, r8
jbe 0x140060869
cmp rsi, qword [rbx + 0x18]
ja 0x1400602cc
cmp rcx, 2
jb 0x1400602f1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060890
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060a0e
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x1400608c7
cmp al, 2
je 0x140060907
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060a02
cmp rsi, 0x80
ja 0x140060907
cmp rsi, 8
ja 0x1400608dd
mov edi, 8
jmp 0x1400608ed
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je case.0x14005fb36.4
mov byte [rbx + 0x20], 1
jmp 0x140060a02
cmp rsi, 0x20
jae 0x140060917
mov edi, SafeArrayAllocDescriptor
jmp 0x1400609c1
mov edi, 0x208
cmp rsi, rdi
jb 0x1400609c1
cmp rsi, 0x50000
jae 0x14006097d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060944
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060973
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060973
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x1400609c1
cmp rsi, 0x320000
jae 0x14006098f
lea rdi, [rsi + 0x8000]
jmp 0x1400609c1
cmp rsi, 0xc80000
jae 0x1400609ba
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x1400609c1
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400609e1
test r9, r9
je 0x1400609e1
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb13c
jmp 0x1400609e4
xor sil, sil
test rdi, rdi
js 0x140060510
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x140060510
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 0x140060a23
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400cb300
lea rcx, [r14 + r14]
jmp 0x1400604c6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a55
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x1400610ac
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060da5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a9b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.Network
jmp 0x140060d91
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060ad0
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x1400610ac
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060da5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060b16
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x140060b2c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060b31
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x140060b4d
mov rdx, rsi
mov rcx, r14
call fcn.140006090
jmp case.0x14005fb36.4
mov r8, qword [0x140114480]
cmp r13, r8
jbe 0x140060b63
cmp r13, qword [rbx + 0x18]
ja 0x1400602cc
cmp rcx, 2
jb 0x1400602f1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060b8a
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x1400607d4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060bc1
cmp al, 2
je 0x140060bde
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400607c8
cmp r13, 0x80
ja 0x140060bde
cmp r13, 8
ja 0x1400606a3
mov edi, 8
jmp 0x1400606b3
cmp r13, 0x20
jae 0x140060bee
mov edi, SafeArrayAllocDescriptor
jmp 0x140060c98
mov edi, 0x208
cmp r13, rdi
jb 0x140060c98
cmp r13, 0x50000
jae 0x140060c54
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x140060c1b
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060c4a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060c4a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060c98
cmp r13, 0x320000
jae 0x140060c66
lea rdi, [r13 + 0x8000]
jmp 0x140060c98
cmp r13, 0xc80000
jae 0x140060c91
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060c98
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060cb8
test r9, r9
je 0x140060cb8
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400cb13c
jmp 0x140060cbb
xor r13b, r13b
test rdi, rdi
js 0x140060cd1
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
jne 0x1400607c4
test r13b, r13b
jmp 0x140060513
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cd814
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 0x140060d2b
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x140060d2b
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 0x140061072
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140061072
cmp eax, 3
je 0x14006103d
cmp eax, 0x13
je 0x140060fe1
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x140060dba
test al, al
je 0x1400605cd
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060da0
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060da5
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x140060b3d
jmp 0x140060b4d
test al, al
jne 0x140060ddf
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140060dfa
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140060dfd
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060e19
mov rdx, r13
mov rcx, r14
call fcn.140006090
jmp case.0x14005fb36.4
mov r8, qword [0x140114480]
cmp rsi, r8
jbe 0x140060e2f
cmp rsi, qword [rbx + 0x18]
ja 0x1400602cc
cmp rcx, 2
jb 0x1400602f1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060e56
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 [0x140114480]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x140060fcc
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060e8d
cmp al, 2
je 0x140060ec5
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x140060fc0
cmp rsi, 0x80
ja 0x140060ec5
cmp rsi, rdi
jbe 0x140060eab
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400aa420
test rax, rax
je case.0x14005fb36.4
mov byte [rbx + 0x20], 1
jmp 0x140060fc0
cmp rsi, 0x20
jae 0x140060ed5
mov edi, SafeArrayAllocDescriptor
jmp 0x140060f7f
mov edi, 0x208
cmp rsi, rdi
jb 0x140060f7f
cmp rsi, 0x50000
jae 0x140060f3b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060f02
addsd xmm0, qword [0x140101ea8]
mulsd xmm0, qword [0x140101ee0]
movsd xmm1, qword [0x140101ed8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060f31
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060f31
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060f7f
cmp rsi, 0x320000
jae 0x140060f4d
lea rdi, [rsi + 0x8000]
jmp 0x140060f7f
cmp rsi, 0xc80000
jae 0x140060f78
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060f7f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060f9f
test r9, r9
je 0x140060f9f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400cb13c
jmp 0x140060fa2
xor sil, sil
test rdi, rdi
js 0x140060510
mov rcx, rdi
call fcn.1400ca9c4
test rax, rax
je 0x140060510
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 0x1400604c1
mov rdx, r14
jmp 0x1400604b7
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006100a
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x140061025
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x140061028
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x140060e09
jmp 0x140060e19
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140061066
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.Invalid
jmp 0x140060d91
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006109b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x140060d97
mov esi, 5
jmp 0x140060da5
cmp word [rdi], 0
jne 0x1400610dd
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 0x14006114b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400ad230
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.0x14005fb36.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.0x14005fb36.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400b1500
jmp case.0x14005fb36.4