Function at 0x180058a90
Capabilities:
Log keystrokes via polling

Disassembly:
push rdi
push r12
sub rsp, 0x38
mov r8, qword [rcx + 0x4398]
movabs rax, 0xea0ea0ea0ea0ea1
mov rdx, qword [rcx + 0x43a0]
xor r12d, r12d
sub rdx, r8
mov rdi, rcx
imul rdx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180058dbc
mov qword [rsp + 0x50], rbx
xor ebx, ebx
mov qword [rsp + 0x58], rbp
mov rbp, qword gs:[0x58]
mov qword [rsp + 0x30], r13
mov r13d, dword [0x1800979b4]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
xor r15d, r15d
mov qword [rsp + 0x60], rsi
mov r14d, 4
nop dword [rax]
mov ecx, dword [r15 + r8 + 4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180058d5c
mov rbp, qword [rbp + r13*8]
mov rsi, qword [rdi + 0x4398]
imul rbx, rbx, 0x8c
mov eax, dword [r14 + rbp]
cmp dword [0x1800aa438], eax
jle 0x180058b71
lea rcx, [0x1800aa438]
call fcn.18005e0b0
cmp dword [0x1800aa438], 0xffffffff
jne 0x180058b71
mov rax, qword [0x180097dc8]
lea rcx, [0x1800aa438]
mov qword [0x1800aa440], rax
call fcn.18005e050
mov rax, qword [0x1800aa440]
test rax, rax
je 0x180058d22
lea rcx, [rsi + 8]
xor r8d, r8d
add rcx, rbx
xor edx, edx
call rax
mov rdx, qword [rdi + 0x4398]
mov rsi, rax
test rax, rax
je 0x180058d29
mov ecx, dword [r14 + rbp]
cmp dword [0x1800aa428], ecx
mov ebx, dword [r15 + rdx + 0x88]
jle 0x180058be5
lea rcx, [0x1800aa428]
call fcn.18005e0b0
cmp dword [0x1800aa428], 0xffffffff
jne 0x180058be5
mov rax, qword [0x180097dd0]
lea rcx, [0x1800aa428]
mov qword [0x1800aa430], rax
call fcn.18005e050
mov rax, qword [0x1800aa430]
test rax, rax
je 0x180058cf4
mov edx, ebx
mov rcx, rsi
call rax
test eax, eax
je 0x180058cf4
xor edx, edx
call fcn.1800522f0
mov rbx, rax
test rax, rax
je 0x180058c61
mov ecx, dword [r14 + rbp]
cmp dword [0x1800aa3c8], ecx
jle 0x180058c4e
lea rcx, [0x1800aa3c8]
call fcn.18005e0b0
cmp dword [0x1800aa3c8], 0xffffffff
jne 0x180058c4e
mov rcx, qword [0x180097db0]
mov qword [0x1800aa3d8], rcx
lea rcx, [0x1800aa3c8]
call fcn.18005e050
mov rax, qword [0x1800aa3d8]
test rax, rax
je 0x180058c61
mov rcx, rbx
call rax
jmp 0x180058c63
xor eax, eax
mov rcx, qword [rdi + 0x4398]
cmp dword [r15 + rcx], 1
jne 0x180058cda
mov edx, 1
call fcn.1800522f0
mov rbx, rax
test rax, rax
je 0x180058d4d
mov ecx, dword [r14 + rbp]
cmp dword [0x1800aa3c8], ecx
jle 0x180058cc2
lea rcx, [0x1800aa3c8]
call fcn.18005e0b0
cmp dword [0x1800aa3c8], 0xffffffff
jne 0x180058cc2
mov rcx, qword [0x180097db0]
mov qword [0x1800aa3d8], rcx
lea rcx, [0x1800aa3c8]
call fcn.18005e050
mov rax, qword [0x1800aa3d8]
test rax, rax
je 0x180058d4d
mov rcx, rbx
call rax
mov rcx, qword [rdi + 0x4398]
test rax, rax
je 0x180058d4d
mov r8d, dword [r15 + rcx + 0x88]
mov rdx, rsi
mov rcx, rax
call fcn.180052b30
jmp 0x180058d4d
mov rcx, qword [0x180097e18]
lea rdx, str.Function__x_does_not_exist_
mov rax, qword [rdi + 0x4398]
mov dword [rcx + 0x804], 0x40600000
mov r8d, dword [rax + r15 + 0x88]
call fcn.18004e950
jmp 0x180058d4d
mov rdx, qword [rdi + 0x4398]
mov rcx, qword [0x180097e18]
lea r8, [rdx + 8]
add r8, rbx
lea rdx, str.Script__s_couldnt_be_loaded_
mov dword [rcx + 0x804], 0x40600000
call fcn.18004e950
mov rbp, qword gs:[0x58]
mov r14d, 4
mov r8, qword [rdi + 0x4398]
inc r12d
mov rcx, qword [rdi + 0x43a0]
movabs rax, 0xea0ea0ea0ea0ea1
sub rcx, r8
movsxd rbx, r12d
imul rcx
add r15, 0x8c
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbx, rdx
jb 0x180058b10
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
add rsp, 0x38
pop r12
pop rdi
ret