Function at 0x14011ed20
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x1401be040]
xor rax, rsp
mov qword [rbp - 0x30], rax
cmp qword [0x140241a60], 0
je 0x14011f96a
mov rdx, qword [0x140241a98]
test rdx, rdx
je 0x14011f96a
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x58]
mov qword [rbp - 0x38], 4
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x58], rax
lea rax, [rdx + 0x8d8]
mov qword [rbp - 0x50], rax
mov edx, 8
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x40], rax
call fcn.14014aa73
mov eax, dword [rsp + 0x30]
shr eax, 8
test al, 1
je 0x14011f96a
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x58]
mov edx, 8
mov qword [rbp - 0x38], 4
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x58], rax
mov rax, qword [0x140241a98]
add rax, 0x25c
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x40], rax
call fcn.14014aa73
cmp dword [rsp + 0x30], 0
jne 0x14011f96a
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x58]
mov edx, 8
mov qword [rsp + 0x190], rbx
mov qword [rbp - 0x38], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x58], rax
mov rax, qword [0x140241a98]
add rax, 0x6a8
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x40], rax
call fcn.14014aa73
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14011f962
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x58]
mov edx, 8
mov qword [rsp + 0x1a0], rdi
mov qword [rbp - 0x38], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x58], rax
mov rax, qword [0x140241a98]
add rax, 0x810
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x50]
mov qword [rbp - 0x40], rax
call fcn.14014aa73
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x14011f95a
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov edx, 8
mov qword [rsp + 0x198], rsi
mov qword [rbp - 0x60], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x80], rax
mov rax, qword [0x140241a98]
add rax, 0x8e0
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x68], rax
call fcn.14014aa73
mov rsi, qword [rsp + 0x30]
test rsi, rsi
je 0x14011f952
cmp byte [0x14023c737], 0
mov qword [rsp + 0x1a8], r14
lea r14, [0x14023c6c0]
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x110], xmm12
je 0x14011ef6f
movsxd rcx, dword [0x14023c73c]
mov ecx, dword [r14 + rcx*4 + 0x510]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011ef6f
movss xmm2, dword [0x14023c738]
jmp 0x14011ef77
movss xmm2, dword [0x14023c730]
mov rdx, qword [0x140241a88]
add rdx, 0x18
call fcn.140137a80
cmp byte [0x14023c740], 0
xorps xmm12, xmm12
movss xmm7, dword [0x1401aefc0]
je 0x14011f60a
movsxd rcx, dword [0x14023c748]
mov ecx, dword [r14 + rcx*4 + 0x510]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011f60a
movss xmm2, dword [0x1401aefd0]
lea rdx, [rdi + 0x10]
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x150], xmm8
movaps xmmword [rsp + 0x140], xmm9
movaps xmmword [rsp + 0x120], xmm11
movaps xmmword [rsp + 0x100], xmm13
movaps xmmword [rsp + 0xf0], xmm14
movaps xmmword [rsp + 0xe0], xmm15
movaps xmmword [rsp + 0x130], xmm10
call fcn.140137a80
lea rdx, [rsi + 0x44]
call fcn.140137920
movss xmm0, dword [0x14023c744]
mov ecx, 0x57
movss xmm11, dword [0x1401aef40]
xorps xmm15, xmm15
movss dword [rsp + 0x30], xmm0
xorps xmm13, xmm13
movups xmm14, xmmword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [0x1401af010]
movaps xmm3, xmm14
shufps xmm3, xmm14, 0xaa
movaps xmm6, xmm14
shufps xmm6, xmm14, 0xff
movaps xmm8, xmm14
shufps xmm8, xmm14, 0x55
movaps xmmword [rsp + 0x70], xmm3
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x60], xmm8
test ax, ax
je 0x14011f19c
movaps xmm7, xmm8
movaps xmm1, xmm8
mulss xmm1, xmm9
movaps xmm2, xmm3
mulss xmm2, xmm9
movaps xmm4, xmm3
movss xmm3, dword [rsp + 0x40]
movaps xmm0, xmm14
mulss xmm0, xmm9
movaps xmm10, xmm14
movaps xmm9, xmm8
mulss xmm7, xmm2
mulss xmm9, xmm1
movaps xmm8, xmm6
mulss xmm8, xmm0
movaps xmm5, xmm14
mulss xmm10, xmm0
movaps xmm13, xmm14
mulss xmm13, xmm2
movaps xmm0, xmm9
mulss xmm6, xmm1
addss xmm9, xmm10
mulss xmm3, xmm2
mulss xmm5, xmm1
movaps xmm1, xmm10
mulss xmm4, xmm2
movss xmm2, dword [0x1401aefc0]
movaps xmm15, xmm2
movaps xmm11, xmm2
addss xmm0, xmm4
addss xmm1, xmm4
subss xmm15, xmm0
movaps xmm0, xmm5
subss xmm0, xmm3
subss xmm11, xmm1
addss xmm3, xmm5
mulss xmm15, xmm12
mulss xmm0, xmm12
mulss xmm11, xmm12
addss xmm15, xmm0
mulss xmm3, xmm12
movaps xmm0, xmm6
addss xmm0, xmm13
subss xmm13, xmm6
movaps xmm6, xmmword [rsp + 0x40]
addss xmm11, xmm3
addss xmm15, xmm0
movaps xmm0, xmm7
subss xmm0, xmm8
mulss xmm13, xmm12
addss xmm8, xmm7
movaps xmm7, xmm2
addss xmm11, xmm0
movaps xmm0, xmm2
subss xmm0, xmm9
movss xmm9, dword [0x1401af010]
mulss xmm8, xmm12
addss xmm13, xmm8
movaps xmm8, xmmword [rsp + 0x60]
addss xmm13, xmm0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011f2b9
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm7, xmm8
movss xmm3, dword [rsp + 0x40]
movaps xmm1, xmm8
mulss xmm1, xmm9
movaps xmm2, xmm4
mulss xmm2, xmm9
movaps xmm0, xmm14
mulss xmm0, xmm9
movaps xmm5, xmm14
movaps xmm9, xmm8
mulss xmm5, xmm1
mulss xmm7, xmm2
movaps xmm8, xmm6
mulss xmm8, xmm0
movaps xmm10, xmm14
mulss xmm10, xmm0
movaps xmm13, xmm14
mulss xmm13, xmm2
mulss xmm3, xmm2
mulss xmm4, xmm2
movss xmm2, dword [0x1401aefc0]
mulss xmm9, xmm1
movaps xmm15, xmm2
movaps xmm0, xmm4
mulss xmm6, xmm1
addss xmm4, xmm10
movaps xmm11, xmm2
addss xmm0, xmm9
addss xmm9, xmm10
subss xmm11, xmm4
subss xmm15, xmm0
movaps xmm0, xmm5
subss xmm0, xmm3
addss xmm3, xmm5
mulss xmm11, xmm12
mulss xmm0, xmm12
mulss xmm15, xmm12
mulss xmm3, xmm12
addss xmm15, xmm0
movaps xmm0, xmm6
addss xmm0, xmm13
subss xmm13, xmm6
addss xmm11, xmm3
mulss xmm0, xmm2
mulss xmm13, xmm12
subss xmm15, xmm0
movaps xmm0, xmm7
subss xmm0, xmm8
addss xmm8, xmm7
movaps xmm7, xmm2
mulss xmm0, xmm2
mulss xmm8, xmm12
subss xmm11, xmm0
movaps xmm0, xmm2
subss xmm0, xmm9
addss xmm13, xmm8
mulss xmm0, xmm7
subss xmm13, xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011f3d3
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm0, xmm14
movss xmm4, dword [0x1401af010]
movaps xmm1, xmm7
movaps xmm3, xmmword [rsp + 0x40]
movaps xmm9, xmm7
movaps xmm2, xmmword [rsp + 0x70]
movaps xmm6, xmm3
mulss xmm0, xmm4
movaps xmm13, xmm3
mulss xmm1, xmm4
movaps xmm5, xmm14
mulss xmm2, xmm4
movaps xmm10, xmm14
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm8, xmm14
mulss xmm13, xmm0
mulss xmm10, xmm0
mulss xmm9, xmm1
mulss xmm6, xmm1
mulss xmm5, xmm1
mulss xmm7, xmm2
mulss xmm4, xmm2
movaps xmm1, xmm5
mulss xmm3, xmm2
movaps xmm0, xmm4
mulss xmm8, xmm2
movss xmm2, dword [0x1401aefc0]
addss xmm0, xmm9
subss xmm1, xmm3
movaps xmm15, xmm2
addss xmm4, xmm10
movaps xmm11, xmm2
addss xmm3, xmm5
addss xmm9, xmm10
subss xmm15, xmm0
movaps xmm0, xmm6
addss xmm0, xmm8
mulss xmm1, xmm12
subss xmm11, xmm4
subss xmm8, xmm6
addss xmm15, xmm1
mulss xmm0, xmm12
mulss xmm11, xmm12
addss xmm15, xmm0
movaps xmm0, xmm7
subss xmm0, xmm13
addss xmm13, xmm7
movaps xmm7, xmm2
addss xmm11, xmm3
mulss xmm0, xmm12
mulss xmm13, xmm12
addss xmm11, xmm0
movaps xmm0, xmm2
subss xmm0, xmm9
addss xmm13, xmm8
mulss xmm0, xmm12
addss xmm13, xmm0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011f4f1
movss xmm3, dword [0x1401af010]
movaps xmm0, xmm14
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm6, xmm14
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm1, xmm9
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm2, xmm10
mulss xmm0, xmm3
movaps xmm4, xmm8
mulss xmm1, xmm3
movaps xmm13, xmm8
mulss xmm2, xmm3
movaps xmm5, xmm9
mulss xmm13, xmm0
movaps xmm3, xmm14
mulss xmm6, xmm0
movaps xmm11, xmm7
mulss xmm5, xmm1
mulss xmm3, xmm1
mulss xmm4, xmm1
movaps xmm1, xmm7
mulss xmm8, xmm2
movaps xmm15, xmm3
mulss xmm14, xmm2
subss xmm15, xmm8
mulss xmm10, xmm2
mulss xmm9, xmm2
addss xmm8, xmm3
movaps xmm0, xmm10
addss xmm10, xmm6
addss xmm0, xmm5
mulss xmm15, xmm12
mulss xmm8, xmm7
addss xmm5, xmm6
subss xmm11, xmm10
subss xmm1, xmm0
movaps xmm0, xmm4
addss xmm0, xmm14
subss xmm14, xmm4
mulss xmm11, xmm12
mulss xmm0, xmm12
mulss xmm1, xmm7
subss xmm11, xmm8
mulss xmm14, xmm7
subss xmm15, xmm1
addss xmm15, xmm0
movaps xmm0, xmm9
subss xmm0, xmm13
addss xmm13, xmm9
mulss xmm0, xmm12
mulss xmm13, xmm12
addss xmm11, xmm0
movaps xmm0, xmm7
subss xmm0, xmm5
subss xmm13, xmm14
mulss xmm0, xmm12
addss xmm13, xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x140]
movaps xmm8, xmmword [rsp + 0x150]
test ax, ax
je 0x14011f529
movaps xmm11, xmm7
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14011f542
addss xmm11, dword [0x1401af19c]
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [rsp + 0x30]
test ax, ax
je 0x14011f560
addss xmm6, dword [0x1401af064]
movss xmm2, dword [0x1401aefb0]
lea rdx, [rbx + 0x6c]
call fcn.140137a80
movss xmm2, dword [0x1401aeff4]
lea rdx, [rbx + 0x68]
call fcn.140137a80
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mulss xmm15, xmm6
mov edx, 8
mov qword [rbp - 0x60], 0xc
mulss xmm11, xmm6
movss dword [rsp + 0x30], xmm15
mulss xmm13, xmm6
movss dword [rsp + 0x34], xmm11
movss dword [rsp + 0x38], xmm13
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
lea rax, [rbx + 0x34]
mov qword [rbp - 0x68], rax
call fcn.14014aa73
movaps xmm15, xmmword [rsp + 0xe0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x170]
cmp byte [0x14023c71e], 0
mov r14, qword [rsp + 0x1a8]
je 0x14011f62a
lea rdx, [rbx + 0xc8]
xorps xmm2, xmm2
call fcn.140137a80
cmp byte [0x14023c72a], 0
je 0x14011f67c
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov byte [rsp + 0x20], 1
mov edx, 8
mov qword [rbp - 0x60], 1
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x20]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
lea rax, [rbx + 0x134]
mov qword [rbp - 0x68], rax
call fcn.14014aa73
cmp byte [0x14023c728], 0
je 0x14011f69b
mov rdx, qword [0x140241a98]
xorps xmm2, xmm2
add rdx, 0x9ac
call fcn.140137a80
cmp byte [0x14023c734], 0
je 0x14011f6f3
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov byte [rsp + 0x20], 0
mov edx, 8
mov qword [rbp - 0x60], 1
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x20]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
mov rax, qword [0x140241a98]
add rax, 0x9a8
mov qword [rbp - 0x68], rax
call fcn.14014aa73
cmp byte [0x14023c735], 0
je 0x14011f74e
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov dword [rsp + 0x30], 4
mov edx, 8
mov qword [rbp - 0x60], 4
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
mov rax, qword [0x140241a98]
add rax, 0x8d8
mov qword [rbp - 0x68], rax
call fcn.14014aa73
cmp byte [0x14023c729], 0
je 0x14011f761
movss xmm2, dword [0x1401aefdc]
jmp 0x14011f797
movss xmm0, dword [0x140241c14]
ucomiss xmm0, xmm12
jp 0x14011f771
je 0x14011f7aa
mov rdx, qword [0x140241a98]
add rdx, 0x9b0
call fcn.140137a10
movss xmm2, dword [0x140241c14]
movss xmm0, dword [rax]
ucomiss xmm0, xmm2
jp 0x14011f797
je 0x14011f7aa
mov rdx, qword [0x140241a98]
add rdx, 0x9b0
call fcn.140137a80
cmp byte [0x14023c71d], 0
movaps xmm12, xmmword [rsp + 0x110]
je 0x14011f811
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov dword [rsp + 0x30], 4
mov edx, 8
mov qword [rbp - 0x60], 4
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
lea rax, [rdi + 0x20]
mov qword [rbp - 0x68], rax
call fcn.14014aa73
lea rdx, [rbx + 0x4c]
movaps xmm2, xmm7
call fcn.140137a80
cmp byte [0x14023c758], 0
movaps xmm7, xmmword [rsp + 0x160]
je 0x14011f854
mov rdx, qword [0x140241a98]
mov r8d, dword [0x14023c75c]
add rdx, 0x704
call fcn.140137b60
mov rdx, qword [0x140241a80]
movss xmm2, dword [0x14023c760]
add rdx, 0x50
call fcn.140137a80
cmp byte [0x14023c72b], 0
je 0x14011f899
movss xmm2, dword [0x1401aef80]
lea rdx, [rbx + 0xd0]
call fcn.140137a80
movss xmm2, dword [0x1401aef6c]
lea rdx, [rbx + 0xd4]
call fcn.140137a80
movss xmm2, dword [0x1401af174]
lea rdx, [rbx + 0xcc]
call fcn.140137a80
cmp byte [0x14023c71c], 0
je 0x14011f952
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov edx, 8
mov qword [rbp - 0x60], 8
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x80], rax
mov rax, qword [0x140241a98]
add rax, 0x818
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 0x68], rax
call fcn.14014aa73
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14011f952
mov rcx, rdi
call fcn.14010ea60
shr eax, 9
test al, 1
je 0x14011f952
mov rcx, qword [0x140241b60]
lea r8, [rbp - 0x80]
mov byte [rsp + 0x20], 1
mov edx, 8
mov qword [rbp - 0x60], 1
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x20]
mov qword [rbp - 0x78], rax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rax
lea rax, [rbx + 0x318]
mov qword [rbp - 0x68], rax
call fcn.14014aa73
mov rsi, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x190]
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.14014b630
add rsp, 0x180
pop rbp
ret