Function at 0x5ce465
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x44c
mov eax, dword [0x84dea4]
xor eax, esp
mov dword [esp + 0x448], eax
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x3c]
push edi
mov edi, dword [eax + 0x38fc]
mov ecx, edi
mov dword [esp + 0x14], edi
call fcn.005df680
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x5cea74
push ebx
call fcn.004baee0
push str.Sounds
mov ecx, esi
mov ebx, eax
call fcn.005b28d0
mov ecx, esi
call fcn.005b2690
push 0
push 0
push str.InitSounds
mov ecx, esi
call fcn.005b3d00
xor eax, eax
test ebp, ebp
mov dword [esp + 0x14], eax
jle 0x5cea65
jmp 0x5ce4ca
mov edi, dword [esp + 0x18]
fldz
lea ecx, [esp + 0x70]
push ecx
fst dword [esp + 0x248]
fst dword [esp + 0x24c]
push eax
mov ecx, edi
fstp dword [esp + 0x254]
call fcn.005df6f0
push 0x104
lea edx, [esp + 0x358]
push edx
lea eax, [esp + 0xdc]
push eax
mov ecx, esi
call fcn.005b1d90
test byte [esp + 0x20c], 8
lea edx, [esp + 0x70]
je 0x5ce551
lea ecx, [esp + 0x354]
push ecx
push edx
push str.set__s____s_
lea eax, [esp + 0x25c]
push 0x104
push eax
call sub.Storm.dll_Ordinal_578
add esp, 0x14
push 1
lea ecx, [esp + 0x254]
push ecx
mov ecx, esi
call fcn.005b2660
jmp 0x5cea50
push edx
push 7
push str.CreateSound
mov ecx, esi
call fcn.005b25a0
push 1
push 0
lea eax, [esp + 0x35c]
push eax
mov ecx, esi
call fcn.005b21c0
mov ecx, dword [esp + 0x20c]
and ecx, 1
push 0
push ecx
mov ecx, esi
call fcn.005b2360
mov edx, dword [esp + 0x20c]
shr edx, 1
push 0
and edx, 1
push edx
mov ecx, esi
call fcn.005b2360
mov eax, dword [esp + 0x20c]
shr eax, 2
push 0
and eax, 1
push eax
mov ecx, esi
call fcn.005b2360
mov ecx, dword [esp + 0x210]
push 0
push ecx
mov ecx, esi
call fcn.005b2250
mov edx, dword [esp + 0x214]
push 0
push edx
mov ecx, esi
call fcn.005b2250
push 1
push 0
lea eax, [esp + 0x1e0]
push eax
mov ecx, esi
call fcn.005b21c0
mov ecx, esi
call fcn.005b2640
lea ecx, [esp + 0xd4]
push ecx
mov ecx, ebx
call fcn.004e4a90
mov edi, eax
cmp edi, 0xffffffff
je 0x5ce641
push 0
push 2
push str.SetSoundParamsFromLabel
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea edx, [esp + 0x78]
push edx
mov ecx, esi
call fcn.005b21c0
push 1
push 0
push edi
mov ecx, ebx
call fcn.004e48d0
push eax
mov ecx, esi
call fcn.005b21c0
mov ecx, esi
call fcn.005b2640
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x3904]
push 0x104
lea edx, [esp + 0x254]
push edx
lea eax, [esp + 0xdc]
push eax
call fcn.00504a80
test eax, eax
jne 0x5ce682
push Ordinal_2
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x258]
push edx
call sub.Storm.dll_Ordinal_501
lea edx, [esp + 0x58]
lea ecx, [esp + 0x250]
call fcn.004c64d0
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jbe 0x5ce6cb
push 0
push 2
push str.SetSoundDuration
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.005b21c0
push 0
push ebp
mov ecx, esi
call fcn.005b2250
mov ecx, esi
call fcn.005b2640
cmp edi, 0xffffffff
fldz
fst dword [esp + 0x4c]
fst dword [esp + 0x50]
fstp dword [esp + 0x54]
je 0x5ce6f8
lea ecx, [esp + 0x20]
push ecx
push edi
mov ecx, ebx
call fcn.004e4990
mov edx, dword [esp + 0x228]
cmp edx, dword [esp + 0x30]
je 0x5ce730
push 0
push 2
push str.SetSoundChannel
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.005b21c0
mov ecx, dword [esp + 0x228]
push 0
push ecx
mov ecx, esi
call fcn.005b2250
mov ecx, esi
call fcn.005b2640
cmp edi, 0xffffffff
je 0x5ce742
mov edx, dword [esp + 0x218]
cmp edx, dword [esp + 0x20]
je 0x5ce77a
push 0
push 2
push str.SetSoundVolume
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.005b21c0
mov ecx, dword [esp + 0x218]
push 0
push ecx
mov ecx, esi
call fcn.005b2250
mov ecx, esi
call fcn.005b2640
cmp edi, 0xffffffff
je 0x5ce7a9
fld dword [esp + 0x21c]
fsub dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fabs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp dword [0x79e624]
fnstsw ax
test ah, 5
jnp 0x5ce7e4
push 0
push 2
push str.SetSoundPitch
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea edx, [esp + 0x78]
push edx
mov ecx, esi
call fcn.005b21c0
fld dword [esp + 0x21c]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
mov ecx, esi
call fcn.005b2640
test byte [esp + 0x20c], 2
je 0x5cea50
cmp edi, 0xffffffff
je 0x5ce833
fld dword [esp + 0x34]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x234]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
jne 0x5ce833
fld dword [esp + 0x38]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x238]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
je 0x5ce882
push 0
push 3
push str.SetSoundDistances
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.005b21c0
fld dword [esp + 0x22c]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
fld dword [esp + 0x230]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
mov ecx, esi
call fcn.005b2640
cmp edi, 0xffffffff
je 0x5ce8a5
fld dword [esp + 0x3c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x23c]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
je 0x5ce8e0
push 0
push 2
push str.SetSoundDistanceCutoff
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea ecx, [esp + 0x78]
push ecx
mov ecx, esi
call fcn.005b21c0
fld dword [esp + 0x234]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
mov ecx, esi
call fcn.005b2640
cmp edi, 0xffffffff
je 0x5ce92e
fld dword [esp + 0x40]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x240]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
jne 0x5ce92e
fld dword [esp + 0x44]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x244]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
jne 0x5ce92e
mov edx, dword [esp + 0x240]
cmp edx, dword [esp + 0x48]
je 0x5ce98e
push 0
push 4
push str.SetSoundConeAngles
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.005b21c0
fld dword [esp + 0x238]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
fld dword [esp + 0x23c]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
mov ecx, dword [esp + 0x240]
push 0
push ecx
mov ecx, esi
call fcn.005b2250
mov ecx, esi
call fcn.005b2640
cmp edi, 0xffffffff
je 0x5ce9ed
fld dword [esp + 0x4c]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x24c]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
jne 0x5ce9ed
fld dword [esp + 0x50]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x250]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
jne 0x5ce9ed
fld dword [esp + 0x54]
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x254]
fstp dword [esp]
call fcn.00514cf0
test eax, eax
je 0x5cea50
push 0
push 4
push str.SetSoundConeOrientation
mov ecx, esi
call fcn.005b25a0
push 0
push 0
lea edx, [esp + 0x78]
push edx
mov ecx, esi
call fcn.005b21c0
fld dword [esp + 0x244]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
fld dword [esp + 0x248]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
fld dword [esp + 0x24c]
push 0
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.005b22a0
mov ecx, esi
call fcn.005b2640
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jl 0x5ce4c6
mov ecx, esi
call fcn.005b2970
mov ecx, esi
call fcn.005b2690
pop ebx
mov ecx, dword [esp + 0x454]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.00735f58
add esp, 0x44c
ret