Function at 0x78002dc0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x780293e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
push esi
push edi
push 0x78024678
push str.3_bf
push 0x60000
push 0xc9d08f
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x78002e65
push eax
push 0x78024690
push str._s_hook_pes_useless_rot3____08x_n
call fcn.7800ce8b
mov esi, dword [sym.imp.dsound.dll_void___cdecl__Global_Log_wchar_t_const___wchar_t_const__]
push str.Patch_performance_fix_8_:_remove_useless_code
push 0x78024724
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x14
add eax, 8
je 0x78002e7a
lea ecx, [ebp - 8]
push ecx
push 0x40
push 0xf
push eax
call edi
test eax, eax
je 0x78002e51
mov eax, dword [ebp - 0x10]
push 0xf
add eax, 8
push 0x7802473c
push eax
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push 0xf
add eax, 8
push eax
call edi
jmp 0x78002e7a
mov esi, dword [sym.imp.dsound.dll_void___cdecl__Global_Log_wchar_t_const___wchar_t_const__]
push str.Error_8.
push 0x78024760
call esi
add esp, 8
push 0x78024778
push 0x78024784
push 0x60000
push 0xbf021c
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x78002eec
push eax
push 0x78024790
push str._s_hook_pes_useless_rot5____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_10_:_remove_useless_code
push 0x78024828
call esi
add esp, 0x14
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push dword [ebp - 0x10]
call edi
test eax, eax
je 0x78002edc
push 4
push 0x78024840
push dword [ebp - 0x10]
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 4
push dword [ebp - 0x10]
call edi
jmp 0x78002efb
push str.Error_10.
push 0x7802485c
call esi
add esp, 8
push 0x78024874
push 0x78024884
push 0x60000
push 0x1772828
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x78002f7b
push eax
push 0x78024894
push str._s_hook_pes_useless_rot6____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_11_:_remove_useless_code
push 0x780248cc
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x14
add eax, 0xf
je 0x78002f8a
lea ecx, [ebp - 8]
push ecx
push 0x40
push 5
push eax
call edi
test eax, eax
je 0x78002f67
mov eax, dword [ebp - 0x10]
push 5
add eax, 0xf
push 0x78024958
push eax
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push 5
add eax, 0xf
push eax
call edi
jmp 0x78002f8a
push str.Error_11.
push 0x78024960
call esi
add esp, 8
push 0x78024978
push 0x78024988
push 0x60000
push 0x17673ee
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x7800300a
push eax
push 0x78024998
push str._s_hook_pes_useless_rot8____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_13_:_remove_useless_code
push 0x78024a30
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x14
add eax, 0xfffffff2
je 0x78003019
lea ecx, [ebp - 8]
push ecx
push 0x40
push 7
push eax
call edi
test eax, eax
je 0x78002ff6
mov eax, dword [ebp - 0x10]
push 7
add eax, 0xfffffff2
push 0x78024a48
push eax
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push 7
add eax, 0xfffffff2
push eax
call edi
jmp 0x78003019
push str.Error_13.
push 0x78024a64
call esi
add esp, 8
push 0x78024a7c
push 0x78024a90
push 0x40000
push 0x9df815
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x7800308b
push eax
push 0x78024aa4
push str._s_hook_pes_useless_rot12____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_17_:_remove_useless_command
push 0x78024adc
call esi
add esp, 0x14
lea eax, [ebp - 8]
push eax
push 0x40
push 8
push dword [ebp - 0x10]
call edi
test eax, eax
je 0x7800307b
push 8
push 0x78024af4
push dword [ebp - 0x10]
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 8
push dword [ebp - 0x10]
call edi
jmp 0x7800309a
push str.Error_17.
push 0x78024b78
call esi
add esp, 8
push 0x78024b90
push 0x78024ba0
push 0x60000
push 0x1793c2e
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x7800311a
push eax
push 0x78024bb0
push str._s_hook_pes_useless_rot13____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_18_:_remove_useless_command
push 0x78024c4c
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x14
add eax, 0xd
je 0x78003129
lea ecx, [ebp - 8]
push ecx
push 0x40
push 0x18
push eax
call edi
test eax, eax
je 0x78003106
mov eax, dword [ebp - 0x10]
push 0x18
add eax, 0xd
push 0x78024c64
push eax
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push 0x18
add eax, 0xd
push eax
call edi
jmp 0x78003129
push str.Error_18.
push 0x78024c94
call esi
add esp, 8
push str.xxxxxxxxx
push 0x78024cb8
push 0x60000
push 0xde88f6
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x780031a9
push eax
push 0x78024cc4
push str._s_hook_pes_useless_rot14____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_19_:_remove_useless_command
push 0x78024cfc
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x14
add eax, 0xfffffff7
je 0x780031b8
lea ecx, [ebp - 8]
push ecx
push 0x40
push 9
push eax
call edi
test eax, eax
je 0x78003195
mov eax, dword [ebp - 0x10]
push 9
add eax, 0xfffffff7
push 0x78024d14
push eax
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push 9
add eax, 0xfffffff7
push eax
call edi
jmp 0x780031b8
push str.Error_19.
push 0x78024d98
call esi
add esp, 8
cmp dword [0x7802c894], 0
jle 0x780032b3
push 0x78024db0
push 0x78024dbc
push 0x60000
push 0xe3a045
call ebx
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x78003243
push eax
push 0x78024dc8
push str._s_disable_keyboard____08x_n
call fcn.7800ce8b
push str.Disable_keyboard
push 0x78024e20
call esi
mov eax, dword [ebp - 0x10]
add esp, 0x14
add eax, 0xfffffff9
je 0x78003243
lea ecx, [ebp - 8]
push ecx
push 0x40
push 2
push eax
call edi
test eax, eax
je 0x78003231
mov eax, dword [ebp - 0x10]
push 2
add eax, 0xfffffff9
push 0x78024e38
push eax
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push 2
add eax, 0xfffffff9
push eax
call edi
push 0x78024e3c
push 0x78024e48
push 0x60000
push 0x554cb0
call ebx
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x780032b3
push ebx
push 0x78024e54
push str._s_disable_mouse____08x_n
call fcn.7800ce8b
push str.Disable_mouse
push 0x78024ea0
call esi
lea esi, [ebx - 0xb]
add esp, 0x14
test esi, esi
je 0x780032b3
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
test eax, eax
je 0x780032a7
push 1
push 0x78024eb8
push esi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.7800ce67
mov esp, ebp
pop ebp
ret