Function at 0x710dc0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
sub rsp, 0xe8
mov rbp, rsp
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xa8], rbp
mov qword [rbp + 0x100], rcx
mov byte [rbp + 0x108], dl
nop
mov byte [rbp + 0xcf], 0
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x6d8]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x280]
cmp eax, 0xffffffff
jle 0x711275
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x6d8]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x280]
mov ebx, eax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x6d8]
mov rax, qword [rax + 0x4b0]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x28]
sub eax, 1
cmp ebx, eax
jg 0x711275
mov byte [rbp + 0xcf], 1
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rax, qword [rax + 0x6f8]
mov rcx, qword [rax + 0xb8]
mov rax, qword [0x007dbe00]
mov edx, dword [rax]
call fcn.0054d820
mov rax, qword [rbp + 0x100]
mov rbx, qword [rax + 0x6d8]
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax + 0x280]
mov rcx, qword [rbx + 0x4b0]
mov rdx, rcx
lea r8, [rbp + 0xa0]
mov rbx, qword [rcx]
mov rcx, rdx
mov rdx, r8
mov r8d, eax
call qword [rbx + 0x18]
mov rcx, qword [0x007dbea0]
mov rdx, qword [rbp + 0xa0]
call fcn.00410390
mov rax, qword [rbp + 0x100]
mov rbx, qword [rax + 0x6d8]
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax + 0x280]
mov rcx, qword [rbx + 0x4b0]
mov rdx, rcx
lea r8, [rbp + 0x98]
mov rbx, qword [rcx]
mov rcx, rdx
mov rdx, r8
mov r8d, eax
call qword [rbx + 0x18]
lea rcx, [rbp + 0xd0]
mov rdx, qword [rbp + 0x98]
call fcn.0074eab0
mov rcx, qword [rbp + 0xd0]
call fcn.006fe140
test al, al
je 0x710fd8
lea rcx, [rbp + 0x90]
mov rax, qword [0x007dbcc8]
mov rdx, qword [rax]
mov r8, qword [rbp + 0xd0]
call fcn.004117d0
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
mov rdx, qword [rbp + 0x90]
call fcn.00584b30
jmp 0x711040
mov rax, qword [0x007dba18]
mov rcx, qword [rax]
lea rdx, [rbp + 0x80]
mov r8, qword [rbp + 0xd0]
call fcn.007506a0
lea rcx, [rbp + 0x88]
mov edx, 3
mov rax, qword [0x007dbcc8]
mov r8, qword [rax]
mov r9, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.00411900
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
mov rdx, qword [rbp + 0x88]
call fcn.00584b30
cmp byte [rbp + 0x108], 0
je 0x7110b5
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
lea rdx, [rbp + 0x78]
call fcn.00584ac0
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xbc], 0
mov rax, qword [rbp + 0xc0]
test rax, rax
je 0x71108d
mov eax, dword [rax - 4]
mov dword [rbp + 0xbc], eax
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rax, qword [rax + 0x6f8]
mov rcx, rax
mov edx, dword [rbp + 0xbc]
mov rbx, qword [rax]
call qword [rbx + 0x2b8]
jmp 0x71114b
mov rax, qword [0x007dc198]
cmp dword [rax], 0xffffffff
jle 0x711135
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rax, qword [rax + 0x6f8]
mov rcx, rax
mov rdx, qword [0x007dc198]
mov r8, qword [0x007dc190]
mov edx, dword [rdx]
add edx, dword [r8]
mov rbx, qword [rax]
call qword [rbx + 0x2b8]
mov dword [rbp + 0xb8], 0
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x711110
mov eax, dword [rax - 4]
mov dword [rbp + 0xb8], eax
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rax, qword [rax + 0x6f8]
mov rcx, rax
mov edx, dword [rbp + 0xb8]
mov rbx, qword [rax]
call qword [rbx + 0x2b0]
jmp 0x71114b
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
call fcn.005b78f0
mov rax, qword [0x007dc1b0]
mov dword [rax], 0
mov rax, qword [0x007db950]
mov byte [rax], 1
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
lea rdx, [rbp + 0x68]
call fcn.00584ac0
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x68]
call fcn.00431e00
mov rcx, qword [0x007dbf38]
mov rdx, qword [rbp + 0x70]
call fcn.00410390
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
lea rdx, [rbp + 0x60]
call fcn.00584ac0
mov rcx, qword [0x007db8e8]
mov rdx, qword [rbp + 0x60]
call fcn.00410390
mov cl, 1
call fcn.0074c460
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x6d8]
mov rcx, rax
mov rax, qword [rax]
call qword [rax + 0x280]
mov rcx, qword [rbp + 0x100]
mov rcx, qword [rcx + 0x700]
mov rdx, rcx
mov rbx, qword [rcx]
mov rcx, rdx
mov edx, eax
call qword [rbx + 0x30]
mov rcx, rax
call fcn.0074c5e0
mov rcx, qword [0x007dbc70]
mov qword [rcx], rax
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
lea rdx, [rbp + 0x58]
call fcn.00584ac0
mov rax, qword [0x007dba18]
mov rcx, qword [rax]
mov rdx, qword [rbp + 0x58]
mov rax, qword [0x007dbc70]
mov r8, qword [rax]
call fcn.0076af80
mov rax, qword [0x007dbc70]
cmp qword [rax], 0
je 0x711275
cmp byte [rbp + 0x108], 0
jne 0x711275
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
call fcn.005b78f0
mov rcx, qword [rbp + 0x100]
call fcn.0070f340
cmp byte [rbp + 0x108], 0
sete al
test byte [rbp + 0xcf], al
je 0x7112af
mov rax, qword [0x007dc2c8]
cmp byte [rax], 0
je 0x7112af
mov rax, qword [rbp + 0x100]
cmp byte [rax + 0x6f8], 0
je 0x7112e9
cmp byte [rbp + 0x108], 0
sete al
test byte [rbp + 0xcf], al
je 0x711392
mov rax, qword [0x007dc2c8]
cmp byte [rax], 0
jne 0x711392
mov rax, qword [rbp + 0x100]
cmp byte [rax + 0x6f8], 1
jne 0x711392
mov rax, qword [0x007dc1c8]
mov rcx, qword [rax]
call fcn.006c2df0
mov rax, qword [rbp + 0x100]
mov byte [rax + 0x6f8], 0
nop
mov qword [rbp + 0xd8], 0
mov rax, qword [0x007dba18]
mov rax, qword [rax]
mov rcx, qword [rax + 0x6f8]
lea rdx, [rbp + 0xd8]
call fcn.00584ac0
mov ecx, 0x10
call sub.user32.dll_GetKeyState
movsx rax, ax
mov dword [rbp + 0xb4], eax
mov rax, qword [0x007dba18]
mov rcx, qword [rax]
xor edx, edx
xor r8, r8
mov r9, qword [rbp + 0xd8]
mov eax, dword [rbp + 0xb4]
shr eax, 0x10
test ax, ax
setne al
mov byte [rsp + 0x20], al
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x40], 0
call fcn.0075d8d0
nop
lea rcx, [rbp + 0xd8]
call fcn.0040fd60
nop
lea rcx, [rbp + 0x58]
mov edx, 3
call fcn.0040fe40
lea rcx, [rbp + 0x70]
call fcn.0040fd60
lea rcx, [rbp + 0x78]
call fcn.0040fd60
lea rcx, [rbp + 0x80]
mov edx, 5
call fcn.0040fe40
lea rcx, [rbp + 0xd0]
call fcn.0040fd60
lea rsp, [rbp + 0xe8]
pop rbx
pop rbp
ret