Function at 0x14009cb30
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1402215c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
cmp byte [0x1402397c3], 0
jne 0x14009cc67
cmp byte [0x1402397c0], 0
jne 0x14009cc89
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 0x14009cc7b
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
mov r8d, reloc.WS2_32.dll_recv
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
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
mov byte [0x1402397c0], 1
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x14023974c], 0
je 0x14009ce60
cmp byte [0x14023977c], 0
je 0x14009ce60
cmp byte [0x1402397ac], 0
je 0x14009ce60
mov byte [0x1402397c3], 1
mov al, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401a64d0
add rsp, 0x60
pop rbp
ret
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
jmp 0x14009ce67
cmp byte [0x1402397c1], 0
jne 0x14009cd76
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 0x14009cd68
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
mov r8d, reloc.WS2_32.dll_recv
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
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
mov byte [0x1402397c1], 1
jmp 0x14009cc2e
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
jmp 0x14009ce67
cmp byte [0x1402397c2], 0
jne 0x14009cc39
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 0x14009ce55
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
mov r8d, reloc.WS2_32.dll_recv
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
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
mov byte [0x1402397c2], 1
jmp 0x14009cc2e
lea rcx, [rbp - 0x40]
call fcn.1400e2c20
jmp 0x14009ce67
mov byte [0x1402397c3], 0
xor al, al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401a64d0
add rsp, 0x60
pop rbp
ret