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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x780293e0]
xor eax, ebp
mov dword [ebp - 4], eax
movss xmm0, dword [0x7802c888]
push ebx
push esi
push edi
push str.xxxxxxxxxxxxxx
push 0x78026894
push 0x60000
push 0x400000
movss dword [0x7802a794], xmm0
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
mov ebx, dword [sym.imp.dsound.dll_void___cdecl__Global_Log_wchar_t_const___wchar_t_const__]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0x10
mov dword [0x7802c830], eax
test eax, eax
je 0x78008d4e
lea edi, [eax - 0x1c]
test edi, edi
je 0x78008d2c
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0x1d
push edi
call esi
test eax, eax
je 0x78008d1b
push 0x1d
push 0x780268a4
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 0x1d
push edi
call esi
mov eax, dword [0x7802c830]
sub esp, 8
mov edx, 0x78008af0
push 0
push ecx
lea ecx, [eax - 0x14]
call fcn.78002590
add esp, 0x10
mov dword [0x7802c83c], 1
jmp 0x78008d5d
push str.Error_1.
push 0x780268c4
call ebx
add esp, 8
push str.xxxxxxxx
push 0x78026804
push 0x60000
push 0x400000
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
add esp, 0x10
mov dword [ebp - 8], eax
test eax, eax
je 0x78008dcf
lea edi, [eax - 0x20]
test edi, edi
je 0x78008db6
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0x1a
push edi
call esi
test eax, eax
je 0x78008da7
push 0x1a
push 0x780268d4
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
push 0x1a
push edi
call esi
mov eax, dword [ebp - 8]
mov edx, dword [0x7802c820]
sub esp, 8
push 0
push ecx
lea ecx, [eax - 0x13]
call fcn.78002590
add esp, 0x10
jmp 0x78008dde
push str.Error_1_1.
push 0x78026908
call ebx
add esp, 8
push str.xxxxxxxxxxxxx
push 0x78026928
push 0x60000
push 0x187a90b
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
mov edi, eax
add esp, 0x10
test edi, edi
je 0x78008f54
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edx, dword [0x7802c820]
sub esp, 8
push 1
push ecx
lea ecx, [edi - 6]
call fcn.78002590
lea ebx, [edi + 0x12]
add esp, 0x10
test ebx, ebx
je 0x78008e58
lea eax, [ebp - 8]
push eax
push 0x40
push 0xc
push ebx
call esi
test eax, eax
je 0x78008e4c
push 0xc
push 0x78026938
push ebx
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 0xc
push ebx
call esi
lea ebx, [edi + 0x13]
test ebx, ebx
je 0x78008e89
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push ebx
call esi
test eax, eax
je 0x78008e7d
push 4
lea eax, [ebp - 0x14]
push eax
push ebx
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 4
push ebx
call esi
add edi, 0x19
je 0x78008eb8
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push edi
call esi
test eax, eax
je 0x78008eac
push 4
lea eax, [ebp - 0x18]
push eax
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 4
push edi
call esi
mov ebx, dword [sym.imp.dsound.dll_void___cdecl__Global_Log_wchar_t_const___wchar_t_const__]
push str.xxxxxxxxxxxx
push 0x78026980
push 0x60000
push 0x1859349
call dword [sym.imp.dsound.dll_unsigned_long_int___cdecl_FindPattern_unsigned_long_int__unsigned_long_int__unsigned_char___char__]
add esp, 0x10
mov dword [ebp - 0x10], eax
test eax, eax
je 0x78008f68
lea edi, [eax - 6]
test edi, edi
je 0x78008f18
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push edi
call esi
test eax, eax
je 0x78008f0c
push 6
push 0x78026990
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 8]
push 6
push edi
call esi
mov edi, dword [ebp - 0x10]
mov eax, dword [0x7802c820]
mov dword [ebp - 0xc], eax
add edi, 0xfffffffb
je 0x78008f77
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push edi
call esi
test eax, eax
je 0x78008f46
push 4
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 8]
push 4
push edi
call esi
jmp 0x78008f77
push str.Error_1_2.
push 0x78026960
call ebx
add esp, 8
jmp 0x78008ebe
push str.Error_1_3.
push 0x780269b0
call ebx
add esp, 8
push str.xxxxxxxxxxxxxxxx
push 0x780269d4
push 0x60000
push 0x537b14
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 0x78009023
lea edi, [ebx - 0x61]
test edi, edi
je 0x78008fd0
lea eax, [ebp - 0xc]
push eax
push 0x40
push 8
push edi
call esi
test eax, eax
je 0x78008fc4
push 8
push 0x780269e8
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0xc]
push 8
push edi
call esi
mov edi, dword [ebx + 0x18]
mov edx, dword [0x7802c820]
mov dword [ebp - 8], edx
test edi, edi
je 0x78009010
lea eax, [ebp - 0xc]
push eax
push 0x40
push 4
push edi
call esi
test eax, eax
je 0x78008ffe
push 4
lea eax, [ebp - 8]
push eax
push edi
call fcn.78009480
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0xc]
push 4
push edi
call esi
mov edx, dword [0x7802c820]
sub esp, 8
push 1
push ecx
lea ecx, [ebx + 0x16]
call fcn.78002590
add esp, 0x10
jmp 0x78009036
push str.Error_1_4.
push str.System
call dword [sym.imp.dsound.dll_void___cdecl__Global_Log_wchar_t_const___wchar_t_const__]
add esp, 8
push 0x78008b70
call dword [sym.imp.dsound.dll_void___cdecl_AddCallMatchInfo_void__]
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.7800ce67
mov esp, ebp
pop ebp
ret