Function at 0x407c70
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x84
xor edx, edx
mov eax, dword [0x4f6e34]
xor eax, esp
mov dword [esp + 0x80], eax
mov ecx, dword [section..data]
mov eax, dword [0x4f8df4]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [0x4f8d60], edx
mov dword [0x4f8d74], edx
mov dword [0x4f8d64], ecx
mov dword [0x4f8d68], eax
cmp dword [0x4f6004], 1
je 0x407cce
mov dword [0x4f8d6c], 1
jmp 0x407cd8
mov dword [0x4f8d6c], 0
xor eax, eax
mov dword [0x4f8d70], eax
mov dword [0x4f8d80], eax
mov dword [0x4f8d78], eax
mov dword [0x4f8d7c], eax
mov dword [0x4f8dbc], eax
mov dword [0x4f8dc0], eax
mov eax, dword [0x4f8df0]
mov ebx, dword [ebp + 8]
cmp eax, 4
je 0x40805b
cmp eax, 5
je 0x40805b
cmp eax, 6
je 0x40805b
cmp eax, 7
je 0x40805b
push 0xffffffffffffffff
push ebx
call fcn.004159d0
add esp, 8
mov esi, 0x483584
mov edi, dword [ebp + 0xc]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x407d57
test dl, dl
je 0x407d53
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x407d57
add edi, 2
add esi, 2
test dl, dl
jne 0x407d37
xor eax, eax
jmp 0x407d5c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407d74
push 0
call fcn.0046acdc
mov edi, eax
push edi
call fcn.00408740
add esp, 8
jmp 0x407d8f
push 0x483938
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040a160
mov edi, eax
add esp, 8
test edi, edi
je 0x40859c
mov esi, dword [0x4f8df0]
cmp esi, 8
jne 0x407de0
cmp dword [0x4f8e08], 0xa
jl 0x408400
push 0
call fcn.0046acdc
add esp, 4
cmp edi, eax
je 0x407dd3
test edi, edi
je 0x407dd3
push edi
call fcn.0046af92
add esp, 4
test eax, eax
je 0x407dd3
cmp dword [0x4f8e08], 0xa
jl 0x4083ee
mov esi, dword [0x4f8df0]
xor edi, edi
jmp 0x408044
cmp esi, 1
jne 0x407e32
cmp dword [0x4f8e08], 9
jge 0x407e23
push str.Assuming_raw_pcm_input_file
call fcn.00402270
add esp, 4
cmp dword [0x4f8df4], 0
je 0x407e10
push str._:_Forcing_byte_swapping_n
call fcn.00402270
jmp 0x407e1a
push 0x4839a4
call fcn.00402270
add esp, 4
mov esi, dword [0x4f8df0]
mov eax, dword [0x4f8df4]
mov dword [0x4f8d68], eax
jmp 0x407f43
mov dword [esp + 0x10], 0
lea eax, [esp + 0x10]
push edi
push 4
push 1
push eax
call fcn.0046b3d5
add esp, 0x10
movzx edx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
shl edx, 0x18
shl eax, 0x10
movzx ecx, byte [esp + 0x12]
or edx, eax
shl ecx, 8
or edx, ecx
movzx esi, byte [esp + 0x13]
or edx, esi
mov dword [0x4f8d60], 0
cmp dword [0x4f6004], 1
je 0x407e8e
mov dword [0x4f8d6c], 1
jmp 0x407e98
mov dword [0x4f8d6c], 0
cmp edx, 0x52494646
je 0x407ee0
cmp edx, 0x464f524d
je 0x407eba
cmp dword [0x4f8e08], 0xa
jl 0x408412
jmp 0x407f3b
mov eax, ebx
mov edx, edi
call fcn.00405df0
test eax, eax
jle 0x407ed8
mov dword [0x4f8d60], 1
mov esi, 3
jmp 0x407f3d
jl 0x408424
jmp 0x407f3b
mov eax, ebx
mov edx, edi
call fcn.00405770
cmp eax, 7
je 0x408588
test eax, eax
jle 0x407f35
push ebx
call fcn.00415a00
add esp, 4
cmp eax, 0xffffffff
je 0x407f19
cmp dword [0x4f8e00], 1
je 0x407f19
mov dword [0x4f8d60], 1
jmp 0x407f2e
push 0xffffffffffffffff
push ebx
mov dword [0x4f8d60], 0
call fcn.004159d0
add esp, 8
mov esi, 2
jmp 0x407f3d
jl 0x408569
xor esi, esi
mov dword [0x4f8df0], esi
cmp esi, 7
je 0x408455
test esi, esi
je 0x408010
push ebx
call fcn.00415a00
add esp, 4
cmp eax, 0xffffffff
jne 0x408008
push 0
call fcn.0046acdc
add esp, 4
cmp edi, eax
je 0x408008
push ebx
call fcn.00415aa0
mov esi, eax
push edi
call fcn.0046c8cc
mov ecx, eax
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.0046c63a
add esp, 0x10
test eax, eax
mov eax, 0xffffffff
pxor xmm4, xmm4
cmove eax, dword [esp + 0x34]
pxor xmm0, xmm0
cvtsi2sd xmm4, eax
comisd xmm4, xmm0
jb 0x408008
test esi, esi
jle 0x408008
add esi, esi
pxor xmm0, xmm0
cvtsi2sd xmm0, esi
divsd xmm4, xmm0
movsd xmm1, qword [0x483490]
movaps xmm2, xmm4
movaps xmm3, xmm1
cmpnltsd xmm2, xmm1
cmplesd xmm3, xmm4
movd eax, xmm2
andps xmm3, xmm1
subsd xmm4, xmm3
cvttsd2si ecx, xmm4
and eax, 0x80000000
add ecx, eax
push ecx
push ebx
call fcn.004159d0
add esp, 8
mov dword [0x4f8d60], 0
mov esi, dword [0x4f8df0]
jmp 0x408044
push 0
call fcn.0046acdc
add esp, 4
cmp edi, eax
je 0x408042
test edi, edi
je 0x408042
push edi
call fcn.0046af92
add esp, 4
test eax, eax
je 0x40803c
cmp dword [0x4f8e08], 0xa
jl 0x408443
mov esi, dword [0x4f8df0]
xor edi, edi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [0x4f8d78], edi
mov dword [esp + 0x14], eax
jmp 0x4082ac
push 0xffffffffffffffff
push ebx
call fcn.004159d0
add esp, 8
mov esi, 0x483584
mov edi, dword [ebp + 0xc]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40808e
test dl, dl
je 0x40808a
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40808e
add edi, 2
add esi, 2
test dl, dl
jne 0x40806e
xor eax, eax
jmp 0x408093
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4080ab
push 0
call fcn.0046acdc
mov esi, eax
push esi
call fcn.00408740
add esp, 8
jmp 0x4080c6
push 0x483938
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040a160
mov esi, eax
add esp, 8
test esi, esi
je 0x408285
lea eax, [esp + 0x1c]
lea edx, [esp + 0x18]
push eax
push edx
push 0x514bec
push esi
call fcn.004073e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4080f2
cmp dword [0x4f8e08], 0xa
jl 0x4085bf
jmp 0x40814a
mov edi, dword [0x514bf0]
test ebx, ebx
je 0x408187
push edi
push ebx
call fcn.00415a70
add esp, 8
cmp eax, 0xffffffff
jne 0x40811e
cmp dword [0x4f8e08], 0xa
jl 0x4085d5
jmp 0x40814a
mov edi, dword [0x4f8dfc]
test edi, edi
mov eax, dword [0x514bf4]
cmove edi, eax
push edi
push ebx
call fcn.00415a20
add esp, 8
cmp eax, 0xffffffff
jne 0x408187
cmp dword [0x4f8e08], 0xa
jl 0x4085fa
push 0
call fcn.0046acdc
add esp, 4
cmp esi, eax
je 0x408292
test esi, esi
je 0x408292
push esi
call fcn.0046af92
add esp, 4
test eax, eax
je 0x408292
cmp dword [0x4f8e08], 0xa
jl 0x4085e8
jmp 0x408292
push dword [0x514c08]
push ebx
call fcn.004159d0
push ebx
call fcn.00415a00
add esp, 0xc
cmp eax, 0xffffffff
jne 0x408294
push 0
call fcn.0046acdc
add esp, 4
cmp esi, eax
je 0x408294
push esi
call fcn.0046c8cc
mov edx, eax
lea eax, [esp + 0x54]
push eax
push edx
call fcn.0046c63a
add esp, 0xc
test eax, eax
mov eax, 0xffffffff
pxor xmm1, xmm1
cmove eax, dword [esp + 0x64]
pxor xmm0, xmm0
cvtsi2sd xmm1, eax
comisd xmm1, xmm0
jb 0x408294
mov edi, dword [0x514bf8]
test edi, edi
jle 0x408294
push ebx
movsd qword [esp + 0x14], xmm1
call fcn.00415a50
movsd xmm1, qword [esp + 0x14]
movsd xmm5, qword [0x483498]
pxor xmm0, xmm0
mulsd xmm5, xmm1
pxor xmm1, xmm1
cvtsi2sd xmm1, edi
cvtsi2sd xmm0, eax
mulsd xmm1, qword [0x4834a0]
divsd xmm5, xmm1
mulsd xmm5, xmm0
movsd xmm2, qword [0x483490]
movaps xmm3, xmm5
movaps xmm4, xmm2
cmpnltsd xmm3, xmm2
cmplesd xmm4, xmm5
movd eax, xmm3
andps xmm4, xmm2
subsd xmm5, xmm4
cvttsd2si edi, xmm5
and eax, 0x80000000
add edi, eax
push edi
push ebx
call fcn.004159d0
add esp, 0xc
mov dword [0x514c08], edi
mov dword [0x4f8d60], 0
jmp 0x408294
cmp dword [0x4f8e08], 0xa
jl 0x408629
xor esi, esi
mov eax, dword [esp + 0x18]
mov dword [0x4f8d78], esi
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x1c]
mov esi, dword [0x4f8df0]
lea edi, [0x514be4]
mov ecx, dword [edi]
xor eax, eax
test ecx, ecx
movdqu xmm0, xmmword [0x483454]
movdqu xmm1, xmmword [0x483470]
mov dword [0x4f8d84], eax
mov dword [0x4f8d88], eax
mov dword [0x4f8d8c], 4
movdqu xmmword [0x4f8d90], xmm0
mov dword [0x4f8da0], eax
mov dword [0x4f8da4], eax
movdqu xmmword [0x4f8da8], xmm1
mov dword [0x4f8db8], eax
cmovne ecx, dword [edi - 4]
dec esi
cmp esi, 6
ja 0x40835f
movzx eax, byte [esi + str.LLLBB]
add eax, 0x408313
jmp eax
xor edx, edx
xor eax, eax
test ecx, ecx
push ebx
cmovle ecx, eax
test edx, edx
mov dword [0x4f8d98], ecx
cmovg eax, edx
mov dword [0x4f8db4], ecx
mov dword [0x4f8d9c], eax
mov dword [0x4f8db8], eax
call fcn.00415a00
mov edx, eax
add esp, 4
cmp edx, 0xffffffff
je 0x4083af
mov eax, dword [0x4f8d98]
add eax, dword [0x4f8d9c]
cmp edx, eax
cmovbe edx, eax
sub edx, eax
push edx
push ebx
call fcn.004159d0
add esp, 8
cmp dword [0x4f8d7c], 0
je 0x408612
mov eax, 1
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40860d
add esp, 0x84
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.Could_not_close_audio_input_file_n
call fcn.004023b0
add esp, 4
jmp 0x407dd3
push str.sorry__vorbis_support_in_LAME_is_deprecated._n
call fcn.004023b0
add esp, 4
jmp 0x407da7
push str.Warning:_unsupported_audio_format_n
call fcn.004023b0
add esp, 4
jmp 0x407f3b
cmp dword [0x4f8e08], 0xa
jge 0x407f3b
push str.Warning:_corrupt_or_unsupported_AIFF_format_n
call fcn.004023b0
add esp, 4
jmp 0x407f3b
push str.Could_not_close_audio_input_file_n
call fcn.004023b0
add esp, 4
jmp 0x40803c
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x18]
push eax
push ecx
push 0x514bec
push edi
call fcn.004073e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x408481
cmp dword [0x4f8e08], 0xa
jl 0x408524
jmp 0x4084d5
mov esi, dword [0x514bf0]
test ebx, ebx
je 0x40850a
push esi
push ebx
call fcn.00415a70
add esp, 8
cmp eax, 0xffffffff
jne 0x4084a9
cmp dword [0x4f8e08], 0xa
jl 0x408537
jmp 0x4084d5
mov esi, dword [0x4f8dfc]
test esi, esi
mov eax, dword [0x514bf4]
cmove esi, eax
push esi
push ebx
call fcn.00415a20
add esp, 8
cmp eax, 0xffffffff
jne 0x40850a
cmp dword [0x4f8e08], 0xa
jl 0x408556
push 0
call fcn.0046acdc
add esp, 4
cmp edi, eax
je 0x4084fd
test edi, edi
je 0x4084fd
push edi
call fcn.0046af92
add esp, 4
test eax, eax
je 0x4084fd
cmp dword [0x4f8e08], 0xa
jl 0x408547
mov esi, dword [0x4f8df0]
xor edi, edi
jmp 0x408044
push dword [0x514c08]
push ebx
call fcn.004159d0
add esp, 8
mov esi, dword [0x4f8df0]
jmp 0x408044
mov eax, dword [ebp + 0xc]
push eax
push str.Error_reading_headers_in_mp3_input_file__s._n
call fcn.004023b0
add esp, 8
jmp 0x4084d5
push esi
push str.Unsupported_number_of_channels:__d_n
call fcn.004023b0
add esp, 8
jmp 0x4084d5
push str.Could_not_close_audio_input_file_n
call fcn.004023b0
add esp, 4
jmp 0x4084fd
push esi
push str.Unsupported_sample_rate:__d_n
call fcn.004023b0
add esp, 8
jmp 0x4084d5
cmp dword [0x4f8e08], 0xa
jge 0x407f3b
push str.Warning:_corrupt_or_unsupported_WAVE_format_n
call fcn.004023b0
add esp, 4
jmp 0x407f3b
mov dword [0x4f8d60], 1
mov esi, 7
jmp 0x407f3d
cmp dword [0x4f8e08], 0xa
jge 0x407dd3
mov eax, dword [ebp + 0xc]
push eax
push str.Could_not_find___s_._n
call fcn.004023b0
add esp, 8
jmp 0x407dd3
mov eax, dword [ebp + 0xc]
push eax
push str.Error_reading_headers_in_mp3_input_file__s._n
call fcn.004023b0
add esp, 8
jmp 0x40814a
push edi
push str.Unsupported_number_of_channels:__d_n
call fcn.004023b0
add esp, 8
jmp 0x40814a
push str.Could_not_close_audio_input_file_n
call fcn.004023b0
add esp, 4
jmp 0x408292
push edi
push str.Unsupported_sample_rate:__d_n
call fcn.004023b0
add esp, 8
jmp 0x40814a
call fcn.00466f40
cmp dword [0x4f8d78], 0
jne 0x4083bc
mov eax, 0xffffffff
jmp 0x4083c1
mov eax, dword [ebp + 0xc]
push eax
push str.Could_not_find___s_._n
call fcn.004023b0
add esp, 8
jmp 0x408292