Function at 0x14006c7b0
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.1400e0960
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.1400271b0
movsxd rsi, eax
cmp esi, 9
jne 0x14006c805
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14006c0f0
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 0x14006cb9c
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da434
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 0x14006c870
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006c870
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14006c883
cmp ax, 9
jne 0x14006c889
add rdx, 2
jmp 0x14006c874
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x14012b620]
lea rdx, [0x1400f1614]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400f566c]
cmovne r13, rdx
test r9b, r9b
jne 0x14006c8db
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
mov r12d, eax
jmp 0x14006d582
mov dl, 1
test r13, r13
jne 0x14006c8f0
xor dl, dl
mov r14, r12
lea r13, [0x1400f1524]
jmp 0x14006c912
cmp qword [rbx + 8], r13
jne 0x14006c8ff
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14006c912
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 0x14006c933
mov rdx, r14
mov rcx, r13
call fcn.140006d40
mov r12d, eax
jmp 0x14006d582
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006c967
cmp rsi, qword [rbx + 0x18]
jbe 0x14006c967
lea r8, [0x1400f1524]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e450
mov r12d, eax
jmp 0x14006d582
cmp rax, 2
jae 0x14006c991
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400bdb70
mov r12d, 1
mov eax, r12d
jmp 0x14006d582
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006c9ae
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 0x14006cb24
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006c9e5
cmp al, 2
je 0x14006ca25
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006cb18
cmp rsi, 0x80
ja 0x14006ca25
cmp rsi, 8
ja 0x14006c9fb
mov edi, 8
jmp 0x14006ca0b
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je 0x14006cb50
mov byte [rbx + 0x20], 1
jmp 0x14006cb18
cmp rsi, 0x20
jae 0x14006ca35
mov edi, SafeArrayAllocDescriptor
jmp 0x14006cadf
mov edi, 0x208
cmp rsi, rdi
jb 0x14006cadf
cmp rsi, 0x50000
jae 0x14006ca9b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006ca62
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006ca91
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006ca91
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006cadf
cmp rsi, 0x320000
jae 0x14006caad
lea rdi, [rsi + 0x8000]
jmp 0x14006cadf
cmp rsi, 0xc80000
jae 0x14006cad8
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006cadf
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006caff
test r9, r9
je 0x14006caff
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6e48
jmp 0x14006cb02
xor sil, sil
test rdi, rdi
js 0x14006cb58
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006cb58
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 0x14006cb39
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400d78b0
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 0x14006d582
test sil, sil
je 0x14006cb6e
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006cb76
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.14004e450
mov r12d, eax
jmp 0x14006d582
mov rbx, qword [0x14012a940]
mov rcx, rbx
call fcn.140024290
cmp esi, 8
ja case.0x14006cbc6.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x6e204]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14006cbdb
mov esi, 0x100
jmp 0x14006cc6d
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
jne 0x14006cbf3
lea esi, [rax + 5]
jmp 0x14006cc6d
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
jne 0x14006cc0b
lea esi, [rax + 2]
jmp 0x14006cc6d
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
jne 0x14006cc23
lea esi, [rax + 3]
jmp 0x14006cc6d
lea rdx, str.Network
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
jne 0x14006cc3b
lea esi, [rax + 4]
jmp 0x14006cc6d
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
jne 0x14006cc53
lea esi, [rax + 6]
jmp 0x14006cc6d
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400d68fc
test eax, eax
jne case.0x14006cbc6.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 0x14006ccaf
cmp esi, 0x100
jne 0x14006ccbf
cmp eax, 1
je 0x14006ccbf
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14006cc80
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14006cd00
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp 0x14006cf55
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14006cd14
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006cd29
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 0x14006cd48
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006d40
jmp 0x14006cf55
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006cd79
cmp rsi, qword [rbx + 0x18]
jbe 0x14006cd79
lea r8, [0x1400f1524]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e450
jmp 0x14006cf55
cmp rax, 2
jae 0x14006cd93
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400bdb70
jmp 0x14006cf55
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006cdb0
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 0x14006cf26
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006cde7
cmp al, 2
je 0x14006ce27
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006cf1a
cmp rsi, 0x80
ja 0x14006ce27
cmp rsi, 8
ja 0x14006cdfd
mov edi, 8
jmp 0x14006ce0d
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je 0x14006cf55
mov byte [rbx + 0x20], 1
jmp 0x14006cf1a
cmp rsi, 0x20
jae 0x14006ce37
mov edi, SafeArrayAllocDescriptor
jmp 0x14006cee1
mov edi, 0x208
cmp rsi, rdi
jb 0x14006cee1
cmp rsi, 0x50000
jae 0x14006ce9d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006ce64
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006ce93
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006ce93
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006cee1
cmp rsi, 0x320000
jae 0x14006ceaf
lea rdi, [rsi + 0x8000]
jmp 0x14006cee1
cmp rsi, 0xc80000
jae 0x14006ceda
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006cee1
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006cf01
test r9, r9
je 0x14006cf01
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6e48
jmp 0x14006cf04
xor sil, sil
test rdi, rdi
js 0x14006cf74
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006cf74
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 0x14006cf43
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400d78b0
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.0x14006cbc6.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14004cd90
jmp 0x14006d582
test sil, sil
je 0x14006cf8a
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006cf92
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.14004e450
jmp 0x14006cf55
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da434
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 0x14006d004
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006d004
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.0x14006cbc6.0
sub esi, 2
je 0x14006d2d3
dec esi
je 0x14006d081
cmp esi, 2
jne case.0x14006cbc6.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14006cbc6.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006d0aa
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14006d0c0
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006d0d7
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 0x14006d0f8
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006d40
jmp case.0x14006cbc6.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d10e
cmp rsi, qword [rbx + 0x18]
ja 0x14006d35c
cmp rax, 2
jb 0x14006d381
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d135
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 0x14006d2b3
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d16c
cmp al, 2
je 0x14006d1ac
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d2a7
cmp rsi, 0x80
ja 0x14006d1ac
cmp rsi, 8
ja 0x14006d182
mov edi, 8
jmp 0x14006d192
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je case.0x14006cbc6.4
mov byte [rbx + 0x20], 1
jmp 0x14006d2a7
cmp rsi, 0x20
jae 0x14006d1bc
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d266
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d266
cmp rsi, 0x50000
jae 0x14006d222
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d1e9
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d218
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d218
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d266
cmp rsi, 0x320000
jae 0x14006d234
lea rdi, [rsi + 0x8000]
jmp 0x14006d266
cmp rsi, 0xc80000
jae 0x14006d25f
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d266
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d286
test r9, r9
je 0x14006d286
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6e48
jmp 0x14006d289
xor sil, sil
test rdi, rdi
js 0x14006d5a0
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006d5a0
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 0x14006d551
lea rdx, [rbp + 0xa0]
jmp 0x14006d547
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006d2fc
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14006d312
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006d329
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 0x14006d34a
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006d40
jmp case.0x14006cbc6.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d37b
cmp rsi, qword [rbx + 0x18]
jbe 0x14006d37b
lea r8, [0x1400f1524]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e450
jmp case.0x14006cbc6.4
cmp rax, 2
jae 0x14006d395
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400bdb70
jmp case.0x14006cbc6.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d3b2
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 0x14006d530
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d3e9
cmp al, 2
je 0x14006d429
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d524
cmp rsi, 0x80
ja 0x14006d429
cmp rsi, 8
ja 0x14006d3ff
mov edi, 8
jmp 0x14006d40f
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je case.0x14006cbc6.4
mov byte [rbx + 0x20], 1
jmp 0x14006d524
cmp rsi, 0x20
jae 0x14006d439
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d4e3
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d4e3
cmp rsi, 0x50000
jae 0x14006d49f
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d466
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d495
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d495
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d4e3
cmp rsi, 0x320000
jae 0x14006d4b1
lea rdi, [rsi + 0x8000]
jmp 0x14006d4e3
cmp rsi, 0xc80000
jae 0x14006d4dc
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d4e3
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d503
test r9, r9
je 0x14006d503
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6e48
jmp 0x14006d506
xor sil, sil
test rdi, rdi
js 0x14006d5a0
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006d5a0
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 0x14006d551
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400d78b0
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x14012b620]
lea rdx, [0x1400f1614]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
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 0x14006d5b6
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006d5be
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.14004e450
jmp case.0x14006cbc6.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da434
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 0x14006d630
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006d630
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.0x14006cbc6.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x6e228]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006d67e
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14006d694
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006d699
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006dbcd
mov r8, qword [0x1401255a0]
cmp r13, r8
jbe 0x14006d6bf
cmp r13, qword [rbx + 0x18]
ja 0x14006d35c
cmp rcx, 2
jb 0x14006d381
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d6e6
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 0x14006d864
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d71d
cmp al, 2
je 0x14006d75d
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d858
cmp r13, 0x80
ja 0x14006d75d
cmp r13, 8
ja 0x14006d733
mov edi, 8
jmp 0x14006d743
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je case.0x14006cbc6.4
mov byte [rbx + 0x20], 1
jmp 0x14006d858
cmp r13, 0x20
jae 0x14006d76d
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d817
mov edi, 0x208
cmp r13, rdi
jb 0x14006d817
cmp r13, 0x50000
jae 0x14006d7d3
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006d79a
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d7c9
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d7c9
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d817
cmp r13, 0x320000
jae 0x14006d7e5
lea rdi, [r13 + 0x8000]
jmp 0x14006d817
cmp r13, 0xc80000
jae 0x14006d810
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14006d817
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d837
test r9, r9
je 0x14006d837
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400d6e48
jmp 0x14006d83a
xor r13b, r13b
test rdi, rdi
js 0x14006dd61
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006dd61
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 0x14006d879
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400d78b0
lea rcx, [rsi + rsi]
jmp 0x14006d556
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006d8ab
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x14006d8c1
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14006d8c7
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14006d8e3
mov rdx, r14
mov rcx, r13
call fcn.140006d40
jmp case.0x14006cbc6.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d8f9
cmp rsi, qword [rbx + 0x18]
ja 0x14006d35c
cmp rcx, 2
jb 0x14006d381
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d920
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 0x14006da9e
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d957
cmp al, 2
je 0x14006d997
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006da92
cmp rsi, 0x80
ja 0x14006d997
cmp rsi, 8
ja 0x14006d96d
mov edi, 8
jmp 0x14006d97d
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je case.0x14006cbc6.4
mov byte [rbx + 0x20], 1
jmp 0x14006da92
cmp rsi, 0x20
jae 0x14006d9a7
mov edi, SafeArrayAllocDescriptor
jmp 0x14006da51
mov edi, 0x208
cmp rsi, rdi
jb 0x14006da51
cmp rsi, 0x50000
jae 0x14006da0d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d9d4
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006da03
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006da03
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006da51
cmp rsi, 0x320000
jae 0x14006da1f
lea rdi, [rsi + 0x8000]
jmp 0x14006da51
cmp rsi, 0xc80000
jae 0x14006da4a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006da51
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006da71
test r9, r9
je 0x14006da71
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6e48
jmp 0x14006da74
xor sil, sil
test rdi, rdi
js 0x14006d5a0
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006d5a0
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 0x14006dab3
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400d78b0
lea rcx, [r14 + r14]
jmp 0x14006d556
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dae5
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x14006e13c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006de35
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006db2b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.Network
jmp 0x14006de21
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006db60
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x14006e13c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006de35
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dba6
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x14006dbbc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006dbc1
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14006dbdd
mov rdx, rsi
mov rcx, r14
call fcn.140006d40
jmp case.0x14006cbc6.4
mov r8, qword [0x1401255a0]
cmp r13, r8
jbe 0x14006dbf3
cmp r13, qword [rbx + 0x18]
ja 0x14006d35c
cmp rcx, 2
jb 0x14006d381
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006dc1a
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 0x14006d864
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006dc51
cmp al, 2
je 0x14006dc6e
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d858
cmp r13, 0x80
ja 0x14006dc6e
cmp r13, 8
ja 0x14006d733
mov edi, 8
jmp 0x14006d743
cmp r13, 0x20
jae 0x14006dc7e
mov edi, SafeArrayAllocDescriptor
jmp 0x14006dd28
mov edi, 0x208
cmp r13, rdi
jb 0x14006dd28
cmp r13, 0x50000
jae 0x14006dce4
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006dcab
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006dcda
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006dcda
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006dd28
cmp r13, 0x320000
jae 0x14006dcf6
lea rdi, [r13 + 0x8000]
jmp 0x14006dd28
cmp r13, 0xc80000
jae 0x14006dd21
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14006dd28
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006dd48
test r9, r9
je 0x14006dd48
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400d6e48
jmp 0x14006dd4b
xor r13b, r13b
test rdi, rdi
js 0x14006dd61
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
jne 0x14006d854
test r13b, r13b
jmp 0x14006d5a3
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da434
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 0x14006ddbb
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006ddbb
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 0x14006e102
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14006e102
cmp eax, 3
je 0x14006e0cd
cmp eax, 0x13
je 0x14006e071
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x14006de4a
test al, al
je 0x14006d65d
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14006de30
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006de35
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006dbcd
jmp 0x14006dbdd
test al, al
jne 0x14006de6f
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006de8a
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006de8d
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14006dea9
mov rdx, r13
mov rcx, r14
call fcn.140006d40
jmp case.0x14006cbc6.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006debf
cmp rsi, qword [rbx + 0x18]
ja 0x14006d35c
cmp rcx, 2
jb 0x14006d381
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006dee6
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 0x14006e05c
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006df1d
cmp al, 2
je 0x14006df55
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x14006e050
cmp rsi, 0x80
ja 0x14006df55
cmp rsi, rdi
jbe 0x14006df3b
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b5f20
test rax, rax
je case.0x14006cbc6.4
mov byte [rbx + 0x20], 1
jmp 0x14006e050
cmp rsi, 0x20
jae 0x14006df65
mov edi, SafeArrayAllocDescriptor
jmp 0x14006e00f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006e00f
cmp rsi, 0x50000
jae 0x14006dfcb
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006df92
addsd xmm0, qword [0x140112018]
mulsd xmm0, qword [0x140112050]
movsd xmm1, qword [0x140112048]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006dfc1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006dfc1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006e00f
cmp rsi, 0x320000
jae 0x14006dfdd
lea rdi, [rsi + 0x8000]
jmp 0x14006e00f
cmp rsi, 0xc80000
jae 0x14006e008
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006e00f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006e02f
test r9, r9
je 0x14006e02f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6e48
jmp 0x14006e032
xor sil, sil
test rdi, rdi
js 0x14006d5a0
mov rcx, rdi
call fcn.1400d6d88
test rax, rax
je 0x14006d5a0
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 0x14006d551
mov rdx, r14
jmp 0x14006d547
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e09a
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006e0b5
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006e0b8
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x14006de99
jmp 0x14006dea9
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e0f6
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.Invalid
jmp 0x14006de21
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e12b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x14006de27
mov esi, 5
jmp 0x14006de35
cmp word [rdi], 0
jne 0x14006e16d
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 0x14006e1db
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400b9190
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.0x14006cbc6.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.0x14006cbc6.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400bd4c0
jmp case.0x14006cbc6.4