Function at 0x14009d140
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1402215c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov ebx, edx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [0x1401f9350]
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 0x14009d467
movss xmm0, dword [0x1402390b8]
movss dword [rbp - 0x20], xmm0
movss xmm1, dword [0x1402390bc]
movss dword [rbp - 0x1c], xmm1
movss xmm0, dword [0x1402390c0]
movss dword [rbp - 0x18], xmm0
cmp ebx, 1
jne 0x14009d221
lea r8d, [rbx + 9]
lea rdx, str.WayPoint_1
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x140239648]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140239668], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140239670], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x140239674], al
jmp 0x14009d469
cmp ebx, 2
jne 0x14009d283
lea r8d, [rbx + 8]
lea rdx, str.WayPoint_2
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x140239678]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140239698], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x1402396a0], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x1402396a4], al
mov bl, 1
jmp 0x14009d469
cmp ebx, 3
jne 0x14009d2e5
lea r8d, [rbx + 7]
lea rdx, str.WayPoint_3
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x1402396a8]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x1402396c8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x1402396d0], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x1402396d4], al
mov bl, 1
jmp 0x14009d469
cmp ebx, 4
jne 0x14009d347
lea r8d, [rbx + 6]
lea rdx, str.WayPoint_4
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x1402396d8]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x1402396f8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140239700], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x140239704], al
mov bl, 1
jmp 0x14009d469
cmp ebx, 0xb
jne 0x14009d3a9
lea r8d, [rbx + 5]
lea rdx, str.WayPoint_Drone_1
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x140239720]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140239740], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140239748], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x14023974c], al
mov bl, 1
jmp 0x14009d469
cmp ebx, 0xc
jne 0x14009d408
lea r8d, [rbx + 4]
lea rdx, str.WayPoint_Drone_2
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x140239750]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x140239770], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x140239778], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x14023977c], al
mov bl, 1
jmp 0x14009d469
cmp ebx, 0xd
jne 0x14009d467
lea r8d, [rbx + 3]
lea rdx, str.WayPoint_Drone_3
lea rcx, [rbp - 0x40]
call fcn.1400e2c80
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, [0x140239780]
call fcn.1400e2c80
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x1402397a0], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x1402397a8], eax
movzx eax, byte [rbp - 0x14]
mov byte [0x1402397ac], al
mov bl, 1
jmp 0x14009d469
xor bl, bl
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401a64d0
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rbp
ret