Function at 0x18001ed30
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 0x18001ed7a
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 0x18001edaf
mov ecx, dword [0x18007b890]
mov dword [0x18007b894], ecx
mov dword [0x18007b890], r14d
mov dword [0x18007b970], eax
call fcn.18001b6b0
test rbx, rbx
je 0x18001f49d
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 0x18001f49d
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x18001f49d
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 0x18001f49d
test rsi, rsi
jne 0x18001ee87
mov edi, dword [rsp + 0x26c]
jmp 0x18001ee8c
mov edi, dword [rsi + 8]
sub edi, dword [rsi]
mov dword [rsp + 0x40], edi
test rsi, rsi
jne 0x18001ee9e
mov ebx, dword [rsp + 0x268]
jmp 0x18001eea4
mov ebx, dword [rsi + 0xc]
sub ebx, dword [rsi + 4]
mov dword [rsp + 0x34], ebx
test r15, r15
jne 0x18001eeb7
mov r13d, dword [rsp + 0x14c]
jmp 0x18001eebe
mov r13d, dword [r15 + 8]
sub r13d, dword [r15]
mov dword [rsp + 0x38], r13d
test r15, r15
jne 0x18001eed1
mov eax, dword [rsp + 0x148]
jmp 0x18001eed9
mov eax, dword [r15 + 0xc]
sub eax, dword [r15 + 4]
mov dword [rsp + 0x3c], eax
cmp edi, r13d
jne 0x18001f49d
cmp ebx, eax
jne 0x18001f49d
test byte [rsp + 0x194], 0x40
je 0x18001f49d
mov eax, dword [rsp + 0x19c]
add eax, 0xfffffff0
test eax, 0xffffffef
jne 0x18001f49d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r12d, r14d
mov dword [rsp + 0x30], r12d
cmp r12d, dword [0x18007b974]
jg 0x18001f49d
test rsi, rsi
mov r15d, r14d
je 0x18001ef39
mov r15d, dword [rsi]
jmp 0x18001ef3e
mov esi, r14d
jmp 0x18001ef41
mov esi, dword [rsi + 4]
mov ecx, r12d
call fcn.180013430
mov r13, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x18001f48d
mov rcx, rax
call fcn.180013ac0
mov rbx, rax
mov qword [rsp + 0x340], rax
test rax, rax
je 0x18001f484
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 0x18001f000
mov ecx, dword [rsp + 0x98]
cmp ecx, dword [rbx + 0x14]
jne 0x18001efcb
mov eax, dword [rbx + 0x18]
cmp dword [rsp + 0x9c], eax
je 0x18001f000
mov r10, qword [0x18007bac8]
test r10, r10
je 0x18001eff1
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 0x18001f007
mov r10, qword [0x18007bac8]
test r10, r10
jne 0x18001f13f
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 0x18001f046
add eax, eax
mov dword [rsp + 0xbc], eax
mov eax, dword [rbx + 0x18]
cmp dword [rsp + 0x34], eax
jbe 0x18001f058
add eax, eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0x120], 0x840
cmp dword [0x18007ba5c], 0
je 0x18001f092
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 0x18001f0d4
mov rcx, rbx
call fcn.180013a10
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18001f49d
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 0x18001f101
call qword [rax + 0x10]
jmp 0x18001f0be
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 0x18001f130
call qword [rax + 0x10]
jmp 0x18001f0be
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 0x18001f0be
mov edi, dword [0x18007b064]
mov dword [rsp + 0x48], edi
mov edx, edi
mov ecx, r12d
call fcn.18001a8e0
mov rsi, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x18001f458
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 0x18001f44f
test edi, edi
je 0x18001f24d
mov edx, 0xbb8
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x18001f441
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 0x18001f299
mov dword [rbx + 0x20], 1
movsxd rdx, dword [rsp + 0x48]
test edx, edx
jne 0x18001f2a6
mov dword [rbx + 0x20], r14d
mov r8, rdx
mov qword [rsp + 0x50], rdx
test eax, eax
je 0x18001f40a
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 0x18001f3cb
test r8, r8
jne 0x18001f3c3
test r12d, r12d
je 0x18001f3f3
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 0x18001f310
mov r15, qword [rsp + 0x80]
jmp 0x18001f3d9
mov r8d, ecx
shr r8, 1
jmp 0x18001f3ce
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 0x18001f2e0
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 0x18001f431
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x18001f437
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 + 0x100]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.180013a10
jmp 0x18001f484
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
inc r12d
mov rsi, qword [rsp + 0x338]
jmp 0x18001ef1a
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x18001f4b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x18001f4c0
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