Function at 0x4356b0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x514
push ebx
mov ebx, dword [esp + 0x51c]
push ebp
xor ebp, ebp
cmp ebx, ebp
push edi
mov edi, ecx
je 0x4357cf
mov eax, dword [esp + 0x528]
mov byte [0x14c76e4], 0
mov dword [0x14c76d8], ebp
mov dword [0x1269d34], eax
call fcn.00436b30
push str.Opening_audio_library
push 0x4c38e4
mov dword [0x1298608], ebp
call fcn.004777d0
push 0x435060
push 0x435000
push 0x8fc
mov eax, 0x4350c0
call fcn.00472d00
add esp, 0x14
test eax, eax
je 0x43574b
push str.Problem_initialising_audio_n
call fcn.004777d0
add esp, 4
mov dword [0x1298608], 1
call fcn.00474f60
pop edi
mov dword [0x1298608], ebp
pop ebp
pop ebx
add esp, 0x514
ret
cmp edi, 3
mov ecx, dword [esp + 0x52c]
mov dword [0x14c76ec], ecx
ja case.default.0x43575d
jmp dword [edi*4 + 0x435ba8]
mov dword [0x14c76e8], ebp
jmp 0x4357a1
mov dword [0x14c76e8], 1
jmp 0x4357a1
mov dword [0x14c76e8], 2
jmp 0x4357a1
mov dword [0x14c76e8], 3
jmp 0x4357a1
mov ecx, 4
mov dword [0x14c76e8], ecx
mov dword [0x14c76ec], ecx
push edi
push 1
call fcn.004351b0
push str.Loading_audgroup.dat
push 0x4c38e4
call fcn.004777d0
add esp, 0x10
mov eax, str.MAPSAUDIOAUDGROUP.DAT
call fcn.004350e0
mov dword [0x14c76d8], 1
mov dword [0x1269d40], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x1269140], eax
mov eax, 0x1276db4
lea esp, [esp]
mov dword [eax - 4], ebp
mov dword [eax], ebp
add eax, 8
cmp eax, 0x1276fb4
jl 0x4357f0
xor eax, eax
mov ecx, 0x2f9
mov edi, 0x12684a8
rep stosd dword es:[edi], eax
mov ecx, 0x2f9
mov edi, 0x1269148
rep stosd dword es:[edi], eax
push esi
mov dword [0x12697d4], 0x3f000000
mov dword [0x12698f4], 0x3f000000
mov dword [0x12698f8], 0x3f000000
mov dword [0x12694d4], 0x3f800000
mov dword [0x1269490], 0x41200000
mov dword [0x1269cb8], 0x3e19999a
xor ecx, ecx
mov esi, 0x41a00000
mov edi, 0x3f000000
xor eax, eax
mov dl, byte [eax + 0x1277e68]
test dl, 1
je 0x4358a6
test dl, 2
je 0x435887
lea edx, [ecx + eax]
mov edx, dword [edx*4 + 0x1276fb8]
mov dword [edx*4 + 0x1269148], esi
jmp 0x4358a6
test dl, 4
lea edx, [ecx + eax]
mov edx, dword [edx*4 + 0x1276fb8]
je 0x43589f
mov dword [edx*4 + 0x1269148], esi
jmp 0x4358a6
mov dword [edx*4 + 0x1269148], edi
mov dl, byte [eax + 0x1277e69]
test dl, 1
je 0x4358e8
test dl, 2
je 0x4358c9
lea edx, [ecx + eax]
mov edx, dword [edx*4 + 0x1276fbc]
mov dword [edx*4 + 0x1269148], esi
jmp 0x4358e8
test dl, 4
lea edx, [ecx + eax]
mov edx, dword [edx*4 + 0x1276fbc]
je 0x4358e1
mov dword [edx*4 + 0x1269148], esi
jmp 0x4358e8
mov dword [edx*4 + 0x1269148], edi
add eax, 2
cmp eax, 0x3e
jl 0x435864
add ecx, 0x3e
cmp ecx, 0x3a2
jl 0x435862
xor eax, eax
mov ecx, 0x400
mov edi, 0x1269d48
rep stosd dword es:[edi], eax
cmp dword [0x14c76e8], 4
je 0x435b28
or esi, 0xffffffff
cmp ebx, ebp
mov dword [0x1276fb4], ebp
mov dword [0x1277e60], ebp
mov dword [0x1277e64], ebp
mov dword [0x1277e54], ebp
mov dword [0x1269090], 0
mov dword [0x1278168], 0
mov dword [0x126913c], 0
mov dword [0x1277e58], 0
mov dword [0x126908c], 0
mov dword [0x1269d3c], ebp
mov dword [0x1269d30], 0xc47a0000
mov dword [0x1269d2c], 1
mov dword [0x1277e44], esi
je 0x435a96
push 1
call fcn.0043d050
push 2
push ebp
push str.MAPSAUDIOREVERBS.DAT
lea edi, [esp + 0x28]
call fcn.00472860
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
add esp, 0x10
test eax, eax
je 0x4359f0
mov eax, dword [0x14c76e8]
xor edi, edi
cmp eax, ebp
mov ebp, dword [esp + 0x18]
jl 0x4359e5
push 0
lea eax, [esp + 0x14]
push eax
push 0xa0
push 0x1269098
push ebp
call ebx
mov eax, dword [0x14c76e8]
inc edi
cmp edi, eax
jle 0x4359c7
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebp, ebp
jmp 0x435a0e
push str.Unable_to_load_reverb_file_n
call fcn.004777d0
add esp, 4
mov eax, 0x1269098
mov dword [eax], ebp
add eax, 0x14
cmp eax, 0x1269138
jl 0x435a02
push 1
call fcn.0043d050
push 2
push ebp
push str.MAPSAUDIOTERRAINS.DAT
lea edi, [esp + 0x28]
call fcn.00472860
add esp, 0x10
test eax, eax
je 0x435b5d
mov eax, dword [0x14c76e8]
mov dword [esp + 0x10], ebp
cmp eax, ebp
mov ebp, dword [esp + 0x18]
jl 0x435a86
mov esi, 0x1278170
jmp 0x435a50
mov edi, 2
push 0
lea ecx, [esp + 0x18]
push ecx
push 0xc
push esi
push ebp
call ebx
add esi, 0xc
dec edi
jne 0x435a55
cmp esi, 0x1278230
jl 0x435a50
mov eax, dword [esp + 0x10]
mov ecx, dword [0x14c76e8]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jle 0x435a42
or esi, 0xffffffff
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [esp + 0x528]
xor ebp, ebp
fld dword [0x1269d40]
mov dword [0x1276fb0], ebp
fadd dword [0x4c49cc]
fstp dword [0x12684a4]
call fcn.0049aa6d
fld dword [0x1269d40]
fadd dword [0x4c49cc]
fst dword [0x12684a0]
fadd dword [0x4c4ab0]
fstp dword [0x1269138]
call fcn.0049aa6d
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x435ae8
fadd dword [0x4c49f0]
fmul dword [0x4c4c64]
xor eax, eax
mov ecx, 6
fadd dword [0x4c4b34]
mov edi, 0x1278230
rep stosd dword es:[edi], eax
mov ecx, 0x10
fadd dword [0x1269d40]
mov eax, esi
mov edi, 0x1277ea8
mov dword [0x1277e50], ebp
fstp dword [0x126ad48]
mov dword [0x1277e4c], ebp
rep stosd dword es:[edi], eax
cmp ebx, ebp
mov dword [0x1277e5c], ebp
pop esi
je 0x435b89
mov eax, dword [0x12985f4]
mov ecx, dword [0x12985f8]
mov dword [0x12985fc], eax
sub eax, ecx
mov dword [0x14c75c8], ecx
mov dword [0x14c75cc], eax
mov dword [0x1298608], ebp
push str.Audio_initialised
jmp 0x435b8e
push str.Unable_to_load_footsteps_file_n
call fcn.004777d0
add esp, 4
lea ebx, [ebx]
mov eax, 0x1278174
mov dword [eax - 4], esi
mov dword [eax], esi
mov dword [eax + 4], esi
add eax, 0xc
cmp eax, 0x127818c
jl 0x435b75
jmp 0x435b70
push str.Audio_warmly_rebooted
push 0x4c38e4
call fcn.004777d0
add esp, 8
pop edi
pop ebp
pop ebx
add esp, 0x514
ret