Function at 0x1400017de
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
sub rsp, 0x180
lea rbp, [rsp + 0x80]
mov eax, edx
mov dword [rbp + 0x120], r8d
mov r8d, r9d
mov edx, ecx
mov byte [rbp + 0x110], dl
mov word [rbp + 0x118], ax
mov eax, r8d
mov byte [rbp + 0x128], al
mov dword [rbp + 0xe4], 0x61b89ce8
mov dword [rbp - 0x34], 0x75954616
movzx eax, byte [rbp + 0x110]
lea edx, [rax - 0xdd]
movzx eax, byte [rbp + 0x128]
cmp edx, eax
jne 0x140001869
movzx eax, byte [rbp + 0x128]
movzx ecx, byte [rbp + 0x110]
movzx edx, byte [rbp + 0x110]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, edx
mov edx, 0xf0
mov ecx, 0x9f
call fcn.140001450
movzx eax, byte [rbp + 0x128]
lea edx, [rax + 0xd6]
movzx eax, byte [rbp + 0x110]
cmp edx, eax
je 0x140001dfa
mov eax, dword [rbp - 0x34]
cmp eax, 0xee8d83f2
je 0x140001cfa
mov eax, dword [rbp - 0x34]
add eax, 0x495d6c55
cmp dword [rbp + 0xe8], eax
jb 0x1400018f2
mov eax, dword [rbp - 0x34]
mov dword [rbp + 0xe8], eax
lea rax, [rbp + 0x84]
mov rdx, rax
mov ecx, 0x4c
mov rax, qword [sym.imp.USER32.dll_GetGUIThreadInfo]
call rax
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp + 0xe8]
and eax, 0x80c940a5
mov dword [rbp - 0x34], eax
lea rdx, [rbp - 0x48]
mov rax, qword [rbp + 0xc8]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetIconInfo]
call rax
mov dword [rbp - 0x4c], eax
cmp dword [rbp + 0xe8], 0xc99632c8
jne 0x1400019e3
mov eax, dword [rbp - 0x34]
imul eax, eax, 0xfd4d793d
cmp eax, dword [rbp + 0xe8]
jae 0x1400019c2
movsx eax, word [rbp + 0x118]
cmp eax, 0x4b1d
je 0x1400019b2
cmp eax, 0x4cc9
jne 0x140001a52
movzx eax, byte [rbp + 0x110]
mov byte [rbp + 0x128], al
mov eax, dword [rbp - 0x34]
mov dword [rbp + 0xe8], eax
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xb0]
mov qword [rsp + 0x20], 0xfe
mov r9, rcx
mov r8, rdx
lea rdx, str.candy_crim_Literary_Friendship_consolidating
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_CreateDialogParamA]
call rax
mov qword [rbp + 0xd8], rax
mov eax, dword [rbp + 0xe8]
add eax, 0x13bff36a
mov dword [rbp - 0x34], eax
mov rax, qword [rbp + 0xa0]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_SetCursor]
call rax
mov qword [rbp + 0x98], rax
jmp 0x1400019e1
mov eax, dword [rbp + 0xe8]
sub eax, 0x3bd12770
mov dword [rbp - 0x34], eax
jmp 0x1400019e1
lea rdx, [rbp - 0x48]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetClientRect]
call rax
mov dword [rbp + 0xbc], eax
jmp 0x140001a52
jmp 0x140001a52
mov edx, dword [rbp - 0x34]
mov eax, dword [rbp + 0xe8]
add eax, edx
mov dword [rbp + 0xe4], eax
movsx eax, word [rbp + 0x118]
cmp eax, 0x4d0
jne 0x140001a2c
mov rax, qword [rbp + 0xd8]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_IsWindow]
call rax
mov dword [rbp + 0xd0], eax
mov eax, dword [rbp - 0x34]
xor eax, dword [rbp + 0xe8]
mov dword [rbp + 0xe4], eax
jmp 0x140001a50
mov word [rbp + 0x82], 0x986
lea rax, [rbp + 0x82]
mov qword [rbp + 0xf0], rax
mov eax, dword [rbp + 0xe4]
mov dword [rbp + 0xe8], eax
nop
jmp 0x140001a53
nop
mov eax, dword [rbp + 0x130]
mov dword [rbp + 0x94], eax
cmp word [rbp + 0x118], 0x66dd
je 0x140001b51
movzx eax, byte [rbp + 0x128]
mov byte [rbp + 0xff], al
mov eax, dword [rbp - 0x34]
cmp eax, 0x75954616
je 0x140001b50
cmp eax, 0x9196d862
jne 0x140001b51
mov rax, qword [rbp + 0xf0]
movzx eax, word [rax]
movzx edx, ax
movzx eax, word [rbp + 0x82]
movzx eax, ax
mov ecx, eax
shl edx, cl
mov eax, edx
mov edx, eax
mov rax, qword [rbp + 0xf0]
mov word [rax], dx
lea rax, [rbp + 0x78]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetKeyboardState]
call rax
mov dword [rbp + 0xd4], eax
movzx eax, byte [rbp + 0xff]
cmp eax, 0xc4
jne 0x140001b3a
mov rax, qword [rbp + 0xf0]
movzx eax, word [rax]
movzx edx, ax
movzx eax, word [rbp + 0x82]
movzx eax, ax
mov ecx, eax
sar edx, cl
mov eax, edx
mov edx, eax
mov rax, qword [rbp + 0xf0]
mov word [rax], dx
movzx eax, byte [rbp + 0xff]
movzx ecx, byte [rbp + 0x110]
movzx edx, byte [rbp + 0xff]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, edx
mov edx, 0x63
mov ecx, 0x8f
call fcn.140001450
jmp 0x140001b4e
movzx eax, byte [rbp + 0x128]
or al, byte [rbp + 0x110]
mov byte [rbp + 0xff], al
nop
jmp 0x140001b51
nop
movzx eax, byte [rbp + 0x128]
mov byte [rbp + 0xef], al
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0x90], eax
lea rax, [rbp - 0x34]
mov qword [rbp + 0x70], rax
movsx eax, word [rbp + 0x118]
test eax, eax
jne 0x140001c27
movzx eax, word [rbp + 0x118]
mov word [rbp + 0x8e], ax
cmp dword [rbp + 0xe8], 0x75954616
je 0x140001bb2
mov ecx, 0x4d
mov rax, qword [sym.imp.USER32.dll_GetAsyncKeyState]
call rax
mov word [rbp + 0x8c], ax
jmp 0x140001bb3
nop
mov rax, qword [rbp + 0xf0]
movzx edx, word [rax]
movzx eax, word [rbp + 0x82]
add edx, eax
mov rax, qword [rbp + 0xf0]
mov word [rax], dx
call fcn.14015bd61
lea rax, [rbp + 0x70]
mov r8d, 0x71
mov edx, 0xdd
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_OffsetRect]
call rax
mov dword [rbp - 0x4c], eax
movzx eax, byte [rbp + 0xff]
sub al, byte [rbp + 0x110]
mov byte [rbp + 0xef], al
mov rax, qword [rbp + 0xf0]
movzx eax, word [rax]
movzx ecx, word [rbp + 0x82]
sub eax, ecx
mov edx, eax
mov rax, qword [rbp + 0xf0]
mov word [rax], dx
jmp 0x140001c65
lea rax, [rbp - 0x30]
mov r9d, 0xa1
mov r8, rax
mov edx, 0x77
lea rax, str.greediest_Mandarins
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_EnumDisplaySettingsExA]
call rax
mov dword [rbp + 0x88], eax
mov rax, qword [rbp + 0x70]
mov edx, dword [rax]
mov rax, qword [rbp + 0x70]
and edx, dword [rbp + 0xe8]
mov dword [rax], edx
nop
movsx eax, word [rbp + 0x118]
and eax, 0x148e
cmp eax, 0x69a5
jle 0x140001ca6
movzx eax, word [rbp + 0x82]
lea edx, [rax + 0x306]
mov rax, qword [rbp + 0xf0]
mov word [rax], dx
mov rax, qword [rbp + 0xf0]
movzx eax, word [rax]
sub ax, 0x41d
mov word [rbp + 0x82], ax
jmp 0x140001cef
mov rax, qword [rbp + 0x70]
mov edx, dword [rax]
mov eax, dword [rbp - 0x34]
add edx, eax
mov eax, dword [rbp + 0xe4]
sub eax, dword [rbp + 0xe8]
cmp edx, eax
je 0x140001cef
movzx eax, byte [rbp + 0xef]
movzx ecx, byte [rbp + 0xef]
movzx edx, byte [rbp + 0xff]
mov dword [rsp + 0x20], eax
mov r9d, ecx
mov r8d, edx
mov edx, 0xeb
mov ecx, 0x63
call fcn.140001450
mov word [rbp + 0x118], 0x24a7
jmp 0x140001d55
mov eax, dword [rbp - 0x34]
mov edx, 0xab9bf2d5
mov ecx, edx
shl eax, cl
cmp eax, 0xac1c532c
ja 0x140001d55
mov word [rbp + 0x118], 0x225d
mov rax, qword [rbp + 0xd8]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_ShowOwnedPopups]
call rax
mov dword [rbp + 0xd4], eax
mov rax, qword [rbp + 0x78]
mov r8d, 0xb7
mov edx, 0xbd
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_EnableMenuItem]
call rax
mov dword [rbp + 0x84], eax
mov eax, dword [rbp - 0x34]
cmp eax, 0x34d05bf1
je 0x140001d6b
cmp eax, 0x4a4fe43f
je 0x140001d84
jmp 0x140001e0d
mov eax, dword [rbp - 0x34]
or eax, 0x8ca44385
mov dword [rbp - 0x34], eax
mov eax, dword [rbp - 0x34]
shr eax, 0x17
mov dword [rbp - 0x34], eax
jmp 0x140001e0d
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x3c]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_RealChildWindowFromPoint]
call rax
mov qword [rbp + 0xc0], rax
movzx edx, byte [rbp + 0x110]
movsx eax, word [rbp + 0x118]
mov r8d, edx
mov edx, 0xa3
mov ecx, eax
call fcn.140001729
mov eax, dword [rbp - 0x34]
sub eax, 0x617223e2
mov dword [rbp - 0x34], eax
movzx edx, byte [rbp + 0x110]
movsx eax, word [rbp + 0x118]
mov r8d, edx
mov edx, 0xf
mov ecx, eax
call fcn.140001729
mov ecx, 0x84
mov rax, qword [sym.imp.USER32.dll_EnumClipboardFormats]
call rax
mov dword [rbp + 0xe8], eax
jmp 0x140001e0d
lea rax, [rbp - 0x4c]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetLastInputInfo]
call rax
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp - 0x34]
and eax, 0xa1a02eee
mov dword [rbp - 0x34], eax
mov eax, 0x1b
add rsp, 0x180
pop rbp
ret