Function at 0x18000a4c0
Capabilities:
Check for foreground window switch

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0xd8
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rsi, rax
test rax, rax
jne 0x18000a662
mov qword [rsp + 0x108], r12
movabs rbp, 0x311cdad160000
mov qword [rsp + 0x110], r14
movabs r12, 0x7ffffffffff0bdbe
mov qword [rsp + 0xd0], r15
movabs r14, 0x112e0be826d694b3
movaps xmmword [rsp + 0xc0], xmm6
movabs r15, 0x7fffffffffffffff
movsd xmm6, qword [0x1800727c0]
nop
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18000a54e
imul rax, rax, 0x64
jmp 0x18000a56c
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
lea rdi, [rax + 0xf4240]
cmp rax, r12
jle 0x18000a580
mov rdi, r15
nop dword [rax + rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18000a59e
imul rbx, rax, 0x64
jmp 0x18000a5bf
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
cmp rdi, rbx
je 0x18000a62b
jl 0x18000a62b
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rax, 0x64
xorps xmm0, xmm0
mov rax, rdi
sub rax, rbx
cvtsi2sd xmm0, rax
comisd xmm0, xmm6
jbe 0x18000a5ed
mov rax, rbp
lea r8, [rcx + rbp]
jmp 0x18000a5f1
lea r8, [rcx + rax]
add rcx, rax
mov rax, r14
imul rcx
lea rcx, [rsp + 0x60]
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3b9aca00
mov qword [rsp + 0x60], rdx
sub r8d, eax
mov dword [rsp + 0x68], r8d
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x18000a580
test rsi, rsi
jne 0x18000a642
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rsi, rax
test rax, rax
je 0x18000a530
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0x110]
mov r12, qword [rsp + 0x108]
movaps xmm6, xmmword [rsp + 0xc0]
xor eax, eax
mov dword [rsp + 0x100], 0xb000
mov qword [rsp + 0xb0], rax
xorps xmm0, xmm0
xor edi, edi
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x80], xmm0
lea rax, [0x18007bc20]
mov qword [rsp + 0x58], rax
mov ebp, 1
mov qword [rsp + 0x50], rdi
lea rax, [0x18007bc38]
mov qword [rsp + 0x48], rax
lea edx, [rdi + 3]
movaps xmmword [rsp + 0x90], xmm0
lea rax, [0x18007bc18]
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea rax, [rsp + 0x70]
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x38], rax
mov esi, 2
mov dword [rsp + 0x30], 7
lea rax, [rsp + 0x100]
mov dword [rsp + 0x28], esi
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rax
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0xac], edi
mov dword [rsp + 0x94], 0x20
mov dword [rsp + 0x80], 0x1c
mov dword [rsp + 0x98], ebp
mov dword [rsp + 0x8c], ebp
mov dword [rsp + 0x104], 0xb100
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
jns 0x18000a750
xor al, al
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [0x18007bc18]
lea r8, [0x18007bc48]
lea rdx, [0x180009bd0]
mov rbx, qword [rax]
mov rcx, qword [rbx + 0x40]
call fcn.1800488d4
mov rcx, qword [rbx + 0x68]
lea r8, [0x18007bc40]
lea rdx, [0x18000a4b0]
call fcn.1800488d4
mov rcx, qword [0x18007bc18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x18007bc20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x18007bc38]
mov rax, qword [rcx]
call qword [rax + 0x10]
xor eax, eax
mov rbx, rdi
lock cmpxchg dword [0x18007bcac], ebp
je 0x18000a7e1
nop
cmp rbx, 0x20
jae 0x18000a7ca
xor ecx, ecx
jmp 0x18000a7cc
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18007bcac], ebp
jne 0x18000a7c0
cmp qword [0x18007bcb0], rdi
je 0x18000a7f1
call fcn.1800487f4
mov esi, eax
xchg dword [0x18007bcac], edi
test esi, esi
sete al
add rsp, 0xd8
pop rdi
pop rsi
pop rbp
pop rbx
ret