Function at 0x40a7d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push esi
push edi
push ebx
sub esp, 0x534
mov esi, edx
mov edx, dword [0x4f6e34]
mov ebx, ecx
xor edx, esp
lea ecx, [esp + 0xf0]
mov dword [ecx + 0x404], edx
mov edi, eax
push 0x401
push 0
push ecx
call fcn.00449a20
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
push edi
mov edx, dword [ebx]
mov dword [esp + 0xe8], edx
xor edx, edx
mov byte [eax], dl
mov byte [ecx], dl
mov dword [0x4f8e08], edx
mov dword [0x4f8e0c], 1
mov dword [0x514be0], edx
mov dword [0x514be4], edx
mov dword [0x514be8], edx
mov dword [0x4f8e10], edx
call fcn.0041bc60
add esp, 0x10
cmp esi, 1
jle 0x40ae98
xor edx, edx
mov ecx, 2
mov dword [esp + 0xd0], edx
pxor xmm1, xmm1
mov dword [esp + 0xe0], edx
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], edx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xe8], 1
movsd xmm7, qword [0x4842b0]
movsd xmm6, qword [0x484308]
movsd xmm5, qword [0x4842b8]
movsd xmm4, qword [0x4842c0]
movsd xmm3, qword [0x4842c8]
movsd xmm2, qword [0x4842d0]
movsd xmm0, qword [0x4842d8]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe4], ebx
mov ebx, edx
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov esi, dword [eax + ecx*4]
cmp byte [esi], 0x2d
je 0x40b06d
cmp dword [esp + 0xe0], 0
jne 0x40afcc
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je 0x40a965
mov eax, dword [ebp + 0x18]
cmp byte [eax], 0
jne 0x40af7b
push 0x401
mov eax, dword [esp + 0xe8]
push dword [eax + ecx*4]
push dword [ebp + 0x18]
call fcn.0046cb40
add esp, 0xc
mov eax, dword [esp + 0xe8]
lea edi, [eax + 1]
mov dword [esp + 0xe8], edi
cmp edi, dword [esp + 0xdc]
jl 0x40a8f3
jmp 0x40a9a7
push 0x401
mov eax, dword [esp + 0xe8]
mov edx, ecx
push dword [eax + edx*4]
push dword [ebp + 0x14]
call fcn.0046cb40
add esp, 0xc
mov eax, dword [esp + 0xe8]
inc eax
mov dword [esp + 0xe8], eax
cmp eax, dword [esp + 0xdc]
jge 0x40afc0
mov ebx, 1
jmp 0x40a8f3
mov edx, ebx
mov edi, dword [esp + 0xcc]
test edx, edx
je 0x40ae98
push edi
call fcn.00415c70
add esp, 4
test eax, eax
je 0x40aa0e
cmp dword [esp + 0xc4], 0
jle 0x40aa0e
push str.combination_of_nogap_and_decode_not_supported__n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x14]
cmp byte [edx], 0x2d
jne 0x40aa2b
cmp dword [0x4f8e08], 0
jne 0x40aa36
mov dword [0x4f8e08], 1
jmp 0x40aa36
push dword [ebp + 0x14]
call fcn.00409cd0
add esp, 4
mov edx, dword [ebp + 0x18]
cmp byte [edx], 0
jne 0x40aaae
cmp dword [esp + 0xc4], 0
jle 0x40aa6c
push 0x400
lea edx, [esp + 0xf4]
push edx
push dword [ebp + 0x18]
call fcn.0046cb40
add esp, 0xc
mov edx, dword [ebp + 0x18]
mov byte [edx + 0x400], 0
jmp 0x40aaae
mov edx, dword [ebp + 0x14]
cmp byte [edx], 0x2d
je 0x40af69
push edi
call fcn.00415c70
add esp, 4
test eax, eax
mov ebx, str..wav
mov ecx, str..mp3
lea edx, [esp + 0xf0]
mov esi, dword [ebp + 0x18]
cmovne ecx, ebx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], esi
call fcn.0040fd0c
test eax, eax
jne 0x40ae6a
cmp dword [esp + 0xc8], 0
jne 0x40aac3
push 1
push edi
call fcn.00415de0
add esp, 8
cmp dword [esp + 0xe0], 0
je 0x40aaf9
push edi
call fcn.00415c20
add esp, 4
test eax, eax
je 0x40aaf9
cmp dword [esp + 0xbc], 0
jne 0x40aaf9
push str.Note:_Disabling_VBR_Xing_Info_tag_since_it_interferes_with___nogap_n
call fcn.00402270
push 0
push edi
call fcn.00415bf0
add esp, 0xc
mov edx, dword [ebp + 0x18]
cmp byte [edx], 0x2d
je 0x40af59
cmp dword [0x4f8df0], 0
jne 0x40adf1
mov edx, dword [ebp + 0x14]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40ab39
mov eax, edx
add edx, ecx
call fcn.00449a80
cmp eax, 4
jae 0x40ab45
xor edx, edx
jmp 0x40adeb
mov edx, dword [ebp + 0x14]
mov esi, str..mpg
mov dword [esp + 0xcc], edi
lea eax, [edx + eax - 4]
mov ebx, eax
mov edx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
movsx eax, byte [ebx]
push eax
call fcn.0046d560
movsx edx, byte [esi]
push edx
movzx edi, al
call fcn.0046d560
movzx eax, al
add esp, 8
test edi, edi
je 0x40ab89
inc ebx
inc esi
cmp edi, eax
je 0x40ab64
mov edx, dword [esp + 0x14]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov ecx, edi
mov edi, dword [esp + 0xcc]
cmp ebx, ecx
jne 0x40abaa
mov edx, 7
jmp 0x40adeb
mov ecx, edx
mov ebx, str..mp1
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], edi
mov edi, ecx
movsx eax, byte [edi]
push eax
call fcn.0046d560
movsx edx, byte [ebx]
push edx
movzx esi, al
call fcn.0046d560
movzx ecx, al
add esp, 8
test esi, esi
je 0x40abe7
inc edi
inc ebx
cmp esi, ecx
je 0x40abc2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xcc]
cmp ecx, esi
je 0x40aba0
mov ecx, edx
mov esi, str..mp2
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], edi
mov edi, ecx
movsx eax, byte [edi]
push eax
call fcn.0046d560
movsx edx, byte [esi]
push edx
movzx ebx, al
call fcn.0046d560
movzx ecx, al
add esp, 8
test ebx, ebx
je 0x40ac37
inc edi
inc esi
cmp ebx, ecx
je 0x40ac12
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xcc]
cmp ecx, ebx
je 0x40aba0
mov ecx, edx
mov esi, str..mp3
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], edi
mov edi, ecx
movsx eax, byte [edi]
push eax
call fcn.0046d560
movsx edx, byte [esi]
push edx
movzx ebx, al
call fcn.0046d560
movzx ecx, al
add esp, 8
test ebx, ebx
je 0x40ac8b
inc edi
inc esi
cmp ebx, ecx
je 0x40ac66
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xcc]
cmp ecx, ebx
je 0x40aba0
mov ecx, edx
mov esi, str..wav
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], edi
mov edi, ecx
movsx eax, byte [edi]
push eax
call fcn.0046d560
movsx edx, byte [esi]
push edx
movzx ebx, al
call fcn.0046d560
movzx ecx, al
add esp, 8
test ebx, ebx
je 0x40acdf
inc edi
inc esi
cmp ebx, ecx
je 0x40acba
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xcc]
cmp ecx, ebx
jne 0x40acfc
mov edx, 2
jmp 0x40adeb
mov ecx, edx
mov esi, str..aif
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], edi
mov edi, ecx
movsx eax, byte [edi]
push eax
call fcn.0046d560
movsx edx, byte [esi]
push edx
movzx ebx, al
call fcn.0046d560
movzx ecx, al
add esp, 8
test ebx, ebx
je 0x40ad39
inc edi
inc esi
cmp ebx, ecx
je 0x40ad14
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xcc]
cmp ecx, ebx
jne 0x40ad56
mov edx, 3
jmp 0x40adeb
mov ecx, str..raw
mov esi, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], edi
mov edi, ecx
movsx eax, byte [esi]
push eax
call fcn.0046d560
movsx edx, byte [edi]
push edx
movzx ebx, al
call fcn.0046d560
movzx ecx, al
add esp, 8
test ebx, ebx
je 0x40ad8f
inc esi
inc edi
cmp ebx, ecx
je 0x40ad6a
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0xcc]
cmp ecx, ebx
jne 0x40ada5
mov edx, 1
jmp 0x40adeb
mov dword [esp + 0xcc], edi
mov ebx, str..ogg
mov edi, eax
movsx edx, byte [edi]
push edx
call fcn.0046d560
movsx edx, byte [ebx]
push edx
movzx esi, al
call fcn.0046d560
movzx eax, al
add esp, 8
test esi, esi
je 0x40add8
inc edi
inc ebx
cmp esi, eax
je 0x40adb3
mov edi, dword [esp + 0xcc]
mov ecx, 8
xor edx, edx
cmp eax, esi
cmove edx, ecx
mov dword [0x4f8df0], edx
cmp dword [esp + 0xd0], 0
jne 0x40ae0d
push edi
call fcn.00415d20
add esp, 4
cmp eax, 3
je 0x40af4c
push 2
push edi
call fcn.00415a70
add esp, 8
push edi
call fcn.00415dc0
add esp, 4
test eax, eax
jne 0x40aef2
cmp dword [ebp + 0x20], 0
je 0x40ae3b
mov edx, dword [ebp + 0x20]
mov eax, dword [esp + 0xc4]
mov dword [edx], eax
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
xor eax, eax
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ebx, dword [0x514c28]
mov eax, ebx
call fcn.0040f660
mov edx, dword [esp + 0xd8]
push edx
push edx
push edx
push edx
push edx
push str.usage:__s__options___infile___outfile__n_n_____infile__and_or__outfile__can_be______which_means_stdin_stdout._n_nTry:_n_______s___help____________for_general_usage_information_n_or:_n_______s___preset_help_____for_information_on_suggested_predefined_settings_n_or:_n_______s___longhelp__n__or___s__________________for_a_complete_options_list_n_n
push ebx
call fcn.0040f620
add esp, 0x1c
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00466f40
push edi
call fcn.00415f80
add esp, 4
cmp eax, 8
jl 0x40af14
push edi
call fcn.00415f80
add esp, 4
cmp eax, 0x280
jle 0x40ae29
push str.For_free_format__specify_a_bitrate_between_8_and_640_kbps_n
call fcn.004023b0
push str.with_the__b__bitrate__option_n
call fcn.004023b0
add esp, 8
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push 1
push edi
call fcn.00415a70
jmp 0x40ae15
push 0
push edi
call fcn.00415bf0
add esp, 8
jmp 0x40ab05
mov ecx, dword [ebp + 0x18]
movzx edx, word [0x483584]
mov word [ecx], dx
jmp 0x40aaae
mov eax, ecx
mov ebx, dword [esp + 0xe4]
push dword [ebx + eax*4]
push dword [esp + 0xdc]
push str._s:_excess_arg__s_n
call fcn.004023b0
add esp, 0xc
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
mov edi, dword [esp + 0xcc]
jmp 0x40a9b8
cmp dword [ebp + 0x20], 0
je 0x40b02c
mov edx, dword [ebp + 0x20]
mov eax, dword [esp + 0xc4]
cmp eax, dword [edx]
jge 0x40b02c
push 0x401
mov eax, dword [esp + 0xe8]
mov edx, ecx
mov ecx, dword [ebp + 0x1c]
push dword [eax + edx*4]
mov ebx, dword [esp + 0xcc]
push dword [ecx + ebx*4]
inc ebx
mov dword [esp + 0xd0], ebx
call fcn.0046cb40
add esp, 0xc
mov eax, dword [esp + 0xe8]
inc eax
mov dword [esp + 0xe8], eax
cmp eax, dword [esp + 0xdc]
jl 0x40a99d
jmp 0x40afc0
push str.Error:_nogap_option.__Calling_program_does_not_allow_nogap_option__or_nyou_have_exceeded_maximum_number_of_input_files_for_the_nogap_option_n
call fcn.004023b0
add esp, 4
cmp dword [ebp + 0x20], 0
je 0x40b048
mov eax, dword [ebp + 0x20]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
lea edi, [ecx + 1]
cmp edi, dword [esp + 0xdc]
jge 0x40b08f
mov ecx, eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [ecx + eax*4 + 4]
mov dword [esp + 0xd4], ecx
jmp 0x40b09a
mov dword [esp + 0xd4], 0x4832d0
movsx ecx, byte [esi + 1]
test ecx, ecx
jne 0x40b103
mov edx, dword [ebp + 0x14]
cmp byte [edx], 0
je 0x40b0d9
mov edx, dword [ebp + 0x18]
cmp byte [edx], 0
je 0x40b0b9
mov ebx, 1
jmp 0x40b103
push 0x401
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
push dword [edx + ecx*4]
push dword [ebp + 0x18]
call fcn.0046cb40
jmp 0x40b0f7
push 0x401
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
push dword [edx + ecx*4]
push dword [ebp + 0x14]
call fcn.0046cb40
add esp, 0xc
movsx ecx, byte [esi + 1]
mov ebx, 1
cmp ecx, 0x2d
je 0x40b856
add esi, 2
test ecx, ecx
je 0x40a953
xor eax, eax
mov dword [esp + 0xc0], ebx
xor edi, edi
cmp byte [esi], 0
lea edx, [ecx - 0x3f]
mov ebx, dword [esp + 0xd4]
cmovne ebx, esi
cmp edx, 0x39
ja 0x40b755
movzx eax, word [edx*2 + 0x484320]
add eax, 0x40b14a
jmp eax
push ecx
push dword [esp + 0xdc]
push str._s:_unrecognized_option___c_n
call fcn.004023b0
add esp, 0xc
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
add esi, 2
mov edx, str.resample
mov eax, esi
call fcn.0040f3d0
test eax, eax
jne 0x40b960
mov dword [esp + 0x88], 0
lea ecx, [esp + 0x88]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm0, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e15a
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x88]
je 0x40e15a
comisd xmm0, xmmword [0x4842c0]
jb 0x40b8d3
mulsd xmm0, qword [0x4842c8]
cvttsd2si eax, xmm0
add eax, 0xfffffff8
cmp eax, 0x28
ja 0x40b925
movzx eax, byte [eax + str.N88188888888]
add eax, 0x40b8ed
jmp eax
mov dword [esp], str.Illegal_resample_frequency:__.3f_kHz_n
movsd qword [esp + 4], xmm0
call fcn.004023b0
xor eax, eax
jmp 0x40b940
push eax
push dword [esp + 0xd0]
call fcn.00415b80
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.vbr_old
call fcn.0040f3d0
test eax, eax
jne 0x40b991
push 2
push dword [esp + 0xd0]
call fcn.00416220
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.vbr_new
call fcn.0040f3d0
test eax, eax
jne 0x40b9c2
push 1
push dword [esp + 0xd0]
call fcn.00416220
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.vbr_mtrh
call fcn.0040f3d0
test eax, eax
jne 0x40b9f3
push 4
push dword [esp + 0xd0]
call fcn.00416220
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, 0x488938
call fcn.0040f3d0
test eax, eax
jne 0x40ba24
push 0
push dword [esp + 0xd0]
call fcn.00416220
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, 0x488dd4
call fcn.0040f3d0
test eax, eax
jne 0x40baeb
mov dword [esp + 0x70], 0
lea ecx, [esp + 0x70]
push 0xa
push ecx
push dword [esp + 0xdc]
call fcn.00470ff8
add esp, 0xc
mov dword [esp + 0x74], eax
cmp dword [esp + 0xd4], 0
je 0x40e175
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x70]
je 0x40e175
cmp dword [esp + 0x74], 0x1f40
jl 0x40baa0
mov ecx, eax
mov eax, 0x10624dd3
add ecx, 0x1f4
imul ecx
sar ecx, 0x1f
sar edx, 6
neg ecx
add ecx, edx
mov dword [esp + 0x74], ecx
push 3
push dword [esp + 0xd0]
call fcn.00416220
mov ecx, dword [esp + 0x7c]
mov eax, 0x140
cmp ecx, 0x140
cmovg ecx, eax
mov esi, 8
cmp ecx, 8
cmovge esi, ecx
push esi
push dword [esp + 0xd8]
call fcn.004163c0
add esp, 0x10
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.r3mix
call fcn.0040f3d0
test eax, eax
jne 0x40bb1f
push 0x3e8
push dword [esp + 0xd0]
call fcn.00416cf0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.bitwidth
call fcn.0040f3d0
test eax, eax
jne 0x40bb81
mov dword [esp + 0x6c], 0
lea ecx, [esp + 0x6c]
push 0xa
push ecx
push dword [esp + 0xdc]
call fcn.00470ff8
add esp, 0xc
cmp dword [esp + 0xd4], 0
je 0x40e190
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x6c]
je 0x40e190
mov dword [section..data], eax
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.signed
call fcn.0040f3d0
test eax, eax
jne 0x40bbab
mov dword [0x4f6004], 1
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.unsigned
call fcn.0040f3d0
test eax, eax
jne 0x40bbd5
mov dword [0x4f6004], 0
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.little_endian
call fcn.0040f3d0
test eax, eax
jne 0x40bbff
mov dword [0x4f6008], 0
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.big_endian
call fcn.0040f3d0
test eax, eax
jne 0x40bc29
mov dword [0x4f6008], 1
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.mp1input
call fcn.0040f3d0
test eax, eax
jne 0x40bc53
mov dword [0x4f8df0], 4
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.mp2input
call fcn.0040f3d0
test eax, eax
jne 0x40bc7d
mov dword [0x4f8df0], 5
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.mp3input
call fcn.0040f3d0
test eax, eax
jne 0x40bca7
mov dword [0x4f8df0], 6
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.ogginput
call fcn.0040f3d0
test eax, eax
je 0x40f39c
mov eax, esi
mov edx, str.decode
call fcn.0040f3d0
test eax, eax
jne 0x40bcec
push 1
push dword [esp + 0xd0]
call fcn.00415c40
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.flush
call fcn.0040f3d0
test eax, eax
jne 0x40bd16
mov dword [0x4f8e04], 1
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.decode_mp3delay
call fcn.0040f3d0
test eax, eax
jne 0x40bd82
mov dword [esp + 0x68], 0
lea ecx, [esp + 0x68]
push 0xa
push ecx
push dword [esp + 0xdc]
call fcn.00470ff8
add esp, 0xc
cmp dword [esp + 0xd4], 0
je 0x40e1ab
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x68]
je 0x40e1ab
mov dword [0x514be0], eax
mov dword [0x514be4], 1
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.nores
call fcn.0040f3d0
test eax, eax
jne 0x40bdb3
push 1
push dword [esp + 0xd0]
call fcn.00416090
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.strictly_enforce_ISO
call fcn.0040f3d0
test eax, eax
jne 0x40bde4
push 1
push dword [esp + 0xd0]
call fcn.00416060
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.buffer_constraint
call fcn.0040f3d0
test eax, eax
jne 0x40bf02
mov esi, str.default
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40be24
test dl, dl
je 0x40be20
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40be24
add edi, 2
add esi, 2
test dl, dl
jne 0x40be04
xor eax, eax
jmp 0x40be29
sbb eax, eax
or eax, 1
test eax, eax
je 0x40bee1
mov esi, str.strict
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40be5d
test dl, dl
je 0x40be59
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40be5d
add edi, 2
add esi, 2
test dl, dl
jne 0x40be3d
xor eax, eax
jmp 0x40be62
sbb eax, eax
or eax, 1
test eax, eax
je 0x40bec0
mov esi, str.maximum
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40be92
test dl, dl
je 0x40be8e
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40be92
add edi, 2
add esi, 2
test dl, dl
jne 0x40be72
xor eax, eax
jmp 0x40be97
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e1c9
push 2
push dword [esp + 0xd0]
call fcn.00416060
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
push 1
push dword [esp + 0xd0]
call fcn.00416060
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
push 0
push dword [esp + 0xd0]
call fcn.00416060
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.scale
call fcn.0040f3d0
test eax, eax
jne 0x40bf70
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x64]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e203
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x64]
je 0x40e203
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.00415ac0
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.scale_l
call fcn.0040f3d0
test eax, eax
jne 0x40bfde
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x60]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e223
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x60]
je 0x40e223
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.00415b20
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.scale_r
call fcn.0040f3d0
test eax, eax
jne 0x40c04c
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x5c]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e243
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x5c]
je 0x40e243
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.00415b50
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.gain
call fcn.0040f3d0
test eax, eax
jne 0x40c0f9
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x58]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm1, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e263
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x58]
je 0x40e263
movsd xmm0, qword [0x4842e8]
maxsd xmm1, qword [0x4842f8]
minsd xmm1, qword [0x484300]
mulsd xmm1, qword [0x4842f0]
call fcn.00445ec0
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
movss dword [esp + 4], xmm0
call fcn.00415ac0
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.noasm
call fcn.0040f3d0
test eax, eax
jne 0x40c1f9
mov esi, 0x48863c
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40c139
test dl, dl
je 0x40c135
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40c139
add edi, 2
add esi, 2
test dl, dl
jne 0x40c119
xor eax, eax
jmp 0x40c13e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40c155
push 0
push 1
push dword [esp + 0xd4]
call fcn.00416d30
add esp, 0xc
mov esi, str.3dnow
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40c181
test dl, dl
je 0x40c17d
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40c181
add edi, 2
add esi, 2
test dl, dl
jne 0x40c161
xor eax, eax
jmp 0x40c186
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40c19d
push 0
push 2
push dword [esp + 0xd4]
call fcn.00416d30
add esp, 0xc
mov esi, 0x488648
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40c1c9
test dl, dl
je 0x40c1c5
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40c1c9
add edi, 2
add esi, 2
test dl, dl
jne 0x40c1a9
xor eax, eax
jmp 0x40c1ce
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40b950
push 0
push 3
push dword [esp + 0xd4]
call fcn.00416d30
add esp, 0xc
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.freeformat
call fcn.0040f3d0
test eax, eax
jne 0x40c22a
push 1
push dword [esp + 0xd0]
call fcn.00415d90
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.replaygain_fast
call fcn.0040f3d0
test eax, eax
jne 0x40c25b
push 1
push dword [esp + 0xd0]
call fcn.00415de0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.replaygain_accurate
call fcn.0040f3d0
test eax, eax
jne 0x40c29a
push 1
push dword [esp + 0xd0]
call fcn.00415e30
push 1
push dword [esp + 0xd8]
call fcn.00415de0
add esp, 0x10
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.noreplaygain
call fcn.0040f3d0
test eax, eax
jne 0x40c2d6
push 0
push dword [esp + 0xd0]
call fcn.00415de0
add esp, 8
mov dword [esp + 0xb4], 0
mov dword [esp + 0xc8], 1
jmp 0x40e143
mov eax, esi
mov edx, str.clipdetect
call fcn.0040f3d0
test eax, eax
jne 0x40c310
mov eax, 1
push eax
push dword [esp + 0xd0]
mov dword [0x4f8e10], eax
call fcn.00415e30
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.nohist
call fcn.0040f3d0
test eax, eax
jne 0x40c33a
mov dword [0x4f8e0c], 0
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, esi
mov edx, str.priority
call fcn.0040f3d0
test eax, eax
jne 0x40c3a0
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x54]
push 0xa
push ecx
push dword [esp + 0xdc]
call fcn.00470ff8
add esp, 0xc
cmp dword [esp + 0xd4], 0
je 0x40e281
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x54]
je 0x40e281
push eax
call fcn.00409f10
add esp, 4
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.id3v2_utf16
call fcn.0040f3d0
test eax, eax
je 0x40e11e
mov eax, esi
mov edx, str.id3v2_ucs2
call fcn.0040f3d0
test eax, eax
je 0x40e11e
mov eax, esi
mov edx, str.id3v2_latin1
call fcn.0040f3d0
test eax, eax
jne 0x40c402
push dword [esp + 0xcc]
call fcn.004177f0
add esp, 4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xac], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c58
call fcn.0040f3d0
test eax, eax
jne 0x40c445
mov esi, dword [esp + 0xd4]
mov edx, 0x74
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c54
call fcn.0040f3d0
test eax, eax
jne 0x40c488
mov esi, dword [esp + 0xd4]
mov edx, 0x61
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c50
call fcn.0040f3d0
test eax, eax
jne 0x40c4cb
mov esi, dword [esp + 0xd4]
mov edx, 0x6c
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c4c
call fcn.0040f3d0
test eax, eax
jne 0x40c50e
mov esi, dword [esp + 0xd4]
mov edx, 0x79
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c48
call fcn.0040f3d0
test eax, eax
jne 0x40c551
mov esi, dword [esp + 0xd4]
mov edx, 0x63
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c44
call fcn.0040f3d0
test eax, eax
jne 0x40c612
mov esi, dword [esp + 0xd4]
mov edx, 0x6e
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
test eax, eax
je 0x40b950
cmp dword [esp + 0xb8], 0
jne 0x40b950
cmp dword [esp + 0xb0], 1
jne 0x40c5e7
cmp dword [0x4f8e08], 9
jl 0x40e29f
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0xb0], 2
je 0x40b950
cmp dword [0x4f8e08], 9
jl 0x40e2b1
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, 0x488c40
call fcn.0040f3d0
test eax, eax
jne 0x40c7a2
cmp dword [esp + 0xd4], 0
je 0x40b950
mov edx, dword [esp + 0xd4]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40c65f
mov eax, edx
add edx, ecx
call fcn.00449a80
test eax, eax
jbe 0x40b950
mov esi, dword [esp + 0xd4]
mov edx, 0x67
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
test eax, eax
je 0x40b950
cmp dword [esp + 0xb8], 0
jne 0x40b950
cmp eax, 0xffffffff
jne 0x40c6e7
mov ebx, esi
push ebx
push str.Unknown_ID3v1_genre_number:__s._n
call fcn.004023b0
add esp, 8
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
je 0x40c72b
cmp dword [0x4f8e08], 0xa
jl 0x40e2ce
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0xb0], 1
jne 0x40c777
mov ebx, esi
push ebx
push str.Unknown_ID3v1_genre:__s._n
call fcn.004023b0
add esp, 8
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0xb0], 2
je 0x40b950
cmp dword [0x4f8e08], 9
jl 0x40e2e0
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edi, 0x488c3c
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40c7dd
inc esi
inc edi
cmp ebx, eax
je 0x40c7b8
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40c836
mov esi, dword [esp + 0xd4]
mov edx, 0x76
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xac]
call fcn.0040f470
test eax, eax
je 0x40b950
cmp dword [0x4f8e08], 9
jl 0x40e304
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, 0x488c38
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40c871
inc esi
inc edi
cmp ebx, eax
je 0x40c84c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40c9ce
cmp dword [esp + 0xd4], 0
je 0x40b950
push 0x483938
push dword [esp + 0xd8]
call fcn.0040a160
mov dword [esp + 0x50], eax
add esp, 8
cmp dword [esp + 0x48], 0
jne 0x40c8bf
mov eax, 1
mov esi, eax
jmp 0x40c957
push 2
push 0
push dword [esp + 0x50]
call fcn.0046bfdd
push dword [esp + 0x54]
call fcn.0046bd18
mov esi, eax
xor eax, eax
push eax
push eax
push dword [esp + 0x60]
call fcn.0046bfdd
push esi
call fcn.0046c645
mov dword [esp + 0x64], eax
add esp, 0x20
cmp dword [esp + 0x44], 0
jne 0x40c901
mov eax, 2
mov esi, eax
jmp 0x40c94b
push dword [esp + 0x48]
push esi
push 1
push dword [esp + 0x50]
call fcn.0046b3d5
add esp, 0x10
cmp eax, esi
je 0x40c91f
mov esi, 3
jmp 0x40c93f
push esi
push dword [esp + 0x48]
push dword [esp + 0xd4]
call fcn.00417910
mov esi, eax
add esp, 0xc
mov eax, 4
test esi, esi
cmovne esi, eax
push dword [esp + 0x44]
call fcn.0046b1f9
add esp, 4
push dword [esp + 0x48]
call fcn.0046af92
add esp, 4
cmp esi, 1
je 0x40e34d
cmp esi, 2
je 0x40c99b
cmp esi, 3
jne 0x40c980
push dword [esp + 0xd4]
push str.Read_error:__s._n
call fcn.004023b0
add esp, 8
jmp 0x40c9a8
cmp esi, 4
jne 0x40c9a8
push dword [esp + 0xd4]
push str.Unsupported_image:__s._nSpecify_JPEG_PNG_GIF_image_n
call fcn.004023b0
add esp, 8
jmp 0x40c9a8
push str.Insufficient_memory_for_reading_the_albumart._n
call fcn.004023b0
add esp, 4
test esi, esi
je 0x40b950
cmp dword [esp + 0xb8], 0
je 0x40e328
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.ignore_tag_errors
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40ca09
inc esi
inc edi
cmp ebx, eax
je 0x40c9e4
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40ca35
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.add_id3v2
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40ca70
inc esi
inc edi
cmp ebx, eax
je 0x40ca4b
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40caa0
push dword [esp + 0xcc]
call fcn.004177f0
add esp, 4
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.id3v1_only
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cadb
inc esi
inc edi
cmp ebx, eax
je 0x40cab6
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40cb16
push dword [esp + 0xcc]
call fcn.00417820
add esp, 4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.id3v2_only
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cb51
inc esi
inc edi
cmp ebx, eax
je 0x40cb2c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40cb8c
push dword [esp + 0xcc]
call fcn.00417850
add esp, 4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 2
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.space_id3v1
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cbc7
inc esi
inc edi
cmp ebx, eax
je 0x40cba2
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40cbf7
push dword [esp + 0xcc]
call fcn.00417880
add esp, 4
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.pad_id3v2
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cc32
inc esi
inc edi
cmp ebx, eax
je 0x40cc0d
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40cc62
push dword [esp + 0xcc]
call fcn.004178b0
add esp, 4
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.pad_id3v2_size
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cc9d
inc esi
inc edi
cmp ebx, eax
je 0x40cc78
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40cd24
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x40]
push 0xa
push ecx
push dword [esp + 0xdc]
call fcn.00470ff8
add esp, 0xc
mov edi, eax
cmp dword [esp + 0xd4], 0
je 0x40e366
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x40]
je 0x40e366
mov eax, 0x1f400
cmp edi, 0x1f400
cmovg edi, eax
mov ecx, edi
sar ecx, 0x1f
not ecx
and ecx, edi
push ecx
push dword [esp + 0xd0]
call fcn.004178e0
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.genre_list
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cd5f
inc esi
inc edi
cmp ebx, eax
je 0x40cd3a
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f368
mov eax, dword [esp + 0x4c]
mov edi, str.lowpass
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cdaf
inc esi
inc edi
cmp ebx, eax
je 0x40cd8a
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40ce3a
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x3c]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm2, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e41c
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x3c]
je 0x40e41c
pxor xmm0, xmm0
comisd xmm0, xmm2
jbe 0x40e384
push 0xffffffffffffffff
push dword [esp + 0xd0]
call fcn.004164f0
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.lowpass_width
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40ce75
inc esi
inc edi
cmp ebx, eax
je 0x40ce50
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40cf43
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x38]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm2, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e46c
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x38]
je 0x40e46c
movsd xmm0, qword [0x4842c8]
comisd xmm0, xmm2
ja 0x40e43a
comisd xmm2, xmmword [0x4842d0]
ja 0x40e43a
movsd xmm0, qword [0x4842d8]
comisd xmm0, xmm2
movsd xmm1, qword [0x4842c0]
ja 0x40cf13
movsd xmm1, qword [0x484308]
mulsd xmm2, xmm1
addsd xmm2, qword [0x4842b8]
cvttsd2si eax, xmm2
push eax
push dword [esp + 0xd0]
call fcn.00416520
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.highpass
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40cf7e
inc esi
inc edi
cmp ebx, eax
je 0x40cf59
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d009
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x34]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm2, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e522
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x34]
je 0x40e522
pxor xmm0, xmm0
comisd xmm0, xmm2
jbe 0x40e48a
push 0xffffffffffffffff
push dword [esp + 0xd0]
call fcn.00416550
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.highpass_width
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d044
inc esi
inc edi
cmp ebx, eax
je 0x40d01f
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d0e8
mov dword [esp + 0x30], 0
lea ecx, [esp + 0x30]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm1, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e572
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x30]
je 0x40e572
movsd xmm0, qword [0x4842c8]
comisd xmm0, xmm1
ja 0x40e540
comisd xmm1, xmmword [0x4842d0]
ja 0x40e540
cvttsd2si eax, xmm1
push eax
push dword [esp + 0xd0]
call fcn.00416580
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.comp
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d123
inc esi
inc edi
cmp ebx, eax
je 0x40d0fe
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d1be
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x2c]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
fstp qword [esp + 0x88]
movsd xmm1, qword [esp + 0x88]
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40e5c2
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x2c]
je 0x40e5c2
movsd xmm0, qword [0x484308]
comisd xmm0, xmm1
ja 0x40e590
cvtsd2ss xmm1, xmm1
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
movss dword [esp + 4], xmm1
call fcn.00415fa0
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.quiet
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d1f9
inc esi
inc edi
cmp ebx, eax
je 0x40d1d4
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d224
mov dword [0x4f8e08], 0xa
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.silent
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d25f
inc esi
inc edi
cmp ebx, eax
je 0x40d23a
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d28a
mov dword [0x4f8e08], 9
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.brief
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d2c5
inc esi
inc edi
cmp ebx, eax
je 0x40d2a0
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d2f0
mov dword [0x4f8e08], 0xfffffffb
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.verbose
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d32b
inc esi
inc edi
cmp ebx, eax
je 0x40d306
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d356
mov dword [0x4f8e08], 0xfffffff6
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.version
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d391
inc esi
inc edi
cmp ebx, eax
je 0x40d36c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f301
mov eax, dword [esp + 0x4c]
mov edi, str.license
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d3e1
inc esi
inc edi
cmp ebx, eax
je 0x40d3bc
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f301
mov eax, dword [esp + 0x4c]
mov edi, str.help
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d431
inc esi
inc edi
cmp ebx, eax
je 0x40d40c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f1b4
mov eax, dword [esp + 0x4c]
mov edi, str.usage
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d481
inc esi
inc edi
cmp ebx, eax
je 0x40d45c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f1b4
mov eax, dword [esp + 0x4c]
mov edi, str.longhelp
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d4d1
inc esi
inc edi
cmp ebx, eax
je 0x40d4ac
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f169
mov eax, dword [esp + 0x4c]
mov edi, 0x488b48
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d521
inc esi
inc edi
cmp ebx, eax
je 0x40d4fc
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40f10e
mov eax, dword [esp + 0x4c]
mov edi, str.preset
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d571
inc esi
inc edi
cmp ebx, eax
je 0x40d54c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
je 0x40d5d2
mov eax, dword [esp + 0x4c]
mov edi, str.alt_preset
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d5bd
inc esi
inc edi
cmp ebx, eax
je 0x40d598
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d70a
mov ecx, dword [esp + 0xe4]
xor eax, eax
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0xc0], ebx
lea eax, [ecx + esi*4]
mov dword [esp + 0xb4], 1
lea ecx, [esi + 1]
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x20]
mov esi, str.fast
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40d636
test dl, dl
je 0x40d632
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40d636
add edi, 2
add esi, 2
test dl, dl
jne 0x40d616
xor eax, eax
jmp 0x40d63b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40d683
mov esi, 0x488938
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40d66b
test dl, dl
je 0x40d667
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40d66b
add edi, 2
add esi, 2
test dl, dl
jne 0x40d64b
xor eax, eax
jmp 0x40d670
sbb eax, eax
or eax, 1
cmp ebx, 1
mov edx, eax
mov eax, 1
cmovle ebx, eax
test edx, edx
je 0x40d6bc
jmp 0x40d6cf
mov esi, 0x488938
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40d6af
test dl, dl
je 0x40d6ab
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40d6af
add edi, 2
add esi, 2
test dl, dl
jne 0x40d68f
xor eax, eax
jmp 0x40d6b4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e5e0
mov edx, dword [esp + 0x24]
mov eax, 1
cmp edx, 1
cmovle edx, eax
mov dword [esp + 0x24], edx
inc ecx
inc dword [esp + 0xb4]
cmp ecx, dword [esp + 0xdc]
jge 0x40d6fa
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0xb4]
mov esi, dword [eax + edx*4]
mov dword [esp + 0xd4], esi
jmp 0x40d60a
mov dword [esp + 0xd4], 0x4832d0
jmp 0x40d60a
mov eax, dword [esp + 0x4c]
mov edi, str.disptime
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d745
inc esi
inc edi
cmp ebx, eax
je 0x40d720
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d7a7
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x18]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40f014
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x18]
je 0x40f014
fstp dword [0x4f8e14]
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.nogaptags
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d7e2
inc esi
inc edi
cmp ebx, eax
je 0x40d7bd
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d80e
mov dword [esp + 0xb4], 0
mov dword [esp + 0xbc], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.nogapout
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d849
inc esi
inc edi
cmp ebx, eax
je 0x40d824
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d8e2
mov edx, 0x400
mov ecx, dword [esp + 0xd4]
xor eax, eax
test edx, edx
je 0x40d8a3
mov edi, ecx
and edi, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edi]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40d8a1
mov eax, 0x10
sub eax, ecx
cmp eax, edx
ja 0x40d8a3
mov eax, edi
add edi, edx
add edi, ecx
call fcn.00449e70
cmp eax, edx
cmova eax, edx
cmp eax, 0x400
jge 0x40f034
push 0x400
push dword [esp + 0xd8]
push dword [ebp + 0x18]
call fcn.0046cb40
add esp, 0xc
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xb4], 1
mov byte [eax + 0x400], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.out_dir
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d91d
inc esi
inc edi
cmp ebx, eax
je 0x40d8f8
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40d9b9
mov edx, 0x400
mov ecx, dword [esp + 0xd4]
xor eax, eax
test edx, edx
je 0x40d977
mov edi, ecx
and edi, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edi]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40d975
mov eax, 0x10
sub eax, ecx
cmp eax, edx
ja 0x40d977
mov eax, edi
add edi, edx
add edi, ecx
call fcn.00449e70
cmp eax, edx
cmova eax, edx
cmp eax, 0x400
jge 0x40f074
push 0x400
push dword [esp + 0xd8]
lea eax, [esp + 0xf8]
push eax
call fcn.0046cb40
add esp, 0xc
mov byte [esp + 0x4f0], 0
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.nogap
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40d9f4
inc esi
inc edi
cmp ebx, eax
je 0x40d9cf
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40da20
mov dword [esp + 0xb4], 0
mov dword [esp + 0xe0], 1
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.swap_channel
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40da5b
inc esi
inc edi
cmp ebx, eax
je 0x40da36
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40da86
mov dword [0x4f8df8], 1
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov eax, dword [esp + 0x4c]
mov edi, str.ignorelength
mov dword [esp + 0x50], esi
mov esi, eax
mov dword [esp + 0xc0], ebx
movsx edx, byte [esi]
push edx
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40dac1
inc esi
inc edi
cmp ebx, eax
je 0x40da9c
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40daec
mov dword [0x4f8e00], 1
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov dword [esp + 0x50], esi
mov edi, str.athaa_sensitivity
mov dword [esp + 0xc0], ebx
mov esi, dword [esp + 0x4c]
movsx eax, byte [esi]
push eax
call fcn.0046d560
movsx ecx, byte [edi]
push ecx
movzx ebx, al
call fcn.0046d560
movzx eax, al
add esp, 8
test ebx, ebx
je 0x40db25
inc esi
inc edi
cmp ebx, eax
je 0x40db00
mov esi, dword [esp + 0x50]
mov edx, ebx
mov ebx, dword [esp + 0xc0]
cmp eax, edx
jne 0x40db94
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0xd8]
call fcn.00470a9d
add esp, 8
cmp dword [esp + 0xd4], 0
je 0x40f0b4
mov ecx, dword [esp + 0xd4]
cmp ecx, dword [esp + 0x10]
je 0x40f0b4
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.00416760
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov eax, esi
mov edx, str.noshort
call fcn.0040f3d0
test eax, eax
jne 0x40dbbc
push esi
push str.WARNING:_ignoring_developer_only_switch____s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0x14], 1
jmp 0x40dbc4
mov dword [esp + 0x14], 0
mov eax, esi
mov edx, str.short
call fcn.0040f3d0
test eax, eax
jne 0x40dbea
push esi
push str.WARNING:_ignoring_developer_only_switch____s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0x14], 1
mov eax, esi
mov edx, str.allshort
call fcn.0040f3d0
test eax, eax
jne 0x40dc10
push esi
push str.WARNING:_ignoring_developer_only_switch____s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0x14], 1
mov eax, esi
mov edx, str.notemp
call fcn.0040f3d0
test eax, eax
jne 0x40dc36
push esi
push str.WARNING:_ignoring_developer_only_switch____s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0x14], 1
mov eax, esi
mov edx, str.interch
call fcn.0040f3d0
test eax, eax
jne 0x40dc6d
push dword [esp + 0xd4]
push esi
push str.WARNING:_ignoring_developer_only_switch____s__s_n
call fcn.004023b0
add esp, 0xc
mov ecx, 1
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x14], ecx
jmp 0x40dc78
mov dword [esp + 0xb4], 0
mov eax, esi
mov edx, str.temporal_masking
call fcn.0040f3d0
test eax, eax
jne 0x40dcad
push dword [esp + 0xd4]
push esi
push str.WARNING:_ignoring_developer_only_switch____s__s_n
call fcn.004023b0
add esp, 0xc
mov ecx, 1
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x14], ecx
mov eax, esi
mov edx, str.nspsytune
call fcn.0040f3d0
test eax, eax
jne 0x40dcd3
push esi
push str.WARNING:_ignoring_developer_only_switch____s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0x14], 1
mov eax, esi
mov edx, str.nssafejoint
call fcn.0040f3d0
test eax, eax
jne 0x40dcf9
push esi
push str.WARNING:_ignoring_developer_only_switch____s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0x14], 1
mov eax, esi
mov edx, str.nsmsfix
call fcn.0040f3d0
test eax, eax
jne 0x40dd2e
push dword [esp + 0xd4]
push esi
push str.WARNING:_ignoring_developer_only_switch____s__s_n
call fcn.004023b0
add esp, 0xc
mov ecx, 1
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x14], ecx
mov eax, esi
mov edx, str.ns_bass
call fcn.0040f3d0
test eax, eax
jne 0x40dd63
push dword [esp + 0xcc]
call fcn.004177f0
add esp, 4
mov dword [esp + 0xb4], 0
mov dword [esp + 0xac], 2
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0xe8]
lea edi, [eax + ecx + 1]
jmp 0x40a953
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov ebx, dword [esp + 0xd4]
push ebx
push str.unknown_buffer_constraint__s_n
call fcn.004023b0
add esp, 8
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
fstp st(0)
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
fstp st(0)
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
fstp st(0)
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push str.The_track_number_has_to_be_between_1_and_255_for_ID3v1._n
call fcn.004023b0
add esp, 4
jmp 0x40c5b5
push str.The_track_number_has_to_be_between_1_and_255_for_ID3v1__ignored_for_ID3v1._n
call fcn.004023b0
add esp, 4
mov dword [esp + 0xb4], 1
jmp 0x40e143
push str.Internal_error._n
call fcn.004023b0
add esp, 4
jmp 0x40c6f9
push dword [esp + 0xd4]
push str.Unknown_ID3v1_genre:__s.__Setting_ID3v1_genre_to_Other_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
push dword [esp + 0xd4]
push str.Invalid_field_value:__s._Ignored_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push dword [esp + 0xd4]
push str.Could_not_find:__s._n
call fcn.004023b0
add esp, 8
jmp 0x40c9a8
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
movsd xmm0, qword [0x4842c8]
comisd xmm0, xmm2
ja 0x40e3ea
comisd xmm2, xmmword [0x4842d0]
ja 0x40e3ea
movsd xmm0, qword [0x4842e0]
comisd xmm0, xmm2
movsd xmm1, qword [0x4842c0]
ja 0x40e3ba
movsd xmm1, qword [0x484308]
mulsd xmm2, xmm1
addsd xmm2, qword [0x4842b8]
cvttsd2si eax, xmm2
push eax
push dword [esp + 0xd0]
call fcn.004164f0
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
push str.Must_specify_lowpass_with___lowpass_freq__freq___0.001_kHz_n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push str.Must_specify_lowpass_width_with___lowpass_width_freq__freq___0.001_kHz_n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
movsd xmm0, qword [0x4842c8]
comisd xmm0, xmm2
ja 0x40e4f0
comisd xmm2, xmmword [0x4842d0]
ja 0x40e4f0
movsd xmm0, qword [0x4842d8]
comisd xmm0, xmm2
movsd xmm1, qword [0x4842c0]
ja 0x40e4c0
movsd xmm1, qword [0x484308]
mulsd xmm2, xmm1
addsd xmm2, qword [0x4842b8]
cvttsd2si eax, xmm2
push eax
push dword [esp + 0xd0]
call fcn.00416550
add esp, 8
mov dword [esp + 0xb4], 1
jmp 0x40e143
push str.Must_specify_highpass_with___highpass_freq__freq___0.001_kHz_n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push str.Must_specify_highpass_width_with___highpass_width_freq__freq___0.001_kHz_n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push str.Must_specify_compression_ratio___1.0_n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov esi, str.help
mov dword [esp + 0x20], ebx
mov edi, dword [esp + 0xd4]
mov ebx, dword [esp + 0xc0]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e617
test dl, dl
je 0x40e613
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e617
add edi, 2
add esi, 2
test dl, dl
jne 0x40e5f7
xor eax, eax
jmp 0x40e61c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e7dd
cmp dword [esp + 0x20], 0
jg 0x40e7dd
cmp dword [esp + 0x24], 0
jg 0x40e7dd
push 1
call fcn.0046acdc
mov dword [esp + 0x20], eax
add esp, 4
call fcn.0041d9a0
mov edi, eax
call fcn.0041d930
mov esi, eax
call fcn.0041d960
mov dword [esp + 0x20], eax
mov edx, edi
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40e685
mov eax, edx
add edx, ecx
call fcn.00449a80
mov edx, esi
mov ebx, eax
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40e6ad
mov eax, edx
add edx, ecx
call fcn.00449a80
mov edx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40e6d9
mov eax, edx
add edx, ecx
call fcn.00449a80
mov ecx, dword [esp + 0x14]
add ecx, ebx
lea ecx, [ecx + eax + 0x10]
cmp ecx, 0x50
jbe 0x40e736
lea ecx, [eax + 2]
cmp ecx, 0x50
ja 0x40e736
neg eax
add eax, 0x4e
test ebx, ebx
jbe 0x40e718
push dword [esp + 0x20]
push 0x4832d0
push eax
push esi
push edi
push str.LAME__s_version__s_n_s__s__n_n
push dword [esp + 0x34]
call fcn.0040f620
add esp, 0x1c
jmp 0x40e769
push dword [esp + 0x20]
push 0x4832d0
push eax
push esi
push str.LAME_version__s_n_s__s__n_n
push dword [esp + 0x30]
call fcn.0040f620
add esp, 0x18
jmp 0x40e769
test ebx, ebx
jbe 0x40e753
push dword [esp + 0x20]
push esi
push edi
push str.LAME__s_version__s___s__n_n
push dword [esp + 0x2c]
call fcn.0040f620
add esp, 0x14
jmp 0x40e769
push dword [esp + 0x20]
push esi
push str.LAME_version__s___s__n_n
push dword [esp + 0x28]
call fcn.0040f620
add esp, 0x10
push 1
call fcn.0046acdc
mov ebx, eax
push str._nThe___preset_switches_are_aliases_over_LAME_settings._n_n_n
push ebx
call fcn.0040f620
push str.To_activate_these_presets:_n_n___For_VBR_modes__generally_highest_quality_:_n_n
push ebx
call fcn.0040f620
push str._______preset_medium______This_preset_should_provide_near_transparency_to_most_n__________________________people_on_most_music._n_n_______preset_standard____This_preset_should_generally_be_transparent_to_most_n__________________________people_on_most_music_and_is_already_quite_high_n__________________________in_quality._n_n
push ebx
call fcn.0040f620
push str._______preset_extreme_____If_you_have_extremely_good_hearing_and_similar_n__________________________equipment__this_preset_will_generally_provide_n__________________________slightly_higher_quality_than_the__standard__mode._n_n
push ebx
call fcn.0040f620
push str.___For_CBR_320kbps__highest_quality_possible_from_the___preset_switches_:_n_n_______preset_insane______This_preset_will_usually_be_overkill_for_most_people_n__________________________and_most_situations__but_if_you_must_have_the_n__________________________absolute_highest_quality_with_no_regard_to_filesize__n__________________________this_is_the_way_to_go._n_n
push ebx
call fcn.0040f620
push str.___For_ABR_modes__high_quality_per_given_bitrate_but_not_as_high_as_VBR_:_n_n_______preset__kbps_______Using_this_preset_will_usually_give_you_good_quality_n__________________________at_a_specified_bitrate._Depending_on_the_bitrate_n__________________________entered__this_preset_will_determine_the_optimal_n__________________________settings_for_that_particular_situation._For_example:_n_____________________________preset_185__activates_this_preset_and_uses_185_n__________________________as_an_average_kbps._n_n
push ebx
call fcn.0040f620
push str.____cbr_____If_you_use_the_ABR_mode__read_above__with_a_significant_n____________bitrate_such_as_80__96__112__128__160__192__224__256__320__n____________you_can_use_the__cbr__option_to_force_CBR_mode_encoding_n____________instead_of_the_standard_abr_mode._ABR_does_provide_higher_n____________quality_but_CBR_may_be_useful_in_situations_such_as_when_n____________streaming_an_mp3_over_the_internet_may_be_important._n_n
push ebx
call fcn.0040f620
push str.____For_example:_n_n______preset_standard__input_file___output_file__n_or___preset_cbr_192__input_file___output_file__n_or___preset_172__input_file___output_file__n_or___preset_extreme__input_file___output_file__n_n_n
push ebx
call fcn.0040f620
push str.A_few_aliases_are_also_available_for_ABR_mode:_nphone___16kbps_mono________phon_lw_mw_eu_sw___24kbps_mono_nmw_us___40kbps_mono________voice___56kbps_mono_nfm_radio_tape___112kbps____hifi___160kbps_ncd___192kbps_______________studio___256kbps_n
push ebx
call fcn.0040f620
add esp, 0x4c
jmp 0x40ee12
mov esi, str.phone
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e809
test dl, dl
je 0x40e805
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e809
add edi, 2
add esi, 2
test dl, dl
jne 0x40e7e9
xor eax, eax
jmp 0x40e80e
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487f68
mov edi, dword [esp + 0xd4]
mov eax, 1
cmove edi, ecx
mov ecx, 0
mov esi, str.phon
cmove ecx, eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0x1c], ecx
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e85c
test dl, dl
je 0x40e858
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e85c
add edi, 2
add esi, 2
test dl, dl
jne 0x40e83c
xor eax, eax
jmp 0x40e861
sbb eax, eax
or eax, 1
test eax, eax
je 0x40e908
mov esi, 0x487f84
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e895
test dl, dl
je 0x40e891
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e895
add edi, 2
add esi, 2
test dl, dl
jne 0x40e875
xor eax, eax
jmp 0x40e89a
sbb eax, eax
or eax, 1
test eax, eax
je 0x40e908
mov esi, str.mw_eu
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e8ca
test dl, dl
je 0x40e8c6
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e8ca
add edi, 2
add esi, 2
test dl, dl
jne 0x40e8aa
xor eax, eax
jmp 0x40e8cf
sbb eax, eax
or eax, 1
test eax, eax
je 0x40e908
mov esi, 0x487f78
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e8ff
test dl, dl
je 0x40e8fb
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e8ff
add edi, 2
add esi, 2
test dl, dl
jne 0x40e8df
xor eax, eax
jmp 0x40e904
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e91b
mov dword [esp + 0xd4], 0x487f74
mov dword [esp + 0x1c], 1
mov esi, str.mw_us
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e947
test dl, dl
je 0x40e943
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e947
add edi, 2
add esi, 2
test dl, dl
jne 0x40e927
xor eax, eax
jmp 0x40e94c
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487f90
mov edi, dword [esp + 0xd4]
mov esi, str.voice
cmove edi, ecx
mov ecx, 1
mov eax, dword [esp + 0x1c]
cmove eax, ecx
mov dword [esp + 0xd4], edi
mov dword [esp + 0x1c], eax
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e999
test dl, dl
je 0x40e995
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e999
add edi, 2
add esi, 2
test dl, dl
jne 0x40e979
xor eax, eax
jmp 0x40e99e
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487f9c
mov edi, dword [esp + 0xd4]
mov esi, 0x487fac
cmove edi, ecx
mov ecx, 1
mov eax, dword [esp + 0x1c]
cmove eax, ecx
mov dword [esp + 0xd4], edi
mov dword [esp + 0x1c], eax
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40e9eb
test dl, dl
je 0x40e9e7
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40e9eb
add edi, 2
add esi, 2
test dl, dl
jne 0x40e9cb
xor eax, eax
jmp 0x40e9f0
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487fa8
mov edi, dword [esp + 0xd4]
mov esi, str.radio
cmove edi, ecx
mov dword [esp + 0xd4], edi
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40ea2d
test dl, dl
je 0x40ea29
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40ea2d
add edi, 2
add esi, 2
test dl, dl
jne 0x40ea0d
xor eax, eax
jmp 0x40ea32
sbb eax, eax
or eax, 1
test eax, eax
je 0x40ea6b
mov esi, str.tape
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40ea62
test dl, dl
je 0x40ea5e
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40ea62
add edi, 2
add esi, 2
test dl, dl
jne 0x40ea42
xor eax, eax
jmp 0x40ea67
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40ea76
mov dword [esp + 0xd4], 0x487fa8
mov esi, str.hifi
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40eaa2
test dl, dl
je 0x40ea9e
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40eaa2
add edi, 2
add esi, 2
test dl, dl
jne 0x40ea82
xor eax, eax
jmp 0x40eaa7
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487fc0
mov edi, dword [esp + 0xd4]
mov esi, 0x487fd0
cmove edi, ecx
mov dword [esp + 0xd4], edi
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40eae4
test dl, dl
je 0x40eae0
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40eae4
add edi, 2
add esi, 2
test dl, dl
jne 0x40eac4
xor eax, eax
jmp 0x40eae9
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487fcc
mov edi, dword [esp + 0xd4]
mov esi, str.studio
cmove edi, ecx
mov dword [esp + 0xd4], edi
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40eb26
test dl, dl
je 0x40eb22
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40eb26
add edi, 2
add esi, 2
test dl, dl
jne 0x40eb06
xor eax, eax
jmp 0x40eb2b
sbb eax, eax
or eax, 1
test eax, eax
mov ecx, 0x487fd4
mov edi, dword [esp + 0xd4]
mov esi, str.medium
cmove edi, ecx
mov dword [esp + 0xd4], edi
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40eb68
test dl, dl
je 0x40eb64
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40eb68
add edi, 2
add esi, 2
test dl, dl
jne 0x40eb48
xor eax, eax
jmp 0x40eb6d
sbb eax, eax
or eax, 1
test eax, eax
je 0x40ee8c
mov esi, str.standard
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40eba1
test dl, dl
je 0x40eb9d
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40eba1
add edi, 2
add esi, 2
test dl, dl
jne 0x40eb81
xor eax, eax
jmp 0x40eba6
sbb eax, eax
or eax, 1
test eax, eax
je 0x40ee68
mov esi, str.extreme
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40ebda
test dl, dl
je 0x40ebd6
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40ebda
add edi, 2
add esi, 2
test dl, dl
jne 0x40ebba
xor eax, eax
jmp 0x40ebdf
sbb eax, eax
or eax, 1
test eax, eax
je 0x40ee44
mov esi, str.insane
mov edi, dword [esp + 0xd4]
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x40ec13
test dl, dl
je 0x40ec0f
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x40ec13
add edi, 2
add esi, 2
test dl, dl
jne 0x40ebf3
xor eax, eax
jmp 0x40ec18
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40ec3c
cmp dword [esp + 0x20], 0
jg 0x40ec3c
push 0x3eb
push dword [esp + 0xd0]
call fcn.00416cf0
add esp, 8
jmp 0x40e143
push dword [esp + 0xd4]
call fcn.00471050
add esp, 4
test eax, eax
jle 0x40ecbf
cmp dword [esp + 0x20], 0
jg 0x40ecbf
push dword [esp + 0xd4]
call fcn.00471050
add esp, 4
cmp eax, 8
jl 0x40eedc
mov eax, dword [0x514c2c]
mov dword [esp + 0x1c], eax
call fcn.0041d9a0
mov dword [esp + 0x14], eax
call fcn.0041d930
mov edi, eax
call fcn.0041d960
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x14]
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40ed09
mov eax, edx
add edx, ecx
call fcn.00449a80
mov edx, edi
mov esi, eax
mov ecx, edx
and edx, 0xfffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [edx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x40ed31
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xffffffff
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
push dword [esp + 0xd0]
call fcn.00416280
push 4
push dword [esp + 0xd8]
call fcn.00416220
add esp, 0x10
jmp 0x40e143
push 2
push dword [esp + 0xd0]
call fcn.00416280
push 4
push dword [esp + 0xd8]
call fcn.00416220
add esp, 0x10
jmp 0x40e143
push 4
push dword [esp + 0xd0]
call fcn.00416280
push 4
push dword [esp + 0xd8]
call fcn.00416220
add esp, 0x10
jmp 0x40e143
fstp st(0)
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
push 0x400
push eax
push esi
push dword [esp + 0xe4]
push str._s:__s_argument_length___d__exceeds_limit___d__n
call fcn.004023b0
add esp, 0x14
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
push 0x400
push eax
push esi
push dword [esp + 0xe4]
push str._s:__s_argument_length___d__exceeds_limit___d__n
call fcn.004023b0
add esp, 0x14
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc
fstp st(0)
push esi
push str.WARNING:_argument_missing_for__s_n
call fcn.004023b0
add esp, 8
mov dword [esp + 0xb4], 0
jmp 0x40e143
mov edi, dword [esp + 0xcc]
push 1
call fcn.0046acdc
mov edx, eax
add esp, 4
mov dword [esp + 0xc], 1
mov eax, edi
mov ecx, dword [esp + 0xd8]
call fcn.0040f80c
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
mov eax, 0xfffffffe
add esp, 0x534
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0xcc]
push 1
call fcn.0046acdc
mov edx, eax
add esp, 4
mov dword [esp + 0xc], 0
mov eax, edi
mov ecx, dword [esp + 0xd8]
call fcn.0040f80c
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40f157
mov ebx, dword [esp + 0xd4]
mov edi, dword [esp + 0xcc]
mov eax, ebx
mov edx, 0x48892c
mov ecx, 3
call fcn.0040f7a0
test eax, eax
jne 0x40f21c
push 1
call fcn.0046acdc
mov ebx, eax
push str.__ID3_tag_options:_n______tt__title_____audio_song_title__max_30_chars_for_version_1_tag__n______ta__artist____audio_song_artist__max_30_chars_for_version_1_tag__n______tl__album_____audio_song_album__max_30_chars_for_version_1_tag__n______ty__year______audio_song_year_of_issue__1_to_9999__n______tc__comment___user_defined_text__max_30_chars_for_v1_tag__28_for_v1.1__n
push ebx
call fcn.0040f620
push str.______tn__track__total_____audio_song_track_number_and__optionally__the_total_n___________________________number_of_tracks_on_the_original_recording.__track_n___________________________and_total_each_1_to_255._just_the_track_number_n___________________________creates_v1.1_tag__providing_a_total_forces_v2.0_._n
push ebx
call fcn.0040f620
push str.______tg__genre_____audio_song_genre__name_or_number_in_list__n______ti__file______audio_song_albumArt__jpeg_png_gif_file__v2.3_tag__n______tv__idvalue__user_defined_frame_specified_by_id_and_value__v2.3_tag__n____________________syntax:___tv__TXXXdescriptioncontent__n
push ebx
call fcn.0040f620
push str.______add_id3v2_____force_addition_of_version_2_tag_n______id3v1_only____add_only_a_version_1_tag_n______id3v2_only____add_only_a_version_2_tag_n______id3v2_utf16___add_following_options_in_unicode_text_encoding_n______id3v2_latin1__add_following_options_in_latin_1_text_encoding_n______space_id3v1___pad_version_1_tag_with_spaces_instead_of_nulls_n______pad_id3v2_____same_as___pad_id3v2_size_128_n______pad_id3v2_size__value__adds_version_2_tag__pad_with_extra__value__bytes_n______genre_list____print_alphabetically_sorted_ID3_genre_list_and_exit_n______ignore_tag_errors__ignore_errors_in_values_passed_for_tags_n_n
push ebx
call fcn.0040f620
push str.____Note:_A_version_2_tag_will_NOT_be_added_unless_one_of_the_input_fields_n____wont_fit_in_a_version_1_tag__e.g._the_title_string_is_longer_than_30_n____characters___or_the___add_id3v2_or___id3v2_only_options_are_used__n____or_output_is_redirected_to_stdout._n
push ebx
call fcn.0040f620
jmp 0x40f2d9
mov eax, ebx
mov edx, 0x488928
mov ecx, 3
call fcn.0040f7a0
test eax, eax
jne 0x40f28c
push 1
call fcn.0046acdc
mov ebx, eax
push str.____Note:_Almost_all_of_the_following_switches_arent_available_in_this_build__n_n
push ebx
call fcn.0040f620
push str.__ATH_related:_n______noath_________turns_ATH_down_to_a_flat_noise_floor_n______athshort______ignore_GPSYCHO_for_short_blocks__use_ATH_only_n______athonly_______ignore_GPSYCHO_completely__use_ATH_only_n______athtype_n_____selects_between_different_ATH_types__0_4__n______athlower_x____lowers_ATH_by_x_dB_n
push ebx
call fcn.0040f620
push str.______athaa_type_n__ATH_auto_adjust:_0_no_else_loudness_based_n______athaa_sensitivity_x__activation_offset_in____dB_for_ATH_auto_adjustment_n_n
push ebx
call fcn.0040f620
push str.__PSY_related:_n______short_________use_short_blocks_when_appropriate_n______noshort_______do_not_use_short_blocks_n______allshort______use_only_short_blocks_n
push ebx
call fcn.0040f620
push str._1____temporal_masking_x___x0_disables__x1_enables_temporal_masking_effect_n______nssafejoint___M_S_switching_criterion_n______nsmsfix__arg__M_S_switching_tuning__effective_0_3.5__n_2____interch_x_____adjust_inter_channel_masking_ratio_n______ns_bass_x_____adjust_masking_for_sfbs__0____6__long___0____5__short__n______ns_alto_x_____adjust_masking_for_sfbs__7___13__long___6___10__short__n______ns_treble_x___adjust_masking_for_sfbs_14___21__long__11___12__short__n
push ebx
call fcn.0040f620
push str.______ns_sfb21_x____change_ns_treble_by_x_dB_for_sfb21_n______shortthreshold_x_y__short_block_switching_threshold__n__________________________x_for_L_R_M_channel__y_for_S_channel_n_____Z__n___________always_do_calculate_short_block_maskings_n
push ebx
call fcn.0040f620
push str.__Noise_Shaping_related:_n_1____substep_n_____use_pseudo_substep_noise_shaping_method_types_0_2_n_1___X_n__m_________selects_between_different_noise_measurements_n____________________n_for_long_block__m_for_short._if_m_is_omitted__m__n_n_1:_CBR__ABR_and_VBR_old_encoding_modes_only_n_2:_ignored_n
push ebx
call fcn.0040f620
add esp, 0x3c
jmp 0x40f2dc
push 1
call fcn.0046acdc
mov ebx, eax
add esp, 4
mov eax, ebx
call fcn.0040f660
push dword [esp + 0xd8]
push str.usage:__s__options___infile___outfile__n_n_____infile__and_or__outfile__can_be______which_means_stdin_stdout._n_nRECOMMENDED:_n____lame__V2_input.wav_output.mp3_n_n
push ebx
call fcn.0040f620
push edi
call fcn.004162e0
push eax
push str.OPTIONS:_n_____b_bitrate______set_the_bitrate__default_128_kbps_n_____h______________higher_quality__but_a_little_slower._n_____f______________fast_mode__lower_quality__n_____V_n____________quality_setting_for_VBR.__default_n_i_n____________________0high_quality_bigger_files._9.999smaller_files_n
push ebx
call fcn.0040f620
push str.______preset_type___type_must_be__medium____standard____extreme____insane___n____________________or_a_value_for_an_average_desired_bitrate_and_depending_n____________________on_the_value_specified__appropriate_quality_settings_will_n____________________be_used._n_______________________preset_help__gives_more_info_on_these_n_n
push ebx
call fcn.0040f620
push str.______priority_type__sets_the_process_priority_n_____________________0_1__Low_priority_n_____________________2____normal_priority_n_____________________3_4__High_priority_n_n______help_id3______ID3_tagging_related_options_n_n______longhelp______full_list_of_options_n_n______license_______print_License_information_n_n
push ebx
call fcn.0040f620
add esp, 0x2c
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40f157
push 1
call fcn.0046acdc
mov ebx, eax
add esp, 4
mov eax, ebx
call fcn.0040f660
push str.Copyright__c__1999_2011_by_The_LAME_Project_nCopyright__c__1999_2000_2001_by_Mark_Taylor_nCopyright__c__1998_by_Michael_Cheng_nCopyright__c__1995_1996_1997_by_Michael_Hipp:_mpglib_n_n
push ebx
call fcn.0040f620
push str.This_library_is_free_software__you_can_redistribute_it_and_or_nmodify_it_under_the_terms_of_the_GNU_Library_General_Public_nLicense_as_published_by_the_Free_Software_Foundation__either_nversion_2_of_the_License__or__at_your_option__any_later_version._n_n
push ebx
call fcn.0040f620
push str.This_library_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_GNU_nLibrary_General_Public_License_for_more_details._n_n
push ebx
call fcn.0040f620
push str.You_should_have_received_a_copy_of_the_GNU_Library_General_Public_nLicense_along_with_this_program._If_not__see_n_http:__www.gnu.org_licenses__._n
push ebx
call fcn.0040f620
add esp, 0x20
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40f157
push 0
push 0x40a5a0
call fcn.004177a0
add esp, 8
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40f157
push str.sorry__vorbis_support_in_LAME_is_deprecated._n
call fcn.004023b0
add esp, 4
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x4f4], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x40aeed
jmp 0x40a9fc