Function at 0x4828f4
Capabilities:
Read file on windows

Disassembly:
push 0x434
push 0x51c938
call fcn.004d8c1c
mov esi, ecx
mov dword [ebp - 0x444], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x440], eax
xor edi, edi
mov dword [ebp - 0x438], edi
mov byte [ebp - 0x234], 0
mov ebx, 0x103
push ebx
push edi
lea eax, [ebp - 0x233]
push eax
call fcn.004c05d0
add esp, 0xc
mov byte [ebp - 0x12c], 0
push ebx
push edi
lea eax, [ebp - 0x12b]
push eax
call fcn.004c05d0
add esp, 0xc
mov edi, 0x1e8
call fcn.0048424f
test eax, eax
je 0x482c7d
mov edx, dword [ebp - 0x440]
call fcn.00485754
test eax, eax
lea eax, [ebp - 0x12c]
jne 0x482989
push dword [ebp - 0x440]
lea ecx, [ebx + 1]
call fcn.00485786
pop ecx
jmp 0x48298e
call fcn.004856d7
and dword [ebp - 0x440], 0
lea edx, [ebp - 0x12c]
call fcn.00485754
test eax, eax
jne 0x482a34
lea edi, [ebp - 0x12c]
call fcn.0041a56b
test eax, eax
jne 0x482a19
mov edi, 0x61ea40
mov edx, edi
call fcn.00485754
test eax, eax
jne 0x482c7d
push edi
call fcn.004bf880
pop ecx
mov ecx, ebx
sub ecx, eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x234]
call fcn.00485786
pop ecx
mov edx, edi
mov ecx, eax
call fcn.00485d15
lea edi, [ebp - 0x234]
call fcn.0041a56b
test eax, eax
je 0x482c7d
mov eax, edi
push eax
mov ecx, 0x104
lea eax, [ebp - 0x12c]
call fcn.00485786
pop ecx
xor ecx, ecx
lea edx, [ebp - 0x12c]
call fcn.0041ab42
mov dword [ebp - 0x440], eax
test eax, eax
je 0x482c7d
cmp dword [ebp - 0x440], 0
jne 0x482a78
mov edi, 0x21a
call fcn.0048424f
test eax, eax
je 0x482a70
mov eax, esi
call fcn.0048429d
test eax, eax
je 0x482a70
mov ecx, esi
call fcn.00482549
and dword [esi + 0x104], 0
mov eax, esi
call fcn.004856d7
call fcn.004842b6
xor eax, eax
inc eax
jmp 0x482c7f
push 0x228
push str..Sound.c
mov edx, 0x4de27c
lea ecx, [ebp - 0x12c]
call fcn.0041c35a
pop ecx
pop ecx
mov edi, eax
test edi, edi
je 0x482c7d
and dword [ebp - 0x43c], 0
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x52
jne 0x482ae9
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x49
jne 0x482ae9
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x46
jne 0x482ae9
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x46
je 0x482af4
xor ebx, ebx
inc ebx
mov dword [ebp - 0x43c], ebx
jmp 0x482af7
xor ebx, ebx
inc ebx
push edi
call fcn.004bfd7e
pop ecx
push edi
call fcn.004bfd7e
pop ecx
push edi
call fcn.004bfd7e
pop ecx
push edi
call fcn.004bfd7e
pop ecx
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x57
jne 0x482b57
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x41
jne 0x482b57
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x56
jne 0x482b57
push edi
call fcn.004bfd7e
pop ecx
call fcn.004855d7
cmp eax, 0x45
je 0x482b5d
mov dword [ebp - 0x43c], ebx
push edi
cmp dword [ebp - 0x43c], 0
jne 0x482c77
mov eax, str.fmt
call fcn.0041bbb8
pop ecx
push edi
test eax, eax
je 0x482c77
and dword [ebp - 0x438], 0
push ebx
push 4
lea eax, [ebp - 0x438]
push eax
call fcn.004c0915
add esp, 0x10
cmp eax, ebx
jne 0x482c76
cmp dword [ebp - 0x438], 0x10
jb 0x482c76
push dword [ebp - 0x438]
push ebx
call fcn.004bf452
pop ecx
pop ecx
mov dword [ebp - 0x43c], eax
push edi
test eax, eax
je 0x482c77
push dword [ebp - 0x438]
push ebx
push eax
call fcn.004c0915
add esp, 0x10
push edi
cmp eax, dword [ebp - 0x438]
je 0x482bf9
call fcn.0041c787
pop ecx
push dword [ebp - 0x43c]
call fcn.004bf2a6
jmp 0x482c7c
mov eax, str.data
call fcn.0041bbb8
pop ecx
push edi
test eax, eax
je 0x482be3
and dword [ebp - 0x438], 0
push ebx
push 4
lea eax, [ebp - 0x438]
push eax
call fcn.004c0915
add esp, 0x10
cmp eax, ebx
jne 0x482e8b
cmp dword [ebp - 0x438], 0
je 0x482e8b
push dword [ebp - 0x438]
call fcn.004c0b87
pop ecx
mov ebx, eax
push edi
test ebx, ebx
je 0x482be3
push dword [ebp - 0x438]
push 1
push ebx
call fcn.004c0915
add esp, 0x10
cmp eax, dword [ebp - 0x438]
je 0x482c85
push ebx
call fcn.004bf2a6
pop ecx
push dword [ebp - 0x43c]
call fcn.004bf2a6
pop ecx
push edi
call fcn.0041c787
pop ecx
xor eax, eax
call fcn.004d8c64
ret
push edi
call fcn.0041c787
pop ecx
mov edi, 0x2a2
call fcn.0048424f
test eax, eax
je 0x482e80
mov eax, esi
call fcn.0048429d
test eax, eax
je 0x482e80
mov ecx, esi
call fcn.00482549
and dword [ebp - 4], 0
mov dword [esi + 0x108], ebx
mov eax, dword [ebp - 0x438]
mov dword [esi + 0x10c], eax
mov eax, dword [ebp - 0x43c]
mov dword [esi + 0x110], eax
lea eax, [ebp - 0x12c]
push eax
mov ecx, 0x104
mov eax, esi
call fcn.00485786
pop ecx
mov eax, dword [ebp - 0x440]
mov dword [esi + 0x104], eax
lea ebx, [esi + 0x114]
push 0x20
push 0
push ebx
call fcn.004c05d0
add esp, 0xc
mov eax, dword [ebp - 0x438]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x108]
mov dword [ebx], eax
and dword [esi + 0x120], 0
lea edi, [esi + 0x434]
and dword [edi], 0
push 0x30000
push esi
push 0x4841bc
push dword [esi + 0x110]
push 0xffffffffffffffff
push edi
call dword [sym.imp.WINMM.dll_waveOutOpen]
mov dword [ebp - 0x440], eax
test eax, eax
je 0x482de4
mov byte [ebp - 0x334], 0
push 0xff
push 0
lea eax, [ebp - 0x333]
push eax
call fcn.004c05d0
add esp, 0xc
mov ebx, dword [ebp - 0x440]
push ebx
push str.Err_ld
push 0xf6
lea eax, [ebp - 0x334]
push eax
call fcn.00486e10
lea eax, [ebp - 0x334]
push eax
call fcn.004bf880
add esp, 0x14
mov ecx, 0x100
sub ecx, eax
push ecx
lea eax, [ebp - 0x334]
push eax
call fcn.004bf880
pop ecx
lea eax, [ebp + eax - 0x334]
push eax
push ebx
call dword [sym.imp.WINMM.dll_waveOutGetErrorTextA]
cmp dword [0x61eb5c], ebx
je 0x482dd9
and dword [0x61ec64], 0
mov dword [0x61eb5c], ebx
jmp 0x482ddf
inc dword [0x61ec64]
and dword [edi], 0
jmp 0x482e5c
push 0x20
push ebx
push dword [edi]
call dword [sym.imp.WINMM.dll_waveOutPrepareHeader]
mov edi, eax
test edi, edi
je 0x482e5c
mov byte [ebp - 0x434], 0
push 0xff
push 0
lea eax, [ebp - 0x433]
push eax
call fcn.004c05d0
add esp, 0xc
push edi
push str.Err_ld
push 0xf6
lea eax, [ebp - 0x434]
push eax
call fcn.00486e10
lea eax, [ebp - 0x434]
push eax
call fcn.004bf880
add esp, 0x14
mov ecx, 0x100
sub ecx, eax
push ecx
lea eax, [ebp - 0x434]
push eax
call fcn.004bf880
pop ecx
lea eax, [ebp + eax - 0x434]
push eax
push edi
call dword [sym.imp.WINMM.dll_waveOutGetErrorTextA]
mov dword [ebp - 4], 0xfffffffe
jmp 0x482e79
mov eax, esi
jmp 0x482a6b
push ebx
call fcn.004bf2a6
jmp 0x482be8
push edi
jmp 0x482be3