Function at 0x54c300
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61d06b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push esi
push edi
mov ebx, ecx
push 0xc
lea eax, [ebp - 0x3c]
push ebx
push eax
call fcn.00605f80
add esp, 0xc
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x18]
push edx
mov ecx, 0x681f48
mov byte [ebp - 0x30], 0
call fcn.0054e680
mov eax, dword [eax]
cmp eax, dword [0x681f4c]
je 0x54c2c1
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
inc edx
test eax, eax
mov dword [eax + 0x18], edx
jne 0x54c49a
push ebx
lea eax, [ebp - 0x3c]
push 0x6820f0
push eax
mov dword [ebp - 0x14], 0
call fcn.0054ec60
mov eax, dword [eax + 4]
add esp, 0xc
test eax, eax
jne 0x54c2e6
mov eax, 0x6264b0
push 0x65d9dc
push eax
call fcn.00606631
mov edi, eax
mov eax, dword [ebp - 0x38]
add esp, 8
test eax, eax
mov dword [ebp - 0x18], edi
je 0x54c31c
lea ecx, [eax - 1]
mov al, byte [ecx]
test al, al
je 0x54c313
cmp al, 0xff
je 0x54c313
dec al
mov byte [ecx], al
jmp 0x54c31c
push ecx
call fcn.005f8040
add esp, 4
test edi, edi
je 0x54c345
push 2
push 0
push edi
mov byte [ebp - 0xd], 1
call fcn.00605c18
push edi
call fcn.0060647d
push 0
push 0
push edi
mov esi, eax
call fcn.00605c18
add esp, 0x1c
jmp 0x54c3b7
push ebx
mov ecx, 0x682108
mov byte [ebp - 0xd], 0
call fcn.004ee140
mov esi, eax
test esi, esi
mov edi, 2
je 0x54c37c
cmp dword [esi + 0x18], edi
jne 0x54c37c
push ebx
mov ecx, 0x682108
call fcn.004ee590
test al, al
je 0x54c37c
mov dword [ebp - 0x14], 0x682108
jmp 0x54c3b4
push ebx
mov ecx, 0x681db8
call fcn.004ee140
mov esi, eax
test esi, esi
je 0x54c48b
cmp dword [esi + 0x18], edi
jne 0x54c48b
push ebx
mov ecx, 0x681db8
call fcn.004ee590
test al, al
je 0x54c48b
mov dword [ebp - 0x14], 0x681db8
mov esi, dword [esi + 0x14]
push esi
call fcn.00604401
mov edi, eax
mov al, byte [ebp - 0xd]
add esp, 4
test al, al
jne 0x54c3d5
mov ecx, dword [ebp - 0x14]
push esi
push edi
call fcn.004ee640
jmp 0x54c3e5
mov ecx, dword [ebp - 0x18]
push ecx
push 1
push esi
push edi
call fcn.00606644
add esp, 0x10
push 0x30
call fcn.00604401
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
mov dword [ebp - 4], 0
je 0x54c40b
push edi
push esi
push ebx
mov ecx, eax
call fcn.005aa1b0
mov esi, eax
jmp 0x54c40d
xor esi, esi
push edi
mov dword [ebp - 4], 0xffffffff
call fcn.005f8040
mov al, byte [ebp - 0xd]
add esp, 4
test al, al
je 0x54c430
mov edx, dword [ebp - 0x18]
push edx
call fcn.00605efe
add esp, 4
test esi, esi
je 0x54c478
push 0xc
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00605f80
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
xor al, al
add esp, 0xc
mov byte [ebp - 0x20], al
mov byte [ebp - 0x44], al
mov dword [ebp - 0x4c], ecx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x50], edx
mov edx, dword [ebp - 0x24]
push ecx
mov ecx, 0x681f48
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x40], esi
call fcn.0054df20
inc dword [esi + 0x18]
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push ebx
mov edx, edi
mov ecx, str.playcome.wav
call fcn.0054d720
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret