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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x340]
sub rsp, 0x440
mov rax, qword [0x1402c8920]
xor rax, rsp
mov qword [rbp + 0x330], rax
movsxd rbx, r9d
mov r14, r8
mov qword [rbp + 0x110], r8
mov qword [rbp - 0x68], rdx
mov esi, ecx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
mov r13d, r12d
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp], rcx
lea r8, vtable.CVolObject.0
mov qword [rbp], r8
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
lea rdx, vtable.CWString.0
mov qword [rbp], rdx
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x30], r12
lea r9, vtable.CVolMem.0
mov qword [rbp + 0x20], r9
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x50], 0x40
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x50], 0xfe
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x60], rdx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x40], r9
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x10], 0x40
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x10], 0xfe
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
sub rax, rdi
cmp rax, rbx
jge 0x140005536
lea r15, [0x14027cc90]
lea r8, vtable.CWConstString.0
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp + 0xb8], rcx
lea r9, vtable.CVolObject.0
mov qword [rbp + 0xb8], r9
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r12
lea rdx, vtable.CWString.0
mov qword [rbp + 0xb8], rdx
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xd8], r9
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], r12
lea r10, vtable.CVolMem.0
mov qword [rbp + 0xd8], r10
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0x100], r12
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0x108], 0x40
mov qword [rbp + 0xd0], r12
mov qword [rbp + 0x108], 0xfe
mov qword [rbp + 0xb8], r8
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x60], r9
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x60], rdx
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x80], r9
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x80], r10
mov qword [rbp + 0x98], r12
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xb0], 0x40
mov qword [rbp + 0x78], r12
mov qword [rbp + 0xb0], 0xfe
mov qword [rbp + 0x60], r8
mov qword [rbp + 0x78], r15
lea r9, [rbp + 0xb8]
lea r8, [rbp + 0x60]
mov rdx, r13
call fcn.140005c80
mov r13, rax
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x80], rax
mov rdx, qword [rbp + 0x98]
test rdx, rdx
je 0x140004ca8
lea rcx, [rbp + 0x80]
mov rax, qword [rbp + 0x80]
call qword [rax + 0x18]
mov qword [rbp + 0x98], r12
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xa0], r12
lea rcx, vtable.CVolObject.0
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x60], rcx
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x28], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0xd8], rax
mov rdx, qword [rbp + 0xf0]
test rdx, rdx
je 0x140004d0d
lea rcx, [rbp + 0xd8]
mov rax, qword [rbp + 0xd8]
call qword [rax + 0x18]
lea rcx, vtable.CVolObject.0
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0x100], r12
mov qword [rbp + 0xf8], r12
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xb8], rcx
mov rcx, r13
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140004d5c
mov rcx, r13
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x140004d5c
lea rdx, [rbp - 0x70]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [rbp - 0x70], esi
je 0x140004d75
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
sub rax, rdi
cmp rax, rbx
jge 0x140005536
jmp 0x140004b27
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.1400059f0
mov rbx, rax
lea rcx, [rbp]
mov rdx, qword [rbp]
call qword [rdx + 0x88]
mov rcx, qword [rbx + 8]
mov qword [rbp + 8], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rbp + 0x18], rcx
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
call qword [rdx + 0x88]
lea rdx, [rbx + 0x20]
lea rcx, [rbp + 0x20]
call fcn.140003600
nop
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rsi, vtable.CVolMem.0
mov qword [rsp + 0x58], rsi
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x140004df2
lea rcx, [rsp + 0x58]
call qword [method.CWString.virtual_24]
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r12
lea rdi, vtable.CVolObject.0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x38], rdi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x120]
call fcn.1401f8150
mov r8d, 0x104
lea rdx, [rbp + 0x120]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetClassNameW]
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
lea rdx, vtable.CWString.0
mov qword [rsp + 0x38], rdx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x80], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x78], 0x40
mov qword [rsp + 0x50], r12
mov qword [rbp - 0x78], 0xfe
mov qword [rsp + 0x38], rdx
mov r12, 0xffffffffffffffff
mov rdx, qword [rbp + 0x120]
test dx, dx
je 0x140004f6d
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x80]
cmp rbx, 2
jb 0x140004ee3
cmp word [rcx + rbx - 2], 0
jne 0x140004ee3
sub rbx, 2
mov qword [rbp - 0x80], rbx
lea r8, [rbp + 0x120]
mov rax, r12
nop dword [rax]
lea rax, [rax + 1]
cmp word [r8 + rax*2], 0
jne 0x140004ef0
lea rdi, [rax*2 + 2]
mov rax, qword [rsp + 0x78]
sub rax, rbx
cmp rax, rdi
jl 0x140004f40
cmp rdi, 2
jne 0x140004f21
mov word [rbx + rcx], dx
add qword [rbp - 0x80], rdi
jmp 0x140004f66
cmp rdi, 4
jne 0x140004f30
mov dword [rbx + rcx], edx
add qword [rbp - 0x80], rdi
jmp 0x140004f66
cmp rdi, 8
jne 0x140004f40
mov qword [rbx + rcx], rdx
add qword [rbp - 0x80], rdi
jmp 0x140004f66
test rdi, rdi
jle 0x140004f66
lea rdx, [rbx + rdi]
lea rcx, [rsp + 0x58]
call fcn.14004d940
lea rcx, [rbx + rax]
mov r8, rdi
lea rdx, [rbp + 0x120]
call fcn.1401f7d40
lea rdi, vtable.CVolObject.0
mov ebx, 1
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x88]
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x58], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x88]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.140003600
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x58], rsi
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x140004fe6
lea rcx, [rsp + 0x58]
call qword [method.CWString.virtual_24]
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x80], rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x38], rdi
mov rcx, qword [rbp - 0x68]
mov rsi, qword [rcx + 0x18]
test rsi, rsi
je 0x140005012
mov rax, rsi
jmp 0x140005020
cmp qword [rcx + 0x48], 0
mov rax, r15
je 0x140005020
mov rax, qword [rcx + 0x38]
cmp word [rax], 0
jne 0x140005046
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x14000503c
cmp qword [r14 + 0x48], rax
mov rax, r15
je 0x14000503c
mov rax, qword [r14 + 0x38]
cmp word [rax], 0
je 0x14000552e
test rsi, rsi
je 0x140005050
mov rax, rsi
jmp 0x14000505e
cmp qword [rcx + 0x48], 0
mov rax, r15
je 0x14000505e
mov rax, qword [rcx + 0x38]
mov rdx, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x48]
cmp word [rax], 0
jne 0x140005190
mov r9, qword [r14 + 0x18]
test r9, r9
jne 0x140005086
cmp qword [r14 + 0x48], r9
mov r9, r15
je 0x140005086
mov r9, qword [r14 + 0x38]
test rdi, rdi
je 0x14000509e
mov r10, rdi
mov r11, r12
inc r11
cmp word [rdi + r11*2], 0
jne 0x140005091
jmp 0x1400050d7
test rdx, rdx
jne 0x1400050ca
mov r10, r15
mov r11, rbx
test r9, r9
je 0x14000517d
cmp word [r9], 0
je 0x14000517d
test r11, r11
jne 0x1400050e4
mov r10, r12
jmp 0x140005180
mov r10, qword [rbp - 0x28]
mov r11, rdx
shr r11, 1
dec r11
test r11, r11
jns 0x1400050a9
mov r10, r12
jmp 0x140005180
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [r9 + r8*2], 0
jne 0x1400050f0
test r8, r8
jns 0x140005111
mov r8, r12
inc r8
cmp word [r9 + r8*2], 0
jne 0x140005103
test r8, r8
jle 0x1400050dc
sub r11, r8
inc r11
test r11, r11
jle 0x1400050dc
sub r9, r10
mov rcx, r10
xor edx, edx
cmp rdx, r8
je 0x140005153
movzx eax, word [r9 + rcx]
cmp word [rcx], ax
jne 0x14000513e
inc rdx
add rcx, 2
jmp 0x140005126
inc rbx
add r10, 2
sub r9, 2
cmp rbx, r11
jl 0x140005121
mov r10, r12
jmp 0x140005180
test r10, r10
je 0x1400050dc
test rdi, rdi
je 0x140005168
mov rax, rdi
sub r10, rax
sar r10, 1
jmp 0x140005180
mov rax, r15
cmp qword [rbp - 0x18], 0
cmovne rax, qword [rbp - 0x28]
sub r10, rax
sar r10, 1
jmp 0x140005180
mov r10, rbx
cmp r10d, 0xffffffff
jne 0x14000552e
mov rcx, qword [rbp - 0x68]
xor ebx, ebx
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x14000519e
mov rax, rdi
jmp 0x1400051ac
cmp qword [r14 + 0x48], 0
mov rax, r15
je 0x1400051ac
mov rax, qword [r14 + 0x38]
mov r15, qword [rbp + 0x48]
mov r13, qword [rbp + 0x38]
mov r14, qword [rbp + 0x18]
cmp word [rax], 0
jne 0x1400052eb
test rsi, rsi
je 0x1400051cc
mov r9, rsi
jmp 0x1400051de
cmp qword [rcx + 0x48], 0
lea r9, [0x14027cc90]
je 0x1400051de
mov r9, qword [rcx + 0x38]
test r14, r14
je 0x1400051fd
mov r10, r14
mov r11, r12
nop dword [rax]
inc r11
cmp word [r14 + r11*2], 0
jne 0x1400051f0
jmp 0x140005239
test r15, r15
jne 0x14000522d
lea r10, [0x14027cc90]
mov r11, rbx
test r9, r9
je 0x1400052de
cmp word [r9], 0
je 0x1400052de
test r11, r11
jne 0x140005246
mov r10, r12
jmp 0x1400052e1
mov r10, r13
mov r11, r15
shr r11, 1
dec r11
test r11, r11
jns 0x14000520c
mov r10, r12
jmp 0x1400052e1
mov r8, r12
nop dword [rax]
inc r8
cmp word [r9 + r8*2], 0
jne 0x140005250
test r8, r8
jns 0x140005271
mov r8, r12
inc r8
cmp word [r9 + r8*2], 0
jne 0x140005263
test r8, r8
jle 0x14000523e
sub r11, r8
inc r11
test r11, r11
jle 0x14000523e
sub r9, r10
mov rcx, r10
xor edx, edx
cmp rdx, r8
je 0x1400052b3
movzx eax, word [r9 + rcx]
cmp word [rcx], ax
jne 0x14000529e
inc rdx
add rcx, 2
jmp 0x140005286
inc rbx
add r10, 2
sub r9, 2
cmp rbx, r11
jl 0x140005281
mov r10, r12
jmp 0x1400052e1
test r10, r10
je 0x14000523e
test r14, r14
je 0x1400052c8
mov rax, r14
sub r10, rax
sar r10, 1
jmp 0x1400052e1
lea rax, [0x14027cc90]
test r15, r15
cmovne rax, r13
sub r10, rax
sar r10, 1
jmp 0x1400052e1
mov r10, rbx
cmp r10d, 0xffffffff
jne 0x140005529
test rsi, rsi
jne 0x14000530a
mov rdx, qword [rbp - 0x68]
cmp qword [rdx + 0x48], rsi
jne 0x140005306
lea rbx, [0x14027cc90]
mov rsi, rbx
jmp 0x140005311
mov rsi, qword [rdx + 0x38]
lea rbx, [0x14027cc90]
test r14, r14
je 0x14000532d
mov r9, r14
mov r10, r12
nop dword [rax]
inc r10
cmp word [r14 + r10*2], 0
jne 0x140005320
jmp 0x140005364
test r15, r15
jne 0x140005358
mov r9, rbx
xor r10d, r10d
test rsi, rsi
je 0x1400053fe
cmp word [rsi], 0
je 0x1400053fe
test r10, r10
jne 0x140005371
mov r9, r12
jmp 0x140005401
mov r9, r13
mov r10, r15
shr r10, 1
dec r10
test r10, r10
jns 0x140005338
mov r9, r12
jmp 0x140005401
mov r8, r12
inc r8
cmp word [rsi + r8*2], 0
jne 0x140005374
test r8, r8
jns 0x14000539e
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x140005390
test r8, r8
jle 0x140005369
sub r10, r8
inc r10
test r10, r10
jle 0x140005369
xor r11d, r11d
sub rsi, r9
mov rcx, r9
xor edx, edx
cmp rdx, r8
je 0x1400053e2
movzx eax, word [rsi + rcx]
cmp word [rcx], ax
jne 0x1400053cd
inc rdx
add rcx, 2
jmp 0x1400053b6
inc r11
add r9, 2
sub rsi, 2
cmp r11, r10
jl 0x1400053b1
mov r9, r12
jmp 0x140005401
test r9, r9
je 0x140005369
test r14, r14
jne 0x1400053f6
mov r14, rbx
test r15, r15
cmovne r14, r13
sub r9, r14
sar r9, 1
jmp 0x140005401
xor r9d, r9d
cmp r9d, 0xffffffff
je 0x140005533
test rdi, rdi
jne 0x140005427
mov rdi, qword [rbp + 0x110]
cmp qword [rdi + 0x48], 0
jne 0x140005423
mov rdi, rbx
jmp 0x140005427
mov rdi, qword [rdi + 0x38]
mov rsi, qword [rbp - 0x48]
test rsi, rsi
je 0x14000544d
mov r10, rsi
mov r9, r12
nop word [rax + rax]
inc r9
cmp word [rsi + r9*2], 0
jne 0x140005440
jmp 0x14000546b
mov rax, qword [rbp - 0x18]
test rax, rax
jne 0x14000545e
mov r10, rbx
xor r9d, r9d
jmp 0x140005474
mov r10, qword [rbp - 0x28]
mov r9, rax
shr r9, 1
dec r9
test r9, r9
js 0x140005523
test rdi, rdi
je 0x140005520
cmp word [rdi], 0
je 0x140005520
test r9, r9
je 0x140005523
mov r8, r12
inc r8
cmp word [rdi + r8*2], 0
jne 0x140005493
test r8, r8
jns 0x1400054be
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x1400054b0
test r8, r8
jle 0x140005523
sub r9, r8
inc r9
test r9, r9
jle 0x140005523
xor r11d, r11d
sub rdi, r10
mov rcx, r10
xor edx, edx
cmp rdx, r8
je 0x1400054ff
movzx eax, word [rdi + rcx]
cmp word [rcx], ax
jne 0x1400054ed
inc rdx
add rcx, 2
jmp 0x1400054d6
inc r11
add r10, 2
sub rdi, 2
cmp r11, r9
jl 0x1400054d1
jmp 0x140005523
test r10, r10
je 0x140005523
test rsi, rsi
jne 0x140005515
cmp qword [rbp - 0x18], rsi
cmovne rbx, qword [rbp - 0x28]
mov rsi, rbx
mov r12, r10
sub r12, rsi
sar r12, 1
jmp 0x140005523
xor r12d, r12d
cmp r12d, 0xffffffff
je 0x140005533
mov r13, qword [rsp + 0x20]
xor r12d, r12d
jmp 0x140005539
xor r12d, r12d
mov r13, r12
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rdi, vtable.CVolMem.0
mov qword [rbp - 0x40], rdi
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x140005560
lea rcx, [rbp - 0x40]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x20], r12
lea rbx, vtable.CVolObject.0
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x60], rbx
lea rax, [rbp + 0x20]
mov qword [rsp + 0x28], rax
mov qword [rbp + 0x20], rdi
mov rdx, qword [rbp + 0x38]
test rdx, rdx
je 0x14000559b
lea rcx, [rbp + 0x20]
call qword [method.CWString.virtual_24]
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x20], rbx
mov qword [rbp], rbx
mov rax, r13
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.1401f5cf0
lea r11, [rsp + 0x440]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret