Function at 0x1400a2240
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 0x1400a2982
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 0x1400a23cd
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a231c
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 0x1400a2331
lea r9, str.WayPoint_1
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a2381
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 0x1400a2390
mov rdx, rdi
lea rcx, [0x14024a7c0]
call fcn.1400fadc0
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 0x1400a2984
cmp ebx, 2
jne 0x1400a24c1
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a2410
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 0x1400a2425
lea r9, str.WayPoint_2
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a2475
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 0x1400a2484
mov rdx, rdi
lea rcx, [0x14024a800]
call fcn.1400fadc0
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 0x1400a2984
cmp ebx, 3
jne 0x1400a25b5
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a2504
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 0x1400a2519
lea r9, str.WayPoint_3
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a2569
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 0x1400a2578
mov rdx, rdi
lea rcx, [0x14024a840]
call fcn.1400fadc0
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 0x1400a2984
cmp ebx, 4
jne 0x1400a26a9
mov rax, qword [rbp - 0x38]
cmp rax, 0xa
jb 0x1400a25f8
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 0x1400a260d
lea r9, str.WayPoint_4
mov edx, 0xa
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a265d
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 0x1400a266c
mov rdx, rdi
lea rcx, [0x14024a880]
call fcn.1400fadc0
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 0x1400a2984
cmp ebx, 0xb
jne 0x1400a279d
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a26ec
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 0x1400a2701
lea r9, str.WayPoint_Drone_1
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a2751
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 0x1400a2760
mov rdx, rdi
lea rcx, [0x14024a8d8]
call fcn.1400fadc0
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 0x1400a2984
cmp ebx, 0xc
jne 0x1400a2891
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a27e0
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 0x1400a27f5
lea r9, str.WayPoint_Drone_2
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a2845
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 0x1400a2854
mov rdx, rdi
lea rcx, [0x14024a918]
call fcn.1400fadc0
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 0x1400a2984
cmp ebx, 0xd
jne 0x1400a2982
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1400a28d4
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 0x1400a28e9
lea r9, str.WayPoint_Drone_3
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x50]
call fcn.1400fadc0
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 0x1400a2939
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 0x1400a2948
mov rdx, rdi
lea rcx, [0x14024a958]
call fcn.1400fadc0
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 0x1400a2984
xor bl, bl
lea rcx, [rbp - 0x50]
call fcn.1400f0c30
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401b5590
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret