Function at 0x14005f0e0
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.1400d1370
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140042d80
movsxd rsi, eax
cmp esi, 9
jne 0x14005f135
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14005ea20
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 0x14005f4cc
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc234
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 0x14005f1a0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f1a0
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005f1b3
cmp ax, 9
jne 0x14005f1b9
add rdx, 2
jmp 0x14005f1a4
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x140117318]
lea rdx, [0x1400e14fc]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400e41ac]
cmovne r13, rdx
test r9b, r9b
jne 0x14005f20b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400afca0
mov r12d, eax
jmp 0x14005feb2
mov dl, 1
test r13, r13
jne 0x14005f220
xor dl, dl
mov r14, r12
lea r13, [0x1400e14ec]
jmp 0x14005f242
cmp qword [rbx + 8], r13
jne 0x14005f22f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005f242
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 0x14005f263
mov rdx, r14
mov rcx, r13
call fcn.1400060a0
mov r12d, eax
jmp 0x14005feb2
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005f297
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f297
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
mov r12d, eax
jmp 0x14005feb2
cmp rax, 2
jae 0x14005f2c1
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400b0350
mov r12d, 1
mov eax, r12d
jmp 0x14005feb2
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f2de
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005f454
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f315
cmp al, 2
je 0x14005f355
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f448
cmp rsi, 0x80
ja 0x14005f355
cmp rsi, 8
ja 0x14005f32b
mov edi, 8
jmp 0x14005f33b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14005f480
mov byte [rbx + 0x20], 1
jmp 0x14005f448
cmp rsi, 0x20
jae 0x14005f365
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f40f
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f40f
cmp rsi, 0x50000
jae 0x14005f3cb
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f392
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f3c1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f3c1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f40f
cmp rsi, 0x320000
jae 0x14005f3dd
lea rdi, [rsi + 0x8000]
jmp 0x14005f40f
cmp rsi, 0xc80000
jae 0x14005f408
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f40f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f42f
test r9, r9
je 0x14005f42f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x14005f432
xor sil, sil
test rdi, rdi
js 0x14005f488
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14005f488
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 0x14005f469
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400c9d20
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 0x14005feb2
test sil, sil
je 0x14005f49e
lea rax, [0x140118198]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005f4a6
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rbx + 0x10], r12
call fcn.140040210
mov r12d, eax
jmp 0x14005feb2
mov rbx, qword [0x140116640]
mov rcx, rbx
call fcn.14001bbe0
cmp esi, 8
ja case.0x14005f4f6.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x60b34]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14005f50b
mov esi, 0x100
jmp 0x14005f59d
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400c903c
test eax, eax
jne 0x14005f523
lea esi, [rax + 5]
jmp 0x14005f59d
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400c903c
test eax, eax
jne 0x14005f53b
lea esi, [rax + 2]
jmp 0x14005f59d
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400c903c
test eax, eax
jne 0x14005f553
lea esi, [rax + 3]
jmp 0x14005f59d
lea rdx, [0x1400ec380]
mov rcx, rdi
call fcn.1400c903c
test eax, eax
jne 0x14005f56b
lea esi, [rax + 4]
jmp 0x14005f59d
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400c903c
test eax, eax
jne 0x14005f583
lea esi, [rax + 6]
jmp 0x14005f59d
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400c903c
test eax, eax
jne case.0x14005f4f6.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 0x14005f5df
cmp esi, 0x100
jne 0x14005f5ef
cmp eax, 1
je 0x14005f5ef
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14005f5b0
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14005f630
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp 0x14005f885
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14005f644
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005f659
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 0x14005f678
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400060a0
jmp 0x14005f885
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005f6a9
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f6a9
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp 0x14005f885
cmp rax, 2
jae 0x14005f6c3
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0350
jmp 0x14005f885
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f6e0
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005f856
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f717
cmp al, 2
je 0x14005f757
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f84a
cmp rsi, 0x80
ja 0x14005f757
cmp rsi, 8
ja 0x14005f72d
mov edi, 8
jmp 0x14005f73d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je 0x14005f885
mov byte [rbx + 0x20], 1
jmp 0x14005f84a
cmp rsi, 0x20
jae 0x14005f767
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f811
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f811
cmp rsi, 0x50000
jae 0x14005f7cd
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f794
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f7c3
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f7c3
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f811
cmp rsi, 0x320000
jae 0x14005f7df
lea rdi, [rsi + 0x8000]
jmp 0x14005f811
cmp rsi, 0xc80000
jae 0x14005f80a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f811
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f831
test r9, r9
je 0x14005f831
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x14005f834
xor sil, sil
test rdi, rdi
js 0x14005f8a4
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14005f8a4
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 0x14005f873
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400c9d20
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.0x14005f4f6.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14003ec70
jmp 0x14005feb2
test sil, sil
je 0x14005f8ba
lea rax, [0x140118198]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005f8c2
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rbx + 0x10], r12
call fcn.140040210
jmp 0x14005f885
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc234
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 0x14005f934
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f934
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.0x14005f4f6.0
sub esi, 2
je 0x14005fc03
dec esi
je 0x14005f9b1
cmp esi, 2
jne case.0x14005f4f6.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14005f4f6.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005f9da
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14005f9f0
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fa07
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 0x14005fa28
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.1400060a0
jmp case.0x14005f4f6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005fa3e
cmp rsi, qword [rbx + 0x18]
ja 0x14005fc8c
cmp rax, 2
jb 0x14005fcb1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fa65
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fbe3
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fa9c
cmp al, 2
je 0x14005fadc
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fbd7
cmp rsi, 0x80
ja 0x14005fadc
cmp rsi, 8
ja 0x14005fab2
mov edi, 8
jmp 0x14005fac2
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je case.0x14005f4f6.4
mov byte [rbx + 0x20], 1
jmp 0x14005fbd7
cmp rsi, 0x20
jae 0x14005faec
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fb96
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fb96
cmp rsi, 0x50000
jae 0x14005fb52
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fb19
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fb48
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fb48
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fb96
cmp rsi, 0x320000
jae 0x14005fb64
lea rdi, [rsi + 0x8000]
jmp 0x14005fb96
cmp rsi, 0xc80000
jae 0x14005fb8f
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fb96
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fbb6
test r9, r9
je 0x14005fbb6
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x14005fbb9
xor sil, sil
test rdi, rdi
js 0x14005fed0
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14005fed0
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 0x14005fe81
lea rdx, [rbp + 0xa0]
jmp 0x14005fe77
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005fc2c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14005fc42
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fc59
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 0x14005fc7a
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.1400060a0
jmp case.0x14005f4f6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005fcab
cmp rsi, qword [rbx + 0x18]
jbe 0x14005fcab
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.140040210
jmp case.0x14005f4f6.4
cmp rax, 2
jae 0x14005fcc5
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0350
jmp case.0x14005f4f6.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fce2
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14005fe60
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fd19
cmp al, 2
je 0x14005fd59
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fe54
cmp rsi, 0x80
ja 0x14005fd59
cmp rsi, 8
ja 0x14005fd2f
mov edi, 8
jmp 0x14005fd3f
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je case.0x14005f4f6.4
mov byte [rbx + 0x20], 1
jmp 0x14005fe54
cmp rsi, 0x20
jae 0x14005fd69
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fe13
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fe13
cmp rsi, 0x50000
jae 0x14005fdcf
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fd96
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fdc5
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fdc5
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fe13
cmp rsi, 0x320000
jae 0x14005fde1
lea rdi, [rsi + 0x8000]
jmp 0x14005fe13
cmp rsi, 0xc80000
jae 0x14005fe0c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fe13
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fe33
test r9, r9
je 0x14005fe33
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x14005fe36
xor sil, sil
test rdi, rdi
js 0x14005fed0
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14005fed0
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 0x14005fe81
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400c9d20
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x140117318]
lea rdx, [0x1400e14fc]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
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 0x14005fee6
lea rax, [0x140118198]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005feee
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400e14ec]
lea rdx, str.Out_of_memory.
lea rcx, [0x1401181e0]
mov qword [rbx + 0x10], r12
call fcn.140040210
jmp case.0x14005f4f6.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc234
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 0x14005ff60
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005ff60
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.0x14005f4f6.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x60b58]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005ffae
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14005ffc4
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14005ffc9
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x1400604fd
mov r8, qword [0x140111460]
cmp r13, r8
jbe 0x14005ffef
cmp r13, qword [rbx + 0x18]
ja 0x14005fc8c
cmp rcx, 2
jb 0x14005fcb1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060016
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x140060194
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006004d
cmp al, 2
je 0x14006008d
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060188
cmp r13, 0x80
ja 0x14006008d
cmp r13, 8
ja 0x140060063
mov edi, 8
jmp 0x140060073
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je case.0x14005f4f6.4
mov byte [rbx + 0x20], 1
jmp 0x140060188
cmp r13, 0x20
jae 0x14006009d
mov edi, SafeArrayAllocDescriptor
jmp 0x140060147
mov edi, 0x208
cmp r13, rdi
jb 0x140060147
cmp r13, 0x50000
jae 0x140060103
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x1400600ca
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400600f9
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400600f9
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060147
cmp r13, 0x320000
jae 0x140060115
lea rdi, [r13 + 0x8000]
jmp 0x140060147
cmp r13, 0xc80000
jae 0x140060140
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060147
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060167
test r9, r9
je 0x140060167
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400c9b60
jmp 0x14006016a
xor r13b, r13b
test rdi, rdi
js 0x140060691
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x140060691
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 0x1400601a9
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400c9d20
lea rcx, [rsi + rsi]
jmp 0x14005fe86
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400601db
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x1400601f1
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x1400601f7
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x140060213
mov rdx, r14
mov rcx, r13
call fcn.1400060a0
jmp case.0x14005f4f6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x140060229
cmp rsi, qword [rbx + 0x18]
ja 0x14005fc8c
cmp rcx, 2
jb 0x14005fcb1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060250
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x1400603ce
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060287
cmp al, 2
je 0x1400602c7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400603c2
cmp rsi, 0x80
ja 0x1400602c7
cmp rsi, 8
ja 0x14006029d
mov edi, 8
jmp 0x1400602ad
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je case.0x14005f4f6.4
mov byte [rbx + 0x20], 1
jmp 0x1400603c2
cmp rsi, 0x20
jae 0x1400602d7
mov edi, SafeArrayAllocDescriptor
jmp 0x140060381
mov edi, 0x208
cmp rsi, rdi
jb 0x140060381
cmp rsi, 0x50000
jae 0x14006033d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x140060304
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060333
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060333
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060381
cmp rsi, 0x320000
jae 0x14006034f
lea rdi, [rsi + 0x8000]
jmp 0x140060381
cmp rsi, 0xc80000
jae 0x14006037a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060381
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x1400603a1
test r9, r9
je 0x1400603a1
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x1400603a4
xor sil, sil
test rdi, rdi
js 0x14005fed0
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14005fed0
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 0x1400603e3
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400c9d20
lea rcx, [r14 + r14]
jmp 0x14005fe86
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060415
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x140060a6c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060765
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006045b
mov rcx, qword [rbx + 0x10]
lea rdx, [0x1400ec380]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, [0x1400ec380]
jmp 0x140060751
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060490
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x140060a6c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060765
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400604d6
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x1400604ec
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x1400604f1
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14006050d
mov rdx, rsi
mov rcx, r14
call fcn.1400060a0
jmp case.0x14005f4f6.4
mov r8, qword [0x140111460]
cmp r13, r8
jbe 0x140060523
cmp r13, qword [rbx + 0x18]
ja 0x14005fc8c
cmp rcx, 2
jb 0x14005fcb1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006054a
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x140060194
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060581
cmp al, 2
je 0x14006059e
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060188
cmp r13, 0x80
ja 0x14006059e
cmp r13, 8
ja 0x140060063
mov edi, 8
jmp 0x140060073
cmp r13, 0x20
jae 0x1400605ae
mov edi, SafeArrayAllocDescriptor
jmp 0x140060658
mov edi, 0x208
cmp r13, rdi
jb 0x140060658
cmp r13, 0x50000
jae 0x140060614
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x1400605db
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006060a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006060a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060658
cmp r13, 0x320000
jae 0x140060626
lea rdi, [r13 + 0x8000]
jmp 0x140060658
cmp r13, 0xc80000
jae 0x140060651
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060658
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060678
test r9, r9
je 0x140060678
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400c9b60
jmp 0x14006067b
xor r13b, r13b
test rdi, rdi
js 0x140060691
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
jne 0x140060184
test r13b, r13b
jmp 0x14005fed3
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc234
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 0x1400606eb
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x1400606eb
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 0x140060a32
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140060a32
cmp eax, 3
je 0x1400609fd
cmp eax, 0x13
je 0x1400609a1
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x14006077a
test al, al
je 0x14005ff8d
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060760
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060765
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x1400604fd
jmp 0x14006050d
test al, al
jne 0x14006079f
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x1400607ba
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x1400607bd
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x1400607d9
mov rdx, r13
mov rcx, r14
call fcn.1400060a0
jmp case.0x14005f4f6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x1400607ef
cmp rsi, qword [rbx + 0x18]
ja 0x14005fc8c
cmp rcx, 2
jb 0x14005fcb1
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060816
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 [0x140111460]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14006098c
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006084d
cmp al, 2
je 0x140060885
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x140060980
cmp rsi, 0x80
ja 0x140060885
cmp rsi, rdi
jbe 0x14006086b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f50
test rax, rax
je case.0x14005f4f6.4
mov byte [rbx + 0x20], 1
jmp 0x140060980
cmp rsi, 0x20
jae 0x140060895
mov edi, SafeArrayAllocDescriptor
jmp 0x14006093f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006093f
cmp rsi, 0x50000
jae 0x1400608fb
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400608c2
addsd xmm0, qword [0x1400ffd68]
mulsd xmm0, qword [0x1400ffda0]
movsd xmm1, qword [0x1400ffd98]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400608f1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400608f1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006093f
cmp rsi, 0x320000
jae 0x14006090d
lea rdi, [rsi + 0x8000]
jmp 0x14006093f
cmp rsi, 0xc80000
jae 0x140060938
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006093f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006095f
test r9, r9
je 0x14006095f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b60
jmp 0x140060962
xor sil, sil
test rdi, rdi
js 0x14005fed0
mov rcx, rdi
call fcn.1400c90c4
test rax, rax
je 0x14005fed0
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 0x14005fe81
mov rdx, r14
jmp 0x14005fe77
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400609ca
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x1400609e5
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x1400609e8
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x1400607c9
jmp 0x1400607d9
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a26
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.Invalid
jmp 0x140060751
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a5b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x140060757
mov esi, 5
jmp 0x140060765
cmp word [rdi], 0
jne 0x140060a9d
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 0x140060b0b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400abd40
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.0x14005f4f6.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.0x14005f4f6.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400afca0
jmp case.0x14005f4f6.4