Function at 0x18001f230
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2f0
mov r15, r9
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
xor r14d, r14d
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x58], r14
cmp dword [0x18007b970], r14d
jne 0x18001f27a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18007b970], eax
inc dword [0x18007b890]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [0x18007b970]
cmp ecx, 0x3e8
jbe 0x18001f2af
mov ecx, dword [0x18007b890]
mov dword [0x18007b894], ecx
mov dword [0x18007b890], r14d
mov dword [0x18007b970], eax
call fcn.18001bbb0
test rbx, rbx
je 0x18001f99d
mov rax, qword [rdi]
lea r8, [rsp + 0x78]
lea rdx, [0x18003f170]
mov rcx, rdi
call qword [rax]
mov rax, qword [rbx]
lea r8, [rsp + 0x58]
lea rdx, [0x18003f170]
mov rcx, rbx
call qword [rax]
cmp qword [rsp + 0x58], r14
je 0x18001f99d
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x18001f99d
xor edx, edx
mov r8d, 0x88
lea rcx, [rsp + 0x260]
call fcn.180008040
xor edx, edx
mov r8d, 0x88
lea rcx, [rsp + 0x140]
call fcn.180008040
mov dword [rsp + 0x260], 0x88
mov dword [rsp + 0x140], 0x88
mov rax, qword [rbx]
lea rdx, [rsp + 0x260]
mov rcx, rbx
call qword [rax + 0xb0]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0x140]
call qword [rax + 0xb0]
test dword [rsp + 0x2d0], 0x200
je 0x18001f99d
test rsi, rsi
jne 0x18001f387
mov edi, dword [rsp + 0x26c]
jmp 0x18001f38c
mov edi, dword [rsi + 8]
sub edi, dword [rsi]
mov dword [rsp + 0x40], edi
test rsi, rsi
jne 0x18001f39e
mov ebx, dword [rsp + 0x268]
jmp 0x18001f3a4
mov ebx, dword [rsi + 0xc]
sub ebx, dword [rsi + 4]
mov dword [rsp + 0x34], ebx
test r15, r15
jne 0x18001f3b7
mov r13d, dword [rsp + 0x14c]
jmp 0x18001f3be
mov r13d, dword [r15 + 8]
sub r13d, dword [r15]
mov dword [rsp + 0x38], r13d
test r15, r15
jne 0x18001f3d1
mov eax, dword [rsp + 0x148]
jmp 0x18001f3d9
mov eax, dword [r15 + 0xc]
sub eax, dword [r15 + 4]
mov dword [rsp + 0x3c], eax
cmp edi, r13d
jne 0x18001f99d
cmp ebx, eax
jne 0x18001f99d
test byte [rsp + 0x194], 0x40
je 0x18001f99d
mov eax, dword [rsp + 0x19c]
add eax, 0xfffffff0
test eax, 0xffffffef
jne 0x18001f99d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r12d, r14d
mov dword [rsp + 0x30], r12d
cmp r12d, dword [0x18007b974]
jg 0x18001f99d
test rsi, rsi
mov r15d, r14d
je 0x18001f439
mov r15d, dword [rsi]
jmp 0x18001f43e
mov esi, r14d
jmp 0x18001f441
mov esi, dword [rsi + 4]
mov ecx, r12d
call fcn.180013430
mov r13, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x18001f98d
mov rcx, rax
call fcn.180013ac0
mov rbx, rax
mov qword [rsp + 0x340], rax
test rax, rax
je 0x18001f984
mov qword [rsp + 0x70], 0
mov edi, dword [rax + 0xc]
lea rdx, [rsp + 0x70]
mov ecx, edi
call qword [sym.imp.USER32.dll_ClientToScreen]
lea rdx, [rsp + 0x90]
mov ecx, edi
call qword [sym.imp.USER32.dll_GetClientRect]
mov ecx, edi
call fcn.1800133a0
mov rcx, rax
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x18001f500
mov ecx, dword [rsp + 0x98]
cmp ecx, dword [rbx + 0x14]
jne 0x18001f4cb
mov eax, dword [rbx + 0x18]
cmp dword [rsp + 0x9c], eax
je 0x18001f500
mov r10, qword [0x18007bac8]
test r10, r10
je 0x18001f4f1
mov rax, qword [r10]
mov rcx, r10
call qword [rax + 0x10]
mov r10, r14
mov qword [0x18007bac8], r14
mov ecx, dword [rsp + 0x98]
mov dword [rbx + 0x14], ecx
mov eax, dword [rsp + 0x9c]
mov dword [rbx + 0x18], eax
jmp 0x18001f507
mov r10, qword [0x18007bac8]
test r10, r10
jne 0x18001f63f
xor edx, edx
mov r8d, 0x88
lea rcx, [rsp + 0xb0]
call fcn.180008040
mov dword [rsp + 0xb0], 0x88
mov dword [rsp + 0xb4], 7
mov eax, dword [rbx + 0x14]
cmp dword [rsp + 0x40], eax
jbe 0x18001f546
add eax, eax
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + 0x18]
cmp dword [rsp + 0x34], eax
jbe 0x18001f558
add eax, eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0x120], 0x840
cmp dword [0x18007ba5c], 0
je 0x18001f592
test dword [rsp + 0x1b0], 0x4000
mov eax, 0x840
mov ecx, 0x4040
cmovne eax, ecx
mov dword [rsp + 0x120], eax
mov qword [rsp + 0x340], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0x340]
call qword [rax + 0x120]
test eax, eax
jns 0x18001f5d4
mov rcx, rbx
call fcn.180013a10
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18001f99d
mov rcx, qword [rsp + 0x340]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [0x18003f160]
call qword [rax]
mov rcx, qword [rsp + 0x340]
test eax, eax
mov rax, qword [rcx]
jns 0x18001f601
call qword [rax + 0x10]
jmp 0x18001f5be
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0xb0]
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x48]
test eax, eax
mov rax, qword [rcx]
jns 0x18001f630
call qword [rax + 0x10]
jmp 0x18001f5be
call qword [rax + 0x10]
mov r10, qword [rsp + 0x50]
mov qword [0x18007bac8], r10
test r15d, r15d
cmove r15d, dword [rsp + 0x70]
test esi, esi
cmove esi, dword [rsp + 0x74]
sub r15d, dword [rsp + 0x70]
mov dword [rsp + 0xa0], r15d
sub esi, dword [rsp + 0x74]
mov dword [rsp + 0xa4], esi
mov eax, dword [rsp + 0x38]
add eax, r15d
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x3c]
add eax, esi
mov dword [rsp + 0xac], eax
mov rax, qword [r10]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x1000000
mov r9, qword [rsp + 0x348]
mov r8, qword [rsp + 0x58]
lea rdx, [rsp + 0xa0]
mov rcx, r10
call qword [rax + 0x28]
test eax, eax
js 0x18001f5be
mov edi, dword [0x18007b064]
mov dword [rsp + 0x48], edi
mov edx, edi
mov ecx, r12d
call fcn.18001ade0
mov rsi, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x18001f958
mov r15, qword [0x18007bac8]
mov qword [rsp + 0x60], r15
xor edx, edx
mov r8d, 0x88
lea rcx, [rsp + 0x1d0]
call fcn.180008040
mov dword [rsp + 0x1d0], 0x88
mov r10, qword [r15]
mov qword [rsp + 0x20], r14
mov r9d, 1
lea r8, [rsp + 0x1d0]
xor edx, edx
mov rcx, r15
call qword [r10 + 0xc8]
test eax, eax
jne 0x18001f94f
test edi, edi
je 0x18001f74d
mov edx, 0xbb8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x18001f941
mov rdi, qword [rsp + 0x1f8]
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0x340], eax
lea rsi, [rbx + 0x24]
mov r15d, dword [rbx + 0x14]
shl r15d, 2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [rbx + 0x18]
mov r12d, dword [rbx + 0x14]
lea ecx, [r12*4]
mov dword [rbx + 0x20], r14d
cmp dword [rsp + 0x22c], 0x10
jne 0x18001f799
mov dword [rbx + 0x20], 1
movsxd rdx, dword [rsp + 0x48]
test edx, edx
jne 0x18001f7a6
mov dword [rbx + 0x20], r14d
mov r8, rdx
mov qword [rsp + 0x50], rdx
test eax, eax
je 0x18001f90a
movsxd r15, r15d
mov qword [rsp + 0x68], r15
mov r15, rax
mov qword [rsp + 0x80], rax
movsxd rax, dword [rsp + 0x340]
mov rdx, qword [rsp + 0x68]
nop word [rax + rax]
cmp dword [rsp + 0x22c], 0x10
jne 0x18001f8cb
test r8, r8
jne 0x18001f8c3
test r12d, r12d
je 0x18001f8f3
mov r10, rsi
mov r11, rdi
mov r15, r12
nop dword [rax]
movzx r9d, word [r11]
mov r8d, r9d
shr r8d, 8
and r8d, 0xf8
mov ecx, r9d
shr ecx, 3
and ecx, 0xfc
and r9d, 0x1f
shl r9d, 3
mov eax, 0x8421085
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add r8d, eax
mov eax, 0x4104105
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ecx, eax
mov eax, 0x8421085
mul r9d
mov eax, r9d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add r9d, eax
mov eax, 0xff
cmp r8d, eax
cmova r8d, eax
cmp ecx, eax
cmova ecx, eax
cmp r9d, eax
cmova r9d, eax
movzx ecx, cl
shl ecx, 8
movzx eax, r8b
shl eax, 0x10
or ecx, eax
movzx eax, r9b
or ecx, eax
mov dword [r10], ecx
lea r11, [r11 + 2]
lea r10, [r10 + 4]
dec r15
jne 0x18001f810
mov r15, qword [rsp + 0x80]
jmp 0x18001f8d9
mov r8d, ecx
shr r8, 1
jmp 0x18001f8ce
mov r8d, ecx
mov rdx, rdi
mov rcx, rsi
call fcn.1800029a0
lea ecx, [r12*4]
movsxd rax, dword [rsp + 0x340]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x50]
add rdi, rax
add rsi, rdx
dec r15
mov qword [rsp + 0x80], r15
jne 0x18001f7e0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x1c], 1
mov rsi, qword [rsp + 0x88]
mov rcx, rsi
cmp dword [rsp + 0x48], 0
je 0x18001f931
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x18001f937
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov r15, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x30]
mov rax, qword [r15]
xor edx, edx
mov rcx, r15
call qword [rax + pe_nt_image_headers64]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.180013a10
jmp 0x18001f984
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r12d
mov rsi, qword [rsp + 0x338]
jmp 0x18001f41a
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x18001f9b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18001f9c0
mov rax, qword [rcx]
call qword [rax + 0x10]
add rsp, 0x2f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret