Function at 0x1400e57d0
Capabilities:
Log keystrokes
Log keystrokes via application hook
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x470
mov rax, qword [0x1404e6228]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov dword [rsp + 0x30], 0
movzx r8d, byte [0x140320bda]
lea rdx, [0x1404f62e0]
lea rcx, [rsp + 0xb0]
call fcn.1400879c0
nop
lea rcx, [rsp + 0xb0]
call fcn.14008a320
movzx eax, al
test eax, eax
jne 0x1400e5867
lea rax, [rsp + 0x118]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
lea rcx, [rsp + 0x118]
call fcn.1400e9a30
lea rdx, [0x1404e0ac8]
lea rcx, [rsp + 0x118]
call sub.VCRUNTIME140.dll__CxxThrowException
xor edx, edx
lea rcx, [0x1404f63a8]
call fcn.1400e9f50
mov ecx, 0x2c8
call fcn.1401a66c0
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x1400e58ab
mov rdi, qword [rsp + 0x50]
xor eax, eax
mov ecx, 0x2c8
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x50]
call fcn.1400e9c50
mov qword [rsp + 0x60], rax
jmp 0x1400e58b4
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x58]
call qword [rax + 0xa8]
mov dword [rsp + 0x34], 0x1f4
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0xf0]
call fcn.1400e6f30
mov rcx, rax
call fcn.1400e96c0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0x80
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400e5ed0]
mov ecx, reloc.WS2_32.dll_listen
call qword [sym.imp.USER32.dll_SetWindowsHookExA]
mov qword [0x1404f63a0], rax
cmp qword [0x1404f63a0], 0
jne 0x1400e59e9
mov edx, 1
lea rcx, [rsp + 0x250]
call fcn.1400a45a0
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rcx, [rsp + 0x260]
lea rdx, str.SetWindowHookEx_failed_with_error_code
call fcn.14008f900
mov ecx, dword [rsp + 0x38]
mov edx, ecx
mov rcx, rax
call fcn.1400aeb60
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x250]
call fcn.1400d0df0
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x3b0]
call fcn.1400e9b60
lea rdx, [0x1404e0b28]
lea rcx, [rsp + 0x3b0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x370]
call fcn.140088270
lea rcx, [rsp + 0x250]
call fcn.1400b3bb0
nop
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x1404f62b0], eax
mov rcx, qword [rsp + 0x490]
call fcn.1400c89c0
xor edx, edx
mov ecx, 2
div rcx
inc rax
mov dword [0x1404f6330], eax
lea rdx, [0x140320bd9]
lea rcx, [0x1404f62b8]
call fcn.1400ae750
lea rcx, [0x1404f6338]
call fcn.1400bd5e0
mov ecx, 0x90
call qword [sym.imp.USER32.dll_GetKeyState]
mov word [rsp + 0x458], ax
mov ecx, shutdown
call qword [sym.imp.USER32.dll_GetKeyState]
mov word [rsp + 0x45a], ax
mov ecx, 0x91
call qword [sym.imp.USER32.dll_GetKeyState]
mov word [rsp + 0x45c], ax
mov dword [rsp + 0x24], 0
jmp 0x1400e5a82
mov eax, dword [rsp + 0x24]
add eax, 2
mov dword [rsp + 0x24], eax
mov rcx, qword [rsp + 0x490]
call fcn.1400c89c0
cmp dword [rsp + 0x24], eax
jge 0x1400e5b22
movsxd rax, dword [rsp + 0x24]
mov rdx, rax
mov rcx, qword [rsp + 0x490]
call fcn.1400af4a0
movsx eax, byte [rax]
cmp eax, 0x31
jne 0x1400e5ac0
mov dword [rsp + 0x28], 1
jmp 0x1400e5ac8
mov dword [rsp + 0x28], 0
movzx eax, byte [rsp + 0x28]
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0x24]
inc eax
cdqe
mov rdx, rax
mov rcx, qword [rsp + 0x490]
call fcn.1400af4a0
movsx eax, byte [rax]
cmp eax, 0x31
jne 0x1400e5afb
mov dword [rsp + 0x2c], 1
jmp 0x1400e5b03
mov dword [rsp + 0x2c], 0
movzx eax, byte [rsp + 0x2c]
mov byte [rsp + 0x23], al
lea rdx, [rsp + 0x22]
lea rcx, [0x1404f6338]
call fcn.1400eb020
jmp 0x1400e5a77
lea rax, [rsp + 0x20]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xf8]
call fcn.1400e7230
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x90]
call fcn.1400ead50
nop
lea rcx, [rsp + 0xf8]
call fcn.1400e9f20
lea rax, [rsp + 0x21]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x21]
lea rcx, [rsp + 0x108]
call fcn.1400e71d0
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0xa0]
call fcn.1400ead50
nop
lea rcx, [rsp + 0x108]
call fcn.1400e9f20
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xc0]
call fcn.1400ea780
test eax, eax
je 0x1400e5c16
cmp dword [rsp + 0xc8], 0x401
jne 0x1400e5bf6
jmp 0x1400e5c16
cmp dword [rsp + 0xc8], 0x402
jne 0x1400e5c05
jmp 0x1400e5c16
cmp dword [rsp + 0xc8], 0x403
jne 0x1400e5c14
jmp 0x1400e5c16
jmp 0x1400e5bce
xor edx, edx
lea rcx, [0x1404f62d8]
call fcn.1400ea3c0
call fcn.1400e69e0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0x20
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov rcx, qword [0x1404f63a0]
call qword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jne 0x1400e5ca2
lea rdx, str.UnhookWindowsHookEx_failed
lea rcx, [rsp + 0x350]
call fcn.1400a4430
nop
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x3e8]
call fcn.1400e9b60
lea rdx, [0x1404e0b28]
lea rcx, [rsp + 0x3e8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x350]
call fcn.140088270
nop
mov eax, 2
imul rax, rax, 0
movsx eax, word [rsp + rax + 0x458]
mov dword [rsp + 0x40], eax
mov ecx, 0x90
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
mov ecx, dword [rsp + 0x40]
cmp ecx, eax
je 0x1400e5cd5
mov ecx, 0x45
call fcn.1400e63d0
mov eax, 2
imul rax, rax, 1
movsx eax, word [rsp + rax + 0x458]
mov dword [rsp + 0x44], eax
mov ecx, shutdown
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
mov ecx, dword [rsp + 0x44]
cmp ecx, eax
je 0x1400e5d08
mov ecx, 0x3a
call fcn.1400e63d0
mov eax, 2
imul rax, rax, 2
movsx eax, word [rsp + rax + 0x458]
mov dword [rsp + 0x48], eax
mov ecx, 0x91
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
mov ecx, dword [rsp + 0x48]
cmp ecx, eax
je 0x1400e5d3b
mov ecx, 0x46
call fcn.1400e63d0
cmp dword [rsp + 0xc8], 0x402
jne 0x1400e5d7d
lea rax, [rsp + 0x130]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
lea rcx, [rsp + 0x130]
call fcn.1400e9bf0
lea rdx, [0x1404e0b88]
lea rcx, [rsp + 0x130]
call sub.VCRUNTIME140.dll__CxxThrowException
cmp dword [rsp + 0xc8], 0x403
jne 0x1400e5e68
mov edx, 1
lea rcx, [rsp + 0x150]
call fcn.1400a45a0
nop
cmp qword [rsp + 0xd8], 0
jne 0x1400e5dd5
lea rax, [rsp + 0x160]
lea rdx, str.SendInput_failed_with_error_code
mov rcx, rax
call fcn.14008f900
mov rdx, qword [rsp + 0xd0]
mov rcx, rax
call fcn.1400ea160
jmp 0x1400e5dfc
lea rax, [rsp + 0x160]
lea rdx, str.SendInput_returned
mov rcx, rax
call fcn.14008f900
mov rdx, qword [rsp + 0xd8]
mov rcx, rax
call fcn.1400e9f80
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x150]
call fcn.1400d0df0
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x420]
call fcn.1400e9b60
lea rdx, [0x1404e0b28]
lea rcx, [rsp + 0x420]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x390]
call fcn.140088270
lea rcx, [rsp + 0x150]
call fcn.1400b3bb0
nop
lea rdx, [0x1404f62b8]
mov rcx, qword [rsp + 0x488]
call fcn.140087760
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0xb0]
call fcn.140088340
nop
mov rcx, qword [rsp + 0x490]
call fcn.140088270
mov rax, qword [rsp + 0x488]
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.1401a6870
add rsp, 0x470
pop rdi
ret