Function at 0x407fc4
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov eax, 0x407f84
call fcn.00404630
mov edi, 0x40a79c
xor eax, eax
push ebp
push 0x4082af
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x4082c0
call sub.user32.dll_FindWindowA
mov esi, eax
test esi, esi
jne 0x40801c
push 0
push 0x4082cc
push 0x4082d4
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x408294
push 0x4082ec
call sub.kernel32.dll_GetModuleHandleA_2
mov ebx, eax
push 0x4082fc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x40a7ac], eax
push 0x408310
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x40a7b0], eax
push 0x408320
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x40a7b4], eax
mov eax, 0x40a7b8
mov edx, 0x408334
call fcn.00403794
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.00402768
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.00405664
mov edx, dword [ebp - 0x14]
mov eax, 0x40a7bc
mov ecx, dword [0x40a7b8]
call fcn.00403a00
mov dword [0x40a7a8], 0x400400
push 0xffffffffffffffe8
push esi
call sub.user32.dll_GetClassLongA
mov dword [0x40a7c0], eax
push 0x40a798
push esi
call sub.user32.dll_GetWindowThreadProcessId
mov eax, dword [0x40a798]
push eax
push 0
push 0x1f0fff
call sub.kernel32.dll_OpenProcess
mov ebx, eax
push edi
push 0x40
push 6
mov eax, dword [0x40a7c0]
push eax
push ebx
call sub.kernel32.dll_VirtualProtectEx
push edi
push 0x40
push 0x300
mov eax, dword [0x40a7a8]
push eax
push ebx
call sub.kernel32.dll_VirtualProtectEx
push edi
push 4
push 0x40a7ac
push 0x400500
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
push 4
push 0x40a7b0
push 0x400504
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
push 4
push 0x40a7b4
push 0x400508
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
push 4
push 0x40a7a8
push 0x40050c
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
mov eax, dword [0x40a7b8]
call fcn.004039b4
inc eax
push eax
mov eax, 0x40a7b8
call fcn.00403b50
push eax
push 0x400540
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
mov eax, dword [0x40a7bc]
call fcn.004039b4
inc eax
push eax
mov eax, 0x40a7bc
call fcn.00403b50
push eax
push 0x400580
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
mov edx, 0x407f58
mov eax, 0x407ee8
sub edx, eax
push edx
push eax
mov eax, dword [0x40a7a8]
push eax
push ebx
call sub.kernel32.dll_WriteProcessMemory
push edi
push 6
push 0x40a7c4
mov eax, dword [0x40a7c0]
push eax
push ebx
call sub.kernel32.dll_ReadProcessMemory
push edi
push 6
push 0x409294
mov eax, dword [0x40a7c0]
push eax
push ebx
call sub.kernel32.dll_WriteProcessMemory
push 0x54303131
push 0x44413244
push 0x401
push esi
call sub.user32.dll_SendMessageA
push edi
push 4
push 0x40a7a0
push 0x400510
push ebx
call sub.kernel32.dll_ReadProcessMemory
push edi
push 6
push 0x40a7c4
mov eax, dword [0x40a7c0]
push eax
push ebx
call sub.kernel32.dll_WriteProcessMemory
mov esi, 0x400400
xor eax, eax
mov dword [0x40a7a4], eax
push edi
push 4
push 0x40a7a4
push esi
push ebx
call sub.kernel32.dll_WriteProcessMemory
add esi, 4
cmp esi, 0x400700
jbe 0x408207
push ebx
call sub.kernel32.dll_CloseHandle
cmp dword [0x40a7a0], 0
jne 0x408245
push 0
push 0x408344
push 0x40834c
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x408294
cmp dword [0x40a7a0], 1
jne 0x408263
push 0
push 0x4082cc
push 0x40835c
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x408294
cmp dword [0x40a7a0], 0x10
jne 0x408281
push 0
push 0x4082cc
push 0x40836c
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x408294
push 0
push 0x4082cc
push 0x40837c
push 0
call sub.user32.dll_MessageBoxA_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4082b6
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00403764
ret