Function at 0x14009b730
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x14021d5c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
cmp byte [0x1402357d3], 0
jne 0x14009b867
cmp byte [0x1402357d0], 0
jne 0x14009b889
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 0x14009b87b
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
mov r8d, reloc.WS2_32.dll_recv
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
lea rcx, [rbp - 0x40]
call fcn.1400e0620
mov byte [0x1402357d0], 1
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x14023575c], 0
je 0x14009ba60
cmp byte [0x14023578c], 0
je 0x14009ba60
cmp byte [0x1402357bc], 0
je 0x14009ba60
mov byte [0x1402357d3], 1
mov al, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401a37c0
add rsp, 0x60
pop rbp
ret
lea rcx, [rbp - 0x40]
call fcn.1400e0620
jmp 0x14009ba67
cmp byte [0x1402357d1], 0
jne 0x14009b976
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 0x14009b968
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
mov r8d, reloc.WS2_32.dll_recv
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
lea rcx, [rbp - 0x40]
call fcn.1400e0620
mov byte [0x1402357d1], 1
jmp 0x14009b82e
lea rcx, [rbp - 0x40]
call fcn.1400e0620
jmp 0x14009ba67
cmp byte [0x1402357d2], 0
jne 0x14009b839
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 0x14009ba55
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
mov r8d, reloc.WS2_32.dll_recv
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
lea rcx, [rbp - 0x40]
call fcn.1400e0620
mov byte [0x1402357d2], 1
jmp 0x14009b82e
lea rcx, [rbp - 0x40]
call fcn.1400e0620
jmp 0x14009ba67
mov byte [0x1402357d3], 0
xor al, al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401a37c0
add rsp, 0x60
pop rbp
ret