Function at 0x140018ff0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push r15
lea rbp, [r11 - 0x5f]
sub rsp, 0xa0
mov rax, qword [0x14014ab80]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [r11 + 0x10], rdi
mov rsi, rcx
mov qword [r11 + 0x18], r14
call fcn.14001acc0
mov rdi, rax
call fcn.140019b70
mov rbx, rax
call fcn.140019b70
mov rcx, qword [rdi]
lea r8, [rbp - 9]
xor r15d, r15d
mov qword [rsp + 0x20], r15
mov rdx, qword [rax + 0x18]
add rdx, qword [rbx + 0x48]
lea r9d, [r15 + 8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call fcn.14001acc0
mov rdx, qword [rbp - 9]
lea r9d, [r15 + 8]
add rdx, 0x20
mov qword [rsp + 0x20], r15
lea r8, [rbp + 7]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r14, qword [rbp + 7]
call fcn.140019b70
mov rbx, qword [rax + 0x18]
call fcn.14001acc0
mov rdi, rax
call fcn.140019b70
mov rcx, qword [rdi]
lea r9d, [r15 + 8]
lea r8, [rbp - 9]
mov qword [rsp + 0x20], r15
mov rdx, qword [rax + 0x20]
add rdx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call fcn.14001acc0
mov rbx, rax
call fcn.140019b70
mov rcx, qword [rbx]
lea r9d, [r15 + 8]
lea r8, [rbp + 0xf]
mov qword [rsp + 0x20], r15
mov rdx, qword [rax + 0x40]
add rdx, qword [rbp - 9]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsx eax, byte [rsi + 0x18]
test al, al
je 0x14001912a
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001912a
call fcn.14001acc0
movd xmm0, dword [rsi + 0x14]
mov rbx, rax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x29], xmm0
call fcn.140019b70
mov rcx, qword [rbx]
lea r9d, [r15 + 4]
lea r8, [rbp - 0x29]
mov qword [rsp + 0x20], r15
mov rdx, qword [rax + 0x18]
add rdx, 0x280
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movsx eax, byte [rsi + 0x10]
test al, al
je 0x140019181
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140019181
call fcn.14001acc0
movd xmm0, dword [rsi + 0xc]
mov rdi, rax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x29], xmm0
call fcn.140019b70
mov rbx, rax
call fcn.140019b70
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 0x29]
mov rcx, qword [rdi]
mov r9d, 4
mov qword [rsp + 0x20], r15
add rdx, qword [rax + 0x18]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movaps xmmword [rsp + 0x90], xmm6
cmp byte [rsi], r15b
je 0x140019239
movsx eax, byte [rsi + 8]
test al, al
je 0x1400191ab
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140019239
call fcn.14001acc0
mov rbx, rax
call fcn.140019b70
mov rcx, qword [rbx]
lea r8, [rbp - 0x19]
mov r9d, 0xc
mov qword [rsp + 0x20], r15
mov rdx, qword [rax + 0x18]
add rdx, 0x90
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x19]
movss xmm1, dword [rbp - 0x15]
addss xmm0, dword [rsi + 4]
addss xmm1, dword [rsi + 4]
movss dword [rbp - 0x19], xmm0
movss dword [rbp - 0x15], xmm1
call fcn.14001acc0
movsd xmm6, qword [rbp - 0x19]
mov rdi, rax
mov ebx, dword [rbp - 0x11]
call fcn.140019b70
mov r9d, 0xc
mov qword [rsp + 0x20], r15
lea r8, [rbp - 9]
mov rdx, qword [rax + 0x18]
movsd qword [rbp - 9], xmm6
add rdx, 0x90
mov dword [rbp - 1], ebx
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [rsi + 0x19], r15b
je 0x140019276
call fcn.14001acc0
mov rbx, rax
call fcn.140019b70
mov rcx, qword [rbx]
lea r8, [rbp - 0x29]
mov r9d, 4
mov dword [rbp - 0x29], 0x43480000
mov qword [rsp + 0x20], r15
mov rdx, qword [rax + 0x18]
add rdx, 0x280
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [rsi + 0x1a], r15b
je 0x14001928f
call fcn.14001acc0
mov rbx, rax
call fcn.140019b70
mov byte [rbp - 0x21], 1
jmp 0x1400192a0
call fcn.14001acc0
mov rbx, rax
call fcn.140019b70
mov byte [rbp - 0x21], 0x37
mov rdx, qword [rax + 0x18]
lea r8, [rbp - 0x21]
mov rcx, qword [rbx]
add rdx, 0x2c
mov r9d, 1
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [rsi + 0x1b], r15b
je 0x1400195ad
movss xmm0, dword [rsi + 0x1c]
ucomiss xmm0, dword [0x140050210]
movaps xmmword [rsp + 0x80], xmm7
jp 0x140019310
jne 0x140019310
call fcn.14001acc0
lea rdx, [r14 + 0xb0]
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp - 0x29]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x29]
movss dword [rsi + 0x1c], xmm0
call fcn.14001acc0
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x29]
lea rdx, [r14 + 0xb0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rsi + 0x1c]
ucomiss xmm0, dword [rbp - 0x29]
jp 0x140019341
je 0x14001938e
call fcn.14001acc0
mov r9d, 4
mov qword [rsp + 0x20], r15
lea r8, [rbp - 0x29]
lea rdx, [r14 + 0xb0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x29]
ucomiss xmm0, dword [0x14005020c]
jp 0x140019375
je 0x14001938e
call fcn.14001acc0
lea rdx, [r14 + 0xb0]
mov rcx, rax
call fcn.140018f90
movss dword [rsi + 0x1c], xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400193e3
cmp dword [rsi + 0x20], 0x32
jle 0x1400193e3
mov dword [rsi + 0x20], r15d
mov ebx, 5
nop dword [rax]
call fcn.14001acc0
mov r9d, 4
mov dword [rbp - 0x29], 0x42c80000
lea r8, [rbp - 0x29]
mov qword [rsp + 0x20], r15
lea rdx, [r14 + 0xb0]
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
sub rbx, 1
jne 0x1400193b0
jmp 0x140019411
call fcn.14001acc0
movss xmm0, dword [rsi + 0x1c]
lea r8, [rbp - 0x29]
mov r9d, 4
movss dword [rbp - 0x29], xmm0
lea rdx, [r14 + 0xb0]
mov qword [rsp + 0x20], r15
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ebx, dword [rsi + 0x20]
cmp ebx, 0x37
jge 0x14001941e
inc ebx
mov dword [rsi + 0x20], ebx
call fcn.140023ed0
lea r8, [rbp - 0x29]
mov dword [rbp - 9], 0x41200000
mov edx, 1
mov dword [rbp - 5], 0x43fa0000
lea rcx, [rbp - 9]
mov qword [rbp - 0x29], r15
call fcn.14002ebd0
xor edx, edx
mov qword [rbp - 0x29], r15
lea rcx, [rbp - 0x29]
call fcn.14002ec10
movaps xmm0, xmmword [0x140050220]
lea rdx, [rbp - 0x19]
mov ecx, 2
movups xmmword [rbp - 0x19], xmm0
call fcn.14002b170
xor edx, edx
lea rcx, [0x14004e93b]
mov r8d, 0xc020f
call fcn.14001dab0
movss xmm7, dword [0x140050158]
lea rdx, str.PowerShoot
xor r9d, r9d
movss dword [rsp + 0x20], xmm7
xor r8d, r8d
lea rcx, [rbp - 0x29]
call fcn.140020500
lea rcx, [rbp - 0x29]
movss xmm6, dword [rax]
call fcn.140024590
movss xmm0, dword [rax]
subss xmm0, xmm6
movss xmm6, dword [0x14004e854]
mulss xmm0, xmm6
call fcn.14002e8a0
lea rcx, str.PowerShoot
call fcn.140049c70
mov ecx, 1
call fcn.14002ad60
call fcn.140049940
cmp ebx, 0x32
jle 0x140019532
lea rcx, [rbp - 0x29]
call fcn.140024590
lea rdi, str.Ready:_Yes
movss dword [rsp + 0x20], xmm7
mov rdx, rdi
lea rcx, [rbp - 0x19]
xor r9d, r9d
xor r8d, r8d
mov rbx, rax
call fcn.140020500
movss xmm0, dword [rbx]
subss xmm0, dword [rax]
mulss xmm0, xmm6
call fcn.14002e8a0
movaps xmm0, xmmword [0x140050240]
jmp 0x140019575
lea rcx, [rbp - 0x19]
call fcn.140024590
lea rdi, str.Ready:_No
movss dword [rsp + 0x20], xmm7
mov rdx, rdi
lea rcx, [rbp - 0x29]
xor r9d, r9d
xor r8d, r8d
mov rbx, rax
call fcn.140020500
movss xmm0, dword [rbx]
subss xmm0, dword [rax]
mulss xmm0, xmm6
call fcn.14002e8a0
movaps xmm0, xmmword [0x140050230]
lea rdx, [rbp - 0x19]
xor ecx, ecx
movups xmmword [rbp - 0x19], xmm0
call fcn.14002b170
mov rcx, rdi
call fcn.140049c70
mov ecx, 1
call fcn.14002ad60
call fcn.1400223f0
mov ecx, 1
call fcn.14002ad60
movaps xmm7, xmmword [rsp + 0x80]
mov ecx, 0x52
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm6, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xc8]
test ax, ax
jns 0x1400195e1
cmp byte [rsi + 0x24], r15b
je 0x1400195e1
call fcn.14001acc0
mov dword [rbp - 0x29], 0x447a0000
jmp 0x1400195ed
call fcn.14001acc0
mov dword [rbp - 0x29], 0x3f800000
mov rcx, qword [rax]
lea r8, [rbp - 0x29]
mov r9d, 4
mov qword [rsp + 0x20], r15
lea rdx, [r14 + 0x134]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rbx, qword [rbp + 0xf]
mov r14, qword [rsp + 0xd0]
add rbx, 0x4c
cmp byte [rsi + 0x25], r15b
je 0x140019648
movsx eax, byte [rsi + 0x2c]
test al, al
jne 0x14001963b
call fcn.14001acc0
movss xmm0, dword [rsi + 0x28]
movss dword [rbp - 0x29], xmm0
jmp 0x140019654
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14001962a
call fcn.14001acc0
mov dword [rbp - 0x29], 0x3f800000
mov rcx, qword [rax]
lea r8, [rbp - 0x29]
mov r9d, 4
mov qword [rsp + 0x20], r15
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14004b770
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa0
pop r15
pop rsi
pop rbp
ret
push rbx
sub rsp, 0x20
mov rbx, rcx
call fcn.140019b70
cmp qword [rax + 0x18], 0
je 0x1400196b2
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x140018ff0
add rsp, 0x20
pop rbx
ret