Function at 0x401b80
Capabilities:
Log keystrokes via polling
Set console window title

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
push edi
push str.GGC_Cheats
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
push 0x42aaf8
call fcn.0040b7bd
add esp, 4
mov edx, str.GGC_Cheat_Panel_n_n
call fcn.00402100
mov edx, str.Damage_Boost__NUM1_n_n
call fcn.00402100
mov edx, str.Infinite_Ammo_No_Reload__NUM2_n_n
call fcn.00402100
mov edx, str.GM__NUM3_n_n
call fcn.00402100
mov edx, str.AKN__NUM4_n_n
call fcn.00402100
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
xor dh, dh
xor ch, ch
mov byte [esp + 0xf], dh
xor dl, dl
mov byte [esp + 0xe], ch
xor cl, cl
mov byte [esp + 0xd], dl
mov byte [esp + 0xc], cl
mov edi, dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x61
mov byte [esp + 0x17], cl
mov byte [esp + 0x16], dl
mov byte [esp + 0x15], ch
mov byte [esp + 0x14], dh
call esi
test al, 1
je 0x401c8e
cmp byte [esp + 0xf], 0
sete byte [esp + 0xf]
cmp byte [esp + 0x10], 0
jne 0x401c3b
push str.e_32mDamage_Boost:_one_0m_n
jmp 0x401c40
push str.e_31mDamage_Boost:_offe_0m_n
call fcn.00401260
add esp, 4
push 0x3e8
call ebx
push 0x42aaf8
call fcn.0040b7bd
add esp, 4
mov edx, str.GGC_Cheat_Panel_n_n
call fcn.00402100
mov edx, str.Damage_Boost__NUM1_n_n
call fcn.00402100
mov edx, str.Infinite_Ammo_No_Reload__NUM2_n_n
call fcn.00402100
mov edx, str.GM__NUM3_n_n
call fcn.00402100
mov edx, str.AKN__NUM4_n_n
call fcn.00402100
push 0x62
call esi
test al, 1
je 0x401d01
cmp byte [esp + 0xe], 0
sete byte [esp + 0xe]
cmp byte [esp + 0x11], 0
jne 0x401cae
push str.e_32mInfinite_Ammo_No_Reload:_one_0m_n
jmp 0x401cb3
push str.e_31mInfinite_Ammo_No_Reload:_offe_0m_n
call fcn.00401260
add esp, 4
push 0x3e8
call ebx
push 0x42aaf8
call fcn.0040b7bd
add esp, 4
mov edx, str.GGC_Cheat_Panel_n_n
call fcn.00402100
mov edx, str.Damage_Boost__NUM1_n_n
call fcn.00402100
mov edx, str.Infinite_Ammo_No_Reload__NUM2_n_n
call fcn.00402100
mov edx, str.GM__NUM3_n_n
call fcn.00402100
mov edx, str.AKN__NUM4_n_n
call fcn.00402100
push 0x63
call esi
test al, 1
je 0x401d74
cmp byte [esp + 0xd], 0
sete byte [esp + 0xd]
cmp byte [esp + 0x12], 0
jne 0x401d21
push str.e_32mGM:_one_0m_n
jmp 0x401d26
push str.e_31mGM:_offe_0m_n
call fcn.00401260
add esp, 4
push 0x3e8
call ebx
push 0x42aaf8
call fcn.0040b7bd
add esp, 4
mov edx, str.GGC_Cheat_Panel_n_n
call fcn.00402100
mov edx, str.Damage_Boost__NUM1_n_n
call fcn.00402100
mov edx, str.Infinite_Ammo_No_Reload__NUM2_n_n
call fcn.00402100
mov edx, str.GM__NUM3_n_n
call fcn.00402100
mov edx, str.AKN__NUM4_n_n
call fcn.00402100
push 0x64
call esi
test al, 1
je 0x401de7
cmp byte [esp + 0xc], 0
sete byte [esp + 0xc]
cmp byte [esp + 0x13], 0
jne 0x401d94
push str.e_32mAKN:_one_0m_n
jmp 0x401d99
push str.e_31mAKN:_offe_0m_n
call fcn.00401260
add esp, 4
push 0x3e8
call ebx
push 0x42aaf8
call fcn.0040b7bd
add esp, 4
mov edx, str.GGC_Cheat_Panel_n_n
call fcn.00402100
mov edx, str.Damage_Boost__NUM1_n_n
call fcn.00402100
mov edx, str.Infinite_Ammo_No_Reload__NUM2_n_n
call fcn.00402100
mov edx, str.GM__NUM3_n_n
call fcn.00402100
mov edx, str.AKN__NUM4_n_n
call fcn.00402100
call fcn.004010d0
mov ecx, eax
call fcn.00401190
mov esi, eax
call fcn.004010d0
push eax
push 0
push 0x1fffff
call edi
cmp byte [esp + 0xf], 0
lea ecx, [esi + 0x1f46ac]
mov esi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, eax
push 0
push 4
je 0x401e49
lea eax, [esp + 0x24]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x28]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x1c]
push 0
push 1
push 0x42eaa0
jmp 0x401e73
lea eax, [esp + 0x28]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x2c]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x20]
push 0
push 1
push 0x42fc74
add eax, 0xfbd
push eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push edi
call eax
call fcn.004010d0
mov ecx, eax
call fcn.00401190
mov esi, eax
call fcn.004010d0
push eax
mov eax, dword [sym.imp.KERNEL32.dll_OpenProcess]
push 0
push 0x1fffff
call eax
cmp byte [esp + 0xe], 0
lea ecx, [esi + 0x1f46ac]
mov esi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, eax
push 0
push 4
je 0x401f04
lea eax, [esp + 0x1c]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x20]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
add eax, 0xfbe
push 0
push 1
push 0x42eaa0
push eax
push edi
call esi
mov eax, dword [esp + 0x14]
push 0
push 1
push 0x42eaa0
jmp 0x401f4a
lea eax, [esp + 0x20]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x24]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
add eax, 0xfbe
push 0
push 1
push 0x42fc74
push eax
push edi
call esi
mov eax, dword [esp + 0x18]
push 0
push 1
push 0x42fc74
add eax, 0xfbf
push eax
push edi
call esi
call fcn.004010d0
mov ecx, eax
call fcn.00401190
mov esi, eax
call fcn.004010d0
push eax
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp byte [esp + 0xd], 0
lea ecx, [esi + 0x1f46ac]
mov esi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, eax
push 0
push 4
je 0x401fb9
lea eax, [esp + 0x2c]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x30]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x24]
push 0
push 1
push 0x42eaa0
jmp 0x401fe3
lea eax, [esp + 0x30]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x34]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x28]
push 0
push 1
push 0x42fc74
add eax, 0xfc1
push eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push edi
call eax
call fcn.004010d0
mov ecx, eax
call fcn.00401190
mov esi, eax
call fcn.004010d0
push eax
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp byte [esp + 0xc], 0
lea ecx, [esi + 0x1f46ac]
mov esi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, eax
push 0
push 4
je 0x402057
lea eax, [esp + 0x34]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x38]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x2c]
push 0
push 1
push 0x42eaa0
jmp 0x402081
lea eax, [esp + 0x38]
push eax
push ecx
push edi
call esi
push 0
push 4
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x3c]
add eax, 0x28
push eax
push edi
call esi
mov eax, dword [esp + 0x30]
push 0
push 1
push 0x42fc74
add eax, 0xfc0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 1
call ebx
mov cl, byte [esp + 0xc]
mov dl, byte [esp + 0xd]
mov ch, byte [esp + 0xe]
mov dh, byte [esp + 0xf]
jmp 0x401bff