Function at 0x1400229f0
Capabilities:
Execute command
Log keystrokes via polling
Terminate process

Disassembly:
sub rsp, 0x508
call fcn.1400225f0
call fcn.1400168e0
movzx eax, al
test eax, eax
jne 0x140022a32
movzx r8d, byte [rsp + 0x24]
lea rdx, str.error_driver_setup
lea rcx, [rsp + 0x3f3]
call fcn.140025cd0
mov rcx, rax
call fcn.140030a60
mov rcx, rax
call fcn.140022980
call fcn.1400170c0
movzx eax, al
test eax, eax
jne 0x140022a86
call fcn.140016ed0
lea rcx, [0x140085044]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.1400170c0
movzx eax, al
test eax, eax
jne 0x140022a86
movzx r8d, byte [rsp + 0x25]
lea rdx, str.error_driver_load
lea rcx, [rsp + 0x3ba]
call fcn.140026510
mov rcx, rax
call fcn.1400309b0
mov rcx, rax
call fcn.140022980
lea rcx, [0x14014c890]
call fcn.140003940
movzx eax, byte [0x14014cac8]
test eax, eax
jne 0x140022b95
lea rax, [rsp + 0x438]
mov qword [rsp + 0x48], rax
lea rdx, [0x14014cad0]
mov rcx, qword [rsp + 0x48]
call fcn.140008280
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x268]
call fcn.14002ce20
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x78], rax
lea rdx, [0x14008508c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x70], rax
movzx r8d, byte [rsp + 0x26]
lea rdx, [0x1400850c0]
lea rcx, [rsp + 0x361]
call fcn.1400274b0
mov rcx, rax
call fcn.140030f30
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
call fcn.140029d60
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.14002a170
mov qword [rsp + 0x88], rax
lea rdx, [0x14002c830]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rsp + 0x268]
call fcn.14002e510
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea rdx, [0x1400850a4]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x98], rax
movzx r8d, byte [rsp + 0x27]
lea rdx, str._Product:
lea rcx, [rsp + 0x318]
call fcn.140028a50
mov rcx, rax
call fcn.1400307a0
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
call fcn.140029d60
mov qword [rsp + 0xb8], rax
lea rdx, str._Prduct:_Modern_Warfare_II
lea rcx, [rsp + 0x278]
call fcn.14002cc60
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
call fcn.14002a170
mov qword [rsp + 0xc0], rax
lea rdx, [0x14002c830]
mov rcx, qword [rsp + 0xc0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rsp + 0x278]
call fcn.14002e510
lea rdx, [0x1400850ec]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0xd0], rax
movzx r8d, byte [rsp + 0x28]
lea rdx, str._Status:
lea rcx, [rsp + 0x2e8]
call fcn.140028bd0
mov rcx, rax
call fcn.1400306f0
mov qword [rsp + 0xc8], rax
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
call fcn.140029d60
mov qword [rsp + 0xf0], rax
lea rdx, str._Undetected
lea rcx, [rsp + 0x288]
call fcn.14002c9f0
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
call fcn.14002a170
lea rdx, [0x1400850bc]
mov rcx, rax
call fcn.140029d60
nop
lea rcx, [rsp + 0x288]
call fcn.14002e510
lea rdx, [0x14008510c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x100], rax
movzx r8d, byte [rsp + 0x29]
lea rdx, str._Enter_Key:
lea rcx, [rsp + 0x323]
call fcn.140028500
mov rcx, rax
call fcn.140030dd0
mov qword [rsp + 0xf8], rax
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
call fcn.140029d60
lea rcx, [rsp + 0x230]
call fcn.140008260
nop
lea rdx, [rsp + 0x230]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400298e0
lea rcx, [rsp + 0x230]
call fcn.140007f30
movzx eax, al
test eax, eax
je 0x140022ee6
lea rdx, [0x140085148]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x110], rax
movzx r8d, byte [rsp + 0x2a]
lea rdx, [0x140085138]
lea rcx, [rsp + 0x372]
call fcn.140027710
mov rcx, rax
call fcn.140030f30
mov qword [rsp + 0x108], rax
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x110]
call fcn.140029d60
mov qword [rsp + 0x130], rax
movzx r8d, byte [rsp + 0x2b]
lea rdx, str.No_Key
lea rcx, [rsp + 0x250]
call fcn.140028e50
mov rcx, rax
call fcn.140030640
mov rdx, rax
lea rcx, [rsp + 0x298]
call fcn.14002cd70
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x128], rax
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
call fcn.140029c90
mov qword [rsp + 0x138], rax
lea rdx, [0x14002c830]
mov rcx, qword [rsp + 0x138]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rsp + 0x298]
call fcn.14002e4f0
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea rcx, [0x14014c890]
call fcn.140005a40
lea rax, [rsp + 0x458]
mov qword [rsp + 0x140], rax
lea rdx, [rsp + 0x230]
mov rcx, qword [rsp + 0x140]
call fcn.140008280
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0x148]
lea rcx, [0x14014c890]
call fcn.140004f60
movzx eax, byte [0x14014cac8]
test eax, eax
jne 0x140023066
lea rax, [rsp + 0x478]
mov qword [rsp + 0x150], rax
lea rdx, [0x14014cad0]
mov rcx, qword [rsp + 0x150]
call fcn.140008280
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x158]
lea rcx, [rsp + 0x2a8]
call fcn.14002ce20
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x180], rax
lea rdx, str._n__
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x178], rax
movzx r8d, byte [rsp + 0x2c]
lea rdx, str.KeyAuth_Status:
lea rcx, [rsp + 0x383]
call fcn.140027970
mov rcx, rax
call fcn.140030f30
mov qword [rsp + 0x170], rax
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x178]
call fcn.140029d60
mov qword [rsp + 0x188], rax
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
call fcn.14002a170
mov qword [rsp + 0x190], rax
lea rdx, [0x14002c830]
mov rcx, qword [rsp + 0x190]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rsp + 0x2a8]
call fcn.14002e510
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea rax, [rsp + 0x498]
mov qword [rsp + 0x198], rax
lea rdx, [0x14014cad0]
mov rcx, qword [rsp + 0x198]
call fcn.140008280
mov qword [rsp + 0x1a0], rax
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0x2b8]
call fcn.14002cb00
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x1b8], rax
lea rdx, [0x140085168]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x1c0], rax
mov rdx, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1c0]
call fcn.14002a170
lea rdx, [0x140085124]
mov rcx, rax
call fcn.140029d60
nop
lea rcx, [rsp + 0x2b8]
call fcn.14002e510
lea rdx, [0x140085194]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140029d60
mov qword [rsp + 0x1e0], rax
movzx r8d, byte [rsp + 0x2d]
lea rdx, str.Start_The_Game_Now
lea rcx, [rsp + 0x407]
call fcn.140025fa0
mov rcx, rax
call fcn.140030a60
mov rdx, rax
lea rcx, [rsp + 0x2c8]
call fcn.14002c940
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1d8], rax
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1e0]
call fcn.140029c90
lea rdx, [0x140085170]
mov rcx, rax
call fcn.140029d60
nop
lea rcx, [rsp + 0x2c8]
call fcn.14002e4f0
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x258], 0
xor eax, eax
cmp eax, 1
je 0x140023245
movzx r8d, byte [rsp + 0x2e]
lea rdx, [0x1400851a0]
lea rcx, [rsp + 0x4d8]
call fcn.140027bd0
mov rcx, rax
call fcn.140031160
mov rdx, rax
lea rcx, [rsp + 0x2f8]
call fcn.140007ea0
nop
lea rcx, [rsp + 0x2f8]
call fcn.1400166e0
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x2f8]
call fcn.140007e30
cmp dword [rsp + 0x20], 0
je 0x140023238
jmp 0x140023245
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400231d7
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [rsp + 0x20]
call fcn.1400168c0
lea rax, [rsp + 0x4b8]
mov qword [rsp + 0x1e8], rax
movzx r8d, byte [rsp + 0x2f]
lea rdx, str.291716
lea rcx, [rsp + 0x260]
call fcn.140028f70
mov rcx, rax
call fcn.140030640
mov rdx, rax
mov rcx, qword [rsp + 0x1e8]
call fcn.140008220
mov qword [rsp + 0x1f0], rax
mov r8, qword [rsp + 0x1f0]
lea rdx, [rsp + 0x218]
lea rcx, [0x14014c890]
call fcn.1400060b0
nop
mov rax, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rsp + 0x210], rax
movzx r8d, byte [rsp + 0x30]
lea rdx, str.Press_F2_in_Lobby
lea rcx, [rsp + 0x3cd]
call fcn.1400267b0
mov rcx, rax
call fcn.1400309b0
mov rdx, rax
lea rcx, [rsp + 0x2d8]
call fcn.14002c940
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x208], rax
mov rdx, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x210]
call fcn.140029c90
lea rdx, [0x14008517c]
mov rcx, rax
call fcn.140029d60
nop
lea rcx, [rsp + 0x2d8]
call fcn.14002e4f0
mov ecx, WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
jne 0x140023375
mov dword [rsp + 0x38], 1
jmp 0x14002337d
mov dword [rsp + 0x38], 0
mov eax, dword [rsp + 0x38]
and eax, 1
test eax, eax
je 0x14002338a
jmp 0x14002335b
lea rcx, [rsp + 0x218]
call fcn.140030290
xor r8d, r8d
mov rdx, rax
mov ecx, dword [rsp + 0x20]
call fcn.1400180f0
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x218]
call fcn.1400300d0
lea rcx, [0x14008519c]
call fcn.140031910
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 6
ja case.default.0x1400233ec
movsxd rax, dword [rsp + 0x3c]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x23564]
add rax, rcx
jmp rax
movzx r8d, byte [rsp + 0x31]
lea rdx, str.process_not_found
lea rcx, [rsp + 0x3e0]
call fcn.140026a50
mov rcx, rax
call fcn.1400309b0
mov rcx, rax
call fcn.140022980
jmp case.default.0x1400233ec
movzx r8d, byte [rsp + 0x32]
lea rdx, str.invalid_dll_image
lea rcx, [rsp + 0x394]
call fcn.140026cf0
mov rcx, rax
call fcn.1400309b0
mov rcx, rax
call fcn.140022980
jmp case.default.0x1400233ec
movzx r8d, byte [rsp + 0x33]
lea rdx, str.invalid_pe_header
lea rcx, [rsp + 0x3a7]
call fcn.140026f90
mov rcx, rax
call fcn.1400309b0
mov rcx, rax
call fcn.140022980
jmp case.default.0x1400233ec
movzx r8d, byte [rsp + 0x34]
lea rdx, str.allocate_error
lea rcx, [rsp + 0x331]
call fcn.140027e40
mov rcx, rax
call fcn.140030e80
mov rcx, rax
call fcn.140022980
jmp case.default.0x1400233ec
movzx r8d, byte [rsp + 0x35]
lea rdx, str.relocate_error
lea rcx, [rsp + 0x341]
call fcn.140028080
mov rcx, rax
call fcn.140030e80
mov rcx, rax
call fcn.140022980
jmp case.default.0x1400233ec
movzx r8d, byte [rsp + 0x36]
lea rdx, str.resolve_imports_error
lea rcx, [rsp + 0x41b]
call fcn.1400249d0
mov rcx, rax
call fcn.140030b10
mov rcx, rax
call fcn.140022980
jmp case.default.0x1400233ec
movzx r8d, byte [rsp + 0x37]
lea rdx, str.inject_sucess_
lea rcx, [rsp + 0x351]
call fcn.1400282c0
mov rcx, rax
call fcn.140030e80
mov rcx, rax
call fcn.140022980
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]