Function at 0x14009bd40
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x14021d5c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov ebx, edx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401f5f60]
movdqu xmmword [rbp - 0x30], xmm1
mov byte [rbp - 0x40], 0
mov qword [rbp - 0x1c], 0
mov dword [rbp - 0x20], 0
mov byte [rbp - 0x14], 0
mov ecx, Ordinal_41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14009c067
movss xmm0, dword [0x1402350c8]
movss dword [rbp - 0x20], xmm0
movss xmm1, dword [0x1402350cc]
movss dword [rbp - 0x1c], xmm1
movss xmm0, dword [0x1402350d0]
movss dword [rbp - 0x18], xmm0
cmp ebx, 1
jne 0x14009be21
lea r8d, [rbx + 9]
lea rdx, str.WayPoint_1
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], bl
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x140235658]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140235678], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140235680], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x140235684], al
jmp 0x14009c069
cmp ebx, 2
jne 0x14009be83
lea r8d, [rbx + 8]
lea rdx, str.WayPoint_2
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], 1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x140235688]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x1402356a8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x1402356b0], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x1402356b4], al
mov bl, 1
jmp 0x14009c069
cmp ebx, 3
jne 0x14009bee5
lea r8d, [rbx + 7]
lea rdx, str.WayPoint_3
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], 1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x1402356b8]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x1402356d8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x1402356e0], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x1402356e4], al
mov bl, 1
jmp 0x14009c069
cmp ebx, 4
jne 0x14009bf47
lea r8d, [rbx + 6]
lea rdx, str.WayPoint_4
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], 1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x1402356e8]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140235708], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140235710], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x140235714], al
mov bl, 1
jmp 0x14009c069
cmp ebx, 0xb
jne 0x14009bfa9
lea r8d, [rbx + 5]
lea rdx, str.WayPoint_Drone_1
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], 1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x140235730]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140235750], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140235758], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x14023575c], al
mov bl, 1
jmp 0x14009c069
cmp ebx, 0xc
jne 0x14009c008
lea r8d, [rbx + 4]
lea rdx, str.WayPoint_Drone_2
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], 1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x140235760]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140235780], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140235788], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x14023578c], al
mov bl, 1
jmp 0x14009c069
cmp ebx, 0xd
jne 0x14009c067
lea r8d, [rbx + 3]
lea rdx, str.WayPoint_Drone_3
lea rcx, [rbp - 0x40]
call fcn.1400e0680
mov byte [rbp - 0x14], 1
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [0x140235790]
call fcn.1400e0680
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x1402357b0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x1402357b8], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x1402357bc], al
mov bl, 1
jmp 0x14009c069
xor bl, bl
lea rcx, [rbp - 0x40]
call fcn.1400e0620
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401a37c0
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rbp
ret