Function at 0x18004d370
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 - 0x360]
sub rsp, 0x460
mov rax, qword [0x180334940]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov r14, r8
mov qword [rbp + 0x118], r8
mov qword [rbp - 0x78], rdx
mov edi, ecx
xor esi, esi
mov dword [rsp + 0x20], esi
mov r13d, esi
lea r12, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp], r12
lea rdx, vtable.CVolObject.0
mov qword [rbp], rdx
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rsi
lea rcx, vtable.CWString.0
mov qword [rbp], rcx
lea rax, [rbp + 0x20]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rsi
lea r8, vtable.CVolMem.0
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x50], 0x40
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x50], 0xfe
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x60], rcx
lea rax, [rbp - 0x40]
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x10], 0x40
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x10], 0xfe
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
sub rax, rbx
cmp rax, 0x3e8
jge 0x18004dec3
lea r15, [0x1802d91d0]
lea rdx, vtable.CWConstString.0
mov qword [rbp + 0xc0], r12
lea r8, vtable.CVolObject.0
mov qword [rbp + 0xc0], r8
mov qword [rbp + 0xc8], rsi
mov qword [rbp + 0xd0], rsi
lea rcx, vtable.CWString.0
mov qword [rbp + 0xc0], rcx
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x120], rax
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe0], r8
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], rsi
lea r9, vtable.CVolMem.0
mov qword [rbp + 0xe0], r9
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x108], rsi
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0x110], 0x40
mov qword [rbp + 0xd8], rsi
mov qword [rbp + 0x110], 0xfe
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xd8], r15
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x68], rcx
lea rax, [rbp + 0x88]
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x88], r8
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0x88], r9
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb8], 0x40
mov qword [rbp + 0x80], rsi
mov qword [rbp + 0xb8], 0xfe
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x80], r15
lea r9, [rbp + 0xc0]
lea r8, [rbp + 0x68]
mov rdx, r13
call fcn.180050f60
mov r13, rax
mov qword [rbp - 0x70], rax
lea rax, [rbp + 0x88]
mov qword [rbp + 0x130], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0x88], rax
mov rdx, qword [rbp + 0xa0]
test rdx, rdx
je 0x18004d628
lea rcx, [rbp + 0x88]
mov rax, qword [rbp + 0x88]
call qword [rax + 0x18]
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xa8], rsi
lea rcx, vtable.CVolObject.0
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x68], rcx
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, vtable.CVolMem.0
mov qword [rbp + 0xe0], rax
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x18004d68d
lea rcx, [rbp + 0xe0]
mov rax, qword [rbp + 0xe0]
call qword [rax + 0x18]
lea rcx, vtable.CVolObject.0
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x108], rsi
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xc0], rcx
mov rcx, r13
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x18004d6dc
mov rcx, r13
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x18004d6dc
lea rdx, [rbp + 0x60]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [rbp + 0x60], edi
je 0x18004d6f8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
sub rax, rbx
cmp rax, 0x3e8
jge 0x18004dec3
jmp 0x18004d4a3
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.180050d40
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.180005640
nop
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rbx, vtable.CVolMem.0
mov qword [rsp + 0x50], rbx
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x18004d775
lea rcx, [rsp + 0x50]
call qword [method.CVolObjectArray.virtual_24]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rsi
lea rdi, vtable.CVolObject.0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], rdi
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x140]
call fcn.180246a10
mov r8d, 0x104
lea rdx, [rbp + 0x140]
mov rcx, r13
call qword [sym.imp.USER32.dll_GetClassNameW]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
lea rcx, vtable.CWString.0
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], 0x40
mov qword [rsp + 0x48], rsi
mov qword [rbp - 0x80], 0xfe
mov qword [rsp + 0x30], rcx
mov r12, 0xffffffffffffffff
mov rdx, qword [rbp + 0x140]
test dx, dx
je 0x18004d8f0
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
cmp rbx, 2
jb 0x18004d863
cmp word [rcx + rbx - 2], 0
jne 0x18004d863
sub rbx, 2
mov qword [rsp + 0x78], rbx
lea r8, [rbp + 0x140]
mov rax, r12
nop dword [rax]
lea rax, [rax + 1]
cmp word [r8 + rax*2], 0
jne 0x18004d870
lea rdi, [rax*2 + 2]
mov rax, qword [rsp + 0x70]
sub rax, rbx
cmp rax, rdi
jl 0x18004d8c3
cmp rdi, 2
jne 0x18004d8a2
mov word [rbx + rcx], dx
add qword [rsp + 0x78], rdi
jmp 0x18004d8e9
cmp rdi, 4
jne 0x18004d8b2
mov dword [rbx + rcx], edx
add qword [rsp + 0x78], rdi
jmp 0x18004d8e9
cmp rdi, 8
jne 0x18004d8c3
mov qword [rbx + rcx], rdx
add qword [rsp + 0x78], rdi
jmp 0x18004d8e9
test rdi, rdi
jle 0x18004d8e9
lea rdx, [rbx + rdi]
lea rcx, [rsp + 0x50]
call fcn.1800a42b0
lea rcx, [rbx + rax]
mov r8, rdi
lea rdx, [rbp + 0x140]
call fcn.180246360
lea rdi, vtable.CVolObject.0
mov ebx, 1
mov dword [rsp + 0x20], ebx
lea rcx, [rbp - 0x60]
mov rax, qword [rbp - 0x60]
call qword [rax + 0x88]
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x58], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x50], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x88]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x40]
call fcn.180005640
and ebx, 0xfffffffe
mov dword [rsp + 0x20], ebx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x18004d970
lea rcx, [rsp + 0x50]
call qword [method.CVolObjectArray.virtual_24]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], rdi
mov rcx, qword [rbp - 0x78]
mov rsi, qword [rcx + 0x18]
test rsi, rsi
je 0x18004d99b
mov rax, rsi
jmp 0x18004d9a9
cmp qword [rcx + 0x48], 0
mov rax, r15
je 0x18004d9a9
mov rax, qword [rcx + 0x38]
cmp word [rax], 0
jne 0x18004d9cf
mov rax, qword [r14 + 0x18]
test rax, rax
jne 0x18004d9c5
cmp qword [r14 + 0x48], rax
mov rax, r15
je 0x18004d9c5
mov rax, qword [r14 + 0x38]
cmp word [rax], 0
je 0x18004debd
test rsi, rsi
je 0x18004d9d9
mov rax, rsi
jmp 0x18004d9e7
cmp qword [rcx + 0x48], 0
mov rax, r15
je 0x18004d9e7
mov rax, qword [rcx + 0x38]
mov rdx, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x48]
cmp word [rax], 0
jne 0x18004db20
mov r9, qword [r14 + 0x18]
test r9, r9
jne 0x18004da0f
cmp qword [r14 + 0x48], r9
mov r9, r15
je 0x18004da0f
mov r9, qword [r14 + 0x38]
test rdi, rdi
je 0x18004da2d
mov r10, rdi
mov r11, r12
nop word [rax + rax]
inc r11
cmp word [rdi + r11*2], 0
jne 0x18004da20
jmp 0x18004da66
test rdx, rdx
jne 0x18004da59
mov r10, r15
xor r11d, r11d
test r9, r9
je 0x18004db0f
cmp word [r9], 0
je 0x18004db0f
test r11, r11
jne 0x18004da73
mov r10, r12
jmp 0x18004db12
mov r10, qword [rbp - 0x28]
mov r11, rdx
shr r11, 1
dec r11
test r11, r11
jns 0x18004da38
mov r10, r12
jmp 0x18004db12
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [r9 + r8*2], 0
jne 0x18004da80
test r8, r8
jns 0x18004daa1
mov r8, r12
inc r8
cmp word [r9 + r8*2], 0
jne 0x18004da93
test r8, r8
jle 0x18004da6b
sub r11, r8
inc r11
test r11, r11
jle 0x18004da6b
xor ebx, ebx
sub r9, r10
mov rcx, r10
xor edx, edx
cmp rdx, r8
je 0x18004dae5
movzx eax, word [r9 + rcx]
cmp word [rcx], ax
jne 0x18004dad0
inc rdx
add rcx, 2
jmp 0x18004dab8
inc rbx
add r10, 2
sub r9, 2
cmp rbx, r11
jl 0x18004dab3
mov r10, r12
jmp 0x18004db12
test r10, r10
je 0x18004da6b
test rdi, rdi
je 0x18004dafa
mov rax, rdi
sub r10, rax
sar r10, 1
jmp 0x18004db12
mov rax, r15
cmp qword [rbp - 0x18], 0
cmovne rax, qword [rbp - 0x28]
sub r10, rax
sar r10, 1
jmp 0x18004db12
xor r10d, r10d
cmp r10d, 0xffffffff
jne 0x18004debd
mov rcx, qword [rbp - 0x78]
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x18004db2e
mov rax, rdi
jmp 0x18004db3c
cmp qword [r14 + 0x48], 0
mov rax, r15
je 0x18004db3c
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 0x18004dc7d
test rsi, rsi
je 0x18004db5c
mov r9, rsi
jmp 0x18004db6e
cmp qword [rcx + 0x48], 0
lea r9, [0x1802d91d0]
je 0x18004db6e
mov r9, qword [rcx + 0x38]
test r14, r14
je 0x18004db8d
mov r10, r14
mov r11, r12
nop dword [rax]
inc r11
cmp word [r14 + r11*2], 0
jne 0x18004db80
jmp 0x18004dbc9
test r15, r15
jne 0x18004dbbd
lea r10, [0x1802d91d0]
xor r11d, r11d
test r9, r9
je 0x18004dc70
cmp word [r9], 0
je 0x18004dc70
test r11, r11
jne 0x18004dbd6
mov r10, r12
jmp 0x18004dc73
mov r10, r13
mov r11, r15
shr r11, 1
dec r11
test r11, r11
jns 0x18004db9c
mov r10, r12
jmp 0x18004dc73
mov r8, r12
nop dword [rax]
inc r8
cmp word [r9 + r8*2], 0
jne 0x18004dbe0
test r8, r8
jns 0x18004dc01
mov r8, r12
inc r8
cmp word [r9 + r8*2], 0
jne 0x18004dbf3
test r8, r8
jle 0x18004dbce
sub r11, r8
inc r11
test r11, r11
jle 0x18004dbce
xor ebx, ebx
sub r9, r10
mov rcx, r10
xor edx, edx
cmp rdx, r8
je 0x18004dc45
movzx eax, word [r9 + rcx]
cmp word [rcx], ax
jne 0x18004dc30
inc rdx
add rcx, 2
jmp 0x18004dc18
inc rbx
add r10, 2
sub r9, 2
cmp rbx, r11
jl 0x18004dc13
mov r10, r12
jmp 0x18004dc73
test r10, r10
je 0x18004dbce
test r14, r14
je 0x18004dc5a
mov rax, r14
sub r10, rax
sar r10, 1
jmp 0x18004dc73
lea rax, [0x1802d91d0]
test r15, r15
cmovne rax, r13
sub r10, rax
sar r10, 1
jmp 0x18004dc73
xor r10d, r10d
cmp r10d, 0xffffffff
jne 0x18004deb9
test rsi, rsi
jne 0x18004dc9c
mov rdx, qword [rbp - 0x78]
cmp qword [rdx + 0x48], rsi
jne 0x18004dc98
lea rbx, [0x1802d91d0]
mov rsi, rbx
jmp 0x18004dca3
mov rsi, qword [rdx + 0x38]
lea rbx, [0x1802d91d0]
test r14, r14
je 0x18004dcbd
mov r9, r14
mov r10, r12
nop
inc r10
cmp word [r14 + r10*2], 0
jne 0x18004dcb0
jmp 0x18004dcf4
test r15, r15
jne 0x18004dce8
mov r9, rbx
xor r10d, r10d
test rsi, rsi
je 0x18004dd8e
cmp word [rsi], 0
je 0x18004dd8e
test r10, r10
jne 0x18004dd01
mov r9, r12
jmp 0x18004dd91
mov r9, r13
mov r10, r15
shr r10, 1
dec r10
test r10, r10
jns 0x18004dcc8
mov r9, r12
jmp 0x18004dd91
mov r8, r12
inc r8
cmp word [rsi + r8*2], 0
jne 0x18004dd04
test r8, r8
jns 0x18004dd2e
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x18004dd20
test r8, r8
jle 0x18004dcf9
sub r10, r8
inc r10
test r10, r10
jle 0x18004dcf9
xor r11d, r11d
sub rsi, r9
mov rcx, r9
xor edx, edx
cmp rdx, r8
je 0x18004dd72
movzx eax, word [rsi + rcx]
cmp word [rcx], ax
jne 0x18004dd5d
inc rdx
add rcx, 2
jmp 0x18004dd46
inc r11
add r9, 2
sub rsi, 2
cmp r11, r10
jl 0x18004dd41
mov r9, r12
jmp 0x18004dd91
test r9, r9
je 0x18004dcf9
test r14, r14
jne 0x18004dd86
mov r14, rbx
test r15, r15
cmovne r14, r13
sub r9, r14
sar r9, 1
jmp 0x18004dd91
xor r9d, r9d
cmp r9d, 0xffffffff
je 0x18004dec1
test rdi, rdi
jne 0x18004ddb7
mov rdi, qword [rbp + 0x118]
cmp qword [rdi + 0x48], 0
jne 0x18004ddb3
mov rdi, rbx
jmp 0x18004ddb7
mov rdi, qword [rdi + 0x38]
mov rsi, qword [rbp - 0x48]
test rsi, rsi
je 0x18004dddd
mov r10, rsi
mov r9, r12
nop word [rax + rax]
inc r9
cmp word [rsi + r9*2], 0
jne 0x18004ddd0
jmp 0x18004ddfb
mov rax, qword [rbp - 0x18]
test rax, rax
jne 0x18004ddee
mov r10, rbx
xor r9d, r9d
jmp 0x18004de04
mov r10, qword [rbp - 0x28]
mov r9, rax
shr r9, 1
dec r9
test r9, r9
js 0x18004deb3
test rdi, rdi
je 0x18004deb0
cmp word [rdi], 0
je 0x18004deb0
test r9, r9
je 0x18004deb3
mov r8, r12
inc r8
cmp word [rdi + r8*2], 0
jne 0x18004de23
test r8, r8
jns 0x18004de4e
mov r8, r12
nop word [rax + rax]
inc r8
cmp word [rdi + r8*2], 0
jne 0x18004de40
test r8, r8
jle 0x18004deb3
sub r9, r8
inc r9
test r9, r9
jle 0x18004deb3
xor r11d, r11d
sub rdi, r10
mov rcx, r10
xor edx, edx
cmp rdx, r8
je 0x18004de8f
movzx eax, word [rdi + rcx]
cmp word [rcx], ax
jne 0x18004de7d
inc rdx
add rcx, 2
jmp 0x18004de66
inc r11
add r10, 2
sub rdi, 2
cmp r11, r9
jl 0x18004de61
jmp 0x18004deb3
test r10, r10
je 0x18004deb3
test rsi, rsi
jne 0x18004dea5
cmp qword [rbp - 0x18], rsi
cmovne rbx, qword [rbp - 0x28]
mov rsi, rbx
mov r12, r10
sub r12, rsi
sar r12, 1
jmp 0x18004deb3
xor r12d, r12d
cmp r12d, 0xffffffff
je 0x18004dec1
mov r13, qword [rbp - 0x70]
xor esi, esi
jmp 0x18004dec6
xor esi, esi
mov r13, rsi
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 0x18004deed
lea rcx, [rbp - 0x40]
call qword [method.CVolObjectArray.virtual_24]
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x20], rsi
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 0x18004df28
lea rcx, [rbp + 0x20]
call qword [method.CVolObjectArray.virtual_24]
mov qword [rbp + 0x38], rsi
mov qword [rbp + 0x48], rsi
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x20], rbx
mov qword [rbp], rbx
mov rax, r13
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.1802439b0
lea r11, [rsp + 0x460]
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