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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x780293e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x78025260
push 0x78025270
push 0x60000
push 0x15c70da
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x780036be
push ebx
push 0x78025280
push str._s_hook_pes_useless_rot7____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_12_:_remove_useless_code
push 0x78025318
call esi
add esp, 0x14
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push ebx
call edi
test eax, eax
je 0x780036b0
push 6
push 0x78025330
push ebx
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 6
push ebx
call edi
jmp 0x780036d3
mov esi, dword [sym.imp.dsound.dll_void___cdecl__Global_Log_wchar_t_const___wchar_t_const__]
push str.Error_12.
push 0x7802534c
call esi
add esp, 8
push 0x78025364
push 0x78025374
push 0x60000
push 0xa86dcb
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x78003747
push ebx
push 0x78025384
push str._s_hook_pes_useless_rot4____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_9_:_remove_useless_code
push 0x780253bc
call esi
add esp, 0x14
add ebx, 0xe
je 0x78003756
lea eax, [ebp - 8]
push eax
push 0x40
push 3
push ebx
call edi
test eax, eax
je 0x78003739
push 3
push 0x780253d4
push ebx
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 3
push ebx
call edi
jmp 0x78003756
push str.Error_9.
push 0x78025448
call esi
add esp, 8
push 0x78025460
push 0x7802546c
push 0x60000
push 0x1767ba4
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x780037ca
push ebx
push 0x78025478
push str._s_hook_pes_useless_rot____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_6_:_remove_useless_code.
push 0x78025510
call esi
add esp, 0x14
add ebx, 0xfffffffb
je 0x780037d9
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push ebx
call edi
test eax, eax
je 0x780037bc
push 5
push 0x78025528
push ebx
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 5
push ebx
call edi
jmp 0x780037d9
push str.Error_6.
push 0x78025544
call esi
add esp, 8
push 0x7802555c
push 0x7802556c
push 0x60000
push 0x15c716a
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x78003857
push ebx
push 0x7802557c
push str._s_hook_pes_useless_rot2____08x_n
call fcn.7800ce8b
push str.Patch_performance_fix_7_:_remove_useless_code
push 0x780255b4
call esi
add esp, 0x14
lea eax, [ebp - 8]
push eax
push 0x40
push 3
push ebx
call edi
test eax, eax
je 0x7800383a
push 3
push 0x780255cc
push ebx
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 3
push ebx
call edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.7800ce67
mov esp, ebp
pop ebp
ret
push str.Error_7.
push 0x78025640
call esi
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.7800ce67
mov esp, ebp
pop ebp
ret