Function at 0x180025cf0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x730
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x130
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x758]
mov rax, qword [0x180050288]
xor rax, rbp
mov qword [rbp + 0x6f0], rax
lea rcx, [0x1800915dd]
call fcn.18003a400
mov eax, dword [0x180087470]
inc eax
mov dword [0x180087470], eax
movss xmm2, dword [0x18003ea50]
movss xmm1, dword [0x18004cc74]
lea rcx, [rbp + 8]
call fcn.1800072e0
movss xmm0, dword [0x180089ab8]
addss xmm0, dword [rbp + 8]
addss xmm0, dword [0x180087468]
movss xmm1, dword [0x180089abc]
addss xmm1, dword [rbp + 0xc]
addss xmm1, dword [0x18008746c]
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x28]
call fcn.1800072e0
movzx eax, byte [0x18008714a]
test eax, eax
je 0x180025e01
movss xmm0, dword [0x180089ae0]
addss xmm0, dword [0x180087678]
addss xmm0, dword [rbp + 8]
movss dword [rbp + 0x28], xmm0
movss xmm0, dword [0x18008767c]
divss xmm0, dword [0x18004cc18]
movss xmm1, dword [0x180089ae4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rbp + 0x72c]
divss xmm1, dword [0x18004cc18]
subss xmm0, xmm1
movss dword [rbp + 0x2c], xmm0
movzx eax, byte [0x18008714b]
test eax, eax
je 0x180025e40
movss xmm0, dword [0x180087474]
movss dword [rbp + 0x2c], xmm0
mov byte [0x18008714b], 0
xorps xmm0, xmm0
movss dword [0x180087474], xmm0
movss xmm0, dword [rbp + 0x2c]
subss xmm0, dword [0x180089abc]
movss dword [0x18008746c], xmm0
mov rax, qword [rbp + 0x728]
mov qword [rbp + 0x3a8], rax
movss xmm2, dword [rbp + 0x2c]
movss xmm1, dword [rbp + 0x28]
lea rcx, [rbp + 0x364]
call fcn.1800072e0
mov rax, qword [rax]
mov qword [rbp + 0x388], rax
mov rdx, qword [rbp + 0x3a8]
mov rcx, qword [rbp + 0x388]
call fcn.180027fd0
mov byte [rbp + 0x44], al
movzx eax, byte [rbp + 0x44]
test eax, eax
je 0x180025f12
lea rax, [rbp + 0x408]
lea rcx, [0x1800500b0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movss xmm2, dword [rbp + 0x2c]
movss xmm1, dword [rbp + 0x28]
lea rcx, [rbp + 0x3c4]
call fcn.1800072e0
mov rax, qword [rax]
mov qword [rbp + 0x3e8], rax
lea rax, [rbp + 0x5d0]
lea rcx, [rbp + 0x408]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r9, [rbp + 0x5d0]
movss xmm2, dword [rbp + 0x72c]
movss xmm1, dword [rbp + 0x728]
mov rcx, qword [rbp + 0x3e8]
call fcn.180037ee0
mov byte [0x180087149], 1
jmp 0x180025f8b
lea rax, [rbp + 0x478]
lea rcx, [0x1800500a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movss xmm2, dword [rbp + 0x2c]
movss xmm1, dword [rbp + 0x28]
lea rcx, [rbp + 0x434]
call fcn.1800072e0
mov rax, qword [rax]
mov qword [rbp + 0x458], rax
lea rax, [rbp + 0x600]
lea rcx, [rbp + 0x478]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea r9, [rbp + 0x600]
movss xmm2, dword [rbp + 0x72c]
movss xmm1, dword [rbp + 0x728]
mov rcx, qword [rbp + 0x458]
call fcn.180037ee0
movzx eax, byte [0x18008714a]
test eax, eax
jne 0x180025fba
movss xmm0, dword [rbp + 0x72c]
addss xmm0, dword [rbp + 0xc]
movss xmm1, dword [0x18008746c]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [0x18008746c], xmm0
movzx eax, byte [0x180050240]
test eax, eax
je 0x18002607b
movss xmm0, dword [rbp + 0x728]
divss xmm0, dword [0x18004cc18]
movss xmm1, dword [rbp + 0x28]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rbp + 0x72c]
divss xmm1, dword [0x18004cc18]
movss xmm2, dword [rbp + 0x2c]
addss xmm2, xmm1
movaps xmm1, xmm2
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x68]
call fcn.1800072e0
xorps xmm0, xmm0
movss dword [rbp + 0x4a8], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x4ac], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x4b0], xmm0
movss xmm0, dword [0x18004cbf4]
movss dword [rbp + 0x4b4], xmm0
lea rax, [rbp + 0x630]
lea rcx, [rbp + 0x4a8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x630]
mov rdx, qword [rbp + 0x68]
lea rcx, [0x1800457b8]
call fcn.1800338e0
mov eax, dword [0x180087470]
cmp dword [0x180050180], eax
jne 0x1800261ba
movss xmm0, dword [rbp + 0x728]
divss xmm0, dword [0x18004cc18]
movss xmm1, dword [rbp + 0x28]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rbp + 0x72c]
divss xmm1, dword [0x18004cc18]
movss xmm2, dword [rbp + 0x2c]
addss xmm2, xmm1
movaps xmm1, xmm2
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0x88]
call fcn.1800072e0
xorps xmm0, xmm0
movss dword [rbp + 0x4d8], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x4dc], xmm0
xorps xmm0, xmm0
movss dword [rbp + 0x4e0], xmm0
movss xmm0, dword [0x18004cbf4]
movss dword [rbp + 0x4e4], xmm0
lea rax, [rbp + 0x660]
lea rcx, [rbp + 0x4d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x660]
mov rdx, qword [rbp + 0x88]
lea rcx, str.PressKey
call fcn.1800338e0
call fcn.180026620
movzx eax, al
test eax, eax
jne 0x180026158
mov byte [0x18008714c], 0
movzx eax, byte [0x18008714c]
test eax, eax
jne 0x1800261b5
mov dword [rbp + 0xa4], 0
jmp 0x18002617d
mov eax, dword [rbp + 0xa4]
inc eax
mov dword [rbp + 0xa4], eax
cmp dword [rbp + 0xa4], 0xff
jge 0x1800261b5
mov ecx, dword [rbp + 0xa4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1800261b3
mov rax, qword [rbp + 0x730]
mov ecx, dword [rbp + 0xa4]
mov dword [rax], ecx
mov dword [0x180050180], 0xffffffff
jmp 0x18002616f
jmp 0x180026373
movss xmm0, dword [rbp + 0x728]
divss xmm0, dword [0x18004cc18]
movss xmm1, dword [rbp + 0x28]
addss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rbp + 0x72c]
divss xmm1, dword [0x18004cc18]
movss xmm2, dword [rbp + 0x2c]
addss xmm2, xmm1
movaps xmm1, xmm2
movaps xmm2, xmm1
movaps xmm1, xmm0
lea rcx, [rbp + 0xc8]
call fcn.1800072e0
movss xmm0, dword [0x18004cbf4]
movss dword [rbp + 0x508], xmm0
movss xmm0, dword [0x18004cbf4]
movss dword [rbp + 0x50c], xmm0
movss xmm0, dword [0x18004cbf4]
movss dword [rbp + 0x510], xmm0
movss xmm0, dword [0x18004cbf4]
movss dword [rbp + 0x514], xmm0
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x578], rax
mov rax, qword [rbp + 0x730]
movzx edx, byte [rax]
lea rcx, [rbp + 0x538]
call fcn.1800356b0
mov qword [rbp + 0x6d8], rax
mov rax, qword [rbp + 0x6d8]
mov qword [rbp + 0x6e0], rax
mov rcx, qword [rbp + 0x6e0]
call fcn.180003b10
mov rcx, rax
call fcn.180038b90
mov qword [rbp + 0x6e8], rax
lea rax, [rbp + 0x690]
lea rcx, [rbp + 0x508]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x690]
mov rdx, qword [rbp + 0x578]
mov rcx, qword [rbp + 0x6e8]
call fcn.180033c70
nop
lea rcx, [rbp + 0x538]
call fcn.180002c80
movzx eax, byte [rbp + 0x44]
test eax, eax
je 0x180026352
xor r8d, r8d
mov edx, dword [0x180087470]
xor ecx, ecx
call fcn.1800267e0
movzx eax, al
test eax, eax
je 0x180026349
mov byte [0x18008714c], 1
mov eax, dword [0x180087470]
mov dword [0x180050180], eax
mov dword [rbp + 0xe4], 0
jmp 0x18002632e
xor r8d, r8d
mov edx, dword [0x180087470]
xor ecx, ecx
call fcn.1800267e0
movzx eax, al
test eax, eax
je 0x180026373
mov dword [0x180050180], 0xffffffff