Function at 0x1400a1b20
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 0x1400a2262
movss xmm0, dword [0x14024a2c8]
movss dword [rbp - 0x30], xmm0
movss xmm1, dword [0x14024a2cc]
movss dword [rbp - 0x2c], xmm1
movss xmm0, dword [0x14024a2d0]
movss dword [rbp - 0x28], xmm0
cmp ebx, 1
jne 0x1400a1cad
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a1bfc
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 0x1400a1c11
lea r9, str.WayPoint_1
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024a888]
cmp rdi, rax
ja 0x1400a1c61
lea rbx, [0x14024a870]
cmp rax, 0xf
cmova rbx, qword [0x14024a870]
mov qword [0x14024a880], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a1c70
mov rdx, rdi
lea rcx, [0x14024a870]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a890], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a898], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a89c], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a8a0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a8a8], eax
mov bl, 1
jmp 0x1400a2264
cmp ebx, 2
jne 0x1400a1da1
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a1cf0
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 0x1400a1d05
lea r9, str.WayPoint_2
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024a8c8]
cmp rdi, rax
ja 0x1400a1d55
lea rbx, [0x14024a8b0]
cmp rax, 0xf
cmova rbx, qword [0x14024a8b0]
mov qword [0x14024a8c0], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a1d64
mov rdx, rdi
lea rcx, [0x14024a8b0]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a8d0], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a8d8], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a8dc], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a8e0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a8e8], eax
mov bl, 1
jmp 0x1400a2264
cmp ebx, 3
jne 0x1400a1e95
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a1de4
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 0x1400a1df9
lea r9, str.WayPoint_3
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024a908]
cmp rdi, rax
ja 0x1400a1e49
lea rbx, [0x14024a8f0]
cmp rax, 0xf
cmova rbx, qword [0x14024a8f0]
mov qword [0x14024a900], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a1e58
mov rdx, rdi
lea rcx, [0x14024a8f0]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a910], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a918], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a91c], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a920], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a928], eax
mov bl, 1
jmp 0x1400a2264
cmp ebx, 4
jne 0x1400a1f89
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a1ed8
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 0x1400a1eed
lea r9, str.WayPoint_4
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024a948]
cmp rdi, rax
ja 0x1400a1f3d
lea rbx, [0x14024a930]
cmp rax, 0xf
cmova rbx, qword [0x14024a930]
mov qword [0x14024a940], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a1f4c
mov rdx, rdi
lea rcx, [0x14024a930]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a950], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a958], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a95c], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a960], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a968], eax
mov bl, 1
jmp 0x1400a2264
cmp ebx, 0xb
jne 0x1400a207d
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a1fcc
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 0x1400a1fe1
lea r9, str.WayPoint_Drone_1
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024a9a0]
cmp rdi, rax
ja 0x1400a2031
lea rbx, [0x14024a988]
cmp rax, 0xf
cmova rbx, qword [0x14024a988]
mov qword [0x14024a998], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a2040
mov rdx, rdi
lea rcx, [0x14024a988]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a9a8], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a9b0], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a9b4], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a9b8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024a9c0], eax
mov bl, 1
jmp 0x1400a2264
cmp ebx, 0xc
jne 0x1400a2171
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a20c0
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 0x1400a20d5
lea r9, str.WayPoint_Drone_2
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024a9e0]
cmp rdi, rax
ja 0x1400a2125
lea rbx, [0x14024a9c8]
cmp rax, 0xf
cmova rbx, qword [0x14024a9c8]
mov qword [0x14024a9d8], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400a2134
mov rdx, rdi
lea rcx, [0x14024a9c8]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024a9e8], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024a9f0], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024a9f4], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024a9f8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024aa00], eax
mov bl, 1
jmp 0x1400a2264
cmp ebx, 0xd
jne 0x1400a2262
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a21b4
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 0x1400a21c9
lea r9, str.WayPoint_Drone_3
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400fa0d0
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 [0x14024aa20]
cmp rdi, rax
ja 0x1400a2219
lea rbx, [0x14024aa08]
cmp rax, 0xf
cmova rbx, qword [0x14024aa08]
mov qword [0x14024aa18], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x1400a2228
mov rdx, rdi
lea rcx, [0x14024aa08]
call fcn.1400fa0d0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024aa28], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024aa30], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024aa34], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024aa38], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024aa40], eax
mov bl, 1
jmp 0x1400a2264
xor bl, bl
lea rcx, [rbp - 0x50]
call fcn.1400f0030
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401b4860
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret