Function at 0x4014b0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa8c
mov eax, dword [0x5eae84]
xor eax, esp
mov dword [esp + 0xa88], eax
cmp byte [0x641069], 0
push ebx
push esi
push edi
jne 0x40152c
push str._warn_
lea eax, [esp + 0x14]
push 0x80
push eax
call dword [sym.imp.MSVCR110.dll_strcpy_s]
add esp, 0xc
lea eax, [esp + 0x16]
push str.ignore_call_SoundSystem::Release._SoundSystem_not_initialized
push 0x7a
push eax
call dword [sym.imp.MSVCR110.dll_sprintf_s]
add esp, 0xc
mov word [esp + eax + 0x16], 0xa
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
or al, 0xff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa88]
xor ecx, esp
call fcn.0057d22e
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.MSVCR110.dll_sprintf_s]
push str.SoundSystem::Release...
lea eax, [esp + 0x594]
push 0x80
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add esp, 0xc
mov word [esp + eax + 0x590], 0xa
lea eax, [esp + 0x590]
push eax
call edi
push str.action_clear...
lea eax, [esp + 0x194]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x190], 0xa
lea eax, [esp + 0x190]
push eax
call edi
call fcn.00409e00
push str.success
lea eax, [esp + 0x994]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x990], 0xa
lea eax, [esp + 0x990]
push eax
call edi
cmp dword [0x6410c8], 0
je 0x40164c
push str.sound_update_thread_join...
lea eax, [esp + 0x294]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x290], 0xa
lea eax, [esp + 0x290]
push eax
call edi
push 0xffffffffffffffff
push dword [0x6410c8]
mov byte [0x64106a], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x6410c8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.success
lea eax, [esp + 0x694]
push 0x80
push eax
mov dword [0x6410c8], 0
call esi
add esp, 0xc
mov word [esp + eax + 0x690], 0xa
lea eax, [esp + 0x690]
push eax
call edi
push str.exist_sounds_stop...
lea eax, [esp + 0x394]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x390], 0xa
lea eax, [esp + 0x390]
push eax
call edi
cmp dword [0x641158], 0
jle 0x4016ff
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x401690
push str.stop_all
lea eax, [esp + 0x894]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x890], 0xa
lea eax, [esp + 0x890]
push eax
call edi
xor ecx, ecx
call fcn.00409460
push 0xa
call ebx
push str.update
lea eax, [esp + 0x494]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x490], 0xa
lea eax, [esp + 0x490]
push eax
call edi
call fcn.004019a0
cmp dword [0x641158], 0
jg 0x401690
push str.success
lea eax, [esp + 0x794]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x790], 0xa
lea eax, [esp + 0x790]
push eax
call edi
push str.CategoryManager::Release...
lea eax, [esp + 0x94]
push 0x80
push eax
mov byte [0x641069], 0
call esi
add esp, 0xc
mov word [esp + eax + 0x90], 0xa
lea eax, [esp + 0x90]
push eax
call edi
call fcn.00408220
push str.success
lea eax, [esp + 0x114]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x110], 0xa
lea eax, [esp + 0x110]
push eax
call edi
push str.ActionManager::Release...
lea eax, [esp + 0x214]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x210], 0xa
lea eax, [esp + 0x210]
push eax
call edi
mov ecx, dword [0x64116c]
test ecx, ecx
je 0x4017db
cmp dword [ecx - 4], 0
lea eax, [ecx - 4]
je 0x4017d2
mov eax, dword [ecx]
push 3
call dword [eax]
jmp 0x4017db
push eax
call fcn.0043ad40
add esp, 4
push str.success
lea eax, [esp + 0x314]
push 0x80
push eax
mov dword [0x64116c], 0
mov dword [0x641170], 0
mov dword [0x641174], 0
mov dword [0x641178], 0
call esi
add esp, 0xc
mov word [esp + eax + 0x310], 0xa
lea eax, [esp + 0x310]
push eax
call edi
push str.DelegateManager::Release...
lea eax, [esp + 0x414]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x410], 0xa
lea eax, [esp + 0x410]
push eax
call edi
call fcn.00408f40
push str.success
lea eax, [esp + 0x514]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x510], 0xa
lea eax, [esp + 0x510]
push eax
call edi
push str.SoundManager::Release...
lea eax, [esp + 0x614]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x610], 0xa
lea eax, [esp + 0x610]
push eax
call edi
call fcn.00409400
push str.success
lea eax, [esp + 0x714]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x710], 0xa
lea eax, [esp + 0x710]
push eax
call edi
push str.Audio::Release...
lea eax, [esp + 0x814]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x810], 0xa
lea eax, [esp + 0x810]
push eax
call edi
call fcn.00407d00
mov eax, dword [0x64109c]
dec eax
mov ecx, 0
cmovs eax, ecx
push str.success
mov dword [0x64109c], eax
lea eax, [esp + 0x914]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0x910], 0xa
lea eax, [esp + 0x910]
push eax
call edi
push str.SoundSystem::Release_success
lea eax, [esp + 0xa14]
push 0x80
push eax
call esi
add esp, 0xc
mov word [esp + eax + 0xa10], 0xa
lea eax, [esp + 0xa10]
push eax
call edi
mov ecx, dword [esp + 0xa94]
pop edi
pop esi
pop ebx
xor ecx, esp
xor al, al
call fcn.0057d22e
mov esp, ebp
pop ebp
ret