Function at 0x1800a2640
Capabilities:
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
mov rax, qword [0x180150028]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov r13, rdx
mov r15, rcx
mov r8d, dword [0x180152b34]
mov rax, qword gs:[0x58]
mov r12d, 4
mov rdi, qword [rax + r8*8]
mov qword [rsp + 0x78], rdi
mov eax, dword [rdi + r12]
cmp dword [0x180155d78], eax
jle 0x1800a2704
lea rcx, [0x180155d78]
call fcn.1800d2898
cmp dword [0x180155d78], 0xffffffff
jne 0x1800a2704
mov eax, dword [0x1801502ec]
mov dword [0x180155d7c], eax
lea rcx, [0x180155d78]
call fcn.1800d2838
xor esi, esi
mov eax, dword [rdi + r12]
cmp dword [0x180155d80], eax
jle 0x1800a2746
lea rcx, [0x180155d80]
call fcn.1800d2898
cmp dword [0x180155d80], 0xffffffff
jne 0x1800a2746
mov qword [0x180155d88], rsi
lea rcx, [0x180155d88]
call fcn.18008dc70
lea rcx, [0x180155d80]
call fcn.1800d2838
mov eax, dword [rdi + r12]
cmp dword [0x180155d90], eax
jle 0x1800a2786
lea rcx, [0x180155d90]
call fcn.1800d2898
cmp dword [0x180155d90], 0xffffffff
jne 0x1800a2786
mov qword [0x180155d98], rsi
lea rcx, [0x180155d98]
call fcn.18008dc70
lea rcx, [0x180155d90]
call fcn.1800d2838
mov rax, qword [r15 + 0x78]
cmp byte [rax], sil
jne 0x1800a27a2
mov qword [rsp + 0x78], 0xfa
lea rcx, [rsp + 0x78]
jmp 0x1800a3b6b
movzx eax, byte [0x1801530b5]
test al, al
je 0x1800a27c9
cmp dword [0x1801502f0], 1
jne 0x1800a27c9
mov qword [rsp + 0x78], 0xa
lea rcx, [rsp + 0x78]
jmp 0x1800a3b6b
movzx eax, byte [0x1801530b5]
test al, al
jne 0x1800a27dc
cmp dword [0x1801502f0], esi
je 0x1800a27b6
movabs r14, 0x431bde82d7b634db
cmp byte [0x180153267], sil
je 0x1800a2889
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 0x1800a2811
imul rcx, rax, 0x64
jmp 0x1800a282c
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180155d88]
mov rax, r14
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
cvttss2si eax, xmm0
cmp eax, dword [0x180155d7c]
jl 0x1800a2889
mov qword [rbp - 0x58], rsi
lea rcx, [rbp - 0x58]
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rbp - 0x54]
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x1801530b8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov byte [0x180153267], sil
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r14d, 1
cmp rax, qword [0x1801530b8]
jne 0x1800a3a18
mov ecx, r14d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800a3a18
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 0x1800a28d2
imul rcx, rax, 0x64
jmp 0x1800a28ed
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov qword [r15 + 0x198], rcx
mov eax, dword [0x180153174]
mov dword [r15 + 0x1a8], eax
mov eax, dword [rdi + r12]
cmp dword [0x180155da0], eax
jle 0x1800a2958
lea rcx, [0x180155da0]
call fcn.1800d2898
cmp dword [0x180155da0], 0xffffffff
jne 0x1800a2958
xorps xmm0, xmm0
movups xmmword [0x180155da8], xmm0
lea rdx, [0x180155da8]
mov rcx, qword [r15 + 0x180]
call fcn.18009ba40
lea rcx, [0x1800dd5d0]
call fcn.1800d2f5c
nop
lea rcx, [0x180155da0]
call fcn.1800d2838
xorps xmm14, xmm14
mov rcx, qword [0x180155da8]
test rcx, rcx
jne 0x1800a29e2
lea rdx, [rsp + 0x48]
mov rcx, qword [r15 + 0x180]
call fcn.18009ba40
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [0x180155da8], rcx
mov rdi, qword [0x180155db0]
mov qword [0x180155db0], rdx
mov ebx, 0xffffffff
test rdi, rdi
je 0x1800a29cf
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800a29cf
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, ebx
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800a29cf
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1800a2b08
jmp 0x1800a2ae1
lea rdx, [rsp + 0x38]
call fcn.180092120
mov rbx, qword [r13]
movss xmm7, dword [rsp + 0x38]
subss xmm7, dword [rbx + 0x24]
movss xmm8, dword [rsp + 0x40]
subss xmm8, dword [rbx + 0x2c]
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm9, dword [0x1801377b0]
mulss xmm0, xmm9
divss xmm0, dword [0x1801376e8]
subss xmm0, dword [0x180137778]
movss xmm2, dword [rbx + 0x48]
subss xmm2, xmm0
xorps xmm2, xmmword [0x180137cd0]
addss xmm2, xmm9
movss xmm10, dword [0x1801377c4]
movaps xmm1, xmm10
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movaps xmm6, xmm0
comiss xmm14, xmm6
jbe 0x1800a2a6a
addss xmm6, xmm10
subss xmm6, xmm9
andps xmm6, xmmword [0x180137ca0]
movss xmm1, dword [rsp + 0x3c]
subss xmm1, dword [rbx + 0x28]
mulss xmm1, xmm1
mulss xmm7, xmm7
addss xmm1, xmm7
mulss xmm8, xmm8
addss xmm1, xmm8
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1800a2aa8
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1800a2ab0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, dword [0x1801376f4]
ja 0x1800a2ac2
comiss xmm6, dword [0x180137790]
jbe 0x1800a2b08
mov qword [0x180155da8], rsi
mov rdi, qword [0x180155db0]
mov qword [0x180155db0], rsi
test rdi, rdi
je 0x1800a2b08
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800a2b08
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x1800a2b08
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
lea rdx, [rbp - 0x78]
mov rcx, qword [r15 + 0x180]
call fcn.18009af40
nop
mov r14, qword [r13]
add r14, 0x68
movss xmm8, dword [0x1801547e4]
movss xmm9, dword [0x1801547e0]
cmp byte [0x180153266], 0
jne 0x1800a2b5d
movaps xmm7, xmm9
movss dword [0x1801547e8], xmm7
movaps xmm6, xmm8
movss dword [0x1801547ec], xmm6
mov byte [0x180153266], 1
jmp 0x1800a2b6d
movss xmm6, dword [0x1801547ec]
movss xmm7, dword [0x1801547e8]
lea r8, str.BLOCK
cmp byte [0x18015326d], 0
je 0x1800a2d30
cmp byte [0x180153265], 0
jne 0x1800a2d30
mov rsi, qword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x78]
nop word [rax + rax]
lea rdx, [rbp - 0x78]
cmp rsi, 0x10
cmovae rdx, rdi
cmp r12, 5
jne 0x1800a2d0c
xor ecx, ecx
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1800a2bd8
cmp rcx, 5
jne 0x1800a2bc0
xor eax, eax
jmp 0x1800a2bdd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1800a2d0c
mov ebx, 1
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800a2d0c
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x30]
call fcn.18008ef60
lea rdx, [rsp + 0x58]
mov rcx, qword [r15 + 0x180]
call fcn.18009af40
mov rbx, rax
lea rax, [rbp - 0x78]
cmp rax, rbx
je 0x1800a2c98
cmp rsi, 0x10
jb 0x1800a2c5e
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800a2c56
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a2d05
mov rcx, rdi
call fcn.1800d2f74
movups xmm2, xmmword [rbx]
movups xmmword [rbp - 0x78], xmm2
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rsi, xmm0
movq r12, xmm1
movq rdi, xmm2
lea rcx, [rsp + 0x58]
call fcn.1800663a0
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 0x1800a2cd1
imul rdx, rax, 0x64
mov qword [r15 + 0x198], rdx
lea r8, str.BLOCK
jmp 0x1800a2ba0
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rdx, rax
imul rax, rcx, 0x3b9aca00
add rdx, rax
mov qword [r15 + 0x198], rdx
lea r8, str.BLOCK
jmp 0x1800a2ba0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movss xmm6, dword [0x1801547ec]
movss xmm7, dword [0x1801547e8]
movss xmm8, dword [0x1801547e4]
movss xmm9, dword [0x1801547e0]
jmp 0x1800a2d3c
mov rsi, qword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x78]
cmp byte [0x18015326e], 0
je 0x1800a2d75
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1800a2d52
mov rcx, qword [r14]
mov qword [rsp + 0x20], 5
lea r9, str.sword
mov rdx, qword [r14 + 0x10]
call fcn.18008f400
cmp rax, 0xffffffffffffffff
je 0x1800a3a0a
movss xmm11, dword [0x18013763c]
movss xmm10, dword [0x1801376cc]
movss xmm12, dword [0x1801376e4]
movzx ebx, byte [0x18015326b]
test bl, bl
je 0x1800a2e58
lea rcx, [rbp - 0x78]
cmp rsi, 0x10
cmovae rcx, rdi
cmp r12, 6
jne 0x1800a2e04
mov r8, r12
lea rdx, str.ENTITY
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800a2e04
movss xmm2, dword [r15 + 0x1a8]
mulss xmm2, xmm11
movaps xmm1, xmm9
subss xmm1, xmm10
movaps xmm0, xmm7
call fcn.1800a0cb0
movss dword [0x1801547e8], xmm0
movss xmm2, dword [r15 + 0x1a8]
divss xmm2, xmm12
movaps xmm1, xmm8
subss xmm1, xmm10
jmp 0x1800a2e42
movss xmm2, dword [r15 + 0x1a8]
divss xmm2, xmm12
movaps xmm1, xmm9
addss xmm1, xmm10
movaps xmm0, xmm7
call fcn.1800a0cb0
movss dword [0x1801547e8], xmm0
movss xmm2, dword [r15 + 0x1a8]
mulss xmm2, xmm11
movaps xmm1, xmm8
addss xmm1, xmm10
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1800a0cb0
movss dword [0x1801547ec], xmm0
movaps xmm6, xmm0
movss xmm13, dword [0x1801377e0]
cmp byte [0x18015326c], 0
je 0x1800a3190
cmp qword [0x180155da8], 0
je 0x1800a3118
cmp byte [0x1801502e1], 0
je 0x1800a2e91
mov byte [0x1801502e1], 0
jmp 0x1800a3a0a
cmp byte [0x180153264], 0
jne 0x1800a2ee1
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 0x1800a2eb8
imul rax, rax, 0x64
jmp 0x1800a2ed3
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180155d98], rax
mov byte [0x180153264], 1
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 0x1800a2eff
imul rcx, rax, 0x64
jmp 0x1800a2f1a
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180155d98]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
comiss xmm0, xmm13
jbe 0x1800a2fce
mov ecx, dword [0x180153260]
mov eax, ecx
mov r8d, dword [0x18015325c]
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x1800a2f7a
cmp ecx, r8d
cmovl ecx, r8d
cmp ecx, 3
jle 0x1800a2f7a
mov al, 1
jmp 0x1800a2f88
xor eax, eax
mov dword [0x18015325c], eax
mov dword [0x180153260], eax
mov byte [0x180153258], al
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 0x1800a2fac
imul rax, rax, 0x64
jmp 0x1800a2fc7
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180155d98], rax
cmp byte [0x180153258], 0
je 0x1800a3038
movss xmm2, dword [r15 + 0x1a8]
mulss xmm2, xmm11
movss xmm1, dword [0x1801547e0]
subss xmm1, dword [0x18013771c]
movss xmm0, dword [0x1801547e8]
call fcn.1800a0cb0
movaps xmm7, xmm0
movss dword [0x1801547e8], xmm0
movss xmm2, dword [r15 + 0x1a8]
divss xmm2, xmm12
movss xmm1, dword [0x1801547e4]
subss xmm1, dword [0x18013771c]
movss xmm0, dword [0x1801547ec]
jmp 0x1800a3180
cmp byte [0x180153257], 0
jne 0x1800a3084
mov rbx, qword [0x180155da8]
mov r8, qword [rbx]
mov edx, 0x10
mov rcx, qword [rbx + 8]
call fcn.18009d1f0
mov r8, rax
test rax, rax
je 0x1800a307a
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov r9, qword [rax + 0x320]
mov rdx, qword [rbx + 0x10]
call r9
cmp eax, 2
jg 0x1800a3084
inc dword [0x180153260]
mov al, 1
jmp 0x1800a3086
xor al, al
mov byte [0x180153257], al
cmp byte [0x180153256], 0
jne 0x1800a30a9
mov rax, qword [r13]
cmp dword [rax + 0x3c], 0
jle 0x1800a30a9
inc dword [0x18015325c]
mov al, 1
jmp 0x1800a30ab
xor al, al
mov byte [0x180153256], al
movss xmm2, dword [r15 + 0x1a8]
mulss xmm2, xmm11
movzx ebx, byte [0x18015326b]
movss xmm1, dword [0x1801547e0]
test bl, bl
je 0x1800a30d7
addss xmm1, xmm10
movss xmm0, dword [0x1801547e8]
call fcn.1800a0cb0
movaps xmm7, xmm0
movss dword [0x1801547e8], xmm0
movss xmm2, dword [r15 + 0x1a8]
divss xmm2, xmm12
movss xmm1, dword [0x1801547e4]
test bl, bl
je 0x1800a310e
addss xmm1, xmm10
movss xmm0, dword [0x1801547ec]
jmp 0x1800a3180
mov byte [0x1801502e1], 1
mov byte [0x180153264], 0
xor eax, eax
mov dword [0x180153260], eax
mov dword [0x18015325c], eax
movss xmm2, dword [r15 + 0x1a8]
mulss xmm2, xmm11
test bl, bl
je 0x1800a314b
addss xmm9, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm7
call fcn.1800a0cb0
movaps xmm7, xmm0
movss dword [0x1801547e8], xmm0
movss xmm2, dword [r15 + 0x1a8]
divss xmm2, xmm12
test bl, bl
je 0x1800a3179
addss xmm8, xmm10
movaps xmm1, xmm8
movaps xmm0, xmm6
call fcn.1800a0cb0
movaps xmm6, xmm0
movss dword [0x1801547ec], xmm0
lea r13, [r15 + 0x190]
lea rcx, [0x180153390]
call fcn.180066000
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm14
addss xmm0, xmm14
movss xmm8, dword [0x1801375c4]
mulss xmm0, xmm8
subss xmm6, xmm7
mulss xmm0, xmm6
addss xmm0, xmm7
movss dword [0x1801547f0], xmm0
lea rdx, [0x1801547f8]
mov rcx, r13
call fcn.1800a2200
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 0x1800a3206
imul rcx, rax, 0x64
jmp 0x1800a3221
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov qword [r13 + 0x10], rcx
sub rcx, qword [r13 + 8]
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
divss xmm1, xmm13
movss dword [r13 + 0x1c], xmm1
movss xmm0, dword [0x1801547f4]
addss xmm0, dword [0x1801547f0]
subss xmm0, xmm1
divss xmm0, xmm13
cvtps2pd xmm0, xmm0
call fcn.1800a23f0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800a3a0a
mov qword [rbp - 0x80], 0
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rbp - 0x7c]
mov edx, 0x201
mov r8d, 0x1000000
mov rcx, qword [0x1801530b8]
call qword [sym.imp.USER32.dll_PostMessageW]
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 0x1800a32d8
imul rax, rax, 0x64
jmp 0x1800a32f3
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [r13 + 8], rax
mov rcx, r13
call fcn.1800a2010
cmp byte [0x18015326a], 0
je 0x1800a349f
cmp byte [0x180153269], 0
je 0x1800a3337
cmp byte [0x180153267], 0
je 0x1800a3337
mov eax, 1
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.18008ef60
jmp 0x1800a3a0a
mov rdx, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x1800a3345
mov r14, qword [r14]
mov qword [rsp + 0x20], 5
lea r9, str.sword
mov rcx, r14
call fcn.18008f400
cmp rax, 0xffffffffffffffff
je 0x1800a349f
lea rcx, [rbp - 0x78]
cmp rsi, 0x10
cmovae rcx, rdi
cmp r12, 6
jne 0x1800a349f
mov r8, r12
lea rdx, str.ENTITY
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800a349f
mov rbx, qword [0x180155da8]
test rbx, rbx
je 0x1800a349f
mov r8, qword [rbx]
lea edx, [rax + 0x10]
mov rcx, qword [rbx + 8]
call fcn.18009d1f0
mov r8, rax
test rax, rax
jne 0x1800a33bf
xor ecx, ecx
jmp 0x1800a33d5
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov r9, qword [rax + 0x320]
mov rdx, qword [rbx + 0x10]
call r9
mov ecx, eax
movzx eax, byte [0x1801502e0]
test al, al
je 0x1800a348e
test ecx, ecx
jle 0x1800a348e
cmp byte [0x180153267], 0
jne 0x1800a348e
mov qword [rbp - 0x80], 0
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rbp - 0x7c]
mov edx, 0x204
mov r8d, 0x2000000
mov rcx, qword [0x1801530b8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [0x1801502ec]
lea edx, [rcx + 5]
add ecx, 0xfffffffb
call fcn.180064390
mov dword [0x180155d7c], eax
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 0x1800a345c
imul rax, rax, 0x64
jmp 0x1800a3477
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180155d88], rax
mov byte [0x180153267], 1
mov byte [0x1801502e0], 0
jmp 0x1800a349f
cmp ecx, 1
mov ecx, 1
cmovle eax, ecx
mov byte [0x1801502e0], al
mov byte [0x180153265], 1
cmp byte [0x18015326d], 0
je 0x1800a389c
mov rax, qword [rsp + 0x78]
mov ecx, 4
mov eax, dword [rax + rcx]
cmp dword [0x180155db8], eax
jle 0x1800a3500
lea rcx, [0x180155db8]
call fcn.1800d2898
cmp dword [0x180155db8], 0xffffffff
jne 0x1800a3500
mov qword [0x180155dc0], 0
lea rcx, [0x180155dc0]
call fcn.18008dc70
lea rcx, [0x180155db8]
call fcn.1800d2838
lea rcx, [rbp - 0x78]
cmp rsi, 0x10
cmovae rcx, rdi
cmp r12, 5
jne 0x1800a384e
mov r8, r12
lea rdx, str.BLOCK
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800a384e
cmp byte [0x180153255], al
jne 0x1800a358e
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 0x1800a3553
imul rax, rax, 0x64
jmp 0x1800a356e
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov qword [0x180155dc0], rax
mov byte [0x180153255], 1
movzx ebx, byte [0x180153254]
mov r8d, 1
jmp 0x1800a3624
mov r14d, dword [0x1801502e8]
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 0x1800a35b3
imul rcx, rax, 0x64
jmp 0x1800a35ce
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
sub rcx, qword [0x180155dc0]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
lea edx, [r14 + 0x1e]
lea ecx, [r14 - 0xa]
call fcn.180064390
mov ecx, eax
cvttss2si eax, xmm0
movzx ebx, byte [0x180153254]
cmp eax, ecx
mov r8d, 1
cmovg ebx, r8d
mov byte [0x180153254], bl
xor r14d, r14d
nop word [rax + rax]
lea rdx, [rbp - 0x78]
cmp rsi, 0x10
cmovae rdx, rdi
lea r9, str.BLOCK
cmp r12, 5
jne 0x1800a3780
mov rcx, r14
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r9 + rcx - 1]
jne 0x1800a3669
cmp rcx, 5
jne 0x1800a3650
mov eax, r14d
jmp 0x1800a366e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1800a3780
test bl, bl
je 0x1800a3780
mov qword [rsp + 0x30], r8
lea rcx, [rsp + 0x30]
call fcn.18008ef60
lea rdx, [rsp + 0x58]
mov rcx, qword [r15 + 0x180]
call fcn.18009af40
mov rbx, rax
lea rax, [rbp - 0x78]
cmp rax, rbx
je 0x1800a3717
cmp rsi, 0x10
jb 0x1800a36e1
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800a36d9
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a3779
mov rcx, rdi
call fcn.1800d2f74
movups xmm2, xmmword [rbx]
movups xmmword [rbp - 0x78], xmm2
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r14b
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rsi, xmm0
movq r12, xmm1
movq rdi, xmm2
lea rcx, [rsp + 0x58]
call fcn.1800663a0
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 0x1800a373f
imul rdx, rax, 0x64
jmp 0x1800a3760
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rdx, rax
imul rax, rcx, 0x3b9aca00
add rdx, rax
mov qword [r15 + 0x198], rdx
movzx ebx, byte [0x180153254]
mov r8d, 1
jmp 0x1800a3630
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [rbp - 0x78]
cmp rsi, 0x10
cmovae rcx, rdi
cmp r12, 5
jne 0x1800a37a5
mov r8, r12
mov rdx, r9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800a389c
test bl, bl
je 0x1800a389c
mov qword [rbp - 0x80], r14
lea rcx, [rbp - 0x80]
call fcn.18008dc70
mov ecx, dword [0x1801502e4]
lea edx, [rcx + 0x1e]
add ecx, 0xfffffff6
call fcn.180064390
mov esi, eax
mov rbx, qword [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800a37ef
imul rcx, rax, 0x64
jmp 0x1800a380a
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
add rcx, rax
sub rcx, rbx
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
cvttss2si eax, xmm0
cmp eax, esi
jge 0x1800a389c
mov eax, 1
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.18008ef60
jmp 0x1800a37d1
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 0x1800a386c
imul rax, rax, 0x64
jmp 0x1800a3887
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x180155dc0], rax
mov byte [0x180153255], 1
mov byte [0x180153254], 0
movss xmm1, dword [0x1801547ec]
lea rcx, [0x180153390]
call fcn.180066000
mov eax, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm14
addss xmm0, xmm14
mulss xmm0, xmm8
subss xmm1, dword [0x1801547e8]
mulss xmm0, xmm1
addss xmm0, dword [0x1801547e8]
movss dword [0x1801547f0], xmm0
lea rdx, [0x180154810]
mov rcx, r13
call fcn.1800a2200
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 0x1800a3912
imul rcx, rax, 0x64
jmp 0x1800a392d
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov qword [r13 + 0x10], rcx
sub rcx, qword [r13 + 8]
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rdx
divss xmm1, xmm13
movss dword [r13 + 0x1c], xmm1
movss xmm0, dword [0x1801547f4]
addss xmm0, dword [0x1801547f0]
subss xmm0, xmm1
divss xmm0, xmm13
cvtps2pd xmm0, xmm0
call fcn.1800a23f0
mov qword [rsp + 0x78], 0
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rsp + 0x7c]
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [0x1801530b8]
call qword [sym.imp.USER32.dll_PostMessageW]
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 0x1800a39d0
imul rax, rax, 0x64
jmp 0x1800a39eb
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [r13 + 8], rax
cmp byte [0x180153268], 0
je 0x1800a3a01
lea rcx, [r13 - 0x10]
call fcn.1800bc140
mov rcx, r13
call fcn.1800a2010
nop
lea rcx, [rbp - 0x78]
call fcn.1800663a0
jmp 0x1800a3b70
mov ecx, r14d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ecx, byte [0x180153265]
test ax, ax
cmove ecx, esi
mov byte [0x180153265], cl
cmp byte [0x180153267], sil
je 0x1800a3ae1
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 0x1800a3a5f
imul rcx, rax, 0x64
jmp 0x1800a3a7d
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, r8, 0x3b9aca00
add rcx, rax
sub rcx, qword [0x180155d88]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
cvttss2si eax, xmm0
cmp eax, 0xa
jl 0x1800a3ae1
mov qword [rsp + 0x78], rsi
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetCursorPos]
movsxd r9, dword [rsp + 0x7c]
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x1801530b8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov byte [0x180153267], sil
cmp byte [0x180153266], sil
je 0x1800a3b5d
mov rdi, qword [0x180154830]
mov rbx, qword [0x180154828]
cmp rbx, rdi
je 0x1800a3b56
movss xmm2, dword [0x18013765c]
nop word [rax + rax]
mov word [rbx], si
mov dword [rbx + 0x20], esi
mov edx, dword [rbx + 0x24]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
movd xmm0, dword [rbx + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm1, xmm2
cvttss2si eax, xmm1
mov ecx, r14d
sub ecx, eax
imul ecx, edx
mov dword [rbx + 0x24], ecx
mov edx, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x14]
call fcn.180064390
mov dword [rbx + 0x10], eax
add rbx, 0x28
cmp rbx, rdi
jne 0x1800a3b10
mov byte [0x180153266], sil
mov qword [rsp + 0x30], 0x32
lea rcx, [rsp + 0x30]
call fcn.18008ef60
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1800d26f0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret