Function at 0x14005622c
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movabs rsi, 0x14e9a3ddf864f484
lea rdx, [rbp - 0x49]
mov qword [rbp - 0x49], rsi
lea rcx, [0x14024c910]
movabs r14, 0xbe654e9f24e802e5
movabs rdi, 0x23daf8c69555af9f
mov qword [rbp - 0x41], r14
movabs rbx, 0xbe654e9f24e80288
movdqa xmm0, xmmword [rbp - 0x49]
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], rbx
xorps xmm0, xmmword [rbp - 0x19]
movdqa xmmword [rbp - 0x49], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x14010053c]
call fcn.140003290
mov qword [rbp - 0x31], rbx
lea rdx, [rbp - 0x39]
movabs r12, 0x23daf8aba466f484
mov qword [rbp - 9], rdi
mov qword [rbp - 0x39], r12
mov rcx, rax
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x39], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x140100534]
call fcn.140003290
mov qword [rbp - 0x29], rsi
lea rdx, [rbp - 0x29]
mov qword [rbp - 0x21], r14
mov rcx, rax
movdqa xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x29], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x140100530]
call fcn.140003290
mov qword [rbp - 0x19], rsi
lea rdx, [rbp - 0x19]
mov qword [rbp - 0x11], r14
mov rcx, rax
movdqa xmm0, xmmword [rbp - 0x19]
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x19], xmm0
call fcn.140003290
movabs rcx, 0x44b491b2e734dbcc
mov qword [rbp - 9], rdi
mov qword [rbp + 0x17], rcx
lea rdx, [rbp + 0x17]
movabs rcx, 0xc70422ed419e4da8
mov qword [rbp - 1], rbx
mov qword [rbp + 0x1f], rcx
movabs r15, 0x9c1c9ef1e2925972
movdqa xmm0, xmmword [rbp + 0x17]
movabs rcx, 0x46fbd970b93d6d93
xorps xmm0, xmmword [rbp - 9]
movabs r13, 0x46fbd970b93d6d99
mov qword [rbp + 0x27], rcx
mov rcx, rax
mov qword [rbp + 0x2f], r15
movdqa xmm1, xmmword [rbp + 0x27]
mov qword [rbp + 7], r13
mov qword [rbp + 0xf], r15
xorps xmm1, xmmword [rbp + 7]
movdqa xmmword [rbp + 0x27], xmm1
movdqa xmmword [rbp + 0x17], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x140100500]
call fcn.140003290
mov rcx, qword [0x14024b7b0]
call fcn.1400581f0
cmp eax, 3
je 0x14000874c
mov qword [rbp - 0x19], rsi
lea rdx, [rbp - 0x19]
mov qword [rbp - 0x11], r14
lea rcx, [0x14024c910]
movdqa xmm0, xmmword [rbp - 0x19]
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x19], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x14010053c]
call fcn.140003290
mov qword [rbp - 0x29], r12
lea rdx, [rbp - 0x29]
mov qword [rbp - 0x21], rbx
mov rcx, rax
movdqa xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x29], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x140100534]
call fcn.140003290
mov qword [rbp - 0x39], rsi
lea rdx, [rbp - 0x39]
mov qword [rbp - 0x31], r14
mov rcx, rax
movdqa xmm0, xmmword [rbp - 0x39]
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x39], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x140100530]
call fcn.140003290
mov qword [rbp - 0x49], rsi
lea rdx, [rbp - 0x49]
mov qword [rbp - 0x41], r14
mov rcx, rax
movdqa xmm0, xmmword [rbp - 0x49]
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
xorps xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x49], xmm0
call fcn.140003290
movabs rcx, 0x77fa9ca3f93cced9
mov qword [rbp - 9], rdi
mov qword [rbp + 0x17], rcx
lea rdx, [rbp + 0x17]
movabs rcx, 0xdb112ffa56ab22e7
mov qword [rbp - 1], rbx
mov qword [rbp + 0x1f], rcx
movabs rcx, 0x3f9ab502dc4b22b9
movdqa xmm0, xmmword [rbp + 0x17]
xorps xmm0, xmmword [rbp - 9]
mov qword [rbp + 0x27], rcx
movabs rcx, 0x9c1c9ef1e2927978
mov qword [rbp + 0x2f], rcx
mov rcx, rax
movdqa xmm1, xmmword [rbp + 0x27]
mov qword [rbp + 7], r13
mov qword [rbp + 0xf], r15
xorps xmm1, xmmword [rbp + 7]
movdqa xmmword [rbp + 0x27], xmm1
movdqa xmmword [rbp + 0x17], xmm0
call fcn.140003290
mov rcx, rax
lea rdx, [0x140100500]
call fcn.140003290
xor edx, edx
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_SleepEx]
mov rcx, qword [0x14024b7b0]
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp 0x14005622c
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov rax, qword [0x1402420c0]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
xorps xmm0, xmm0
mov rsi, rcx
movups xmmword [rbp + 0x1e0], xmm0
mov edi, 5
xor r15d, r15d
movups xmmword [rbp + 0x1f0], xmm0
movups xmmword [rbp + 0x200], xmm0
mov rcx, qword [0x14024c310]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rcx, qword [0x14024c310]
mov edx, edi
call qword [sym.imp.USER32.dll_ShowWindow]
mov rdx, qword [0x14024c310]
lea rcx, [rbp + 0x1e0]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x1400562d9
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.USER32.dll_DispatchMessageA]
call fcn.1400282dc
lea rcx, [rbp + 0x1d0]
mov rbx, rax
mov dword [rax + 0x10], 0x3c888889
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm0, dword [rbp + 0x1d0]
mov ecx, 1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0xf0], xmm0
movd xmm0, dword [rbp + 0x1d4]
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0xf4], xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140056347
mov byte [rbx + 0xf8], 1
mov eax, dword [rbx + 0xf4]
mov dword [rbx + 0x2ac0], eax
mov byte [rbx + 0x2b10], 1
jmp 0x14005634e
mov byte [rbx + 0xf8], r15b
mov rcx, rsi
call fcn.14004b918
cmp dword [rbp + 0x1e8], 0x12
jne 0x14005627d
call fcn.14003f504
call fcn.14003fa40
xor ecx, ecx
call fcn.140026848
mov rcx, qword [0x14024c310]
call qword [sym.imp.USER32.dll_DestroyWindow]
movabs rax, 0xf05ea6a0de91c658
lea rcx, [rbp + 0x1d0]
mov qword [rbp + 0x1d0], rax
movabs rbx, 0xd5d469c95f724e4c
mov qword [rbp + 0x1d8], rbx
movabs rsi, 0xf05ea6a0dee2aa3b
movdqa xmm0, xmmword [rbp + 0x1d0]
mov qword [rbp + 0x210], rsi
mov qword [rbp + 0x218], rbx
xorps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x1d0], xmm0
call fcn.1400d0440
mov qword [rbp + 0x1d8], rbx
lea rdx, [rbp + 0x1d0]
movabs rax, 0xf05ea6cdecd1f120
mov qword [rbp + 0x210], rsi
mov qword [rbp + 0x1d0], rax
lea rcx, [0x14024c910]
movdqa xmm0, xmmword [rbp + 0x1d0]
mov qword [rbp + 0x218], rbx
xorps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x1d0], xmm0
call fcn.140003290
mov r9, rax
lea rcx, [rsp + 0x30]
lea rdx, [0x14011c9e0]
mov r8, rdi
mov r10d, 0x80
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rdx + 0x70]
add rdx, r10
movups xmmword [rcx + 0x60], xmm0
add rcx, r10
movups xmmword [rcx - 0x10], xmm1
sub r8, 1
jne 0x140056446
movups xmm0, xmmword [rdx]
lea rax, [rbp + 0x230]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
lea rcx, [0x14011c740]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x50], xmm1
movups xmm1, xmmword [rcx + 0x70]
add rcx, r10
movups xmmword [rax + 0x60], xmm0
add rax, r10
movups xmmword [rax - 0x10], xmm1
sub rdi, 1
jne 0x1400564ac
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
movdqa xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmmword [rbp + 0x250]
movdqa xmm0, xmmword [rbp + 0x230]
xorps xmm0, xmmword [0x14011c9e0]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0x240]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x260]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm1, xmmword [rsp + 0x70]
xorps xmm1, xmmword [rbp + 0x270]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0x280]
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmm1, xmmword [rbp - 0x70]
xorps xmm1, xmmword [rbp + 0x290]
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmm0, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp + 0x2a0]
movdqa xmmword [rbp - 0x70], xmm1
movdqa xmm1, xmmword [rbp - 0x50]
xorps xmm1, xmmword [rbp + 0x2b0]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmm1, xmmword [rbp - 0x30]
xorps xmm1, xmmword [rbp + 0x2d0]
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp + 0x2e0]
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmm1, xmmword [rbp - 0x10]
xorps xmm1, xmmword [rbp + 0x2f0]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp + 0x300]
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmm1, xmmword [rbp + 0x10]
xorps xmm1, xmmword [rbp + 0x310]
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmm1, xmmword [rbp + 0x30]
xorps xmm1, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmmword [rbp + 0x340]
movdqa xmmword [rbp + 0x30], xmm1
movdqa xmm1, xmmword [rbp + 0x50]
xorps xmm1, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x40], xmm0
movdqa xmm0, xmmword [rbp + 0x60]
xorps xmm0, xmmword [rbp + 0x360]
movdqa xmmword [rbp + 0x50], xmm1
movdqa xmm1, xmmword [rbp + 0x70]
xorps xmm1, xmmword [rbp + 0x370]
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmm0, xmmword [rbp + 0x80]
xorps xmm0, xmmword [rbp + 0x380]
movdqa xmmword [rbp + 0x70], xmm1
movdqa xmm1, xmmword [rbp + 0x90]
xorps xmm1, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x80], xmm0
movdqa xmm0, xmmword [rbp + 0xa0]
xorps xmm0, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0x90], xmm1
movdqa xmm1, xmmword [rbp + 0xb0]
xorps xmm1, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmm0, xmmword [rbp + 0xc0]
xorps xmm0, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp + 0xb0], xmm1
movdqa xmm1, xmmword [rbp + 0xd0]
lea rdx, [rsp + 0x30]
xorps xmm1, xmmword [rbp + 0x3d0]
mov rcx, r9
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmm0, xmmword [rbp + 0xe0]
xorps xmm0, xmmword [rbp + 0x3e0]
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmm0, xmmword [rbp + 0x100]
xorps xmm0, xmmword [rbp + 0x400]
movdqa xmmword [rbp + 0xd0], xmm1
movdqa xmm1, xmmword [rbp + 0xf0]
xorps xmm1, xmmword [rbp + 0x3f0]
movdqa xmmword [rbp + 0x100], xmm0
movdqa xmm0, xmmword [rbp + 0x120]
xorps xmm0, xmmword [rbp + 0x420]
movdqa xmmword [rbp + 0xf0], xmm1
movdqa xmm1, xmmword [rbp + 0x110]
xorps xmm1, xmmword [rbp + 0x410]
movdqa xmmword [rbp + 0x120], xmm0
movdqa xmm0, xmmword [rbp + 0x140]
xorps xmm0, xmmword [rbp + 0x440]
movdqa xmmword [rbp + 0x110], xmm1
movdqa xmm1, xmmword [rbp + 0x130]
xorps xmm1, xmmword [rbp + 0x430]
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmm0, xmmword [rbp + 0x160]
xorps xmm0, xmmword [rbp + 0x460]
movdqa xmmword [rbp + 0x130], xmm1
movdqa xmm1, xmmword [rbp + 0x150]
xorps xmm1, xmmword [rbp + 0x450]
movdqa xmmword [rbp + 0x160], xmm0
movdqa xmm0, xmmword [rbp + 0x180]
xorps xmm0, xmmword [rbp + 0x480]
movdqa xmmword [rbp + 0x150], xmm1
movdqa xmm1, xmmword [rbp + 0x170]
xorps xmm1, xmmword [rbp + 0x470]
movdqa xmmword [rbp + 0x180], xmm0
movdqa xmm0, xmmword [rbp + 0x1a0]
xorps xmm0, xmmword [rbp + 0x4a0]
movdqa xmmword [rbp + 0x170], xmm1
movdqa xmm1, xmmword [rbp + 0x190]
xorps xmm1, xmmword [rbp + 0x490]
movdqa xmmword [rbp + 0x1a0], xmm0
movdqa xmm0, xmmword [rbp + 0x1c0]
xorps xmm0, xmmword [rbp + 0x4c0]
movdqa xmmword [rbp + 0x190], xmm1
movdqa xmm1, xmmword [rbp + 0x1b0]
xorps xmm1, xmmword [rbp + 0x4b0]
movdqa xmmword [rbp + 0x1c0], xmm0
movdqa xmmword [rbp + 0x1b0], xmm1
call fcn.140003290
mov qword [rbp + 0x218], rbx
lea rdx, [rbp + 0x210]
movabs rcx, 0xf05ea6a0dee2aa31
mov qword [rbp + 0x220], rsi
mov qword [rbp + 0x210], rcx
mov rcx, rax
movdqa xmm0, xmmword [rbp + 0x210]
mov qword [rbp + 0x228], rbx
xorps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0x210], xmm0
call fcn.140003290
mov al, 1
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.1400c9b20
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret