Function at 0x10020f10
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x58
mov eax, dword [0x1003300c]
xor eax, esp
mov dword [esp + 0x54], eax
mov eax, dword [0x1022f1b8]
push esi
push edi
test eax, eax
jne 0x10020f4c
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov dword [0x1022f1b8], eax
cmp byte [eax + 0x80], 1
jne 0x10020fb4
cmp dword [0x1022f198], 0
jne 0x10020f93
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0xc], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
mov eax, dword [0x1022f12c]
lea edx, [esp + 0x14]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push 0x11
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
jmp 0x10021073
cmp dword [0x1022f198], 0
jne 0x10020ff2
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0xc], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
mov eax, dword [0x1022f12c]
lea edx, [esp + 0x14]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push 0
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
push 0x1002e084
push 0xff000000
push 0x64
push 0x18
call fcn.1001d680
push 0x1002e084
push 0xff000000
push 0x64
push 0x1a
call fcn.1001d680
push 0x1002e084
push 0xff000000
push 0x63
push 0x19
call fcn.1001d680
push 0x1002e084
push 0xff000000
push 0x65
push 0x19
call fcn.1001d680
add esp, 0x40
push 0x1002e084
push 0xffff0000
push 0x64
push 0x19
call fcn.1001d680
add esp, 0x10
cmp dword [0x1022f198], 0
jne 0x100210b1
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0xc], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
mov eax, dword [0x1022f12c]
push 0x10232cb0
push 0x17
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe8]
cmp dword [0x1022f198], 0
jne 0x10021104
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0xc], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
mov eax, dword [0x1022f12c]
push 8
push 0x17
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x1022f1b4]
test eax, eax
je 0x10021492
mov eax, dword [eax + 0xfe4]
mov dword [0x1022f1a4], eax
call fcn.1001e6c0
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x46
call edi
test al, 1
je 0x1002119b
mov ecx, dword [0x1022f1b8]
test ecx, ecx
jne 0x1002116b
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov ecx, eax
mov dword [0x1022f1b8], ecx
mov esi, ecx
test esi, esi
jne 0x10021191
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov ecx, eax
mov dword [0x1022f1b8], ecx
cmp byte [esi + 6], 0
sete al
mov byte [ecx + 6], al
push 0x48
call edi
mov ecx, dword [0x1022f1b8]
test al, 1
je 0x100211fd
test ecx, ecx
jne 0x100211cd
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov ecx, eax
mov dword [0x1022f1b8], ecx
mov esi, ecx
test esi, esi
jne 0x100211f3
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov ecx, eax
mov dword [0x1022f1b8], ecx
cmp byte [esi + 0x53], 0
sete al
mov byte [ecx + 0x53], al
test ecx, ecx
jne 0x10021221
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov ecx, eax
mov dword [0x1022f1b8], ecx
cmp byte [ecx + 0x53], 0
je 0x10021246
push 0xff00ff22
push 0x78
mov edx, 0x19
mov ecx, 0x1002e094
call fcn.1001d960
mov ecx, dword [0x1022f1b8]
add esp, 8
test ecx, ecx
jne 0x1002126a
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov ecx, eax
mov dword [0x1022f1b8], ecx
cmp byte [ecx + 6], 0
je 0x10021289
push 0xff00ff22
push 0x6e
mov edx, 0x3ac
mov ecx, str.AIMBOT:_tON
call fcn.1001d960
add esp, 8
push 0x32
lea eax, [esp + 0x2c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edi, dword [0x1022f194]
add esp, 0xc
inc dword [0x1022f110]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov edx, esi
mov dword [0x1022f0e8], esi
sub edx, dword [0x1022f0d8]
mov dword [0x1022f114], edx
cmp edx, 0x5a
jb 0x1002131e
mov ecx, dword [0x1022f110]
movd xmm1, edx
cvtdq2pd xmm1, xmm1
shr edx, 0x1f
movd xmm0, ecx
addsd xmm1, qword [edx*8 + 0x1002f160]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x1002f160]
mulsd xmm0, qword [0x1002ebf0]
divsd xmm0, xmm1
call fcn.10027a01
mov edi, eax
mov dword [0x1022f110], 0
mov dword [0x1022f0d8], esi
mov dword [0x1022f194], edi
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1002eb58]
subss xmm0, xmm1
comiss xmm0, dword [0x1002eb9c]
jbe 0x10021371
push edi
push str.FPS_:__d
lea eax, [esp + 0x30]
push 0x32
push eax
call fcn.1001cac0
push dword [0x1022f1ac]
lea eax, [esp + 0x3c]
push eax
push 0xff00ff22
push 0x3c
push 0x19
call fcn.1001d680
add esp, 0x24
push 0x1002e0b8
push 0xff000000
push 0x23
push 0x18
call fcn.1001d680
push 0x1002e0b8
push 0xff000000
push 0x23
push 0x1a
call fcn.1001d680
push 0x1002e0b8
push 0xff000000
push 0x22
push 0x19
call fcn.1001d680
push 0x1002e0b8
push 0xff000000
push 0x24
push 0x19
call fcn.1001d680
add esp, 0x40
push 0x1002e0b8
push 0xff00ff22
push 0x23
push 0x19
call fcn.1001d680
mov eax, dword [0x1022f1b4]
push dword [eax + 0x10]
push str.Ping_t:__i
push 0xff00ff22
push 0x50
push 0x19
call fcn.1001d680
add esp, 0x24
cmp dword [0x1022f1a4], 0
je 0x10021492
call fcn.1001ea30
mov ecx, dword [0x1022f0cc]
movups xmm1, xmmword [ecx + 0x250]
movups xmm2, xmmword [ecx + 0x220]
movups xmm3, xmmword [ecx + 0x230]
movups xmm4, xmmword [ecx + 0x240]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xff
ucomiss xmm0, dword [0x1002eb9c]
lahf
test ah, 0x44
jnp 0x1002148d
movups xmmword [0x10232bf0], xmm2
movups xmmword [0x10232c00], xmm3
movups xmmword [0x10232c10], xmm4
movups xmmword [0x10232c20], xmm1
movups xmm0, xmmword [ecx + 0x1a0]
movups xmmword [0x10232b58], xmm0
movups xmm0, xmmword [ecx + 0x1b0]
movups xmmword [0x10232b68], xmm0
movups xmm0, xmmword [ecx + 0x1c0]
movups xmmword [0x10232b78], xmm0
movups xmm0, xmmword [ecx + 0x1d0]
movups xmmword [0x10232b88], xmm0
call fcn.1001efb0
mov eax, dword [0x1022f1b8]
test eax, eax
jne 0x100214b8
push 0x4ac
call fcn.10026bd6
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, eax
call fcn.10023350
mov dword [0x1022f1b8], eax
cmp byte [eax + 0x7f], 0
je 0x1002177b
cmp dword [0x1022f198], 0
jne 0x100214fc
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
xor ecx, ecx
mov dword [esp + 0xc], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], ecx
mov dword [0x1022f1a8], ecx
mov dword [0x1022f198], eax
jmp 0x10021502
mov ecx, dword [0x1022f138]
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x14], ecx
call edi
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x14]
cdq
sub eax, edx
mov esi, eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x10]
sar esi, 1
call edi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x18]
sub eax, 0xc
cdq
sub eax, edx
sar eax, 1
cmp dword [0x1022f198], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
jne 0x1002158f
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
movups xmmword [0x1022f100], xmm0
mov dword [esp + 0x10], eax
movss xmm0, dword [esp + 0xc]
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
subss xmm0, dword [0x1002eb9c]
mov edx, dword [0x1022f12c]
push 0
cvttss2si ecx, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0
push 0xff000000
push 1
mov dword [esp + 0x28], ecx
subss xmm0, dword [0x1002ebe8]
cvttss2si eax, xmm0
mov dword [esp + 0x24], eax
add eax, 0xb
mov dword [esp + 0x2c], eax
lea eax, [ecx + 3]
lea ecx, [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [edx]
push ecx
push 1
push edx
call dword [eax + 0xac]
cmp dword [0x1022f198], 0
jne 0x10021629
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0x10], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
movss xmm0, dword [esp + 0xc]
subss xmm0, dword [0x1002ebe8]
mov edx, dword [0x1022f12c]
push 0
cvttss2si ecx, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0
push 0xff000000
push 1
mov dword [esp + 0x28], ecx
subss xmm0, dword [0x1002eb9c]
cvttss2si eax, xmm0
mov dword [esp + 0x24], eax
add eax, 3
mov dword [esp + 0x2c], eax
lea eax, [ecx + 0xb]
lea ecx, [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [edx]
push ecx
push 1
push edx
call dword [eax + 0xac]
cmp dword [0x1022f198], 0
jne 0x100216c9
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0x10], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
movss xmm0, dword [esp + 0xc]
movd xmm1, esi
movaps xmm2, xmm0
cvtdq2ps xmm1, xmm1
push ecx
mov ecx, dword [0x1022f12c]
movss dword [esp], xmm0
movaps xmm3, xmm1
addss xmm3, dword [0x1002ebe8]
subss xmm1, dword [0x1002ebe4]
call fcn.1001ce50
add esp, 4
cmp dword [0x1022f198], 0
jne 0x1002173e
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0x10], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
movss xmm1, dword [esp + 0xc]
movaps xmm0, xmm1
addss xmm0, dword [0x1002ebe8]
subss xmm1, dword [0x1002ebe4]
push ecx
mov ecx, dword [0x1022f12c]
movss dword [esp], xmm0
movd xmm0, esi
movaps xmm2, xmm1
cvtdq2ps xmm0, xmm0
movaps xmm3, xmm0
movaps xmm1, xmm0
call fcn.1001ce50
add esp, 4
cmp dword [0x1022f198], 0
mov dword [esp + 0x24], 0
jne 0x100217c1
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0x10], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
mov eax, dword [0x1022f12c]
lea edx, [esp + 0x24]
push edx
push 0x17
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe8]
cmp dword [0x1022f198], 0
jne 0x10021814
push 1
call fcn.10026bd6
movaps xmm0, xmmword [0x1002f1c0]
add esp, 4
mov dword [esp + 0x10], eax
movups xmmword [0x1022f100], xmm0
mov dword [0x1022f138], 0
mov dword [0x1022f1a8], 0
mov dword [0x1022f198], eax
mov eax, dword [0x1022f12c]
push 8
push 0x17
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
xor ecx, esp
call fcn.1002644f
mov esp, ebp
pop ebp
ret