Function at 0x180145190
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rdi
sub rsp, 0x728
lea rbp, [rsp + 0x50]
lea rdi, [rsp + 0x50]
mov ecx, 0x126
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1801c1fc0]
xor rax, rbp
mov qword [rbp + 0x6c8], rax
lea rcx, [0x1801d8d8a]
call fcn.180149ac0
nop
call fcn.18003fbc0
mov qword [rbp + 8], rax
mov ecx, 9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1801451f1
jmp 0x180145840
mov rax, qword [0x1801c9808]
mov qword [rbp + 0x28], rax
movss xmm0, dword [0x1801c1f6c]
movss dword [rbp + 0x44], xmm0
mov dword [rbp + 0x64], 0
mov dword [rbp + 0x84], 0
movzx eax, byte [0x1801c97cb]
test eax, eax
je 0x18014523b
mov dword [rbp + 0x64], 0x1f4
mov dword [rbp + 0x84], 0x3e8
jmp 0x1801452e4
cmp qword [0x1801c97d0], 0
jne 0x1801452b1
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x3f4]
call fcn.180007210
mov rcx, rax
call fcn.180008110
mov qword [rsp + 0x40], 0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], 0
lea rcx, str.Roshan_n_DEAD
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x28]
movss xmm2, dword [rbp + 0x44]
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.1800ae2f0
nop
jmp 0x180145840
mov rax, qword [0x1801c97d0]
add rax, 0x34c
mov rcx, rax
call fcn.180006700
mov dword [rbp + 0x64], eax
mov rax, qword [0x1801c97d0]
add rax, 0x348
mov rcx, rax
call fcn.180006700
mov dword [rbp + 0x84], eax
cmp dword [rbp + 0x64], 0
ja 0x180145356
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x424]
call fcn.180007210
mov rcx, rax
call fcn.180008110
mov qword [rsp + 0x40], 0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], 0
lea rcx, str.Roshan_n_DEAD
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x28]
movss xmm2, dword [rbp + 0x44]
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.1800ae2f0
nop
jmp 0x180145840
cmp dword [0x1801c97cc], 0
jne 0x18014557e
mov edx, dword [rbp + 0x84]
lea rcx, [rbp + 0x458]
call fcn.180148660
mov qword [rbp + 0x688], rax
mov rax, qword [rbp + 0x688]
mov qword [rbp + 0x690], rax
mov rax, qword [rbp + 0x690]
mov qword [rbp + 0x698], rax
mov edx, dword [rbp + 0x64]
lea rcx, [rbp + 0x498]
call fcn.180148660
mov qword [rbp + 0x6a0], rax
mov rax, qword [rbp + 0x6a0]
mov qword [rbp + 0x6a8], rax
lea r8, [0x1801a0e38]
mov rdx, qword [rbp + 0x6a8]
lea rcx, [rbp + 0x4d8]
call fcn.180142630
mov qword [rbp + 0x6b0], rax
mov rax, qword [rbp + 0x6b0]
mov qword [rbp + 0x6b8], rax
mov rax, qword [rbp + 0x6b8]
mov qword [rbp + 0x6c0], rax
mov r8, qword [rbp + 0x698]
mov rdx, qword [rbp + 0x6c0]
lea rcx, [rbp + 0xa8]
call fcn.180142510
nop
lea rcx, [rbp + 0x4d8]
call fcn.180007ba0
nop
lea rcx, [rbp + 0x498]
call fcn.180007ba0
nop
lea rcx, [rbp + 0x458]
call fcn.180007ba0
nop
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rbp + 0x514]
call fcn.180007210
mov rcx, rax
call fcn.180008110
mov qword [rsp + 0x40], 0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], 0
lea rcx, str.Roshan
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x28]
movss xmm2, dword [rbp + 0x44]
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.1800ae2f0
nop
lea rcx, [rbp + 0xa8]
call fcn.18000bea0
mov qword [rbp + 0x688], rax
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rbp + 0x544]
call fcn.180007210
mov rcx, rax
call fcn.180008110
mov dword [rbp + 0x690], eax
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rbp + 0x44]
addss xmm0, dword [0x180156664]
movss xmm1, dword [rbp + 0x28]
subss xmm1, dword [0x180181630]
movaps xmm2, xmm0
lea rcx, [rbp + 0x574]
call fcn.1800072d0
mov qword [rbp + 0x698], rax
mov qword [rsp + 0x40], 0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], 0
mov rax, qword [rbp + 0x688]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp + 0x690]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp + 0x698]
movss xmm2, dword [rbp + 0x44]
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.1800ae2f0
nop
lea rcx, [rbp + 0xa8]
call fcn.180007ba0
nop
jmp 0x180145840
cmp dword [0x1801c97cc], 1
jne 0x180145840
movss xmm0, dword [0x180181660]
movss dword [rbp + 0xe4], xmm0
movss xmm0, dword [0x18016aeec]
movss dword [rbp + 0x104], xmm0
mov eax, dword [rbp + 0x64]
cvtsi2ss xmm0, rax
mov eax, dword [rbp + 0x84]
cvtsi2ss xmm1, rax
divss xmm0, xmm1
movss dword [rbp + 0x124], xmm0
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
mov r8d, 0xff
xor edx, edx
lea rcx, [rbp + 0x594]
call fcn.180007210
mov qword [rbp + 0x688], rax
mov dword [rsp + 0x20], 0xff
xor r9d, r9d
xor r8d, r8d
mov edx, 0xff
lea rcx, [rbp + 0x5c4]
call fcn.180007210
mov qword [rbp + 0x690], rax
movss xmm3, dword [rbp + 0x124]
mov r8, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x690]
lea rcx, [rbp + 0x148]
call fcn.180145870
nop
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rbp + 0x5f4]
call fcn.180007210
mov rcx, rax
call fcn.180008110
mov qword [rsp + 0x40], 0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], 0
lea rcx, str.Roshan
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x28]
movss xmm2, dword [rbp + 0x44]
xor edx, edx
mov rcx, qword [rbp + 8]
call fcn.1800ae2f0
nop
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rbp + 0x44]
addss xmm0, dword [0x180156664]
movss xmm1, dword [rbp + 0x28]
subss xmm1, dword [0x180181640]
addss xmm1, dword [0x1801a14e8]
movaps xmm2, xmm0
lea rcx, [rbp + 0x178]
call fcn.1800072d0
nop
movss xmm0, dword [rbp + 0x2c]
addss xmm0, dword [rbp + 0x44]
addss xmm0, dword [0x180156664]
addss xmm0, dword [0x18016aeec]
movss xmm1, dword [rbp + 0x28]
addss xmm1, dword [0x180181640]
addss xmm1, dword [0x1801a14e8]
movaps xmm2, xmm0
lea rcx, [rbp + 0x198]
call fcn.1800072d0
nop
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rbp + 0x624]
call fcn.180007210
mov rcx, rax
call fcn.180008110
movss xmm0, dword [0x180156658]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp + 0x198]
lea rdx, [rbp + 0x178]
mov rcx, qword [rbp + 8]
call fcn.1800adba0
nop
lea rcx, [rbp + 0x148]
call fcn.180008110
mov dword [rbp + 0x684], eax
movss xmm0, dword [rbp + 0x19c]
subss xmm0, dword [0x180156658]
movss xmm1, dword [0x1801a14f0]
mulss xmm1, dword [rbp + 0x124]
movss xmm2, dword [rbp + 0x178]
addss xmm2, xmm1
movaps xmm1, xmm2
movaps xmm2, xmm0
lea rcx, [rbp + 0x654]
call fcn.1800072d0
mov qword [rbp + 0x688], rax
movss xmm0, dword [rbp + 0x17c]
addss xmm0, dword [0x180156658]
movss xmm1, dword [rbp + 0x178]
addss xmm1, dword [0x180156658]
movaps xmm2, xmm0
lea rcx, [rbp + 0x674]
call fcn.1800072d0
mov qword [rbp + 0x690], rax
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rbp + 0x684]
mov r8, qword [rbp + 0x688]
mov rdx, qword [rbp + 0x690]
mov rcx, qword [rbp + 8]
call fcn.1800add70
nop
lea rcx, [rbp - 0x50]
lea rdx, [0x1801a06f0]
call fcn.180149890
mov rcx, qword [rbp + 0x6c8]
xor rcx, rbp
call fcn.180149d60
lea rsp, [rbp + 0x6d8]
pop rdi
pop rbp
ret