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

Disassembly:
sub esp, 0xc0
push esi
mov cl, 1
mov edx, 0x17
mov eax, 0x10
lea esi, [esp + 0xc]
call fcn.004fc540
push str.AudioSoundScapeScripts.csv
mov eax, esi
push eax
call fcn.004fc670
test al, al
jne 0x49a9de
mov ecx, esi
call fcn.004fc5e0
xor al, al
pop esi
add esp, 0xc0
ret
or ecx, 0xffffffff
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
push ebx
mov dword [esp + 0x78], ecx
push ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
xor esi, esi
test ebp, ebp
push edi
mov dword [esp + 0x8c], ecx
jle 0x49abb1
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x49aa72
test esi, esi
jl 0x49aa72
cmp esi, ebp
jge 0x49aa72
mov edi, dword [esp + 0x20]
mov edx, dword [edi]
mov eax, dword [edx + esi*4]
jmp 0x49aa78
mov edi, dword [esp + 0x20]
xor eax, eax
mov ebx, dword [sym.imp.MSVCR71.dll__stricmp]
push str.SoundScape_Script_ID
push eax
call ebx
add esp, 8
test eax, eax
jne 0x49aa96
mov dword [esp + 0x34], esi
jmp 0x49aba8
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x49aaad
test esi, esi
jl 0x49aaad
cmp esi, ebp
jge 0x49aaad
mov eax, dword [edi]
mov eax, dword [eax + esi*4]
jmp 0x49aaaf
xor eax, eax
push str.Min_Volume
push eax
call ebx
add esp, 8
test eax, eax
jne 0x49aac7
mov dword [esp + 0x38], esi
jmp 0x49aba8
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x49aade
test esi, esi
jl 0x49aade
cmp esi, ebp
jge 0x49aade
mov ecx, dword [edi]
mov eax, dword [ecx + esi*4]
jmp 0x49aae0
xor eax, eax
push str.Max_Volume
push eax
call ebx
add esp, 8
test eax, eax
jne 0x49aaf8
mov dword [esp + 0x3c], esi
jmp 0x49aba8
xor ebx, ebx
mov edi, 1
nop
push edi
lea edx, [esp + 0xb4]
push str.Script_d_ID
push edx
call dword [sym.imp.MSVCR71.dll_sprintf]
push edi
lea eax, [esp + 0xa0]
push str.Script_d_Type
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, dword [esp + 0x3c]
add esp, 0x18
test eax, eax
jle 0x49ab46
test esi, esi
jl 0x49ab46
cmp esi, ebp
jge 0x49ab46
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + esi*4]
jmp 0x49ab48
xor eax, eax
lea ecx, [esp + 0xb0]
push ecx
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
je 0x49ab9e
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x49ab79
test esi, esi
jl 0x49ab79
cmp esi, ebp
jge 0x49ab79
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov eax, dword [eax + esi*4]
jmp 0x49ab7b
xor eax, eax
lea ecx, [esp + 0x90]
push ecx
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
je 0x49aba4
inc ebx
inc edi
cmp edi, 0xb
jl 0x49ab00
jmp 0x49aba8
mov dword [esp + ebx*4 + 0x40], esi
jmp 0x49aba8
mov dword [esp + ebx*4 + 0x68], esi
inc esi
cmp esi, ebp
jl 0x49aa57
xor eax, eax
or ecx, 0xffffffff
cmp dword [esp + eax*4 + 0x34], ecx
je 0x49ac5c
inc eax
cmp eax, 0x17
jl 0x49abb6
push 0x564
call fcn.005354dd
push 0x40
mov dword [esp + 0x34], eax
call fcn.005354dd
add esp, 8
mov dword [0x8ef4d8], eax
xor esi, esi
push 0x20
call fcn.005354dd
mov edx, dword [0x8ef4d8]
mov dword [esi + edx], eax
add esi, 4
add esp, 4
cmp esi, 0x3c
jl 0x49abe5
mov ecx, dword [esp + 0x24]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x10], eax
jle 0x49addf
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 4]
mov dword [esp + 0x14], eax
mov eax, 0xfffffffc
xor ebx, ebx
sub eax, ecx
mov dword [esp + 0x30], eax
lea ecx, [ecx]
cmp ebx, 0xffffffa4
mov eax, dword [esp + 0x10]
lea esi, [eax - 1]
jl 0x49ac72
cmp eax, dword [esp + 0x24]
jge 0x49ac72
mov eax, dword [esp + 0x34]
test eax, eax
jl 0x49ac72
cmp eax, dword [esp + 0x28]
jge 0x49ac72
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebp]
mov ecx, dword [ecx + eax*4]
jmp 0x49ac78
lea ecx, [esp + 0x18]
call fcn.004fc5e0
pop edi
pop ebp
pop ebx
xor al, al
pop esi
add esp, 0xc0
ret
mov ebp, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x30]
mov eax, dword [0x8ef4d8]
add edx, ebp
mov edx, dword [edx + eax]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x49ac86
cmp ebx, 0xffffffa4
mov edi, dword [esp + 0x2c]
mov dword [ebx + edi], esi
jl 0x49acbc
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x24]
jge 0x49acbc
mov eax, dword [esp + 0x38]
test eax, eax
jl 0x49acbc
cmp eax, dword [esp + 0x28]
jge 0x49acbc
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
jmp 0x49acbe
xor eax, eax
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x49acca
test eax, eax
je 0x49acd4
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
add esp, 4
cmp ebx, 0xffffffa4
mov dword [ebx + edi + 4], eax
jl 0x49acfd
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x10], eax
jge 0x49acfd
mov eax, dword [esp + 0x3c]
test eax, eax
jl 0x49acfd
cmp eax, dword [esp + 0x28]
jge 0x49acfd
mov ecx, dword [ebp]
mov eax, dword [ecx + eax*4]
jmp 0x49acff
xor eax, eax
mov cl, byte [esp + 0x1c]
test cl, cl
je 0x49ad0b
test eax, eax
je 0x49ad15
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
add esp, 4
mov ecx, dword [esp + 0x2c]
mov dword [ebx + ecx + 8], eax
xor ebp, ebp
lea esi, [ebx + ecx + 0xc]
cmp ebx, 0xffffffa4
mov eax, dword [esp + ebp*4 + 0x68]
jl 0x49ad4b
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x10], edx
jge 0x49ad4b
test eax, eax
jl 0x49ad4b
cmp eax, dword [esp + 0x28]
jge 0x49ad4b
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + eax*4]
jmp 0x49ad4d
xor eax, eax
push 0x8eed78
mov edi, eax
call fcn.0052b9d0
test eax, eax
jne 0x49ad68
mov dword [esi + 4], eax
mov dword [esi], 0xffffffff
jmp 0x49adaf
xor ecx, ecx
cmp eax, 1
setne cl
mov dword [esi + 4], eax
mov eax, dword [esp + ebp*4 + 0x40]
add ecx, 3
cmp ebx, 0xffffffa4
jl 0x49ad9e
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x10], edx
jge 0x49ad9e
test eax, eax
jl 0x49ad9e
cmp eax, dword [esp + 0x28]
jge 0x49ad9e
mov edx, dword [esp + 0x14]
mov edx, dword [edx]
mov eax, dword [edx + eax*4]
jmp 0x49ada0
xor eax, eax
push eax
mov eax, ecx
mov ecx, 0x8eed78
call fcn.0052b730
mov dword [esi], eax
inc ebp
add esi, 8
cmp ebp, 0xa
jl 0x49ad23
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
inc eax
add edx, 4
add ebx, 0x5c
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jl 0x49ac30
mov eax, dword [0x8ef4d8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4 - 4], 0
lea ecx, [esp + 0x18]
mov dword [0x8ef4b0], edx
mov dword [0x8ef4b4], 0xf
call fcn.004fc5e0
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
add esp, 0xc0
ret