Function at 0x14006c8f0
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.1400e0a90
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.1400272f0
movsxd rsi, eax
cmp esi, 9
jne 0x14006c945
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14006c230
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 0x14006ccdc
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5b4
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 0x14006c9b0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006c9b0
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14006c9c3
cmp ax, 9
jne 0x14006c9c9
add rdx, 2
jmp 0x14006c9b4
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x14012b628]
lea rdx, [0x1400f1614]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400f566c]
cmovne r13, rdx
test r9b, r9b
jne 0x14006ca1b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400bd640
mov r12d, eax
jmp 0x14006d6c2
mov dl, 1
test r13, r13
jne 0x14006ca30
xor dl, dl
mov r14, r12
lea r13, [0x1400f1524]
jmp 0x14006ca52
cmp qword [rbx + 8], r13
jne 0x14006ca3f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14006ca52
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 0x14006ca73
mov rdx, r14
mov rcx, r13
call fcn.140006da0
mov r12d, eax
jmp 0x14006d6c2
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006caa7
cmp rsi, qword [rbx + 0x18]
jbe 0x14006caa7
lea r8, [0x1400f1524]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e590
mov r12d, eax
jmp 0x14006d6c2
cmp rax, 2
jae 0x14006cad1
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400bdcf0
mov r12d, 1
mov eax, r12d
jmp 0x14006d6c2
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006caee
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006cc64
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006cb25
cmp al, 2
je 0x14006cb65
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006cc58
cmp rsi, 0x80
ja 0x14006cb65
cmp rsi, 8
ja 0x14006cb3b
mov edi, 8
jmp 0x14006cb4b
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je 0x14006cc90
mov byte [rbx + 0x20], 1
jmp 0x14006cc58
cmp rsi, 0x20
jae 0x14006cb75
mov edi, SafeArrayAllocDescriptor
jmp 0x14006cc1f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006cc1f
cmp rsi, 0x50000
jae 0x14006cbdb
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006cba2
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006cbd1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006cbd1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006cc1f
cmp rsi, 0x320000
jae 0x14006cbed
lea rdi, [rsi + 0x8000]
jmp 0x14006cc1f
cmp rsi, 0xc80000
jae 0x14006cc18
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006cc1f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006cc3f
test r9, r9
je 0x14006cc3f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fc8
jmp 0x14006cc42
xor sil, sil
test rdi, rdi
js 0x14006cc98
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006cc98
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 0x14006cc79
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400d7a30
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 0x14006d6c2
test sil, sil
je 0x14006ccae
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006ccb6
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400f1524]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
mov qword [rbx + 0x10], r12
call fcn.14004e590
mov r12d, eax
jmp 0x14006d6c2
mov rbx, qword [0x14012a950]
mov rcx, rbx
call fcn.1400243d0
cmp esi, 8
ja case.0x14006cd06.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x6e344]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14006cd1b
mov esi, 0x100
jmp 0x14006cdad
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400d6a7c
test eax, eax
jne 0x14006cd33
lea esi, [rax + 5]
jmp 0x14006cdad
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400d6a7c
test eax, eax
jne 0x14006cd4b
lea esi, [rax + 2]
jmp 0x14006cdad
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400d6a7c
test eax, eax
jne 0x14006cd63
lea esi, [rax + 3]
jmp 0x14006cdad
lea rdx, str.Network
mov rcx, rdi
call fcn.1400d6a7c
test eax, eax
jne 0x14006cd7b
lea esi, [rax + 4]
jmp 0x14006cdad
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400d6a7c
test eax, eax
jne 0x14006cd93
lea esi, [rax + 6]
jmp 0x14006cdad
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400d6a7c
test eax, eax
jne case.0x14006cd06.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 0x14006cdef
cmp esi, 0x100
jne 0x14006cdff
cmp eax, 1
je 0x14006cdff
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14006cdc0
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14006ce40
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp 0x14006d095
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14006ce54
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006ce69
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 0x14006ce88
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006da0
jmp 0x14006d095
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006ceb9
cmp rsi, qword [rbx + 0x18]
jbe 0x14006ceb9
lea r8, [0x1400f1524]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e590
jmp 0x14006d095
cmp rax, 2
jae 0x14006ced3
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp 0x14006d095
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006cef0
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006d066
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006cf27
cmp al, 2
je 0x14006cf67
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d05a
cmp rsi, 0x80
ja 0x14006cf67
cmp rsi, 8
ja 0x14006cf3d
mov edi, 8
jmp 0x14006cf4d
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je 0x14006d095
mov byte [rbx + 0x20], 1
jmp 0x14006d05a
cmp rsi, 0x20
jae 0x14006cf77
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d021
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d021
cmp rsi, 0x50000
jae 0x14006cfdd
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006cfa4
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006cfd3
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006cfd3
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d021
cmp rsi, 0x320000
jae 0x14006cfef
lea rdi, [rsi + 0x8000]
jmp 0x14006d021
cmp rsi, 0xc80000
jae 0x14006d01a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d021
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d041
test r9, r9
je 0x14006d041
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fc8
jmp 0x14006d044
xor sil, sil
test rdi, rdi
js 0x14006d0b4
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006d0b4
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 0x14006d083
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400d7a30
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.0x14006cd06.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14004ced0
jmp 0x14006d6c2
test sil, sil
je 0x14006d0ca
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006d0d2
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400f1524]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
mov qword [rbx + 0x10], r12
call fcn.14004e590
jmp 0x14006d095
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5b4
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 0x14006d144
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006d144
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.0x14006cd06.0
sub esi, 2
je 0x14006d413
dec esi
je 0x14006d1c1
cmp esi, 2
jne case.0x14006cd06.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14006cd06.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006d1ea
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14006d200
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006d217
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 0x14006d238
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006da0
jmp case.0x14006cd06.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d24e
cmp rsi, qword [rbx + 0x18]
ja 0x14006d49c
cmp rax, 2
jb 0x14006d4c1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d275
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006d3f3
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d2ac
cmp al, 2
je 0x14006d2ec
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d3e7
cmp rsi, 0x80
ja 0x14006d2ec
cmp rsi, 8
ja 0x14006d2c2
mov edi, 8
jmp 0x14006d2d2
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je case.0x14006cd06.4
mov byte [rbx + 0x20], 1
jmp 0x14006d3e7
cmp rsi, 0x20
jae 0x14006d2fc
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d3a6
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d3a6
cmp rsi, 0x50000
jae 0x14006d362
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d329
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d358
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d358
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d3a6
cmp rsi, 0x320000
jae 0x14006d374
lea rdi, [rsi + 0x8000]
jmp 0x14006d3a6
cmp rsi, 0xc80000
jae 0x14006d39f
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d3a6
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d3c6
test r9, r9
je 0x14006d3c6
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fc8
jmp 0x14006d3c9
xor sil, sil
test rdi, rdi
js 0x14006d6e0
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006d6e0
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 0x14006d691
lea rdx, [rbp + 0xa0]
jmp 0x14006d687
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006d43c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14006d452
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006d469
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 0x14006d48a
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006da0
jmp case.0x14006cd06.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d4bb
cmp rsi, qword [rbx + 0x18]
jbe 0x14006d4bb
lea r8, [0x1400f1524]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e590
jmp case.0x14006cd06.4
cmp rax, 2
jae 0x14006d4d5
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400bdcf0
jmp case.0x14006cd06.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d4f2
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006d670
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d529
cmp al, 2
je 0x14006d569
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d664
cmp rsi, 0x80
ja 0x14006d569
cmp rsi, 8
ja 0x14006d53f
mov edi, 8
jmp 0x14006d54f
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je case.0x14006cd06.4
mov byte [rbx + 0x20], 1
jmp 0x14006d664
cmp rsi, 0x20
jae 0x14006d579
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d623
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d623
cmp rsi, 0x50000
jae 0x14006d5df
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d5a6
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d5d5
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d5d5
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d623
cmp rsi, 0x320000
jae 0x14006d5f1
lea rdi, [rsi + 0x8000]
jmp 0x14006d623
cmp rsi, 0xc80000
jae 0x14006d61c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d623
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d643
test r9, r9
je 0x14006d643
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fc8
jmp 0x14006d646
xor sil, sil
test rdi, rdi
js 0x14006d6e0
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006d6e0
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 0x14006d691
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400d7a30
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x14012b628]
lea rdx, [0x1400f1614]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
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 0x14006d6f6
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006d6fe
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400f1524]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
mov qword [rbx + 0x10], r12
call fcn.14004e590
jmp case.0x14006cd06.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5b4
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 0x14006d770
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006d770
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.0x14006cd06.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x6e368]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006d7be
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14006d7d4
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006d7d9
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006dd0d
mov r8, qword [0x1401255a0]
cmp r13, r8
jbe 0x14006d7ff
cmp r13, qword [rbx + 0x18]
ja 0x14006d49c
cmp rcx, 2
jb 0x14006d4c1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d826
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x14006d9a4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d85d
cmp al, 2
je 0x14006d89d
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d998
cmp r13, 0x80
ja 0x14006d89d
cmp r13, 8
ja 0x14006d873
mov edi, 8
jmp 0x14006d883
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je case.0x14006cd06.4
mov byte [rbx + 0x20], 1
jmp 0x14006d998
cmp r13, 0x20
jae 0x14006d8ad
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d957
mov edi, 0x208
cmp r13, rdi
jb 0x14006d957
cmp r13, 0x50000
jae 0x14006d913
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006d8da
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d909
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d909
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d957
cmp r13, 0x320000
jae 0x14006d925
lea rdi, [r13 + 0x8000]
jmp 0x14006d957
cmp r13, 0xc80000
jae 0x14006d950
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14006d957
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d977
test r9, r9
je 0x14006d977
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400d6fc8
jmp 0x14006d97a
xor r13b, r13b
test rdi, rdi
js 0x14006dea1
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006dea1
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 0x14006d9b9
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400d7a30
lea rcx, [rsi + rsi]
jmp 0x14006d696
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006d9eb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x14006da01
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14006da07
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14006da23
mov rdx, r14
mov rcx, r13
call fcn.140006da0
jmp case.0x14006cd06.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006da39
cmp rsi, qword [rbx + 0x18]
ja 0x14006d49c
cmp rcx, 2
jb 0x14006d4c1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006da60
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006dbde
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006da97
cmp al, 2
je 0x14006dad7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006dbd2
cmp rsi, 0x80
ja 0x14006dad7
cmp rsi, 8
ja 0x14006daad
mov edi, 8
jmp 0x14006dabd
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je case.0x14006cd06.4
mov byte [rbx + 0x20], 1
jmp 0x14006dbd2
cmp rsi, 0x20
jae 0x14006dae7
mov edi, SafeArrayAllocDescriptor
jmp 0x14006db91
mov edi, 0x208
cmp rsi, rdi
jb 0x14006db91
cmp rsi, 0x50000
jae 0x14006db4d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006db14
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006db43
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006db43
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006db91
cmp rsi, 0x320000
jae 0x14006db5f
lea rdi, [rsi + 0x8000]
jmp 0x14006db91
cmp rsi, 0xc80000
jae 0x14006db8a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006db91
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006dbb1
test r9, r9
je 0x14006dbb1
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fc8
jmp 0x14006dbb4
xor sil, sil
test rdi, rdi
js 0x14006d6e0
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006d6e0
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 0x14006dbf3
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400d7a30
lea rcx, [r14 + r14]
jmp 0x14006d696
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dc25
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x14006e27c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006df75
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dc6b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.Network
jmp 0x14006df61
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dca0
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x14006e27c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006df75
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dce6
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x14006dcfc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006dd01
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14006dd1d
mov rdx, rsi
mov rcx, r14
call fcn.140006da0
jmp case.0x14006cd06.4
mov r8, qword [0x1401255a0]
cmp r13, r8
jbe 0x14006dd33
cmp r13, qword [rbx + 0x18]
ja 0x14006d49c
cmp rcx, 2
jb 0x14006d4c1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006dd5a
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x14006d9a4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006dd91
cmp al, 2
je 0x14006ddae
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d998
cmp r13, 0x80
ja 0x14006ddae
cmp r13, 8
ja 0x14006d873
mov edi, 8
jmp 0x14006d883
cmp r13, 0x20
jae 0x14006ddbe
mov edi, SafeArrayAllocDescriptor
jmp 0x14006de68
mov edi, 0x208
cmp r13, rdi
jb 0x14006de68
cmp r13, 0x50000
jae 0x14006de24
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006ddeb
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006de1a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006de1a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006de68
cmp r13, 0x320000
jae 0x14006de36
lea rdi, [r13 + 0x8000]
jmp 0x14006de68
cmp r13, 0xc80000
jae 0x14006de61
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14006de68
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006de88
test r9, r9
je 0x14006de88
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400d6fc8
jmp 0x14006de8b
xor r13b, r13b
test rdi, rdi
js 0x14006dea1
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
jne 0x14006d994
test r13b, r13b
jmp 0x14006d6e3
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5b4
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 0x14006defb
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006defb
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 0x14006e242
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14006e242
cmp eax, 3
je 0x14006e20d
cmp eax, 0x13
je 0x14006e1b1
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x14006df8a
test al, al
je 0x14006d79d
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14006df70
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006df75
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006dd0d
jmp 0x14006dd1d
test al, al
jne 0x14006dfaf
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006dfca
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006dfcd
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14006dfe9
mov rdx, r13
mov rcx, r14
call fcn.140006da0
jmp case.0x14006cd06.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006dfff
cmp rsi, qword [rbx + 0x18]
ja 0x14006d49c
cmp rcx, 2
jb 0x14006d4c1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006e026
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov r8, qword [0x1401255a0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006e19c
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006e05d
cmp al, 2
je 0x14006e095
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x14006e190
cmp rsi, 0x80
ja 0x14006e095
cmp rsi, rdi
jbe 0x14006e07b
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60a0
test rax, rax
je case.0x14006cd06.4
mov byte [rbx + 0x20], 1
jmp 0x14006e190
cmp rsi, 0x20
jae 0x14006e0a5
mov edi, SafeArrayAllocDescriptor
jmp 0x14006e14f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006e14f
cmp rsi, 0x50000
jae 0x14006e10b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006e0d2
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006e101
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006e101
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006e14f
cmp rsi, 0x320000
jae 0x14006e11d
lea rdi, [rsi + 0x8000]
jmp 0x14006e14f
cmp rsi, 0xc80000
jae 0x14006e148
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006e14f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006e16f
test r9, r9
je 0x14006e16f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fc8
jmp 0x14006e172
xor sil, sil
test rdi, rdi
js 0x14006d6e0
mov rcx, rdi
call fcn.1400d6f08
test rax, rax
je 0x14006d6e0
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 0x14006d691
mov rdx, r14
jmp 0x14006d687
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e1da
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006e1f5
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006e1f8
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x14006dfd9
jmp 0x14006dfe9
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e236
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.Invalid
jmp 0x14006df61
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e26b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x14006df67
mov esi, 5
jmp 0x14006df75
cmp word [rdi], 0
jne 0x14006e2ad
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 0x14006e31b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400b9310
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.0x14006cd06.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.0x14006cd06.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400bd640
jmp case.0x14006cd06.4