Function at 0x14005f0c0
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.1400d1340
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140042d50
movsxd rsi, eax
cmp esi, 9
jne 0x14005f115
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14005ea00
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 0x14005f4ac
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc204
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 0x14005f180
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f180
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14005f193
cmp ax, 9
jne 0x14005f199
add rdx, 2
jmp 0x14005f184
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 0x14005f1eb
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400afc70
mov r12d, eax
jmp 0x14005fe92
mov dl, 1
test r13, r13
jne 0x14005f200
xor dl, dl
mov r14, r12
lea r13, [0x1400e14ec]
jmp 0x14005f222
cmp qword [rbx + 8], r13
jne 0x14005f20f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14005f222
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 0x14005f243
mov rdx, r14
mov rcx, r13
call fcn.1400060a0
mov r12d, eax
jmp 0x14005fe92
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005f277
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f277
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.1400401e0
mov r12d, eax
jmp 0x14005fe92
cmp rax, 2
jae 0x14005f2a1
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400b0320
mov r12d, 1
mov eax, r12d
jmp 0x14005fe92
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f2be
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 0x14005f434
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f2f5
cmp al, 2
je 0x14005f335
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f428
cmp rsi, 0x80
ja 0x14005f335
cmp rsi, 8
ja 0x14005f30b
mov edi, 8
jmp 0x14005f31b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14005f460
mov byte [rbx + 0x20], 1
jmp 0x14005f428
cmp rsi, 0x20
jae 0x14005f345
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f3ef
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f3ef
cmp rsi, 0x50000
jae 0x14005f3ab
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f372
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f3a1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f3a1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f3ef
cmp rsi, 0x320000
jae 0x14005f3bd
lea rdi, [rsi + 0x8000]
jmp 0x14005f3ef
cmp rsi, 0xc80000
jae 0x14005f3e8
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f3ef
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f40f
test r9, r9
je 0x14005f40f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x14005f412
xor sil, sil
test rdi, rdi
js 0x14005f468
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14005f468
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 0x14005f449
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400c9cf0
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 0x14005fe92
test sil, sil
je 0x14005f47e
lea rax, [0x140118198]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005f486
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.1400401e0
mov r12d, eax
jmp 0x14005fe92
mov rbx, qword [0x140116640]
mov rcx, rbx
call fcn.14001bbe0
cmp esi, 8
ja case.0x14005f4d6.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x60b14]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14005f4eb
mov esi, 0x100
jmp 0x14005f57d
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400c900c
test eax, eax
jne 0x14005f503
lea esi, [rax + 5]
jmp 0x14005f57d
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400c900c
test eax, eax
jne 0x14005f51b
lea esi, [rax + 2]
jmp 0x14005f57d
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400c900c
test eax, eax
jne 0x14005f533
lea esi, [rax + 3]
jmp 0x14005f57d
lea rdx, str.Network
mov rcx, rdi
call fcn.1400c900c
test eax, eax
jne 0x14005f54b
lea esi, [rax + 4]
jmp 0x14005f57d
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400c900c
test eax, eax
jne 0x14005f563
lea esi, [rax + 6]
jmp 0x14005f57d
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400c900c
test eax, eax
jne case.0x14005f4d6.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 0x14005f5bf
cmp esi, 0x100
jne 0x14005f5cf
cmp eax, 1
je 0x14005f5cf
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14005f590
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14005f610
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp 0x14005f865
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14005f624
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005f639
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 0x14005f658
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.1400060a0
jmp 0x14005f865
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005f689
cmp rsi, qword [rbx + 0x18]
jbe 0x14005f689
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp 0x14005f865
cmp rax, 2
jae 0x14005f6a3
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0320
jmp 0x14005f865
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005f6c0
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 0x14005f836
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005f6f7
cmp al, 2
je 0x14005f737
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005f82a
cmp rsi, 0x80
ja 0x14005f737
cmp rsi, 8
ja 0x14005f70d
mov edi, 8
jmp 0x14005f71d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je 0x14005f865
mov byte [rbx + 0x20], 1
jmp 0x14005f82a
cmp rsi, 0x20
jae 0x14005f747
mov edi, SafeArrayAllocDescriptor
jmp 0x14005f7f1
mov edi, 0x208
cmp rsi, rdi
jb 0x14005f7f1
cmp rsi, 0x50000
jae 0x14005f7ad
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005f774
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005f7a3
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005f7a3
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005f7f1
cmp rsi, 0x320000
jae 0x14005f7bf
lea rdi, [rsi + 0x8000]
jmp 0x14005f7f1
cmp rsi, 0xc80000
jae 0x14005f7ea
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005f7f1
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005f811
test r9, r9
je 0x14005f811
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x14005f814
xor sil, sil
test rdi, rdi
js 0x14005f884
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14005f884
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 0x14005f853
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400c9cf0
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.0x14005f4d6.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14003ec40
jmp 0x14005fe92
test sil, sil
je 0x14005f89a
lea rax, [0x140118198]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005f8a2
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.1400401e0
jmp 0x14005f865
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc204
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 0x14005f914
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005f914
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.0x14005f4d6.0
sub esi, 2
je 0x14005fbe3
dec esi
je 0x14005f991
cmp esi, 2
jne case.0x14005f4d6.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14005f4d6.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005f9ba
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14005f9d0
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005f9e7
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 0x14005fa08
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.1400060a0
jmp case.0x14005f4d6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005fa1e
cmp rsi, qword [rbx + 0x18]
ja 0x14005fc6c
cmp rax, 2
jb 0x14005fc91
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fa45
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 0x14005fbc3
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fa7c
cmp al, 2
je 0x14005fabc
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fbb7
cmp rsi, 0x80
ja 0x14005fabc
cmp rsi, 8
ja 0x14005fa92
mov edi, 8
jmp 0x14005faa2
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je case.0x14005f4d6.4
mov byte [rbx + 0x20], 1
jmp 0x14005fbb7
cmp rsi, 0x20
jae 0x14005facc
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fb76
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fb76
cmp rsi, 0x50000
jae 0x14005fb32
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005faf9
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fb28
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fb28
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fb76
cmp rsi, 0x320000
jae 0x14005fb44
lea rdi, [rsi + 0x8000]
jmp 0x14005fb76
cmp rsi, 0xc80000
jae 0x14005fb6f
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fb76
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fb96
test r9, r9
je 0x14005fb96
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x14005fb99
xor sil, sil
test rdi, rdi
js 0x14005feb0
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14005feb0
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 0x14005fe61
lea rdx, [rbp + 0xa0]
jmp 0x14005fe57
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14005fc0c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14005fc22
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14005fc39
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 0x14005fc5a
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.1400060a0
jmp case.0x14005f4d6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x14005fc8b
cmp rsi, qword [rbx + 0x18]
jbe 0x14005fc8b
lea r8, [0x1400e14ec]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x1401181e0]
call fcn.1400401e0
jmp case.0x14005f4d6.4
cmp rax, 2
jae 0x14005fca5
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400b0320
jmp case.0x14005f4d6.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fcc2
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 0x14005fe40
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14005fcf9
cmp al, 2
je 0x14005fd39
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14005fe34
cmp rsi, 0x80
ja 0x14005fd39
cmp rsi, 8
ja 0x14005fd0f
mov edi, 8
jmp 0x14005fd1f
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je case.0x14005f4d6.4
mov byte [rbx + 0x20], 1
jmp 0x14005fe34
cmp rsi, 0x20
jae 0x14005fd49
mov edi, SafeArrayAllocDescriptor
jmp 0x14005fdf3
mov edi, 0x208
cmp rsi, rdi
jb 0x14005fdf3
cmp rsi, 0x50000
jae 0x14005fdaf
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14005fd76
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14005fda5
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14005fda5
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14005fdf3
cmp rsi, 0x320000
jae 0x14005fdc1
lea rdi, [rsi + 0x8000]
jmp 0x14005fdf3
cmp rsi, 0xc80000
jae 0x14005fdec
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14005fdf3
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14005fe13
test r9, r9
je 0x14005fe13
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x14005fe16
xor sil, sil
test rdi, rdi
js 0x14005feb0
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14005feb0
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 0x14005fe61
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400c9cf0
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.1400afc70
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 0x14005fec6
lea rax, [0x140118198]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14005fece
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.1400401e0
jmp case.0x14005f4d6.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc204
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 0x14005ff40
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14005ff40
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.0x14005f4d6.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x60b38]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14005ff8e
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14005ffa4
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14005ffa9
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x1400604dd
mov r8, qword [0x140111460]
cmp r13, r8
jbe 0x14005ffcf
cmp r13, qword [rbx + 0x18]
ja 0x14005fc6c
cmp rcx, 2
jb 0x14005fc91
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fff6
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 0x140060174
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006002d
cmp al, 2
je 0x14006006d
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060168
cmp r13, 0x80
ja 0x14006006d
cmp r13, 8
ja 0x140060043
mov edi, 8
jmp 0x140060053
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je case.0x14005f4d6.4
mov byte [rbx + 0x20], 1
jmp 0x140060168
cmp r13, 0x20
jae 0x14006007d
mov edi, SafeArrayAllocDescriptor
jmp 0x140060127
mov edi, 0x208
cmp r13, rdi
jb 0x140060127
cmp r13, 0x50000
jae 0x1400600e3
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x1400600aa
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400600d9
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400600d9
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060127
cmp r13, 0x320000
jae 0x1400600f5
lea rdi, [r13 + 0x8000]
jmp 0x140060127
cmp r13, 0xc80000
jae 0x140060120
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060127
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060147
test r9, r9
je 0x140060147
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400c9b30
jmp 0x14006014a
xor r13b, r13b
test rdi, rdi
js 0x140060671
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x140060671
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 0x140060189
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400c9cf0
lea rcx, [rsi + rsi]
jmp 0x14005fe66
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400601bb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x1400601d1
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x1400601d7
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x1400601f3
mov rdx, r14
mov rcx, r13
call fcn.1400060a0
jmp case.0x14005f4d6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x140060209
cmp rsi, qword [rbx + 0x18]
ja 0x14005fc6c
cmp rcx, 2
jb 0x14005fc91
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x140060230
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 0x1400603ae
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060267
cmp al, 2
je 0x1400602a7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x1400603a2
cmp rsi, 0x80
ja 0x1400602a7
cmp rsi, 8
ja 0x14006027d
mov edi, 8
jmp 0x14006028d
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je case.0x14005f4d6.4
mov byte [rbx + 0x20], 1
jmp 0x1400603a2
cmp rsi, 0x20
jae 0x1400602b7
mov edi, SafeArrayAllocDescriptor
jmp 0x140060361
mov edi, 0x208
cmp rsi, rdi
jb 0x140060361
cmp rsi, 0x50000
jae 0x14006031d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400602e4
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x140060313
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140060313
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060361
cmp rsi, 0x320000
jae 0x14006032f
lea rdi, [rsi + 0x8000]
jmp 0x140060361
cmp rsi, 0xc80000
jae 0x14006035a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x140060361
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060381
test r9, r9
je 0x140060381
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x140060384
xor sil, sil
test rdi, rdi
js 0x14005feb0
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14005feb0
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 0x1400603c3
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400c9cf0
lea rcx, [r14 + r14]
jmp 0x14005fe66
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400603f5
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x140060a4c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060745
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006043b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.Network
jmp 0x140060731
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060470
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x140060a4c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060745
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400604b6
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x1400604cc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x1400604d1
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x1400604ed
mov rdx, rsi
mov rcx, r14
call fcn.1400060a0
jmp case.0x14005f4d6.4
mov r8, qword [0x140111460]
cmp r13, r8
jbe 0x140060503
cmp r13, qword [rbx + 0x18]
ja 0x14005fc6c
cmp rcx, 2
jb 0x14005fc91
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006052a
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 0x140060174
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x140060561
cmp al, 2
je 0x14006057e
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x140060168
cmp r13, 0x80
ja 0x14006057e
cmp r13, 8
ja 0x140060043
mov edi, 8
jmp 0x140060053
cmp r13, 0x20
jae 0x14006058e
mov edi, SafeArrayAllocDescriptor
jmp 0x140060638
mov edi, 0x208
cmp r13, rdi
jb 0x140060638
cmp r13, 0x50000
jae 0x1400605f4
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x1400605bb
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400605ea
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400605ea
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x140060638
cmp r13, 0x320000
jae 0x140060606
lea rdi, [r13 + 0x8000]
jmp 0x140060638
cmp r13, 0xc80000
jae 0x140060631
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x140060638
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x140060658
test r9, r9
je 0x140060658
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400c9b30
jmp 0x14006065b
xor r13b, r13b
test rdi, rdi
js 0x140060671
mov rcx, rdi
call fcn.1400c9094
test rax, rax
jne 0x140060164
test r13b, r13b
jmp 0x14005feb3
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400cc204
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 0x1400606cb
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x1400606cb
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 0x140060a12
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x140060a12
cmp eax, 3
je 0x1400609dd
cmp eax, 0x13
je 0x140060981
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x14006075a
test al, al
je 0x14005ff6d
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x140060740
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x140060745
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x1400604dd
jmp 0x1400604ed
test al, al
jne 0x14006077f
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006079a
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006079d
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x1400607b9
mov rdx, r13
mov rcx, r14
call fcn.1400060a0
jmp case.0x14005f4d6.4
mov r8, qword [0x140111460]
cmp rsi, r8
jbe 0x1400607cf
cmp rsi, qword [rbx + 0x18]
ja 0x14005fc6c
cmp rcx, 2
jb 0x14005fc91
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x1400607f6
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 0x14006096c
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006082d
cmp al, 2
je 0x140060865
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x140060960
cmp rsi, 0x80
ja 0x140060865
cmp rsi, rdi
jbe 0x14006084b
mov eax, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400a8f20
test rax, rax
je case.0x14005f4d6.4
mov byte [rbx + 0x20], 1
jmp 0x140060960
cmp rsi, 0x20
jae 0x140060875
mov edi, SafeArrayAllocDescriptor
jmp 0x14006091f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006091f
cmp rsi, 0x50000
jae 0x1400608db
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400608a2
addsd xmm0, qword [0x1400ffd58]
mulsd xmm0, qword [0x1400ffd90]
movsd xmm1, qword [0x1400ffd88]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x1400608d1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400608d1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006091f
cmp rsi, 0x320000
jae 0x1400608ed
lea rdi, [rsi + 0x8000]
jmp 0x14006091f
cmp rsi, 0xc80000
jae 0x140060918
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006091f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006093f
test r9, r9
je 0x14006093f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400c9b30
jmp 0x140060942
xor sil, sil
test rdi, rdi
js 0x14005feb0
mov rcx, rdi
call fcn.1400c9094
test rax, rax
je 0x14005feb0
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 0x14005fe61
mov rdx, r14
jmp 0x14005fe57
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x1400609aa
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x1400609c5
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x1400609c8
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x1400607a9
jmp 0x1400607b9
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a06
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.Invalid
jmp 0x140060731
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x140060a3b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x140060737
mov esi, 5
jmp 0x140060745
cmp word [rdi], 0
jne 0x140060a7d
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 0x140060aeb
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400abd10
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.0x14005f4d6.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.0x14005f4d6.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400afc70
jmp case.0x14005f4d6.4