Function at 0x1400a2290
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1402325c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov ebx, edx
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x50], 0
mov qword [rbp - 0x2c], 0
mov dword [rbp - 0x30], 0
mov byte [rbp - 0x24], 0
mov qword [rbp - 0x1c], 0
mov dword [rbp - 0x20], 0
mov ecx, Ordinal_41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400a29d2
movss xmm0, dword [0x14024a228]
movss dword [rbp - 0x30], xmm0
movss xmm1, dword [0x14024a22c]
movss dword [rbp - 0x2c], xmm1
movss xmm0, dword [0x14024a230]
movss dword [rbp - 0x28], xmm0
cmp ebx, 1
jne 0x1400a241d
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a236c
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], 0xa
mov r8d, 0xa
lea rdx, str.WayPoint_1
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xa], 0
jmp 0x1400a2381
lea r9, str.WayPoint_1
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a7d8]
cmp rdi, rax
ja 0x1400a23d1
lea rbx, [0x14024a7c0]
cmp rax, 0xf
cmova rbx, qword [0x14024a7c0]
mov qword [0x14024a7d0], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a23e0
mov rdx, rdi
lea rcx, [0x14024a7c0]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a7e0], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a7e8], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a7ec], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a7f0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a7f8], eax
mov bl, 1
jmp 0x1400a29d4
cmp ebx, 2
jne 0x1400a2511
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a2460
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], 0xa
mov r8d, 0xa
lea rdx, str.WayPoint_2
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xa], 0
jmp 0x1400a2475
lea r9, str.WayPoint_2
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a818]
cmp rdi, rax
ja 0x1400a24c5
lea rbx, [0x14024a800]
cmp rax, 0xf
cmova rbx, qword [0x14024a800]
mov qword [0x14024a810], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a24d4
mov rdx, rdi
lea rcx, [0x14024a800]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a820], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a828], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a82c], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a830], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a838], eax
mov bl, 1
jmp 0x1400a29d4
cmp ebx, 3
jne 0x1400a2605
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a2554
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], 0xa
mov r8d, 0xa
lea rdx, str.WayPoint_3
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xa], 0
jmp 0x1400a2569
lea r9, str.WayPoint_3
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a858]
cmp rdi, rax
ja 0x1400a25b9
lea rbx, [0x14024a840]
cmp rax, 0xf
cmova rbx, qword [0x14024a840]
mov qword [0x14024a850], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a25c8
mov rdx, rdi
lea rcx, [0x14024a840]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a860], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a868], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a86c], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a870], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a878], eax
mov bl, 1
jmp 0x1400a29d4
cmp ebx, 4
jne 0x1400a26f9
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a2648
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], 0xa
mov r8d, 0xa
lea rdx, str.WayPoint_4
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xa], 0
jmp 0x1400a265d
lea r9, str.WayPoint_4
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a898]
cmp rdi, rax
ja 0x1400a26ad
lea rbx, [0x14024a880]
cmp rax, 0xf
cmova rbx, qword [0x14024a880]
mov qword [0x14024a890], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a26bc
mov rdx, rdi
lea rcx, [0x14024a880]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a8a0], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a8a8], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a8ac], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a8b0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a8b8], eax
mov bl, 1
jmp 0x1400a29d4
cmp ebx, 0xb
jne 0x1400a27ed
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a273c
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], reloc.WS2_32.dll_recv
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.WayPoint_Drone_1
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x10], 0
jmp 0x1400a2751
lea r9, str.WayPoint_Drone_1
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a8f0]
cmp rdi, rax
ja 0x1400a27a1
lea rbx, [0x14024a8d8]
cmp rax, 0xf
cmova rbx, qword [0x14024a8d8]
mov qword [0x14024a8e8], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a27b0
mov rdx, rdi
lea rcx, [0x14024a8d8]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a8f8], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a900], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a904], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a908], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a910], eax
mov bl, 1
jmp 0x1400a29d4
cmp ebx, 0xc
jne 0x1400a28e1
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a2830
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], reloc.WS2_32.dll_recv
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.WayPoint_Drone_2
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x10], 0
jmp 0x1400a2845
lea r9, str.WayPoint_Drone_2
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a930]
cmp rdi, rax
ja 0x1400a2895
lea rbx, [0x14024a918]
cmp rax, 0xf
cmova rbx, qword [0x14024a918]
mov qword [0x14024a928], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a28a4
mov rdx, rdi
lea rcx, [0x14024a918]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a938], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a940], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a944], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a948], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a950], eax
mov bl, 1
jmp 0x1400a29d4
cmp ebx, 0xd
jne 0x1400a29d2
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a2924
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], reloc.WS2_32.dll_recv
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str.WayPoint_Drone_3
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x10], 0
jmp 0x1400a2939
lea r9, str.WayPoint_Drone_3
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400faea0
mov byte [rbp - 0x24], 1
mov rdi, qword [rbp - 0x40]
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov rax, qword [0x14024a970]
cmp rdi, rax
ja 0x1400a2989
lea rbx, [0x14024a958]
cmp rax, 0xf
cmova rbx, qword [0x14024a958]
mov qword [0x14024a968], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x1400a2998
mov rdx, rdi
lea rcx, [0x14024a958]
call fcn.1400faea0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a978], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a980], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a984], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a988], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a990], eax
mov bl, 1
jmp 0x1400a29d4
xor bl, bl
lea rcx, [rbp - 0x50]
call fcn.1400f0d10
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401b5670
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret