Function at 0x14006c940
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.1400e0af0
sub rsp, rax
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.1400272a0
movsxd rsi, eax
cmp esi, 9
jne 0x14006c995
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14006c280
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 0x14006cd2c
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5c4
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 0x14006ca00
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006ca00
mov r13d, 0x5c
mov word [rbp + rcx*2 + 0x7a0], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14006ca13
cmp ax, 9
jne 0x14006ca19
add rdx, 2
jmp 0x14006ca04
lea rcx, [rbp + 0x7a0]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x14012b628]
lea rdx, [0x1400f1604]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x1400f565c]
cmovne r13, rdx
test r9b, r9b
jne 0x14006ca6b
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400bd650
mov r12d, eax
jmp 0x14006d712
mov dl, 1
test r13, r13
jne 0x14006ca80
xor dl, dl
mov r14, r12
lea r13, [0x1400f1514]
jmp 0x14006caa2
cmp qword [rbx + 8], r13
jne 0x14006ca8f
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14006caa2
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 0x14006cac3
mov rdx, r14
mov rcx, r13
call fcn.140006d20
mov r12d, eax
jmp 0x14006d712
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006caf7
cmp rsi, qword [rbx + 0x18]
jbe 0x14006caf7
lea r8, [0x1400f1514]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e5e0
mov r12d, eax
jmp 0x14006d712
cmp rax, 2
jae 0x14006cb21
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 3]
call fcn.1400bdd00
mov r12d, 1
mov eax, r12d
jmp 0x14006d712
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006cb3e
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 0x14006ccb4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006cb75
cmp al, 2
je 0x14006cbb5
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006cca8
cmp rsi, 0x80
ja 0x14006cbb5
cmp rsi, 8
ja 0x14006cb8b
mov edi, 8
jmp 0x14006cb9b
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je 0x14006cce0
mov byte [rbx + 0x20], 1
jmp 0x14006cca8
cmp rsi, 0x20
jae 0x14006cbc5
mov edi, SafeArrayAllocDescriptor
jmp 0x14006cc6f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006cc6f
cmp rsi, 0x50000
jae 0x14006cc2b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006cbf2
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006cc21
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006cc21
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006cc6f
cmp rsi, 0x320000
jae 0x14006cc3d
lea rdi, [rsi + 0x8000]
jmp 0x14006cc6f
cmp rsi, 0xc80000
jae 0x14006cc68
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006cc6f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006cc8f
test r9, r9
je 0x14006cc8f
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fd8
jmp 0x14006cc92
xor sil, sil
test rdi, rdi
js 0x14006cce8
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006cce8
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 0x14006ccc9
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400d7a40
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 0x14006d712
test sil, sil
je 0x14006ccfe
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006cd06
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400f1514]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
mov qword [rbx + 0x10], r12
call fcn.14004e5e0
mov r12d, eax
jmp 0x14006d712
mov rbx, qword [0x14012a950]
mov rcx, rbx
call fcn.140024380
cmp esi, 8
ja case.0x14006cd56.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x6e394]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14006cd6b
mov esi, 0x100
jmp 0x14006cdfd
lea rdx, str.CDRom
mov rcx, rdi
call fcn.1400d6a8c
test eax, eax
jne 0x14006cd83
lea esi, [rax + 5]
jmp 0x14006cdfd
lea rdx, str.Removable
mov rcx, rdi
call fcn.1400d6a8c
test eax, eax
jne 0x14006cd9b
lea esi, [rax + 2]
jmp 0x14006cdfd
lea rdx, str.Fixed
mov rcx, rdi
call fcn.1400d6a8c
test eax, eax
jne 0x14006cdb3
lea esi, [rax + 3]
jmp 0x14006cdfd
lea rdx, str.Network
mov rcx, rdi
call fcn.1400d6a8c
test eax, eax
jne 0x14006cdcb
lea esi, [rax + 4]
jmp 0x14006cdfd
lea rdx, str.Ramdisk
mov rcx, rdi
call fcn.1400d6a8c
test eax, eax
jne 0x14006cde3
lea esi, [rax + 6]
jmp 0x14006cdfd
lea rdx, str.Unknown
mov rcx, rdi
call fcn.1400d6a8c
test eax, eax
jne case.0x14006cd56.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 0x14006ce3f
cmp esi, 0x100
jne 0x14006ce4f
cmp eax, 1
je 0x14006ce4f
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14006ce10
movsxd rax, r15d
mov r15, qword [rsp + 0x108a0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14006ce90
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp 0x14006d0e5
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14006cea4
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006ceb9
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 0x14006ced8
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006d20
jmp 0x14006d0e5
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006cf09
cmp rsi, qword [rbx + 0x18]
jbe 0x14006cf09
lea r8, [0x1400f1514]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e5e0
jmp 0x14006d0e5
cmp rax, 2
jae 0x14006cf23
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400bdd00
jmp 0x14006d0e5
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006cf40
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 0x14006d0b6
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006cf77
cmp al, 2
je 0x14006cfb7
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d0aa
cmp rsi, 0x80
ja 0x14006cfb7
cmp rsi, 8
ja 0x14006cf8d
mov edi, 8
jmp 0x14006cf9d
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je 0x14006d0e5
mov byte [rbx + 0x20], 1
jmp 0x14006d0aa
cmp rsi, 0x20
jae 0x14006cfc7
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d071
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d071
cmp rsi, 0x50000
jae 0x14006d02d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006cff4
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d023
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d023
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d071
cmp rsi, 0x320000
jae 0x14006d03f
lea rdi, [rsi + 0x8000]
jmp 0x14006d071
cmp rsi, 0xc80000
jae 0x14006d06a
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d071
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d091
test r9, r9
je 0x14006d091
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fd8
jmp 0x14006d094
xor sil, sil
test rdi, rdi
js 0x14006d104
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006d104
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 0x14006d0d3
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call fcn.1400d7a40
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.0x14006cd56.4
mov rcx, qword [rbp + 0x107e0]
mov dl, 1
call fcn.14004cf20
jmp 0x14006d712
test sil, sil
je 0x14006d11a
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006d122
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400f1514]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
mov qword [rbx + 0x10], r12
call fcn.14004e5e0
jmp 0x14006d0e5
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5c4
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 0x14006d194
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006d194
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.0x14006cd56.0
sub esi, 2
je 0x14006d463
dec esi
je 0x14006d211
cmp esi, 2
jne case.0x14006cd56.4
mov edx, dword [rbp + 0x107f8]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14006cd56.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006d23a
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea rax, [rbp + 0xa0]
cmp qword [rbx + 8], rax
jne 0x14006d250
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006d267
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 0x14006d288
lea rcx, [rbp + 0xa0]
mov rdx, r13
call fcn.140006d20
jmp case.0x14006cd56.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d29e
cmp rsi, qword [rbx + 0x18]
ja 0x14006d4ec
cmp rax, 2
jb 0x14006d511
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d2c5
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 0x14006d443
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d2fc
cmp al, 2
je 0x14006d33c
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d437
cmp rsi, 0x80
ja 0x14006d33c
cmp rsi, 8
ja 0x14006d312
mov edi, 8
jmp 0x14006d322
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je case.0x14006cd56.4
mov byte [rbx + 0x20], 1
jmp 0x14006d437
cmp rsi, 0x20
jae 0x14006d34c
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d3f6
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d3f6
cmp rsi, 0x50000
jae 0x14006d3b2
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d379
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d3a8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d3a8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d3f6
cmp rsi, 0x320000
jae 0x14006d3c4
lea rdi, [rsi + 0x8000]
jmp 0x14006d3f6
cmp rsi, 0xc80000
jae 0x14006d3ef
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d3f6
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d416
test r9, r9
je 0x14006d416
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fd8
jmp 0x14006d419
xor sil, sil
test rdi, rdi
js 0x14006d730
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006d730
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 0x14006d6e1
lea rdx, [rbp + 0xa0]
jmp 0x14006d6d7
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14006d48c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea rax, [rbp + 0x2a0]
cmp qword [rbx + 8], rax
jne 0x14006d4a2
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006d4b9
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 0x14006d4da
lea rcx, [rbp + 0x2a0]
mov rdx, r13
call fcn.140006d20
jmp case.0x14006cd56.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006d50b
cmp rsi, qword [rbx + 0x18]
jbe 0x14006d50b
lea r8, [0x1400f1514]
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
lea rcx, [0x14012c5c0]
call fcn.14004e5e0
jmp case.0x14006cd56.4
cmp rax, 2
jae 0x14006d525
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 4]
call fcn.1400bdd00
jmp case.0x14006cd56.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d542
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 0x14006d6c0
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d579
cmp al, 2
je 0x14006d5b9
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d6b4
cmp rsi, 0x80
ja 0x14006d5b9
cmp rsi, 8
ja 0x14006d58f
mov edi, 8
jmp 0x14006d59f
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je case.0x14006cd56.4
mov byte [rbx + 0x20], 1
jmp 0x14006d6b4
cmp rsi, 0x20
jae 0x14006d5c9
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d673
mov edi, 0x208
cmp rsi, rdi
jb 0x14006d673
cmp rsi, 0x50000
jae 0x14006d62f
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006d5f6
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d625
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d625
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d673
cmp rsi, 0x320000
jae 0x14006d641
lea rdi, [rsi + 0x8000]
jmp 0x14006d673
cmp rsi, 0xc80000
jae 0x14006d66c
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006d673
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d693
test r9, r9
je 0x14006d693
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fd8
jmp 0x14006d696
xor sil, sil
test rdi, rdi
js 0x14006d730
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006d730
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 0x14006d6e1
lea rdx, [rbp + 0x2a0]
lea r8, [r13 + r13]
call fcn.1400d7a40
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x14012b628]
lea rdx, [0x1400f1604]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
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 0x14006d746
lea rax, [0x14012c4b8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14006d74e
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1400f1514]
lea rdx, str.Out_of_memory.
lea rcx, [0x14012c5c0]
mov qword [rbx + 0x10], r12
call fcn.14004e5e0
jmp case.0x14006cd56.4
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5c4
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 0x14006d7c0
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006d7c0
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.0x14006cd56.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x6e3b8]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006d80e
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14006d824
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006d829
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006dd5d
mov r8, qword [0x1401255a0]
cmp r13, r8
jbe 0x14006d84f
cmp r13, qword [rbx + 0x18]
ja 0x14006d4ec
cmp rcx, 2
jb 0x14006d511
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006d876
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 0x14006d9f4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006d8ad
cmp al, 2
je 0x14006d8ed
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d9e8
cmp r13, 0x80
ja 0x14006d8ed
cmp r13, 8
ja 0x14006d8c3
mov edi, 8
jmp 0x14006d8d3
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je case.0x14006cd56.4
mov byte [rbx + 0x20], 1
jmp 0x14006d9e8
cmp r13, 0x20
jae 0x14006d8fd
mov edi, SafeArrayAllocDescriptor
jmp 0x14006d9a7
mov edi, 0x208
cmp r13, rdi
jb 0x14006d9a7
cmp r13, 0x50000
jae 0x14006d963
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006d92a
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006d959
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006d959
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006d9a7
cmp r13, 0x320000
jae 0x14006d975
lea rdi, [r13 + 0x8000]
jmp 0x14006d9a7
cmp r13, 0xc80000
jae 0x14006d9a0
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14006d9a7
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006d9c7
test r9, r9
je 0x14006d9c7
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400d6fd8
jmp 0x14006d9ca
xor r13b, r13b
test rdi, rdi
js 0x14006def1
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006def1
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 0x14006da09
lea r8, [rsi + rsi]
mov rdx, r14
call fcn.1400d7a40
lea rcx, [rsi + rsi]
jmp 0x14006d6e6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006da3b
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x14006da51
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14006da57
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14006da73
mov rdx, r14
mov rcx, r13
call fcn.140006d20
jmp case.0x14006cd56.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006da89
cmp rsi, qword [rbx + 0x18]
ja 0x14006d4ec
cmp rcx, 2
jb 0x14006d511
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006dab0
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 0x14006dc2e
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006dae7
cmp al, 2
je 0x14006db27
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006dc22
cmp rsi, 0x80
ja 0x14006db27
cmp rsi, 8
ja 0x14006dafd
mov edi, 8
jmp 0x14006db0d
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je case.0x14006cd56.4
mov byte [rbx + 0x20], 1
jmp 0x14006dc22
cmp rsi, 0x20
jae 0x14006db37
mov edi, SafeArrayAllocDescriptor
jmp 0x14006dbe1
mov edi, 0x208
cmp rsi, rdi
jb 0x14006dbe1
cmp rsi, 0x50000
jae 0x14006db9d
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006db64
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006db93
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006db93
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006dbe1
cmp rsi, 0x320000
jae 0x14006dbaf
lea rdi, [rsi + 0x8000]
jmp 0x14006dbe1
cmp rsi, 0xc80000
jae 0x14006dbda
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006dbe1
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006dc01
test r9, r9
je 0x14006dc01
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fd8
jmp 0x14006dc04
xor sil, sil
test rdi, rdi
js 0x14006d730
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006d730
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 0x14006dc43
lea r8, [r14 + r14]
mov rdx, r13
call fcn.1400d7a40
lea rcx, [r14 + r14]
jmp 0x14006d6e6
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dc75
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x14006e2cc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006dfc5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dcbb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.Network
jmp 0x14006dfb1
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dcf0
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x14006e2cc
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006dfc5
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006dd36
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x14006dd4c
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006dd51
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14006dd6d
mov rdx, rsi
mov rcx, r14
call fcn.140006d20
jmp case.0x14006cd56.4
mov r8, qword [0x1401255a0]
cmp r13, r8
jbe 0x14006dd83
cmp r13, qword [rbx + 0x18]
ja 0x14006d4ec
cmp rcx, 2
jb 0x14006d511
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006ddaa
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 0x14006d9f4
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006dde1
cmp al, 2
je 0x14006ddfe
mov rdi, qword [rbp + 0x107f8]
mov rax, qword [rbp + 0x107f8]
jmp 0x14006d9e8
cmp r13, 0x80
ja 0x14006ddfe
cmp r13, 8
ja 0x14006d8c3
mov edi, 8
jmp 0x14006d8d3
cmp r13, 0x20
jae 0x14006de0e
mov edi, SafeArrayAllocDescriptor
jmp 0x14006deb8
mov edi, 0x208
cmp r13, rdi
jb 0x14006deb8
cmp r13, 0x50000
jae 0x14006de74
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14006de3b
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006de6a
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006de6a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006deb8
cmp r13, 0x320000
jae 0x14006de86
lea rdi, [r13 + 0x8000]
jmp 0x14006deb8
cmp r13, 0xc80000
jae 0x14006deb1
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14006deb8
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006ded8
test r9, r9
je 0x14006ded8
mov rcx, qword [rbx + 8]
mov r13b, 1
call fcn.1400d6fd8
jmp 0x14006dedb
xor r13b, r13b
test rdi, rdi
js 0x14006def1
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
jne 0x14006d9e4
test r13b, r13b
jmp 0x14006d733
lea rcx, [rbp + 0x7a0]
mov r8d, 0x7ffe
mov rdx, rdi
call fcn.1400da5c4
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 0x14006df4b
cmp word [rbp + rcx*2 + 0x79e], 0x5c
je 0x14006df4b
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 0x14006e292
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14006e292
cmp eax, 3
je 0x14006e25d
cmp eax, 0x13
je 0x14006e201
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x14006dfda
test al, al
je 0x14006d7ed
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14006dfc0
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14006dfc5
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14006dd5d
jmp 0x14006dd6d
test al, al
jne 0x14006dfff
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006e01a
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006e01d
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14006e039
mov rdx, r13
mov rcx, r14
call fcn.140006d20
jmp case.0x14006cd56.4
mov r8, qword [0x1401255a0]
cmp rsi, r8
jbe 0x14006e04f
cmp rsi, qword [rbx + 0x18]
ja 0x14006d4ec
cmp rcx, 2
jb 0x14006d511
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14006e076
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 0x14006e1ec
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14006e0ad
cmp al, 2
je 0x14006e0e5
mov rax, qword [rbp + 0x107f8]
mov rdi, qword [rbp + 0x107f8]
jmp 0x14006e1e0
cmp rsi, 0x80
ja 0x14006e0e5
cmp rsi, rdi
jbe 0x14006e0cb
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400b60b0
test rax, rax
je case.0x14006cd56.4
mov byte [rbx + 0x20], 1
jmp 0x14006e1e0
cmp rsi, 0x20
jae 0x14006e0f5
mov edi, SafeArrayAllocDescriptor
jmp 0x14006e19f
mov edi, 0x208
cmp rsi, rdi
jb 0x14006e19f
cmp rsi, 0x50000
jae 0x14006e15b
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14006e122
addsd xmm0, qword [0x140112038]
mulsd xmm0, qword [0x140112070]
movsd xmm1, qword [0x140112068]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14006e151
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14006e151
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14006e19f
cmp rsi, 0x320000
jae 0x14006e16d
lea rdi, [rsi + 0x8000]
jmp 0x14006e19f
cmp rsi, 0xc80000
jae 0x14006e198
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14006e19f
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14006e1bf
test r9, r9
je 0x14006e1bf
mov rcx, qword [rbx + 8]
mov sil, 1
call fcn.1400d6fd8
jmp 0x14006e1c2
xor sil, sil
test rdi, rdi
js 0x14006d730
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14006d730
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 0x14006d6e1
mov rdx, r14
jmp 0x14006d6d7
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e22a
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14006e245
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14006e248
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x14006e029
jmp 0x14006e039
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e286
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.Invalid
jmp 0x14006dfb1
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14006e2bb
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
je 0x14006dfb7
mov esi, 5
jmp 0x14006dfc5
cmp word [rdi], 0
jne 0x14006e2fd
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 0x14006e36b
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x5a0]
mov r9, rdi
mov edx, 0x100
call fcn.1400b9320
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.0x14006cd56.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.0x14006cd56.0
lea rdx, [rbp + 0x4a0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp case.0x14006cd56.4