Function at 0x18007b980
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
xor r13d, r13d
mov esi, r13d
mov dword [rsp + 0x20], r13d
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x30], rcx
lea rdi, vtable.CVolObject.0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
lea rax, vtable.CWString.0
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rbp + 0xc0], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r13
mov qword [rbp - 0x80], 0x40
mov qword [rsp + 0x48], r13
mov qword [rbp - 0x80], 0xfe
mov rcx, qword [0x18034c3e8]
call fcn.180098b40
lea rcx, [rax + 0x10]
call fcn.180098b40
lea rcx, [rax + 0xfce0]
call fcn.180098b40
lea rcx, [rax + 0x90]
call fcn.180098b40
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov qword [0x18034c798], 1
mov ecx, eax
call fcn.180258890
cmp qword [0x18034c798], r13
jne 0x18007ba8e
mov qword [0x18034c798], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.180258890
call fcn.180258864
movsxd rcx, eax
movabs rax, 0x5555555555555556
imul rcx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
sub rcx, rax
test ecx, ecx
je 0x18007bcbd
mov r14, r13
movabs rbx, 0x4924924924924925
nop dword [rax]
cmp qword [0x18034c798], 0
jne 0x18007baf2
mov qword [0x18034c798], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.180258890
call fcn.180258864
movsxd rdi, eax
mov rax, rbx
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xe
sub rdi, rax
lea eax, [rdi + rdi*2]
shl eax, 3
movsxd rcx, eax
add rcx, r12
call fcn.180098b40
lea rcx, [rax + 0x10]
call fcn.180098b40
lea r15, [rax - 0x10]
test r15, r15
jle 0x18007bca9
lea rcx, [r15 + 0xb0]
call fcn.180098b40
mov rdx, rax
mov r8d, 0x64
lea rcx, [rbp - 0x70]
call fcn.180098e90
nop
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.180065de0
or esi, 1
mov dword [rsp + 0x20], esi
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x20]
call fcn.180097160
mov rbx, rax
lea rcx, [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x50]
mov rdx, qword [rsp + 0x50]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rsp + 0x50]
call fcn.180007660
nop
lea rax, [rbp + 0x40]
mov qword [rbp + 0xc0], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x40], rax
mov rdx, qword [rbp + 0x58]
test rdx, rdx
je 0x18007bbf2
lea rcx, [rbp + 0x40]
mov rax, qword [rbp + 0x40]
call qword [rax + 0x18]
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x60], r13
lea rbx, vtable.CVolObject.0
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x20], rbx
and esi, 0xfffffffe
mov dword [rsp + 0x20], esi
lea rax, [rbp - 0x18]
mov qword [rbp + 0xc8], rax
lea rax, vtable.CVolMem.0
mov qword [rbp - 0x18], rax
mov rdx, qword [rbp]
test rdx, rdx
je 0x18007bc45
lea rcx, [rbp - 0x18]
mov rax, qword [rbp - 0x18]
call qword [rax + 0x18]
lea rax, vtable.CVolMem.0
mov qword [rbp], r13
mov qword [rbp + 0x10], r13
mov qword [rbp + 8], r13
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x70], rax
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x18007bc71
lea rcx, [rbp - 0x70]
mov rax, qword [rbp - 0x70]
call qword [rax + 0x18]
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x70], rbx
lea rcx, [rsp + 0x30]
call fcn.18007be40
test eax, eax
jne 0x18007bc9f
mov rcx, r15
call fcn.1800249a0
test eax, eax
jne 0x18007bd25
movabs rbx, 0x4924924924924925
inc r14
cmp r14, 0xe
jl 0x18007bad0
lea rdi, vtable.CVolObject.0
mov ebx, 0x58
lea rax, [rsp + 0x50]
mov qword [rbp + 0xc0], rax
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x18007bcef
lea rcx, [rsp + 0x50]
call qword [method.CVolObjectArray.virtual_24]
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], rdi
mov eax, ebx
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, 0x41
test edi, edi
cmovne ebx, r13d
cmp edi, 1
jne 0x18007bd41
lea ebx, [rdi + 0x52]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 2
jne 0x18007bd55
lea ebx, [rdi + 0x42]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 3
jne 0x18007bd69
lea ebx, [rdi + 0x43]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 4
jne 0x18007bd7d
lea ebx, [rdi + 0x43]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 5
jne 0x18007bd91
lea ebx, [rdi + 0x43]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 6
jne 0x18007bda5
lea ebx, [rdi + 0xc]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 7
jne 0x18007bdb9
lea ebx, [rdi + 0x4a]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 8
jne 0x18007bdcd
lea ebx, [rdi + 0x4f]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 9
jne 0x18007bde1
lea ebx, [rdi + 0x3c]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 0xa
jne 0x18007bdf5
lea ebx, [rdi + 0x48]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 0xb
jne 0x18007be09
lea ebx, [rdi + 0x49]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
cmp edi, 0xc
jne 0x18007be1d
lea ebx, [rdi + 0x4d]
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2
mov eax, send
cmp edi, 0xd
cmove ebx, eax
lea rdi, vtable.CVolObject.0
jmp 0x18007bcc2