Function at 0x140006c00
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x14000e040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str._n_n________________n_______________n________________n______________n_____________n________________n________________________________________________________________________n
call fcn.1400075c0
mov rcx, rax
call fcn.1400077e0
call fcn.140006800
mov rax, qword gs:[0x58]
mov ebx, 4
add rbx, qword [rax]
xor edi, edi
mov eax, dword [rbx]
cmp dword [0x140781a20], eax
jle 0x140006c9c
lea rcx, [0x140781a20]
call fcn.14000804c
cmp dword [0x140781a20], 0xffffffff
jne 0x140006c9c
lea rcx, [0x140009230]
mov qword [0x140781a28], rdi
mov qword [0x140781a30], 0xffffffffffffffff
call fcn.1400082ec
lea rcx, [0x140781a20]
call fcn.140007fe0
cmp qword [0x140781a30], 0xffffffffffffffff
jne 0x140006cb8
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140006800
jmp 0x140006c53
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Choose_injection_method:_n
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.1._mwiii_Ch4at_n
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.2._MW3_AIO_n
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.3._mwiii_Ch4at_Good_n
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.4._DLL_Injection__RK.dll__n
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Enter_your_choice__1__2__3__or_4_:
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea rdx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::operator___int____ptr64____ptr64]
mov eax, dword [rbp - 0x18]
dec eax
cmp eax, 3
ja 0x140007263
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Press_F2_to_inject_the_file_in_the_main_menu_MWiii_n
call fcn.1400075c0
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140006d8b
nop dword [rax]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140006d70
mov eax, dword [rbp - 0x18]
cmp eax, 1
jne 0x140006e54
xor edx, edx
mov cl, 0x63
call fcn.1400014c0
mov edx, 1
mov cl, 0x6f
movzx edi, al
call fcn.1400014c0
mov edx, 2
mov cl, 0x64
movzx ebx, al
call fcn.1400014c0
mov edx, 3
mov cl, 0x2e
movzx r11d, al
call fcn.1400014c0
mov edx, 4
mov cl, 0x65
movzx r10d, al
call fcn.1400014c0
mov edx, 5
mov cl, 0x78
movzx r9d, al
call fcn.1400014c0
mov edx, 6
mov cl, 0x65
movzx r8d, al
call fcn.1400014c0
xor ecx, ecx
lea rdx, [0x1404ef2c0]
xor r9b, 0x17
mov byte [rbp - 0x39], cl
xor r8b, 0x18
mov byte [rbp - 0x3c], r9b
mov byte [rbp - 0x3b], r8b
lea rcx, [rbp - 0x40]
xor dil, 0x13
xor bl, 0x14
xor r11b, 0x15
mov byte [rbp - 0x40], dil
xor r10b, 0x16
mov byte [rbp - 0x3f], bl
xor al, 0x19
mov byte [rbp - 0x3e], r11b
xor r9d, r9d
mov byte [rbp - 0x3d], r10b
mov r8d, 0x26e600
mov byte [rbp - 0x3a], al
call fcn.140005d60
jmp 0x14000721c
cmp eax, 2
jne 0x140006f1a
xor edx, edx
mov cl, 0x63
call fcn.1400014c0
mov edx, 1
mov cl, 0x6f
movzx edi, al
call fcn.1400014c0
mov edx, 2
mov cl, 0x64
movzx ebx, al
call fcn.1400014c0
mov edx, 3
mov cl, 0x2e
movzx r11d, al
call fcn.1400014c0
mov edx, 4
mov cl, 0x65
movzx r10d, al
call fcn.1400014c0
mov edx, 5
mov cl, 0x78
movzx r9d, al
call fcn.1400014c0
mov edx, 6
mov cl, 0x65
movzx r8d, al
call fcn.1400014c0
xor ecx, ecx
lea rdx, [0x14030acc0]
xor r9b, 0x17
mov byte [rbp - 0x39], cl
xor r8b, 0x18
mov byte [rbp - 0x3c], r9b
mov byte [rbp - 0x3b], r8b
lea rcx, [rbp - 0x40]
xor dil, 0x13
xor bl, 0x14
xor r11b, 0x15
mov byte [rbp - 0x40], dil
xor r10b, 0x16
mov byte [rbp - 0x3f], bl
xor al, 0x19
mov byte [rbp - 0x3e], r11b
xor r9d, r9d
mov byte [rbp - 0x3d], r10b
mov r8d, 0x1e4600
mov byte [rbp - 0x3a], al
call fcn.140005d60
jmp 0x14000721c
cmp eax, 3
jne 0x140006fe0
xor edx, edx
mov cl, 0x63
call fcn.1400014c0
mov edx, 1
mov cl, 0x6f
movzx edi, al
call fcn.1400014c0
mov edx, 2
mov cl, 0x64
movzx ebx, al
call fcn.1400014c0
mov edx, 3
mov cl, 0x2e
movzx r11d, al
call fcn.1400014c0
mov edx, 4
mov cl, 0x65
movzx r10d, al
call fcn.1400014c0
mov edx, 5
mov cl, 0x78
movzx r9d, al
call fcn.1400014c0
mov edx, 6
mov cl, 0x65
movzx r8d, al
call fcn.1400014c0
xor ecx, ecx
lea rdx, [0x1400104c0]
xor r9b, 0x17
mov byte [rbp - 0x39], cl
xor r8b, 0x18
mov byte [rbp - 0x3c], r9b
mov byte [rbp - 0x3b], r8b
lea rcx, [rbp - 0x40]
xor dil, 0x13
xor bl, 0x14
xor r11b, 0x15
mov byte [rbp - 0x40], dil
xor r10b, 0x16
mov byte [rbp - 0x3f], bl
xor al, 0x19
mov byte [rbp - 0x3e], r11b
xor r9d, r9d
mov byte [rbp - 0x3d], r10b
mov r8d, 0x2fa800
mov byte [rbp - 0x3a], al
call fcn.140005d60
jmp 0x14000721c
cmp eax, 4
jne 0x14000721c
mov ecx, 0x52
xor edx, edx
call fcn.140001000
mov ecx, 0x4b
mov word [rbp - 0x38], ax
mov edx, 1
call fcn.140001000
mov ecx, 0x2e
mov word [rbp - 0x36], ax
mov edx, 2
call fcn.140001000
mov ecx, 0x64
mov word [rbp - 0x34], ax
mov edx, 3
call fcn.140001000
mov ecx, 0x6c
mov word [rbp - 0x32], ax
mov edx, 4
call fcn.140001000
mov edx, 5
mov word [rbp - 0x30], ax
call fcn.140001000
xor ecx, ecx
mov word [rbp - 0x2e], ax
mov edx, 6
call fcn.140001000
movzx ecx, word [0x14000aed6]
mov edx, 7
mov word [rbp - 0x2c], ax
call fcn.140001000
movzx ecx, word [str.Press_Enter_to_exit...]
mov edx, 8
mov word [rbp - 0x2a], ax
call fcn.140001000
movzx ecx, word [0x14000aeda]
mov edx, 9
mov word [rbp - 0x28], ax
call fcn.140001000
movzx ecx, word [0x14000aedc]
mov edx, 0xa
mov word [rbp - 0x26], ax
call fcn.140001000
movzx ecx, word [0x14000aede]
mov edx, 0xb
mov word [rbp - 0x24], ax
call fcn.140001000
movzx ecx, word [0x14000aee0]
mov edx, 0xc
mov word [rbp - 0x22], ax
call fcn.140001000
movdqa xmm4, xmmword [0x14000af20]
movdqa xmm5, xmmword [0x14000af40]
mov word [rbp - 0x20], ax
xor eax, eax
mov word [rbp - 0x1e], ax
nop word [rax + rax]
movsxd rcx, eax
movq xmm2, xmm5
movd xmm0, eax
add eax, 4
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rbp + rcx*2 - 0x38]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rbp + rcx*2 - 0x38], xmm3
cmp eax, edx
jb 0x140007100
cmp eax, 0xd
jae 0x140007169
mov r8d, 0x133
nop dword [rax + rax]
movsxd rcx, eax
lea rdx, [rbp - 0x38]
lea rdx, [rdx + rcx*2]
lea ecx, [r8 + rax]
inc eax
xor word [rdx], cx
cmp eax, 0xd
jb 0x140007150
xor edx, edx
mov word [rbp - 0x1e], di
mov cl, 0x63
call fcn.1400014c0
mov edx, 1
mov cl, 0x6f
movzx edi, al
call fcn.1400014c0
mov edx, 2
mov cl, 0x64
movzx ebx, al
call fcn.1400014c0
mov edx, 3
mov cl, 0x2e
movzx r11d, al
call fcn.1400014c0
mov edx, 4
mov cl, 0x65
movzx r10d, al
call fcn.1400014c0
mov edx, 5
mov cl, 0x78
movzx r9d, al
call fcn.1400014c0
mov edx, 6
mov cl, 0x65
movzx r8d, al
call fcn.1400014c0
xor ecx, ecx
lea rdx, [rbp - 0x38]
xor r8b, 0x18
mov byte [rbp - 0x39], cl
mov byte [rbp - 0x3b], r8b
lea rcx, [rbp - 0x40]
xor dil, 0x13
xor bl, 0x14
xor r11b, 0x15
mov byte [rbp - 0x40], dil
xor r10b, 0x16
mov byte [rbp - 0x3f], bl
xor r9b, 0x17
mov byte [rbp - 0x3e], r11b
xor al, 0x19
mov byte [rbp - 0x3d], r10b
xor r8d, r8d
mov byte [rbp - 0x3c], r9b
mov byte [rbp - 0x3a], al
call fcn.1400055d0
mov ecx, 0x11170
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.Press_Enter_to_exit...
call fcn.1400075c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov edx, 1
mov r8d, 0xffffffff
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
xor eax, eax
jmp 0x14000727b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Invalid_choice__Exiting..._n
call fcn.1400075c0
mov eax, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140007fc0
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x60
pop rbp
ret