Function at 0x140001260
Capabilities:
Enumerate process modules
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push r15
lea rbp, [r11 - 0x3e8]
sub rsp, 0x4d8
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rbp + 0x3c8], rax
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
call qword [sym.imp.KERNEL32.dll_AllocConsole]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x1400033c8]
lea rdx, str.CONIN_
lea rcx, [0x1400056c0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rax
lea r8, [0x1400033d4]
lea rdx, str.CONOUT_
lea rcx, [0x1400056c0]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
lea rdx, str.Fallout76
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
mov rcx, rax
lea rdx, [rsp + 0x48]
mov rsi, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rsp + 0x48]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov edx, dword [rsp + 0x48]
xor r15d, r15d
mov qword [0x1400056c8], rax
mov edi, r15d
lea ecx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400013b7
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x438
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Module32FirstW]
test eax, eax
je 0x1400013b7
mov qword [rsp + 0x4d0], r14
lea r14, str.Fallout76.exe
nop word [rax + rax]
lea rdx, [rbp - 0x80]
mov rax, r15
nop word [rax + rax]
movzx ecx, word [rdx + rax*2]
cmp cx, word [r14 + rax*2]
jne 0x14000165c
movzx ecx, word [rdx + rax*2 + 2]
cmp cx, word [r14 + rax*2 + 2]
jne 0x14000165c
add rax, 2
cmp rax, 0xe
jne 0x140001380
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x4d0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x4f0]
test rsi, rsi
mov rsi, qword [rsp + 0x4f8]
mov qword [0x1400056d0], rdi
mov rdi, qword [rsp + 0x500]
je 0x140001677
nop dword [rax + rax]
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000164c
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x3c0]
mov rcx, qword [0x1400056c8]
add rdx, 0x6c60548
mov r9d, 4
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, r15d
mov dword [rsp + 0x38], 0xe1596f07
test eax, eax
mov dword [rsp + 0x40], 0x19e3
mov rax, qword [0x1400056d0]
lea rcx, str.RequestPickUpItemMsg:__08lX_n
cmovne edx, dword [rbp + 0x3c0]
add rax, 0x4205c68
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x44], 1
call fcn.140001010
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x3b0]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e5
mov r9d, 2
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400014e7
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x390]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e5
mov r9d, 2
mov word [rbp + 0x390], 0xeb
mov word [rbp + 0x3a0], 0x2eb
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x3b4]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e1
mov r9d, 2
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140001557
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x394]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e1
mov r9d, 2
mov word [rbp + 0x394], 0x2eb
mov word [rbp + 0x3a4], 0x476
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rcx, [rsp + 0x30]
call fcn.140001070
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x3b8]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e5
mov r9d, 2
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400015d1
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x398]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e5
mov r9d, 2
mov word [rbp + 0x3a8], 0xeb
mov word [rbp + 0x398], 0x2eb
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x3bc]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e1
mov r9d, 2
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140001641
mov rdx, qword [0x1400056d0]
lea r8, [rbp + 0x39c]
mov rcx, qword [0x1400056c8]
add rdx, 0x15ca8e1
mov r9d, 2
mov word [rbp + 0x3ac], 0x2eb
mov word [rbp + 0x39c], 0x476
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400013f0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32NextW]
test eax, eax
jne 0x140001370
jmp 0x1400013af
lea rcx, str.Error:_Fallout_76_not_found_n
call fcn.140001010
mov eax, 1
mov rcx, qword [rbp + 0x3c8]
xor rcx, rsp
call fcn.1400016c0
add rsp, 0x4d8
pop r15
pop rbp
ret