Function at 0x1800525e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0xb0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x180077040]
xor rax, rsp
mov qword [rsp + 0x60], rax
movaps xmm9, xmm1
mov rbx, rcx
mov rdx, qword [0x180078500]
mov rax, qword [rdx + 0x3ec8]
movss xmm7, dword [rax + 0x28]
movsxd rax, dword [rcx]
lea rsi, [0x180068f40]
mov r8, qword [rsi + rax*8]
mov rcx, qword [rdx + 0x3c20]
xor edi, edi
movss xmm8, dword [0x18006d7f4]
xorps xmm6, xmm6
test r8, r8
jne 0x18005265b
xorps xmm4, xmm4
jmp 0x18005269f
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r8
movss dword [rsp + 0x20], xmm8
movss xmm3, dword [0x18006d7d0]
movss xmm2, dword [rdx + 0x3c28]
lea rdx, [rsp + 0x58]
call fcn.180033e80
movss xmm0, dword [rsp + 0x58]
addss xmm0, dword [0x18006d690]
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
addss xmm4, xmm9
subss xmm7, xmm4
subss xmm7, dword [0x18006d72c]
maxss xmm6, xmm7
movaps xmm1, xmm8
movaps xmm0, xmm6
call fcn.180018a10
movss dword [rsp + 0x40], xmm4
mov dword [rsp + 0x44], edi
mov qword [rsp + 0x58], rbx
mov ecx, dword [0x1800784d4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800792e0], ecx
jle 0x1800527be
lea rcx, [0x1800792e0]
call fcn.18005b258
cmp dword [0x1800792e0], 0xffffffff
jne 0x1800527be
xorps xmm0, xmm0
movups xmmword [0x1800792a0], xmm0
movups xmmword [0x1800792b0], xmm0
movups xmmword [0x1800792c0], xmm0
movups xmmword [0x1800792d0], xmm0
mov dword [0x1800792a0], 0
mov qword [0x1800792a8], rdi
mov qword [0x1800792b0], rdi
mov ecx, 0x20
call fcn.18005b2d0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1800792a8], rax
mov qword [0x1800792b8], rdi
xorps xmm0, xmm0
movdqa xmmword [0x1800792c0], xmm0
mov qword [0x1800792d0], 7
mov qword [0x1800792d8], 8
mov dword [0x1800792a0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1800792b8]
call fcn.180003ad0
nop
lea rcx, [0x18005cf60]
call fcn.18005b664
nop
lea rcx, [0x1800792e0]
call fcn.18005b1ec
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
call fcn.180057390
mov rdi, qword [rax]
lea rdx, [rsp + 0x40]
cmp byte [rdi + 0x18], 0
jne 0x1800527f6
mov rax, qword [rsp + 0x58]
movsxd rcx, dword [rax]
mov rcx, qword [rsi + rcx*8]
call fcn.18003b500
test al, al
je 0x180052843
mov byte [rdi + 0x18], 1
jmp 0x180052843
lea rcx, [0x18005ff3c]
call fcn.18003b500
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rbx, [0x180068c90]
lea rsi, str.TheDivision.exe
nop dword [rax + rax]
mov ecx, dword [rbx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18005283a
mov ecx, dword [rbx]
mov rax, qword [rsp + 0x58]
mov dword [rax], ecx
mov byte [rdi + 0x18], 0
add rbx, 4
cmp rbx, rsi
jne 0x180052820
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.18005b190
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
ret