Function at 0x18003f620
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
movabs rcx, 0x1424304a8
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003f94f
mov rcx, qword [rcx + 0xd0]
test rcx, rcx
je 0x18003f94f
mov edx, 0x68
call fcn.18003d170
call rax
mov rcx, rax
test rax, rax
je 0x18003f94f
mov qword [rsp + 0x38], rbx
mov edx, 0x470
xor ebx, ebx
mov qword [rsp + 0x30], rbx
call fcn.18003d170
lea rdx, [rsp + 0x30]
call rax
test al, al
jne 0x18003f68a
mov qword [rsp + 0x30], rbx
jmp 0x18003f68f
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x18003f94a
mov edx, 0x1d8
mov qword [rsp + 0x40], rsi
mov rcx, rbx
call fcn.18003d170
xor edx, edx
call rax
mov rsi, rax
test rax, rax
je 0x18003f945
mov qword [rsp + 0x20], rdi
lea rdi, [rax + 0x28]
test rdi, rdi
je 0x18003f940
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x18003f940
mov rbx, qword [rbx + 0xc8]
test rbx, rbx
je 0x18003f940
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x44], 0
je 0x18003f756
xorps xmm2, xmm2
mov edx, 0x44
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x45
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x46
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x47
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x48
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x49
mov rcx, rbx
call fcn.18003fab0
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x60], 0
je 0x18003f7c3
xorps xmm2, xmm2
mov edx, 0x5e
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x5f
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x60
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x79
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x62
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x61
mov rcx, rbx
call fcn.18003fab0
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x7c], 0
je 0x18003f7f0
xorps xmm2, xmm2
mov edx, 0x11
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x12
mov rcx, rbx
call fcn.18003fab0
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x7d], 0
je 0x18003f82d
xorps xmm2, xmm2
mov edx, 0x67
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x68
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x69
mov rcx, rbx
call fcn.18003fab0
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x7e], 0
je 0x18003f871
movss xmm2, dword [rax + 0x80]
mov edx, 0x52
mov rcx, rbx
call fcn.18003fab0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003f871
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x38]
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x84], 0
je 0x18003f891
xorps xmm2, xmm2
mov edx, 0x1f
mov rcx, rbx
call fcn.18003fab0
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x85], 0
je 0x18003f8d0
mov rcx, qword [rsi + 0x30]
mov dl, 1
movabs rax, 0x1414752b0
call rax
test al, al
je 0x18003f8d0
mov rcx, qword [rsi + 0x30]
xor edx, edx
movabs rax, 0x141550da0
mov rcx, qword [rcx + 0xb0]
call rax
mov rax, qword [0x1800eaa48]
cmp byte [rax + 0x88], 0
je 0x18003f940
xorps xmm2, xmm2
mov edx, 0x3a
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x3b
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x3f
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x55
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x56
mov rcx, rbx
call fcn.18003fab0
xorps xmm2, xmm2
mov edx, 0x57
mov rcx, rbx
call fcn.18003fab0
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
add rsp, 0x28
ret