Function at 0x1400a3c30
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1402345c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov ebx, edx
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x14020ab60]
movdqa xmmword [rbp - 0x40], xmm1
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 0x1400a3e92
movss xmm0, dword [0x14024c1d0]
movss dword [rbp - 0x30], xmm0
movss xmm1, dword [0x14024c1d8]
movss dword [rbp - 0x28], xmm1
mov dword [rbp - 0x2c], 0
cmp ebx, 1
jne 0x1400a3d30
lea r8d, [rbx + 0x14]
lea rdx, str.WayPoint_1___SWIM_OUT
lea rcx, [rbp - 0x50]
call fcn.1400f18a0
mov byte [rbp - 0x24], bl
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [0x14024cab8]
call fcn.1400f18a0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024cad8], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024cae0], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024cae4], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024cae8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024caf0], eax
jmp 0x1400a3e94
cmp ebx, 2
jne 0x1400a3da8
lea r8d, [rbx + 0xf]
lea rdx, str.WayPoint_2___LEFT
lea rcx, [rbp - 0x50]
call fcn.1400f18a0
mov byte [rbp - 0x24], 1
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [0x14024caf8]
call fcn.1400f18a0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024cb18], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024cb20], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024cb24], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024cb28], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024cb30], eax
mov bl, 1
jmp 0x1400a3e94
cmp ebx, 3
jne 0x1400a3e1d
lea r8d, [rbx + 0x10]
lea rdx, str.WayPoint_3___MIDDLE
lea rcx, [rbp - 0x50]
call fcn.1400f18a0
mov byte [rbp - 0x24], 1
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [0x14024cb38]
call fcn.1400f18a0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024cb58], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024cb60], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024cb64], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024cb68], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024cb70], eax
mov bl, 1
jmp 0x1400a3e94
cmp ebx, 4
jne 0x1400a3e92
lea r8d, [rbx + 0xe]
lea rdx, str.WayPoint_4___RIGHT
lea rcx, [rbp - 0x50]
call fcn.1400f18a0
mov byte [rbp - 0x24], 1
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [0x14024cb78]
call fcn.1400f18a0
movsd xmm0, qword [rbp - 0x30]
movsd qword [0x14024cb98], xmm0
mov eax, dword [rbp - 0x28]
mov dword [0x14024cba0], eax
movzx eax, byte [rbp - 0x24]
mov byte [0x14024cba4], al
movsd xmm0, qword [rbp - 0x20]
movsd qword [0x14024cba8], xmm0
mov eax, dword [rbp - 0x18]
mov dword [0x14024cbb0], eax
mov bl, 1
jmp 0x1400a3e94
xor bl, bl
lea rcx, [rbp - 0x50]
call fcn.1400f1840
movzx eax, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401b6160
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rbp
ret