Function at 0x14007e2b0
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 - 0x9c0]
sub rsp, 0xac0
mov r13, rcx
mov rcx, rdx
mov rdi, r8
mov rbx, rdx
call fcn.140032880
movsxd rsi, eax
cmp esi, 9
jne 0x14007e2ff
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.14007db80
add rsp, 0xac0
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0xaf8], r12
mov qword [rsp + 0xab8], r14
cmp esi, 4
jne 0x14007e68b
lea rcx, [rbp - 0x60]
mov r8d, 0x103
mov rdx, rdi
call qword [sym.imp.MSVCR100.dll_wcsncpy]
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp - 0x60]
mov word [rbp + 0x1a6], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14007e35f
cmp word [rbp + rcx*2 - 0x62], 0x5c
je 0x14007e35f
mov r13d, 0x5c
mov word [rbp + rcx*2 - 0x60], r13w
lea rdx, [rbx + 0x12]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x14007e372
cmp ax, 9
jne 0x14007e378
add rdx, 2
jmp 0x14007e363
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov rbx, qword [0x140140268]
lea rdx, [0x140103674]
movzx r9d, byte [rbx + 0x23]
test eax, eax
lea r13, [0x14010771c]
cmovne r13, rdx
test r9b, r9b
jne 0x14007e3c7
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rdx, r13
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
mov r12d, eax
jmp 0x14007edfe
mov dl, 1
test r13, r13
jne 0x14007e3dc
xor dl, dl
mov r14, r12
lea r13, [0x1401035ac]
jmp 0x14007e3fe
cmp qword [rbx + 8], r13
jne 0x14007e3eb
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14007e3fe
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 0x14007e41f
mov rdx, r14
mov rcx, r13
call fcn.140006bc0
mov r12d, eax
jmp 0x14007edfe
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007e453
cmp rsi, qword [rbx + 0x18]
jbe 0x14007e453
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
mov r12d, eax
jmp 0x14007edfe
cmp rax, 2
jae 0x14007e47d
test dl, dl
mov rcx, rbx
setne r12b
xor r8d, r8d
lea edx, [r12 + 2]
call fcn.1400e74d0
mov r12d, 1
mov eax, r12d
jmp 0x14007edfe
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007e49a
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14007e612
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007e4d1
cmp al, 2
je 0x14007e511
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007e606
cmp rsi, 0x80
ja 0x14007e511
cmp rsi, 8
ja 0x14007e4e7
mov edi, 8
jmp 0x14007e4f7
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je 0x14007e63f
mov byte [rbx + 0x20], 1
jmp 0x14007e606
cmp rsi, 0x20
jae 0x14007e521
mov edi, SafeArrayAllocDescriptor
jmp 0x14007e5cb
mov edi, 0x208
cmp rsi, rdi
jb 0x14007e5cb
cmp rsi, 0x50000
jae 0x14007e587
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007e54e
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007e57d
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007e57d
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007e5cb
cmp rsi, 0x320000
jae 0x14007e599
lea rdi, [rsi + 0x8000]
jmp 0x14007e5cb
cmp rsi, 0xc80000
jae 0x14007e5c4
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007e5cb
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007e5ec
test r9, r9
je 0x14007e5ec
mov rcx, qword [rbx + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007e5ef
xor sil, sil
test rdi, rdi
js 0x14007e647
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007e647
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 0x14007e628
lea r8, [r14 + r14]
mov rdx, r13
call qword [sym.imp.MSVCR100.dll_memmove]
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 0x14007edfe
test sil, sil
je 0x14007e65d
lea rax, [0x140141fa8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14007e665
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rbx + 0x10], r12
call fcn.14005f7b0
mov r12d, eax
jmp 0x14007edfe
mov rbx, qword [0x14013f500]
mov rcx, rbx
call fcn.14002f9e0
cmp esi, 8
ja case.0x14007e6b5.4
lea r14, [0x140000000]
mov eax, dword [r14 + rsi*4 + 0x7fd80]
add rax, r14
jmp rax
xor r12d, r12d
cmp word [rdi], r12w
jne 0x14007e6ca
mov esi, 0x100
jmp 0x14007e762
lea rdx, str.CDRom
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14007e6e3
lea esi, [rax + 5]
jmp 0x14007e762
lea rdx, str.Removable
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14007e6fc
lea esi, [rax + 2]
jmp 0x14007e762
lea rdx, str.Fixed
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14007e715
lea esi, [rax + 3]
jmp 0x14007e762
lea rdx, str.Network
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14007e72e
lea esi, [rax + 4]
jmp 0x14007e762
lea rdx, str.Ramdisk
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne 0x14007e747
lea esi, [rax + 6]
jmp 0x14007e762
lea rdx, str.Unknown
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
jne case.0x14007e6b5.0
mov esi, r12d
mov qword [rsp + 0xab0], r15
mov dil, 0x41
lea r14, [rsp + 0x60]
mov r15d, r12d
movzx eax, dil
lea rcx, [rbp + 0x1b0]
mov dword [rbp + 0x1b2], 0x5c003a
mov word [rbp + 0x1b0], ax
mov word [rbp + 0x1b6], r12w
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, esi
je 0x14007e7b0
cmp esi, 0x100
jne 0x14007e7c0
cmp eax, 1
je 0x14007e7c0
movzx eax, dil
inc r15d
add r14, 2
mov word [r14 - 2], ax
inc dil
cmp dil, 0x5a
jbe 0x14007e775
movsxd rax, r15d
mov r15, qword [rsp + 0xab0]
movzx edx, byte [rbx + 0x23]
mov word [rsp + rax*2 + 0x60], r12w
test dl, dl
jne 0x14007e801
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x60]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp 0x14007ea59
lea rax, [rsp + 0x60]
cmp qword [rbx + 8], rax
jne 0x14007e815
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007e82a
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 0x14007e849
lea rcx, [rsp + 0x60]
mov rdx, r13
call fcn.140006bc0
jmp 0x14007ea59
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007e87a
cmp rsi, qword [rbx + 0x18]
jbe 0x14007e87a
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
jmp 0x14007ea59
cmp rax, 2
jae 0x14007e894
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 3]
call fcn.1400e74d0
jmp 0x14007ea59
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007e8b1
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14007ea29
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007e8e8
cmp al, 2
je 0x14007e928
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007ea1d
cmp rsi, 0x80
ja 0x14007e928
cmp rsi, 8
ja 0x14007e8fe
mov edi, 8
jmp 0x14007e90e
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je 0x14007ea59
mov byte [rbx + 0x20], 1
jmp 0x14007ea1d
cmp rsi, 0x20
jae 0x14007e938
mov edi, SafeArrayAllocDescriptor
jmp 0x14007e9e2
mov edi, 0x208
cmp rsi, rdi
jb 0x14007e9e2
cmp rsi, 0x50000
jae 0x14007e99e
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007e965
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007e994
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007e994
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007e9e2
cmp rsi, 0x320000
jae 0x14007e9b0
lea rdi, [rsi + 0x8000]
jmp 0x14007e9e2
cmp rsi, 0xc80000
jae 0x14007e9db
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007e9e2
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007ea03
test r9, r9
je 0x14007ea03
mov rcx, qword [rbx + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007ea06
xor sil, sil
test rdi, rdi
js 0x14007ea78
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007ea78
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 0x14007ea47
lea r8, [r13 + r13]
lea rdx, [rsp + 0x60]
call qword [sym.imp.MSVCR100.dll_memmove]
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.0x14007e6b5.4
mov rcx, qword [rbp + 0x9f0]
mov dl, 1
call fcn.14005e3f0
jmp 0x14007edfe
test sil, sil
je 0x14007ea8e
lea rax, [0x140141fa8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14007ea96
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rbx + 0x10], r12
call fcn.14005f7b0
jmp 0x14007ea59
lea rcx, [rbp - 0x60]
mov r8d, 0x103
mov rdx, rdi
call qword [sym.imp.MSVCR100.dll_wcsncpy]
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp - 0x60]
mov word [rbp + 0x1a6], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14007eafd
cmp word [rbp + rcx*2 - 0x62], 0x5c
je 0x14007eafd
mov r13d, 0x5c
mov word [rbp + rcx*2 - 0x60], r13w
mov dword [rsp + 0x38], 0xff
lea rax, [rbp + 0x4b0]
lea r9, [rbp + 0xa08]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
lea rdx, [rbp + 0x2b0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
lea rcx, [rbp - 0x60]
mov r8d, 0xff
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
je case.0x14007e6b5.0
sub esi, 2
je 0x14007ee1c
dec esi
je 0x14007eb77
cmp esi, 2
jne case.0x14007e6b5.4
mov edx, dword [rbp + 0xa08]
mov r8b, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.140001090
jmp case.0x14007e6b5.4
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14007eba0
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x2b0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea rax, [rbp + 0x2b0]
cmp qword [rbx + 8], rax
jne 0x14007ebb6
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007ebcd
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x2b0]
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 0x14007ebee
lea rcx, [rbp + 0x2b0]
mov rdx, r13
call fcn.140006bc0
jmp case.0x14007e6b5.4
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007ec04
cmp rsi, qword [rbx + 0x18]
ja 0x14007eea2
cmp rax, 2
jb 0x14007eec7
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007ec2b
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14007edab
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007ec62
cmp al, 2
je 0x14007eca2
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007ed9f
cmp rsi, 0x80
ja 0x14007eca2
cmp rsi, 8
ja 0x14007ec78
mov edi, 8
jmp 0x14007ec88
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je case.0x14007e6b5.4
mov byte [rbx + 0x20], 1
jmp 0x14007ed9f
cmp rsi, 0x20
jae 0x14007ecb2
mov edi, SafeArrayAllocDescriptor
jmp 0x14007ed5c
mov edi, 0x208
cmp rsi, rdi
jb 0x14007ed5c
cmp rsi, 0x50000
jae 0x14007ed18
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007ecdf
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007ed0e
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007ed0e
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007ed5c
cmp rsi, 0x320000
jae 0x14007ed2a
lea rdi, [rsi + 0x8000]
jmp 0x14007ed5c
cmp rsi, 0xc80000
jae 0x14007ed55
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007ed5c
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007ed7d
test r9, r9
je 0x14007ed7d
mov rcx, qword [rbx + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007ed80
xor sil, sil
test rdi, rdi
js 0x14007f095
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007f095
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 + 0x2b0]
cmp rcx, rax
je 0x14007edcd
lea r8, [r13 + r13]
lea rdx, [rbp + 0x2b0]
call qword [sym.imp.MSVCR100.dll_memmove]
lea rcx, [r13 + r13]
mov rax, qword [rbx + 8]
mov word [rcx + rax], r12w
mov qword [rbx + 0x10], rcx
mov rcx, qword [0x140140268]
lea rdx, [0x140103674]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
mov r12, qword [rsp + 0xaf8]
mov r14, qword [rsp + 0xab8]
add rsp, 0xac0
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x14007ee42
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x4b0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea rax, [rbp + 0x4b0]
cmp qword [rbx + 8], rax
jne 0x14007ee58
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007ee6f
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x4b0]
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 0x14007ee90
lea rcx, [rbp + 0x4b0]
mov rdx, r13
call fcn.140006bc0
jmp case.0x14007e6b5.4
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007eec1
cmp rsi, qword [rbx + 0x18]
jbe 0x14007eec1
lea r8, [0x1401035ac]
lea rdx, [0x140124720]
lea rcx, [0x140143150]
call fcn.14005f7b0
jmp case.0x14007e6b5.4
cmp rax, 2
jae 0x14007eedb
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 3]
call fcn.1400e74d0
jmp case.0x14007e6b5.4
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007eef8
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14007f070
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007ef2f
cmp al, 2
je 0x14007ef6f
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007f064
cmp rsi, 0x80
ja 0x14007ef6f
cmp rsi, 8
ja 0x14007ef45
mov edi, 8
jmp 0x14007ef55
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je case.0x14007e6b5.4
mov byte [rbx + 0x20], 1
jmp 0x14007f064
cmp rsi, 0x20
jae 0x14007ef7f
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f029
mov edi, 0x208
cmp rsi, rdi
jb 0x14007f029
cmp rsi, 0x50000
jae 0x14007efe5
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007efac
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007efdb
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007efdb
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007f029
cmp rsi, 0x320000
jae 0x14007eff7
lea rdi, [rsi + 0x8000]
jmp 0x14007f029
cmp rsi, 0xc80000
jae 0x14007f022
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f029
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007f04a
test r9, r9
je 0x14007f04a
mov rcx, qword [rbx + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007f04d
xor sil, sil
test rdi, rdi
js 0x14007f095
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007f095
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 + 0x4b0]
cmp rcx, rax
je 0x14007edcd
lea r8, [r13 + r13]
lea rdx, [rbp + 0x4b0]
jmp 0x14007edc7
test sil, sil
je 0x14007f0ab
lea rax, [0x140141fa8]
mov qword [rbx + 0x18], r12
mov qword [rbx + 8], rax
jmp 0x14007f0b3
mov rax, qword [rbx + 8]
mov word [rax], r12w
lea r8, [0x1401035ac]
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
mov qword [rbx + 0x10], r12
call fcn.14005f7b0
jmp case.0x14007e6b5.4
lea rcx, [rbp - 0x60]
mov r8d, 0x103
mov rdx, rdi
call qword [sym.imp.MSVCR100.dll_wcsncpy]
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp - 0x60]
mov word [rbp + 0x1a6], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14007f11d
cmp word [rbp + rcx*2 - 0x62], 0x5c
je 0x14007f11d
mov r13d, 0x5c
mov word [rbp + rcx*2 - 0x60], r13w
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 6
ja case.0x14007e6b5.0
mov eax, eax
mov ecx, dword [r14 + rax*4 + 0x7fda4]
add rcx, r14
jmp rcx
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007f168
mov rcx, qword [rbx + 0x10]
lea rdx, str.Unknown
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14007f17e
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14007f183
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14007f563
mov r8, qword [0x14013b0d0]
cmp r13, r8
jbe 0x14007f1a9
cmp r13, qword [rbx + 0x18]
ja 0x14007eea2
cmp rcx, 2
jb 0x14007eec7
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f1d0
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x14007f6bc
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007f573
cmp al, 2
je 0x14007f5b3
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007f6b0
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007f238
mov rcx, qword [rbx + 0x10]
lea rdx, str.Removable
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r13, str.Removable
cmp qword [rbx + 8], r13
jne 0x14007f24e
mov r14, qword [rbx + 0x10]
shr r14, 1
jmp 0x14007f254
mov r14d, 9
lea rcx, [r14 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14007f270
mov rdx, r14
mov rcx, r13
call fcn.140006bc0
jmp case.0x14007e6b5.4
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007f286
cmp rsi, qword [rbx + 0x18]
ja 0x14007eea2
cmp rcx, 2
jb 0x14007eec7
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f2ad
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14007f42d
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007f2e4
cmp al, 2
je 0x14007f324
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007f421
cmp rsi, 0x80
ja 0x14007f324
cmp rsi, 8
ja 0x14007f2fa
mov edi, 8
jmp 0x14007f30a
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je case.0x14007e6b5.4
mov byte [rbx + 0x20], 1
jmp 0x14007f421
cmp rsi, 0x20
jae 0x14007f334
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f3de
mov edi, 0x208
cmp rsi, rdi
jb 0x14007f3de
cmp rsi, 0x50000
jae 0x14007f39a
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f361
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007f390
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007f390
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007f3de
cmp rsi, 0x320000
jae 0x14007f3ac
lea rdi, [rsi + 0x8000]
jmp 0x14007f3de
cmp rsi, 0xc80000
jae 0x14007f3d7
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f3de
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007f3ff
test r9, r9
je 0x14007f3ff
mov rcx, qword [rbx + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007f402
xor sil, sil
test rdi, rdi
js 0x14007f095
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007f095
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 0x14007f443
lea r8, [r14 + r14]
mov rdx, r13
call qword [sym.imp.MSVCR100.dll_memmove]
lea rcx, [r14 + r14]
jmp 0x14007edd2
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007f475
mov rcx, qword [rbx + 0x10]
lea rdx, str.Fixed
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.Fixed
cmp qword [rbx + 8], r14
jne 0x14007f48e
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14007f183
mov esi, 5
jmp 0x14007f183
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007f4c1
mov rcx, qword [rbx + 0x10]
lea rdx, str.Network
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.Network
jmp 0x14007f16f
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007f4f6
mov rcx, qword [rbx + 0x10]
lea rdx, str.CDROM
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.CDROM
cmp qword [rbx + 8], r14
jne 0x14007f48e
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14007f183
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007f538
mov rcx, qword [rbx + 0x10]
lea rdx, str.RAMDisk
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.RAMDisk
cmp qword [rbx + 8], r14
jne 0x14007f54e
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14007f553
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
jne 0x14007f193
mov rdx, rsi
mov rcx, r14
call fcn.140006bc0
jmp case.0x14007e6b5.4
cmp r13, 0x80
ja 0x14007f5b3
cmp r13, 8
ja 0x14007f589
mov edi, 8
jmp 0x14007f599
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp r13, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je case.0x14007e6b5.4
mov byte [rbx + 0x20], 1
jmp 0x14007f6b0
cmp r13, 0x20
jae 0x14007f5c3
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f66d
mov edi, 0x208
cmp r13, rdi
jb 0x14007f66d
cmp r13, 0x50000
jae 0x14007f629
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14007f5f0
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007f61f
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007f61f
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007f66d
cmp r13, 0x320000
jae 0x14007f63b
lea rdi, [r13 + 0x8000]
jmp 0x14007f66d
cmp r13, 0xc80000
jae 0x14007f666
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14007f66d
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007f68e
test r9, r9
je 0x14007f68e
mov rcx, qword [rbx + 8]
mov r13b, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007f691
xor r13b, r13b
test rdi, rdi
js 0x14007fcbb
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007fcbb
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 0x14007f6d2
lea r8, [rsi + rsi]
mov rdx, r14
call qword [sym.imp.MSVCR100.dll_memmove]
lea rcx, [rsi + rsi]
jmp 0x14007edd2
lea rcx, [rbp - 0x60]
mov r8d, 0x103
mov rdx, rdi
call qword [sym.imp.MSVCR100.dll_wcsncpy]
or rcx, 0xffffffffffffffff
xor r12d, r12d
xor eax, eax
lea rdi, [rbp - 0x60]
mov word [rbp + 0x1a6], r12w
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x14007f722
cmp word [rbp + rcx*2 - 0x62], 0x5c
je 0x14007f722
mov r13d, 0x5c
mov word [rbp + rcx*2 - 0x60], r13w
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x4c]
lea rdx, [rsp + 0x54]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x14007fae9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14007fae9
cmp eax, 3
je 0x14007fab4
cmp eax, 0x13
je 0x14007fa58
cmp eax, 0x15
movzx eax, byte [rbx + 0x23]
je 0x14007f82a
test al, al
je 0x14007f147
lea r14, str.Unknown
cmp qword [rbx + 8], r14
jne 0x14007f798
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14007f79d
mov esi, 7
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14007f563
mov r8, qword [0x14013b0d0]
cmp r13, r8
jbe 0x14007f7c3
cmp r13, qword [rbx + 0x18]
ja 0x14007eea2
cmp rcx, 2
jb 0x14007eec7
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f7ea
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x14007f6bc
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007fbb5
cmp al, 2
jne 0x14007f1fc
cmp r13, 0x20
jae 0x14007fbd6
mov edi, SafeArrayAllocDescriptor
jmp 0x14007fc80
test al, al
jne 0x14007f84f
mov rcx, qword [rbx + 0x10]
lea rdx, str.NotReady
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.NotReady
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14007f86a
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007f86d
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
jne 0x14007f889
mov rdx, r13
mov rcx, r14
call fcn.140006bc0
jmp case.0x14007e6b5.4
mov r8, qword [0x14013b0d0]
cmp rsi, r8
jbe 0x14007f89f
cmp rsi, qword [rbx + 0x18]
ja 0x14007eea2
cmp rcx, 2
jb 0x14007eec7
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007f8c6
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rsi, r9
jbe 0x14007fa3e
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007f8fd
cmp al, 2
je 0x14007f935
mov rax, qword [rbp + 0xa08]
mov rdi, qword [rbp + 0xa08]
jmp 0x14007fa32
cmp rsi, 0x80
ja 0x14007f935
cmp rsi, rdi
jbe 0x14007f91b
mov eax, reloc.WSOCK32.dll_recv
mov edi, 0x80
cmp rsi, rax
cmovbe edi, eax
mov rcx, rdi
call fcn.1400dd290
test rax, rax
je case.0x14007e6b5.4
mov byte [rbx + 0x20], 1
jmp 0x14007fa32
cmp rsi, 0x20
jae 0x14007f945
mov edi, SafeArrayAllocDescriptor
jmp 0x14007f9ef
mov edi, 0x208
cmp rsi, rdi
jb 0x14007f9ef
cmp rsi, 0x50000
jae 0x14007f9ab
pxor xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14007f972
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007f9a1
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007f9a1
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007f9ef
cmp rsi, 0x320000
jae 0x14007f9bd
lea rdi, [rsi + 0x8000]
jmp 0x14007f9ef
cmp rsi, 0xc80000
jae 0x14007f9e8
movabs rax, 0x47ae147ae147ae15
mov rdi, rsi
mul rsi
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, rsi
jmp 0x14007f9ef
lea rdi, [rsi + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007fa10
test r9, r9
je 0x14007fa10
mov rcx, qword [rbx + 8]
mov sil, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007fa13
xor sil, sil
test rdi, rdi
js 0x14007f095
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
je 0x14007f095
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 0x14007edcd
lea r8, [r13 + r13]
mov rdx, r14
jmp 0x14007edc7
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007fa81
mov rcx, qword [rbx + 0x10]
lea rdx, str.ReadOnly
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.ReadOnly
mov edi, 8
cmp qword [rbx + 8], r14
jne 0x14007fa9c
mov r13, qword [rbx + 0x10]
shr r13, 1
jmp 0x14007fa9f
mov r13, rdi
lea rcx, [r13 + 1]
lea rsi, [rcx + rcx]
cmp al, 2
je 0x14007f879
jmp 0x14007f889
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007fadd
mov rcx, qword [rbx + 0x10]
lea rdx, str.Invalid
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.Invalid
jmp 0x14007f789
movzx eax, byte [rbx + 0x23]
test al, al
jne 0x14007fb12
mov rcx, qword [rbx + 0x10]
lea rdx, str.Ready
xor r9d, r9d
or r8, 0xffffffffffffffff
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4
lea r14, str.Ready
cmp qword [rbx + 8], r14
jne 0x14007fb28
mov rsi, qword [rbx + 0x10]
shr rsi, 1
jmp 0x14007fb2d
mov esi, 5
lea rcx, [rsi + 1]
lea r13, [rcx + rcx]
cmp al, 2
je 0x14007f563
mov r8, qword [0x14013b0d0]
cmp r13, r8
jbe 0x14007fb53
cmp r13, qword [rbx + 0x18]
ja 0x14007eea2
cmp rcx, 2
jb 0x14007eec7
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14007fb7a
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 [0x14013b0d0]
mov r9, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp r13, r9
jbe 0x14007f6bc
movzx r10d, byte [rbx + 0x20]
movzx eax, r10b
cmp r10b, 1
jbe 0x14007fbb5
cmp al, 2
je 0x14007f816
mov rdi, qword [rbp + 0xa08]
mov rax, qword [rbp + 0xa08]
jmp 0x14007f6b0
cmp r13, 0x80
ja 0x14007f816
cmp r13, 8
ja 0x14007f589
mov edi, 8
jmp 0x14007f599
mov edi, 0x208
cmp r13, rdi
jb 0x14007fc80
cmp r13, 0x50000
jae 0x14007fc3c
pxor xmm0, xmm0
cvtsi2sd xmm0, r13
test r13, r13
jns 0x14007fc03
addsd xmm0, qword [0x1401279a8]
mulsd xmm0, qword [0x1401279e0]
movsd xmm1, qword [0x1401279d8]
xor ecx, ecx
comisd xmm0, xmm1
jbe 0x14007fc32
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14007fc32
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rdi, xmm0
add rdi, rcx
jmp 0x14007fc80
cmp r13, 0x320000
jae 0x14007fc4e
lea rdi, [r13 + 0x8000]
jmp 0x14007fc80
cmp r13, 0xc80000
jae 0x14007fc79
movabs rax, 0x47ae147ae147ae15
mov rdi, r13
mul r13
sub rdi, rdx
shr rdi, 1
add rdi, rdx
shr rdi, 6
add rdi, r13
jmp 0x14007fc80
lea rdi, [r13 + 0x20000]
cmp rdi, r8
cmova rdi, r8
cmp r10b, 2
jne 0x14007fca1
test r9, r9
je 0x14007fca1
mov rcx, qword [rbx + 8]
mov r13b, 1
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x14007fca4
xor r13b, r13b
test rdi, rdi
js 0x14007fcbb
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_malloc]
test rax, rax
jne 0x14007f6ac
test r13b, r13b
jmp 0x14007f098
cmp word [rdi], 0
jne 0x14007fcea
lea rdx, [rbp + 0x6b0]
lea rcx, str.status_cdaudio_mode
xor r9d, r9d
mov r8d, 0x80
call qword [sym.imp.WINMM.dll_mciSendStringW]
test eax, eax
jmp 0x14007fd58
lea r8, str.open__s_type_cdaudio_alias_cd_wait_shareable
lea rcx, [rbp + 0x7b0]
mov r9, rdi
mov edx, 0x100
call fcn.1400e0640
lea rcx, [rbp + 0x7b0]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WINMM.dll_mciSendStringW]
test eax, eax
jne case.0x14007e6b5.0
lea rdx, [rbp + 0x6b0]
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.0x14007e6b5.0
lea rdx, [rbp + 0x6b0]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov rcx, rbx
mov byte [rsp + 0x20], 1
call fcn.1400e6e20
jmp case.0x14007e6b5.4