Function at 0x180079fb0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x50
mov edx, 0x1b
movzx ebx, cl
call fcn.1800af880
mov edx, 0x13
call fcn.1800af880
mov edx, 0x55
call fcn.1800af880
mov edx, 0x51
call fcn.1800af880
mov edx, 0x52
call fcn.1800af880
mov edx, 0x53
call fcn.1800af880
mov edx, 0x54
call fcn.1800af880
call fcn.1800c9180
mov edx, 3
lea rcx, str.Rotate_Up__CTRL_
call fcn.1800c9390
mov edx, 3
lea rcx, str.Rotate_Down__Shift_
call fcn.1800c9390
mov edx, 3
lea rcx, str.Forward__W_
call fcn.1800c9390
mov edx, 3
lea rcx, str.Backward__S_
call fcn.1800c9390
mov edx, 3
lea rcx, str.Left__A_
call fcn.1800c9390
mov edx, 3
lea rcx, str.Right__D_
call fcn.1800c9390
call fcn.1800c9530
movabs rbp, 0xd80958fc74e988a6
mov qword [0x18033d960], rbp
test bl, bl
je 0x18007ad29
xor ebx, ebx
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
movabs rdi, 0x6094ad011a2ea87d
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [0x18033d960], rbp
cmp dword [rax], ebx
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
je 0x18007ac93
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
movaps xmmword [rsp + 0x30], xmm6
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov ecx, dword [rax]
movabs rax, 0x89f149b6131e57da
mov dword [rsp + 0x78], ecx
mov qword [0x18033d960], rax
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov qword [0x1802bed38], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov ecx, dword [rax]
movabs rax, 0xd45dc2893621e1fe
mov dword [rsp + 0x78], ecx
mov qword [0x18033d960], rax
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [0x18033d960], rbp
movss xmm0, dword [rax]
movss dword [0x18031d3ac], xmm0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov ecx, dword [rax]
movabs rax, 0xd5037ba82e12416f
mov dword [rsp + 0x78], ecx
mov qword [0x18033d960], rax
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
lea ecx, [rbx + 0x57]
movss xmm6, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
movabs r14, 0xe2587f8cbbd87b1d
jb 0x18007a5d3
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], 0xd0
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], r14
mov qword [0x1802bed30], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
cmp dword [rax], ebx
jne 0x18007a5d3
lea ecx, [rbx + 0x53]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18007a4ac
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], 0xcf
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], r14
mov qword [0x1802bed30], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
cmp dword [rax], ebx
jne 0x18007a4ac
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
movss xmm2, dword [0x18031d3a8]
movss xmm1, dword [0x18031d3ac]
mov ecx, dword [rax]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
comiss xmm6, dword [0x18026c65c]
jbe 0x18007a443
cmp byte [rsp + 0x70], bl
je 0x18007a443
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
subss xmm6, dword [0x18026c65c]
jmp 0x18007a6f4
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], ebx
jmp 0x18007a70f
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
xorps xmm2, xmm2
movss xmm1, dword [0x18031d3ac]
mov dword [rsp + 0x28], 1
mov ecx, dword [rax]
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov ecx, dword [rax]
call fcn.18003fac0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mulss xmm6, dword [0x18026e614]
subss xmm6, dword [0x18026c65c]
jmp 0x18007a6f4
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
xorps xmm2, xmm2
movss xmm1, dword [0x18031d3ac]
mov dword [rsp + 0x28], 1
mov ecx, dword [rax]
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov ecx, dword [rax]
call fcn.18003fac0
movd xmm0, dword [0x1802b0328]
cvtdq2ps xmm0, xmm0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
addss xmm6, xmm0
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov ecx, dword [rax]
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], rbx
movss dword [rsp + 0x78], xmm6
mov qword [0x1802bed30], rax
movabs rsi, 0xab54a438726d25d5
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rsi
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
movaps xmm6, xmmword [rsp + 0x30]
jb 0x18007a7a3
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], 0xbd
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], r14
mov qword [0x1802bed30], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
cmp dword [rax], ebx
je 0x18007a83c
movss xmm1, dword [0x18031d3b0]
movd xmm0, dword [0x1802b0324]
cvtdq2ps xmm0, xmm0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
addss xmm1, xmm0
movss dword [0x18031d3b0], xmm1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
movss xmm2, dword [0x18031d3a8]
movss xmm1, dword [0x18031d3ac]
mov ecx, dword [rax]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18007a892
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], 0xbe
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], r14
mov qword [0x1802bed30], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
cmp dword [rax], ebx
je 0x18007a92b
movss xmm1, dword [0x18031d3b0]
movd xmm0, dword [0x1802b0320]
cvtdq2ps xmm0, xmm0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
subss xmm1, xmm0
movss dword [0x18031d3b0], xmm1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
movss xmm2, dword [0x18031d3a8]
movss xmm1, dword [0x18031d3ac]
mov ecx, dword [rax]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18007a981
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], 0xbc
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], r14
mov qword [0x1802bed30], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
cmp dword [rax], ebx
je 0x18007aa1a
movss xmm1, dword [0x18031d3ac]
movd xmm0, dword [0x1802b031c]
cvtdq2ps xmm0, xmm0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
subss xmm1, xmm0
movss dword [0x18031d3ac], xmm1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
movss xmm2, dword [0x18031d3a8]
movss xmm1, dword [0x18031d3ac]
mov ecx, dword [rax]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18007aa70
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], 0xad
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], r14
mov qword [0x1802bed30], rbx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
cmp dword [rax], ebx
je 0x18007ab09
movss xmm1, dword [0x18031d3ac]
movd xmm0, dword [0x18031d3b4]
cvtdq2ps xmm0, xmm0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
addss xmm1, xmm0
movss dword [0x18031d3ac], xmm1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
movss xmm2, dword [0x18031d3a8]
movss xmm1, dword [0x18031d3ac]
mov ecx, dword [rax]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jae 0x18007ac83
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
movss xmm3, dword [0x18031d3b0]
xorps xmm1, xmm1
movss xmm2, dword [0x18031d3a8]
mov dword [rsp + 0x28], 1
mov ecx, dword [rax]
mov dword [rsp + 0x20], 2
call fcn.1800aeaf0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov ecx, dword [rax]
call fcn.18003fac0
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rbp
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rdi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov qword [0x18033d960], rsi
mov ecx, dword [rax]
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], rbx
mov qword [0x1802bed30], rax
mov dword [rsp + 0x78], ebx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
call fcn.1800ce2a0
mov ecx, dword [rax]
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed30], rax
mov dword [0x1802bec68], ebx
mov qword [0x18033d960], rdi
mov dword [0x1802bec58], 1
call fcn.1800ce2a0
mov qword [rsp + 0x78], rbx
mov ecx, dword [rax]
movabs rax, 0x89f149b6131e57da
mov dword [rsp + 0x78], ecx
mov qword [0x18033d960], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], rbx
mov qword [0x1802bed30], rax
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x78]
mov qword [0x1802bed38], rax
mov dword [0x1802bec68], ebx
mov dword [0x1802bec58], 2
call fcn.1800ce2a0
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
xor ebx, ebx
mov dword [0x1802bec58], ebx
mov dword [0x1802bec68], ebx
call fcn.1800ce2a0
movabs rdi, 0x6094ad011a2ea87d
jmp 0x18007ac98