Function at 0x406530
Capabilities:
Accept command line arguments
Read file on windows
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x7d8
mov eax, dword [0x507040]
xor eax, esp
mov dword [esp + 0x7d4], eax
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x44], eax
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 8]
movups xmmword [esp + 0xa0], xmm0
push esi
movups xmmword [esp + 0xb4], xmm0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x19c]
movups xmmword [esp + 0xc4], xmm0
push edi
movaps xmm0, xmmword [0x4fde90]
movups xmmword [esp + 0xd8], xmm0
push eax
movaps xmm0, xmmword [0x4fdeb0]
movups xmmword [esp + 0xec], xmm0
mov dword [esp + 0xfc], 0
movaps xmm0, xmmword [0x4fe0a0]
movups xmmword [esp + 0x108], xmm0
mov dword [esp + 0x100], 0
xorps xmm0, xmm0
mov dword [esp + 0x104], str._:__
mov dword [esp + 0x118], 0xffffffff
mov dword [esp + 0x11c], 0xffffffff
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0x3e99999a
mov dword [esp + 0x128], 0xffffffff
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 1
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
movups xmmword [esp + 0x14c], xmm0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x1a4], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x1b0], 2
jne 0x4067ef
cmp dword [esp + 0x1a4], 4
jb 0x4067ef
push str.shell32.dll
xor esi, esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4067ef
push str.CommandLineToArgvW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x48], eax
test eax, eax
je 0x4067e8
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [esp + 0x50]
mov dword [esp + 0x34], eax
test eax, eax
je 0x4067e8
mov ecx, dword [esp + 0x38]
xor edi, edi
test ecx, ecx
jle 0x406743
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [eax + edi*4]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x4067d2
mov ecx, dword [esp + 0x38]
add esi, eax
mov eax, dword [esp + 0x34]
inc edi
cmp edi, ecx
jl 0x406712
lea eax, [esi + ecx*4]
push eax
call fcn.004418e9
mov edx, dword [esp + 0x3c]
mov ecx, eax
add esp, 4
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], 0
lea eax, [ecx + edx*4]
mov dword [esp + 0x28], eax
test edx, edx
jle 0x4067c0
mov edi, ecx
mov ecx, dword [esp + 0x34]
sub ecx, edi
mov dword [esp + 0x48], ecx
push 0
push 0
push esi
push eax
push 0xffffffffffffffff
push dword [ecx + edi]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, eax
test ecx, ecx
je 0x4067d2
mov eax, dword [esp + 0x28]
sub esi, ecx
mov dword [edi], eax
add eax, ecx
mov ecx, dword [esp + 0x40]
add edi, 4
mov edx, dword [esp + 0x38]
inc ecx
mov dword [esp + 0x40], ecx
cmp ecx, edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], eax
jl 0x406778
mov ecx, dword [esp + 0x3c]
mov dword [ebp + 8], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x138], 1
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x4067ef
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x46c2ec
push 0
call fcn.004484fc
lea eax, [esp + 0x90]
push eax
push dword [esp + 0x58]
lea edx, [esp + 0x78]
push dword [esp + 0x74]
lea ecx, [ebp + 8]
call fcn.00409230
mov ecx, dword [0x5079e0]
add esp, 0x14
mov edi, dword [ebp + 8]
cmp ecx, edi
jl 0x406858
push str.ERROR:_No_input_files_specified._Use__h_for_help._n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7d4]
xor ecx, esp
call fcn.0043d9c9
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
sub edi, ecx
xor esi, esi
mov dword [esp + 0x48], edi
lea eax, [eax + ecx*4]
mov dword [esp + 0x30], eax
test edi, edi
jle 0x4068b5
nop
mov eax, dword [eax + esi*4]
mov ecx, 0x4fa7b4
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406898
test dl, dl
je 0x406894
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406898
add eax, 2
add ecx, 2
test dl, dl
jne 0x406878
xor eax, eax
jmp 0x40689d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4068aa
cmp edi, 1
jg 0x40853e
inc esi
cmp esi, edi
jge 0x4068b5
mov eax, dword [esp + 0x30]
jmp 0x406870
cmp edi, 1
jle 0x4068ce
cmp dword [esp + 0x108], 0
je 0x4068ce
push str.ERROR:_Multiple_input_files_with_specified_output_filename:_suggest_using__n_n
jmp 0x408543
cmp dword [esp + 0x148], 0
jne 0x406902
push 0
call fcn.004492c3
add esp, 4
mov dword [esp + 0x84], edx
mov esi, eax
call sub.KERNEL32.dll_GetCurrentProcessId
xor eax, esi
push eax
call fcn.0044867a
add esp, 4
call fcn.00448659
jmp 0x406909
mov eax, dword [esp + 0x13c]
lea ecx, [edi + eax]
lea edx, [ecx + edi]
xor edi, edi
mov dword [esp + 0x18], edi
cmp dword [esp + 0x48], edi
jle 0x408521
nop
mov dword [esp + 0x1a4], eax
xor esi, esi
inc eax
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x13c], eax
inc ecx
lea eax, [esp + 0x50]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x1a0], eax
xorps xmm0, xmm0
mov eax, dword [esp + 0xd8]
xor ecx, ecx
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1ac], edx
inc edx
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x28], esi
mov byte [esp + 0x13], 0
movsd qword [esp + 0x180], xmm0
movsd qword [esp + 0x80], xmm0
mov dword [esp + 0x64], esi
mov dword [esp + 0x144], edx
mov dword [esp + 0x1b4], 0x405540
mov dword [esp + 0x1bc], 0x4059d0
mov dword [esp + 0x1b8], 0x405700
mov dword [esp + 0x1c0], 0x405930
mov dword [esp + 0x22c], eax
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x44], ecx
cmp dword [esp + 0xa4], ecx
jle 0x406b3f
nop dword [eax]
nop dword [eax + eax]
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x24], eax
je 0x406ade
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x406a53
sub edi, ecx
je 0x406ab0
nop
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x406abf
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x406a7f
inc edx
add ecx, 8
jmp 0x406a64
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x406abf
xor ecx, ecx
test edx, edx
jle 0x406aa2
mov al, byte [esi + ecx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x406abf
inc ecx
cmp ecx, edx
jl 0x406a93
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x406a60
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x50]
call fcn.004232d0
jmp 0x406b25
push str.comment
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
jmp 0x406b25
lea edx, [esp + 0x164]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x406b0d
mov esi, dword [esp + 0x164]
lea ecx, [esp + 0x50]
mov edx, esi
call fcn.004232d0
push esi
call fcn.004418e4
add esp, 4
jmp 0x406b25
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
cmp ecx, dword [esp + 0xa4]
jl 0x406a30
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x406c87
cmp edi, eax
jl 0x406b80
cmp dword [esp + 0xe0], 0
jne 0x406b7b
push str.WARNING:_Insufficient_titles_specified__defaulting_to_final_title._n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
mov eax, dword [esp + 0x94]
add esp, 8
lea ecx, [eax - 1]
jmp 0x406b82
mov ecx, edi
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0x88]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x74], eax
je 0x406c39
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x406ba5
sub edi, ecx
je 0x406c00
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x406c1a
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x406bcf
inc edx
add ecx, 8
jmp 0x406bb4
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x406c1a
xor ecx, ecx
test edx, edx
jle 0x406bf2
mov al, byte [esi + ecx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x406c1a
inc ecx
cmp ecx, edx
jl 0x406be3
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x406bb0
push dword [esp + 0x74]
mov edx, str.title
lea ecx, [esp + 0x54]
call fcn.00423370
add esp, 4
jmp 0x406c87
push str.title
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
jmp 0x406c87
lea edx, [esp + 0x168]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x406c6f
mov esi, dword [esp + 0x168]
lea ecx, [esp + 0x50]
push esi
mov edx, str.title
call fcn.00423370
add esp, 4
push esi
call fcn.004418e4
add esp, 4
jmp 0x406c87
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x18]
test eax, eax
je 0x406db8
lea ecx, [eax - 1]
cmp esi, eax
jge 0x406ca3
mov ecx, esi
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0x90]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3c], eax
je 0x406d66
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x406cc6
sub edi, ecx
je 0x406d25
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x406d43
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x406cf4
inc edx
add ecx, 8
jmp 0x406cd5
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x406d43
xor ecx, ecx
test edx, edx
jle 0x406d17
mov al, byte [esi + ecx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x406d43
inc ecx
cmp ecx, edx
jl 0x406d08
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x406cd1
push dword [esp + 0x3c]
mov edx, str.artist
lea ecx, [esp + 0x54]
call fcn.00423370
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x406db8
push str.artist
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
mov esi, dword [esp + 0x24]
add esp, 0xc
jmp 0x406db8
lea edx, [esp + 0x16c]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x406da0
mov esi, dword [esp + 0x16c]
lea ecx, [esp + 0x50]
push esi
mov edx, str.artist
call fcn.00423370
add esp, 4
push esi
call fcn.004418e4
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x406db8
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x406ed7
lea ecx, [eax - 1]
cmp esi, eax
jge 0x406dd0
mov ecx, esi
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6c], eax
je 0x406e89
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x406df3
sub edi, ecx
je 0x406e50
nop
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x406e6a
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x406e1f
inc edx
add ecx, 8
jmp 0x406e04
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x406e6a
xor ecx, ecx
test edx, edx
jle 0x406e42
mov al, byte [esi + ecx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x406e6a
inc ecx
cmp ecx, edx
jl 0x406e33
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x406e00
push dword [esp + 0x6c]
mov edx, str.genre
lea ecx, [esp + 0x54]
call fcn.00423370
add esp, 4
jmp 0x406ed7
push str.genre
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
jmp 0x406ed7
lea edx, [esp + 0x170]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x406ebf
mov esi, dword [esp + 0x170]
lea ecx, [esp + 0x50]
push esi
mov edx, str.genre
call fcn.00423370
add esp, 4
push esi
call fcn.004418e4
add esp, 4
jmp 0x406ed7
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0x18]
test eax, eax
je 0x407008
lea ecx, [eax - 1]
cmp esi, eax
jge 0x406ef3
mov ecx, esi
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x70], eax
je 0x406fb6
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x406f16
sub edi, ecx
je 0x406f75
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x406f93
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x406f44
inc edx
add ecx, 8
jmp 0x406f25
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x406f93
xor ecx, ecx
test edx, edx
jle 0x406f67
mov al, byte [esi + ecx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x406f93
inc ecx
cmp ecx, edx
jl 0x406f58
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x406f21
push dword [esp + 0x70]
mov edx, str.date
lea ecx, [esp + 0x54]
call fcn.00423370
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x407008
push str.date
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
mov esi, dword [esp + 0x24]
add esp, 0xc
jmp 0x407008
lea edx, [esp + 0x174]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x406ff0
mov esi, dword [esp + 0x174]
lea ecx, [esp + 0x50]
push esi
mov edx, str.date
call fcn.00423370
add esp, 4
push esi
call fcn.004418e4
mov esi, dword [esp + 0x1c]
add esp, 4
jmp 0x407008
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x40712b
lea ecx, [eax - 1]
cmp esi, eax
jge 0x407020
mov ecx, esi
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0x98]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
je 0x4070dd
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x407043
sub edi, ecx
je 0x4070a4
nop
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x4070be
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x407073
inc edx
add ecx, 8
jmp 0x407054
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x4070be
xor ecx, ecx
test edx, edx
jle 0x407096
mov al, byte [esi + ecx + 1]
and al, 0xc0
cmp al, 0x80
jne 0x4070be
inc ecx
cmp ecx, edx
jl 0x407087
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x407050
push dword [esp + 0x78]
mov edx, str.album
lea ecx, [esp + 0x54]
call fcn.00423370
add esp, 4
jmp 0x40712b
push str.album
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
jmp 0x40712b
lea edx, [esp + 0x178]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x407113
mov esi, dword [esp + 0x178]
lea ecx, [esp + 0x50]
push esi
mov edx, str.album
call fcn.00423370
add esp, 4
push esi
call fcn.004418e4
add esp, 4
jmp 0x40712b
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0xac]
jge 0x407253
cmp dword [esp + 0x138], 0
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x7c], eax
je 0x407205
mov edi, eax
mov esi, eax
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x407160
sub edi, ecx
je 0x4071c4
nop dword [eax + eax]
xor edx, edx
xor ecx, ecx
cmp ecx, 0x30
jae 0x4071e2
mov al, byte [ecx + 0x507e0c]
and al, byte [esi]
cmp al, byte [ecx + 0x507e0d]
je 0x407193
inc edx
add ecx, 8
jmp 0x407174
mov edx, dword [edx*8 + 0x507e10]
lea eax, [edx + 1]
cmp edi, eax
jb 0x4071e2
xor ecx, ecx
test edx, edx
jle 0x4071b6
mov al, byte [ecx + esi + 1]
and al, 0xc0
cmp al, 0x80
jne 0x4071e2
inc ecx
cmp ecx, edx
jl 0x4071a7
inc esi
mov eax, 0xffffffff
sub eax, edx
add esi, edx
add edi, eax
jne 0x407170
push dword [esp + 0x7c]
mov edx, str.tracknumber
lea ecx, [esp + 0x54]
call fcn.00423370
mov edi, dword [esp + 0x1c]
add esp, 4
jmp 0x407253
push str.tracknumber
push str._s_is_not_valid_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
mov edi, dword [esp + 0x24]
add esp, 0xc
jmp 0x407253
lea edx, [esp + 0x17c]
mov ecx, eax
call fcn.00401aa0
test eax, eax
js 0x40723b
mov esi, dword [esp + 0x17c]
lea ecx, [esp + 0x50]
push esi
mov edx, str.tracknumber
call fcn.00423370
add esp, 4
push esi
call fcn.004418e4
add esp, 4
jmp 0x407253
push str.Couldnt_convert_comment_to_UTF_8__cannot_add_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x40727a
cmp edi, eax
jl 0x40726c
mov dword [esp + 0x40], 0
jmp 0x40727a
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x4072d1
cmp edi, ecx
jl 0x4072c3
cmp dword [esp + 0xe0], 0
jne 0x4072b2
push str.WARNING:_Insufficient_lyrics_languages_specified__defaulting_to_final_lyrics_language._n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
mov ecx, dword [esp + 0xd4]
add esp, 8
mov eax, dword [esp + 0xc8]
mov edx, dword [eax + ecx*4 - 4]
mov dword [esp + 0x28], edx
jmp 0x4072d1
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
mov ecx, 0x4fa7b4
mov esi, dword [eax + edi*4]
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407300
test dl, dl
je 0x4072fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407300
add eax, 2
add ecx, 2
test dl, dl
jne 0x4072e0
xor eax, eax
jmp 0x407305
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407384
push eax
call fcn.0043f858
add esp, 4
push 0x8000
push eax
call fcn.0044ac6c
add esp, 4
push eax
call fcn.0044aa8d
push 0
call fcn.0043f858
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], esi
mov dword [eax + edi*4], 0
cmp dword [esp + 0x108], 0
jne 0x407685
push 1
call fcn.0043f858
add esp, 4
push 0x8000
push eax
call fcn.0044ac6c
add esp, 4
push eax
call fcn.0044aa8d
push 1
call fcn.0043f858
add esp, 0xc
mov dword [esp + 0x38], eax
jmp 0x407685
push 0x2e
push esi
call fcn.0043e720
mov ecx, str..ape
mov dword [esp + 0x24], eax
mov edx, eax
mov dword [esp + 0x1c], ecx
add esp, 8
mov edi, 4
sub edx, ecx
mov dword [esp + 0x24], edx
nop dword [eax]
movsx ecx, byte [ecx + edx]
dec edi
push ecx
call fcn.0044898e
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x14]
movsx ecx, byte [eax]
push ecx
call fcn.0044898e
mov ecx, dword [esp + 0x18]
add esp, 4
inc ecx
mov dword [esp + 0x14], ecx
test esi, esi
je 0x4073e9
cmp esi, eax
jne 0x4073e9
mov edx, dword [esp + 0x24]
test edi, edi
jne 0x4073b0
sub esi, eax
jne 0x407412
mov eax, dword [esp + 0x30]
mov ecx, str.mac_____d
mov edi, dword [esp + 0x18]
mov edx, dword [eax + edi*4]
call fcn.0040a0f0
mov esi, eax
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], esi
jmp 0x407685
mov edx, dword [esp + 0x1c]
mov ecx, 0x4fa8ac
sub edx, ecx
mov dword [esp + 0x14], ecx
mov edi, 3
mov dword [esp + 0x24], edx
nop word [eax + eax]
movsx eax, byte [ecx + edx]
dec edi
push eax
call fcn.0044898e
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x14]
movsx ecx, byte [eax]
push ecx
call fcn.0044898e
mov ecx, dword [esp + 0x18]
add esp, 4
inc ecx
mov dword [esp + 0x14], ecx
test esi, esi
je 0x407469
cmp esi, eax
jne 0x407469
mov edx, dword [esp + 0x24]
test edi, edi
jne 0x407430
sub esi, eax
jne 0x407492
mov eax, dword [esp + 0x30]
mov ecx, str.wvunpack___
mov edi, dword [esp + 0x18]
mov edx, dword [eax + edi*4]
call fcn.0040a0f0
mov esi, eax
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], esi
jmp 0x407685
mov edx, dword [esp + 0x1c]
mov ecx, str..pac
sub edx, ecx
mov dword [esp + 0x14], ecx
mov edi, 4
mov dword [esp + 0x24], edx
nop word [eax + eax]
movsx eax, byte [ecx + edx]
dec edi
push eax
call fcn.0044898e
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x14]
movsx ecx, byte [eax]
push ecx
call fcn.0044898e
mov ecx, dword [esp + 0x18]
add esp, 4
inc ecx
mov dword [esp + 0x14], ecx
test esi, esi
je 0x4074e9
cmp esi, eax
jne 0x4074e9
mov edx, dword [esp + 0x24]
test edi, edi
jne 0x4074b0
sub esi, eax
jne 0x407512
mov eax, dword [esp + 0x30]
mov ecx, str.lpac__x___
mov edi, dword [esp + 0x18]
mov edx, dword [eax + edi*4]
call fcn.0040a0f0
mov esi, eax
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], esi
jmp 0x407685
mov edx, dword [esp + 0x1c]
mov ecx, str..ofr
sub edx, ecx
mov dword [esp + 0x14], ecx
mov edi, 4
mov dword [esp + 0x24], edx
nop word [eax + eax]
movsx eax, byte [ecx + edx]
dec edi
push eax
call fcn.0044898e
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x14]
movsx ecx, byte [eax]
push ecx
call fcn.0044898e
mov ecx, dword [esp + 0x18]
add esp, 4
inc ecx
mov dword [esp + 0x14], ecx
test esi, esi
je 0x407569
cmp esi, eax
jne 0x407569
mov edx, dword [esp + 0x24]
test edi, edi
jne 0x407530
sub esi, eax
jne 0x407592
mov eax, dword [esp + 0x30]
mov ecx, str.optimfrog_d___
mov edi, dword [esp + 0x18]
mov edx, dword [eax + edi*4]
call fcn.0040a0f0
mov esi, eax
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], esi
jmp 0x407685
mov edx, dword [esp + 0x1c]
mov ecx, str..shn
sub edx, ecx
mov dword [esp + 0x14], ecx
mov edi, 4
mov dword [esp + 0x1c], edx
nop word [eax + eax]
movsx eax, byte [ecx + edx]
dec edi
push eax
call fcn.0044898e
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x14]
movsx ecx, byte [eax]
push ecx
call fcn.0044898e
mov ecx, dword [esp + 0x18]
add esp, 4
inc ecx
mov dword [esp + 0x14], ecx
test esi, esi
je 0x4075e9
cmp esi, eax
jne 0x4075e9
mov edx, dword [esp + 0x1c]
test edi, edi
jne 0x4075b0
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + edi*4]
sub esi, eax
jne 0x407614
mov edx, ecx
mov ecx, str.shorten__x___
call fcn.0040a0f0
mov esi, eax
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], esi
jmp 0x407685
cmp dword [esp + 0x138], 0
je 0x407671
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0x3b8]
push 0x105
push eax
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
call esi
push 0x20
lea eax, [esp + 0x23c]
push eax
push 0xffffffffffffffff
push 0x4fa90c
push 0
push 0
call esi
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x3bc]
push eax
call fcn.0044a87c
mov esi, eax
mov dword [esp + 0x1c], esi
jmp 0x407682
push 0x4fa90c
push ecx
call fcn.0044a893
mov esi, eax
mov dword [esp + 0x1c], eax
add esp, 8
test esi, esi
jne 0x4076c7
call fcn.00449231
push dword [eax]
call fcn.004426ba
add esp, 4
push eax
mov eax, dword [esp + 0x34]
push dword [eax + edi*4]
push str.ERROR:_Cannot_open_input_file___s_:__s_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
push esi
call fcn.004418e4
add esp, 0x14
inc dword [esp + 0x2c]
jmp 0x407b24
cmp dword [esp + 0xe4], 0
je 0x40778a
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe8]
cmp ecx, 3
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x1cc], ecx
mov ecx, 0x20
cmove eax, ecx
mov dword [esp + 0x188], 0
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x1dc], eax
lea eax, [esp + 0x188]
push 0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1a4]
push 0
push eax
push esi
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], fcn.00402e90
mov dword [esp + 0x1a4], 0x402e70
mov dword [esp + 0x1a8], 0x4fa658
mov dword [esp + 0x1ac], str.RAW_file_reader
call fcn.00402e90
jmp 0x407890
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], edx
cmp dword [0x5079e8], eax
je 0x4084bd
mov edi, 0x5079ec
mov esi, dword [edi]
cmp esi, ecx
jl 0x4077cf
push esi
push eax
call fcn.00441e56
mov edx, dword [esp + 0x24]
mov ecx, esi
add esp, 8
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
cmp esi, edx
jle 0x4077f5
push dword [esp + 0x14]
sub ecx, edx
add eax, edx
push ecx
push 1
push eax
call fcn.004424e9
mov edx, dword [esp + 0x2c]
add esp, 0x10
add edx, eax
mov dword [esp + 0x1c], edx
cmp edx, esi
jl 0x407828
mov esi, dword [esp + 0x20]
mov eax, dword [edi - 4]
push edx
push esi
call eax
add esp, 8
test eax, eax
je 0x407824
push dword [esp + 0x1c]
lea eax, [esp + 0x1a4]
push esi
push eax
push dword [esp + 0x20]
mov eax, dword [edi + 4]
call eax
add esp, 0x10
test eax, eax
jne 0x407848
mov edx, dword [esp + 0x1c]
inc dword [esp + 0x44]
lea eax, [edi + 0x14]
add edi, 0x18
cmp dword [eax], 0
mov eax, dword [esp + 0x20]
je 0x4084bd
mov ecx, dword [esp + 0x24]
jmp 0x4077b1
mov eax, dword [esp + 0x44]
push esi
lea eax, [eax + eax*2]
lea edi, [eax*8 + 0x5079e8]
mov dword [esp + 0x24], edi
call fcn.004418e4
add esp, 4
test edi, edi
je 0x4084c6
cmp dword [esp + 0xe0], 0
jne 0x407893
push dword [edi + 0x14]
push dword [edi + 0x10]
push str.Opening_with__s_module:__s_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0x10
mov esi, dword [esp + 0x108]
test esi, esi
je 0x407948
mov ecx, 0x4fa7b4
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4078d0
test dl, dl
je 0x4078cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4078d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4078b0
xor eax, eax
jmp 0x4078d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407948
push 1
call fcn.0043f858
add esp, 4
push 0x8000
push eax
call fcn.0044ac6c
add esp, 4
push eax
call fcn.0044aa8d
push 1
call fcn.0043f858
add esp, 0xc
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x138], 0
mov dword [esp + 0x21c], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x1a0], eax
je 0x407c92
test edi, edi
je 0x407c61
lea edx, [esp + 0x220]
mov ecx, edi
call fcn.00401c40
jmp 0x407c6c
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x407905
test esi, esi
je 0x40796c
push esi
call fcn.0044d3ea
mov esi, dword [esp + 0x1c]
mov edi, eax
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x407ace
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x4079bd
push dword [esp + 0x6c]
mov edx, dword [esp + 0x104]
push dword [esp + 0x74]
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x50]
push dword [esp + 0x11c]
call fcn.00409090
mov esi, dword [esp + 0x34]
mov edi, eax
add esp, 0x1c
mov dword [esp + 0x34], edi
jmp 0x407ace
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + esi*4]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x407a88
cmp dword [esp + 0xdc], 0
jne 0x4079ed
cmp dword [esp + 0xc4], 0
mov esi, str..ogg
jle 0x4079f2
mov esi, str..oga
push 0x2e
push eax
call fcn.0043e720
mov edi, eax
add esp, 8
test edi, edi
jne 0x407a25
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + ecx*4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407a11
mov eax, dword [esp + 0x3c]
sub ecx, edx
lea edi, [eax + 1]
add edi, ecx
jmp 0x407a29
mov eax, dword [esp + 0x3c]
sub edi, eax
lea eax, [edi + 5]
push eax
call fcn.004418e9
add esp, 4
mov dword [esp + 0x34], eax
push edi
push dword [esp + 0x40]
push eax
call fcn.00448070
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov edx, esi
mov byte [edi + ecx], 0
mov al, byte [esi]
inc esi
test al, al
jne 0x407a53
sub esi, edx
lea edi, [ecx - 1]
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x407a60
mov ecx, esi
mov dword [esp + 0x4c], esi
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
jmp 0x407ace
cmp dword [esp + 0xdc], 0
jne 0x407aa1
cmp dword [esp + 0xc4], 0
mov eax, str.default.ogg
jle 0x407aa6
mov eax, str.default.oga
push eax
call fcn.0044d3ea
add esp, 4
mov edi, eax
mov dword [esp + 0x34], edi
push edi
push str.WARNING:_No_filename__defaulting_to___s__n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
mov edx, dword [esp + 0x138]
mov ecx, edi
call fcn.0040a3c0
test eax, eax
je 0x407b4d
cmp byte [esp + 0x13], 0
push dword [esp + 0x14]
je 0x407af2
call fcn.004490d9
jmp 0x407af7
call fcn.00448a64
add esp, 4
push edi
push str.ERROR:_Could_not_create_required_subdirectories_for_output_filename___s__n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
inc dword [esp + 0x38]
add esp, 0xc
push edi
call fcn.004418e4
add esp, 4
mov edi, dword [esp + 0x18]
inc edi
mov dword [esp + 0x18], edi
cmp edi, dword [esp + 0x48]
jge 0x408521
mov edx, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x13c]
jmp 0x406920
mov eax, dword [esp + 0x30]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x407b94
mov ecx, edi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407b80
test dl, dl
je 0x407b7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407b80
add eax, 2
add ecx, 2
test dl, dl
jne 0x407b60
xor eax, eax
jmp 0x407b85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407b94
push edi
push str.ERROR:_Input_filename_is_the_same_as_output_filename___s__n
jmp 0x407b00
cmp dword [esp + 0x138], 0
je 0x407bed
push 0x105
lea eax, [esp + 0x5cc]
push eax
push 0xffffffffffffffff
push edi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x20
lea eax, [esp + 0x27c]
push eax
push 0xffffffffffffffff
push 0x4faa80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [esp + 0x278]
push eax
lea eax, [esp + 0x5cc]
push eax
call fcn.0044a87c
jmp 0x407bf8
push 0x4faa80
push edi
call fcn.0044a893
add esp, 8
mov dword [esp + 0x38], eax
test eax, eax
jne 0x407c54
push dword [esp + 0x14]
cmp byte [esp + 0x17], al
je 0x407c14
call fcn.004490d9
jmp 0x407c19
call fcn.00448a64
add esp, 4
call fcn.00449231
push dword [eax]
call fcn.004426ba
add esp, 4
push eax
push edi
push str.ERROR:_Cannot_open_output_file___s_:__s_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
inc dword [esp + 0x3c]
push edi
call fcn.004418e4
add esp, 0x14
jmp 0x407b20
mov dword [esp + 0x4c], 1
jmp 0x40790d
mov dword [esp + 0x220], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x407c85
lea edx, [esp + 0x224]
call fcn.00401c40
jmp 0x407ca7
mov dword [esp + 0x224], 0
jmp 0x407ca7
mov eax, dword [esp + 0x30]
mov dword [esp + 0x220], edi
mov eax, dword [eax + esi*4]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x10c]
movss xmm0, dword [esp + 0x120]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x28]
movss dword [esp + 0x20c], xmm0
mov dword [esp + 0x234], eax
test ecx, ecx
je 0x407dcc
mov esi, dword [esp + 0x1d4]
cmp ecx, esi
je 0x407dcc
movd xmm1, ecx
movd xmm0, esi
cvtdq2pd xmm1, xmm1
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x1e4], ecx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0x64], 1
mov dword [esp + 0x1e0], eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp + 0x1e8], xmm1
call fcn.00403170
test eax, eax
je 0x407da2
inc dword [esp + 0x2c]
jmp 0x4083cb
cmp dword [esp + 0xe0], 0
jne 0x407dcc
push dword [esp + 0x128]
push esi
push str.Resampling_input_from__d_Hz_to__d_Hz_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0x10
cmp dword [esp + 0x130], 0
je 0x407e9e
cmp dword [esp + 0x1d0], 2
jne 0x407f89
push 0xc
push 1
call fcn.004418d9
add esp, 8
mov esi, eax
cmp dword [esp + 0x1d0], 2
je 0x407e1a
push str.Internal_error__Please_report_this_bug._n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
jmp 0x407e7c
push 8
call fcn.004418e9
add esp, 4
mov dword [esi + 8], eax
push 0x4000
call fcn.004418e9
mov ecx, dword [esi + 8]
add esp, 4
push 0x4000
mov dword [ecx], eax
call fcn.004418e9
mov ecx, dword [esi + 8]
add esp, 4
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1b0]
mov dword [esi], eax
mov eax, dword [esp + 0x1c4]
mov dword [esi + 4], eax
mov dword [esp + 0x1b0], 0x403640
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1d0], 1
cmp dword [esp + 0xe0], 0
jne 0x407e9e
push str.Downmixing_stereo_to_mono_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov eax, dword [esp + 0x154]
test eax, eax
je 0x4081f4
nop dword [eax]
mov ecx, dword [0x51b7f0]
test ecx, ecx
je 0x4081e9
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
push ecx
mov dword [0x51b7f0], eax
mov dword [esp + 0x20], esi
call fcn.004418e4
add esp, 4
test esi, esi
je 0x4081e9
mov eax, esi
xor edi, edi
sub eax, str.RG_RADIO
mov dword [esp + 0x28], eax
nop word [eax + eax]
movsx eax, byte [eax + edi + str.RG_RADIO]
push eax
call fcn.004489be
movsx ecx, byte [edi + str.RG_RADIO]
add esp, 4
mov esi, eax
push ecx
call fcn.004489be
add esp, 4
cmp esi, eax
jne 0x407fb8
mov eax, dword [esp + 0x28]
inc edi
cmp edi, 9
jl 0x407ef0
mov edi, dword [esp + 0x1c]
mov edx, 9
mov ecx, edi
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407f33
sub ecx, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x20], esi
cmp ecx, edx
jb 0x407f6d
mov dword [esp + 0x20], esi
nop dword [eax]
mov al, byte [edi + edx]
mov ecx, edi
mov byte [esp + edx + 0x2af], al
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407f60
sub ecx, esi
cmp edx, ecx
jbe 0x407f50
lea eax, [esp + 0x2b8]
push eax
call fcn.0044a6e7
fstp qword [esp + 0x184]
add esp, 4
jmp 0x407eb0
push str.ERROR:_Cant_downmix_except_from_stereo_to_mono_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
inc dword [esp + 0x34]
add esp, 8
cmp dword [esp + 0x128], 0
je 0x4083cb
jmp 0x4083bf
mov eax, dword [esp + 0x1c]
xor edi, edi
mov esi, dword [esp + 0x20]
sub eax, str.REPLAYGAIN_TRACK_GAIN
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], esi
nop
movsx eax, byte [eax + edi + str.REPLAYGAIN_TRACK_GAIN]
push eax
call fcn.004489be
movsx ecx, byte [edi + str.REPLAYGAIN_TRACK_GAIN]
add esp, 4
mov esi, eax
push ecx
call fcn.004489be
add esp, 4
cmp esi, eax
jne 0x408069
mov eax, dword [esp + 0x28]
inc edi
cmp edi, 0x16
jl 0x407fd0
mov edi, dword [esp + 0x1c]
mov edx, 0x16
mov ecx, edi
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408010
sub ecx, esi
cmp ecx, edx
jb 0x40804d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
nop word [eax + eax]
mov al, byte [edi + edx]
mov ecx, edi
mov byte [esp + edx + 0x2a2], al
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408040
sub ecx, esi
cmp edx, ecx
jbe 0x408030
lea eax, [esp + 0x2b8]
push eax
call fcn.0044a6e7
fstp qword [esp + 0x184]
add esp, 4
jmp 0x407eb0
mov edi, dword [esp + 0x1c]
mov eax, str.RG_AUDIOPHILE
mov ecx, dword [esp + 0x20]
sub eax, edi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
nop dword [eax + eax]
movsx eax, byte [eax + edi]
push eax
call fcn.004489be
movsx ecx, byte [edi]
add esp, 4
mov esi, eax
push ecx
call fcn.004489be
add esp, 4
cmp eax, esi
jne 0x408129
mov eax, dword [esp + 0x24]
inc edi
inc eax
mov dword [esp + 0x24], eax
cmp eax, 0xe
mov eax, dword [esp + 0x28]
jl 0x408090
mov edi, dword [esp + 0x1c]
mov edx, 0xe
mov ecx, edi
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4080d0
sub ecx, esi
cmp ecx, edx
jb 0x40810d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
nop word [eax + eax]
mov al, byte [edi + edx]
mov ecx, edi
mov byte [esp + edx + 0x2aa], al
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408100
sub ecx, esi
cmp edx, ecx
jbe 0x4080f0
lea eax, [esp + 0x2b8]
push eax
call fcn.0044a6e7
fstp qword [esp + 0x84]
add esp, 4
jmp 0x407eb0
mov eax, dword [esp + 0x1c]
xor edi, edi
mov ecx, dword [esp + 0x20]
sub eax, str.REPLAYGAIN_ALBUM_GAIN
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
movsx eax, byte [eax + edi + str.REPLAYGAIN_ALBUM_GAIN]
push eax
mov dword [esp + 0x2c], ecx
call fcn.004489be
movsx ecx, byte [edi + str.REPLAYGAIN_ALBUM_GAIN]
add esp, 4
mov esi, eax
push ecx
call fcn.004489be
add esp, 4
cmp esi, eax
jne 0x407eb0
mov eax, dword [esp + 0x24]
inc edi
mov ecx, dword [esp + 0x20]
cmp edi, 0x16
jl 0x408140
mov edi, dword [esp + 0x1c]
mov edx, 0x16
mov ecx, edi
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408190
mov eax, dword [esp + 0x28]
sub ecx, esi
mov dword [esp + 0x20], eax
cmp ecx, edx
jb 0x4081cd
mov dword [esp + 0x20], eax
nop dword [eax]
mov al, byte [edi + edx]
mov ecx, edi
mov byte [esp + edx + 0x2a2], al
inc edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4081c0
sub ecx, esi
cmp edx, ecx
jbe 0x4081b0
lea eax, [esp + 0x2b8]
push eax
call fcn.0044a6e7
fstp qword [esp + 0x84]
add esp, 4
jmp 0x407eb0
mov eax, dword [esp + 0x154]
mov edi, dword [esp + 0x34]
cmp eax, 1
jne 0x408226
movsd xmm1, qword [esp + 0x180]
mulsd xmm1, qword [0x4fd9b0]
movsd xmm0, qword [0x4fdc68]
call fcn.004636d0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x134], xmm0
jmp 0x40823f
cmp eax, 2
jne 0x408236
movsd xmm1, qword [esp + 0x80]
jmp 0x408202
movss xmm0, dword [esp + 0x134]
xorps xmm1, xmm1
movss dword [esp + 0x28], xmm0
comiss xmm0, xmm1
jbe 0x4082c9
push 0x10
push 1
call fcn.004418d9
mov ecx, dword [esp + 0x1b8]
add esp, 8
movss xmm0, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x1b0], 0x4034d0
mov dword [esp + 0x1c4], eax
mov dword [eax + 8], ecx
movss dword [eax + 0xc], xmm0
cmp dword [esp + 0xe0], 0
jne 0x4082c9
movss xmm0, dword [esp + 0x134]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.Scaling_input_to__f_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0x10
cmp dword [esp + 0x1c8], 0
mov ecx, 0x405650
mov eax, dword [esp + 0x1b4]
cmove eax, ecx
cmp dword [esp + 0xe0], 0
mov dword [esp + 0x1b4], eax
je 0x408312
mov dword [esp + 0x1bc], fcn.00405920
mov dword [esp + 0x1b4], fcn.00405920
mov dword [esp + 0x1b8], fcn.00405920
lea ecx, [esp + 0x1a0]
call fcn.00404150
test eax, eax
je 0x408326
inc dword [esp + 0x2c]
movss xmm0, dword [esp + 0x134]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x40835a
mov ecx, dword [esp + 0x1c4]
push ecx
mov eax, dword [ecx]
mov dword [esp + 0x1b4], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c8], eax
call fcn.004418e4
add esp, 4
cmp dword [esp + 0x130], 0
je 0x4083b8
mov esi, dword [esp + 0x1c4]
mov eax, dword [esi]
mov dword [esp + 0x1b0], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1d0], 2
mov eax, dword [esi + 8]
push dword [eax]
call fcn.004418e4
mov eax, dword [esi + 8]
add esp, 4
push dword [eax + 4]
call fcn.004418e4
add esp, 4
push dword [esi + 8]
call fcn.004418e4
add esp, 4
push esi
call fcn.004418e4
add esp, 4
cmp dword [esp + 0x64], 1
jne 0x4083cb
lea ecx, [esp + 0x1a0]
call fcn.00403440
test edi, edi
je 0x4083d8
push edi
call fcn.004418e4
add esp, 4
mov eax, dword [esp + 0x108]
test eax, eax
je 0x4083ec
push eax
call fcn.004418e4
add esp, 4
mov eax, dword [esp + 0x220]
test eax, eax
je 0x408400
push eax
call fcn.004418e4
add esp, 4
mov eax, dword [esp + 0x224]
test eax, eax
je 0x408414
push eax
call fcn.004418e4
add esp, 4
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x40844c
mov edx, dword [esp + 0x58]
xor esi, esi
test edx, edx
jle 0x408443
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x40843e
push eax
call fcn.004418e4
mov edx, dword [esp + 0x5c]
add esp, 4
mov ecx, dword [esp + 0x50]
inc esi
cmp esi, edx
jl 0x408426
push ecx
call fcn.004418e4
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x40845d
push eax
call fcn.004418e4
add esp, 4
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x40846e
push eax
call fcn.004418e4
add esp, 4
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
push dword [esp + 0x1c4]
movaps xmmword [esp + 0x54], xmm0
mov eax, dword [eax + 0xc]
call eax
add esp, 4
cmp byte [esp + 0x13], 0
push dword [esp + 0x14]
je 0x40849b
call fcn.004490d9
jmp 0x4084a0
call fcn.00448a64
add esp, 4
cmp dword [esp + 0x4c], 0
je 0x407b20
mov esi, dword [esp + 0x38]
push esi
call fcn.00448a64
jmp 0x407b1d
push eax
call fcn.004418e4
add esp, 4
mov edi, dword [esp + 0x18]
mov ecx, str._stdin_
mov eax, dword [esp + 0x30]
mov eax, dword [eax + edi*4]
test eax, eax
cmovne ecx, eax
push ecx
push str.ERROR:_Input_file___s__is_not_a_supported_format_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
cmp byte [esp + 0x13], 0
push dword [esp + 0x14]
je 0x408510
call fcn.004490d9
add esp, 4
inc dword [esp + 0x2c]
jmp 0x407b24
call fcn.00448a64
add esp, 4
inc dword [esp + 0x2c]
jmp 0x407b24
mov ecx, dword [esp + 0x7dc]
xor eax, eax
cmp dword [esp + 0x2c], eax
pop edi
setne al
pop esi
xor ecx, esp
call fcn.0043d9c9
mov esp, ebp
pop ebp
ret
push str.ERROR:_Multiple_files_specified_when_using_stdin_n
push 2
call fcn.0043f858
add esp, 4
push eax
call fcn.00401040
add esp, 8
push 1
call fcn.00448449
int3