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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xc34
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0xc30], eax
push ebx
push esi
push edi
mov dword [esp + 0x150], str.quiet
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], str.bitrate
mov dword [esp + 0x164], 1
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], str.hard_cbr
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0x4890d8
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], str.cvbr
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], str.music
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], str.speech
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], str.comp
mov dword [esp + 0x1c4], 1
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], str.complexity
mov dword [esp + 0x1d4], 1
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], str.framesize
mov dword [esp + 0x1e4], 1
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], str.expect_loss
mov dword [esp + 0x1f4], 1
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
mov dword [esp + 0x200], str.downmix_mono
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], str.downmix_stereo
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], str.no_downmix
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], 0
mov dword [esp + 0x230], str.no_phase_inv
mov dword [esp + 0x234], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x240], str.max_delay
mov dword [esp + 0x244], 1
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 0
mov dword [esp + 0x250], str.serial
mov dword [esp + 0x254], 1
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 0
mov dword [esp + 0x260], str.save_range
mov dword [esp + 0x264], 1
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], 0
mov dword [esp + 0x270], str.set_ctl_int
mov dword [esp + 0x274], 1
mov dword [esp + 0x278], 0
mov dword [esp + 0x27c], 0
mov dword [esp + 0x280], str.help
mov dword [esp + 0x284], 0
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], 0
mov dword [esp + 0x290], str.help_picture
mov dword [esp + 0x294], 0
mov dword [esp + 0x298], 0
mov dword [esp + 0x29c], 0
mov dword [esp + 0x2a0], str.channels
mov dword [esp + 0x2a4], 1
mov dword [esp + 0x2a8], 0
mov dword [esp + 0x2ac], 0
mov dword [esp + 0x2b0], 0x4891ac
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2c0], str.raw_bits
mov dword [esp + 0x2c4], 1
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
mov dword [esp + 0x2d0], str.raw_rate
mov dword [esp + 0x2d4], 1
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2dc], 0
mov dword [esp + 0x2e0], str.raw_chan
mov dword [esp + 0x2e4], 1
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2f0], str.raw_endianness
mov dword [esp + 0x2f4], 1
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], str.raw_float
mov dword [esp + 0x304], 0
mov dword [esp + 0x308], 0
mov dword [esp + 0x30c], 0
mov dword [esp + 0x310], str.ignorelength
mov dword [esp + 0x314], 0
mov dword [esp + 0x318], 0
mov dword [esp + 0x31c], 0
mov dword [esp + 0x320], str.version
mov dword [esp + 0x324], 0
mov dword [esp + 0x328], 0
mov dword [esp + 0x32c], 0
mov dword [esp + 0x330], str.version_short
mov dword [esp + 0x334], 0
mov dword [esp + 0x338], 0
mov dword [esp + 0x33c], 0
mov dword [esp + 0x340], str.comment
mov dword [esp + 0x344], 1
mov dword [esp + 0x348], 0
mov dword [esp + 0x34c], 0
mov dword [esp + 0x350], str.artist
mov dword [esp + 0x354], 1
mov dword [esp + 0x358], 0
mov dword [esp + 0x35c], 0
mov dword [esp + 0x360], str.title
mov dword [esp + 0x364], 1
mov dword [esp + 0x368], 0
mov dword [esp + 0x36c], 0
mov dword [esp + 0x370], str.album
mov dword [esp + 0x374], 1
mov dword [esp + 0x378], 0
mov dword [esp + 0x37c], 0
mov dword [esp + 0x380], str.tracknumber
mov dword [esp + 0x384], 1
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov dword [esp + 0x390], str.date
mov dword [esp + 0x394], 1
mov dword [esp + 0x398], 0
mov dword [esp + 0x39c], 0
mov dword [esp + 0x3a0], str.genre
mov dword [esp + 0x3a4], 1
mov dword [esp + 0x3a8], 0
mov dword [esp + 0x3ac], 0
mov dword [esp + 0x3b0], str.picture
mov dword [esp + 0x3b4], 1
mov dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], 0
mov dword [esp + 0x3c0], str.padding
mov dword [esp + 0x3c4], 1
mov dword [esp + 0x3c8], 0
xor eax, eax
mov dword [esp + 0x3cc], 0
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x74], eax
lea edi, [esp + 0x50]
mov dword [esp + 0x4c], eax
xor ecx, ecx
mov dword [esp + 0x30], eax
xorps xmm0, xmm0
mov dword [esp + 0xe0], eax
mov eax, 1
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
push ebx
cpuid
mov esi, ebx
mov dword [esp + 0x3d4], str.discard_comments
mov dword [esp + 0x3d8], 0
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], str.discard_pictures
movups xmmword [esp + 0x3e8], xmm0
mov dword [esp + 0x3f8], 0
mov dword [esp + 0x3fc], 0
mov dword [esp + 0x400], 0
mov dword [esp + 0x14c], 0x402190
mov dword [esp + 0x150], 0x4021d0
movlpd qword [esp + 0x7c], xmm0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x38], 0x3c0
mov dword [esp + 0x40], 0x138c
mov dword [esp + 0xdc], 0xfffffc18
mov dword [esp + 0x74], 0xa
mov dword [esp + 0xec], 0xbb80
mov dword [esp + 0xf4], 0x200
pop ebx
nop
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov eax, dword [esp + 0x5c]
shr eax, 0x19
not eax
test al, 1
je 0x402c8b
mov eax, 1
lea edi, [esp + 0x50]
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
nop
mov dword [edi], eax
push 0x4878cc
mov dword [edi + 4], esi
push str._n_n_WARNING:_This_program_was_compiled_with_SSE_s_n
mov dword [edi + 8], ecx
push 2
mov dword [edi + 0xc], edx
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
push str.____________but_this_CPU_claims_to_lack_these_instructions.__n_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
mov dword [esp + 0x44], ebx
test ebx, ebx
je 0x40559d
mov eax, dword [esp + 0x14]
shl eax, 2
push eax
call fcn.00464c46
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x144], eax
test ecx, ecx
jne 0x402cde
push str._nFATAL:_Malloc_failed_n_n
jmp 0x4055a2
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x402d82
mov eax, ebx
mov esi, ecx
sub eax, ecx
mov dword [esp + 0x80], eax
nop dword [eax + eax]
mov eax, dword [esi + eax]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
mov dword [esp + 0xa4], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
push edi
call fcn.00464c46
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x402e99
push 0
push 0
push edi
push ebx
push 0xffffffffffffffff
push dword [esp + 0x98]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x402e99
cmp eax, edi
jg 0x402e99
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esi], ebx
add esi, 4
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
jl 0x402d00
mov ebx, dword [esp + 0x44]
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
movaps xmm0, xmmword [0x5baaf0]
push 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], 0
movups xmmword [esp + 0xac], xmm0
mov dword [esp + 0xbc], 0x10
mov dword [esp + 0xc0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xcc], 1
mov dword [esp + 0xd0], 1
call fcn.00461814
add esp, 4
mov dword [esp + 0x84], edx
mov ebx, eax
mov dword [esp + 0x80], ebx
call sub.KERNEL32.dll_GetCurrentProcessId
movzx eax, ax
shl eax, 0xf
xor eax, ebx
push eax
call fcn.00460331
add esp, 4
call fcn.00460310
push 0xc
mov dword [esp + 0xf8], eax
call fcn.00464c46
mov edi, eax
add esp, 4
test edi, edi
je 0x4055d5
push str.0.2.1_18_gd53a41b_dirty
push str.libopusenc
push str.libopus_1.5.1
push str._s___s__s
lea eax, [esp + 0x848]
push 0x400
push eax
call fcn.0044f7d0
lea ebx, [esp + 0x850]
add esp, 0x18
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x402e78
sub ebx, ecx
lea eax, [ebx + 0x10]
push eax
call fcn.00464c46
mov esi, eax
add esp, 4
test esi, esi
je 0x4055bc
jmp 0x402ea9
mov dword [esi], 0
push str._nFATAL:_utf16_to_utf8_failed_n_n
jmp 0x4055a2
mov dword [esi], 0x7375704f
mov eax, ebx
sar eax, 0x18
mov dword [esi + 4], 0x73676154
mov byte [esi + 0xb], al
mov eax, ebx
sar eax, 0x10
mov byte [esi + 0xa], al
mov eax, ebx
sar eax, 8
mov byte [esi + 9], al
lea eax, [esp + 0x838]
push ebx
push eax
lea eax, [esi + 0xc]
mov byte [esi + 8], bl
push eax
call fcn.00459900
add esp, 0xc
mov dword [esi + ebx + 0xc], 0
lea eax, [ebx + 0x10]
mov dword [edi], esi
mov dword [edi + 4], eax
lea eax, [esp + 0x438]
mov dword [edi + 8], 0
push str.0.2_34_g98f3ddc_dirty
push str.opus_tools
push str.opusenc_from__s__s
push 0x400
push eax
mov dword [esp + 0xd8], edi
call fcn.00401a10
mov esi, dword [esp + 0xd8]
add esp, 0x14
push 0x3d
push str.ENCODER
call fcn.00458980
add esp, 8
test eax, eax
je 0x402f4c
mov ecx, 0xfffffff5
jmp 0x4055ef
lea eax, [esp + 0x438]
mov ecx, esi
push eax
push str.ENCODER
lea edx, [esi + 4]
call fcn.00452840
add esp, 8
test eax, eax
jne 0x4055ea
mov esi, dword [esp + 0x18]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 0x28], eax
mov edx, esi
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
lea eax, [esp + 0xec]
push edi
push eax
lea eax, [esp + 0x158]
movlpd qword [esp + 0x108], xmm0
movlpd qword [esp + 0x110], xmm0
movlpd qword [esp + 0x118], xmm0
movlpd qword [esp + 0x120], xmm0
movlpd qword [esp + 0x128], xmm0
movaps xmm0, xmmword [0x5bab00]
push eax
push 0x48937c
movups xmmword [esp + 0x138], xmm0
mov dword [esp + 0x30], edi
call fcn.00401150
add esp, 0x10
cmp eax, 0xffffffff
je 0x4041e6
cmp eax, 0x68
ja case.0x403014.1
movzx eax, byte [eax + 0x405968]
jmp dword [eax*4 + 0x405954]
mov eax, dword [esp + 0xec]
mov ecx, str.quiet
add eax, eax
mov ebx, dword [esp + eax*8 + 0x150]
mov eax, ebx
mov dword [esp + 0x14], ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403056
test dl, dl
je 0x403052
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403056
add eax, 2
add ecx, 2
test dl, dl
jne 0x403036
xor eax, eax
jmp 0x40305b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40306c
mov dword [esp + 0x68], 1
jmp case.0x403014.1
mov ecx, str.bitrate
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403093
test dl, dl
je 0x40308f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403093
add eax, 2
add ecx, 2
test dl, dl
jne 0x403073
xor eax, eax
jmp 0x403098
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4030c3
push dword [0x5c4734]
call fcn.00464bb2
fmul qword [0x5ba920]
add esp, 4
fstp qword [esp + 0x50]
cvttsd2si eax, qword [esp + 0x50]
mov dword [esp + 0x40], eax
jmp 0x404124
mov ecx, str.hard_cbr
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4030f0
test dl, dl
je 0x4030ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4030f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4030d0
xor eax, eax
jmp 0x4030f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40310a
mov dword [esp + 0x48], 1
mov dword [esp + 0x64], eax
jmp 0x404124
mov ecx, str.cvbr
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403131
test dl, dl
je 0x40312d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403131
add eax, 2
add ecx, 2
test dl, dl
jne 0x403111
xor eax, eax
jmp 0x403136
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40314b
mov dword [esp + 0x64], 1
mov dword [esp + 0x48], eax
jmp 0x404124
mov ecx, 0x4890d8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403172
test dl, dl
je 0x40316e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403172
add eax, 2
add ecx, 2
test dl, dl
jne 0x403152
xor eax, eax
jmp 0x403177
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403188
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], eax
jmp 0x404124
mov ecx, str.help
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4031b0
test dl, dl
je 0x4031ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4031b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x403190
xor eax, eax
jmp 0x4031b5
sbb eax, eax
or eax, 1
test eax, eax
je case.0x403014.104
mov ecx, str.help_picture
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4031e4
test dl, dl
je 0x4031e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4031e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4031c4
xor eax, eax
jmp 0x4031e9
sbb eax, eax
or eax, 1
test eax, eax
je 0x404211
mov ecx, str.version
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403218
test dl, dl
je 0x403214
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403218
add eax, 2
add ecx, 2
test dl, dl
jne 0x4031f8
xor eax, eax
jmp 0x40321d
sbb eax, eax
or eax, 1
test eax, eax
je case.0x403014.86
mov ecx, str.version_short
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403250
test dl, dl
je 0x40324c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403250
add eax, 2
add ecx, 2
test dl, dl
jne 0x403230
xor eax, eax
jmp 0x403255
sbb eax, eax
or eax, 1
test eax, eax
je 0x404200
mov ecx, str.ignorelength
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403284
test dl, dl
je 0x403280
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403284
add eax, 2
add ecx, 2
test dl, dl
jne 0x403264
xor eax, eax
jmp 0x403289
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40329d
mov dword [esp + 0xc0], 1
jmp case.0x403014.1
mov ecx, 0x4891ac
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4032c4
test dl, dl
je 0x4032c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4032c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4032a4
xor eax, eax
jmp 0x4032c9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4032dd
mov dword [esp + 0xa0], 1
jmp case.0x403014.1
mov ecx, str.raw_bits
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403304
test dl, dl
je 0x403300
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403304
add eax, 2
add ecx, 2
test dl, dl
jne 0x4032e4
xor eax, eax
jmp 0x403309
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403356
push dword [0x5c4734]
mov dword [esp + 0xa4], 1
call fcn.004618d6
add esp, 4
mov dword [esp + 0xb8], eax
cmp eax, 8
je case.0x403014.1
cmp eax, 0x10
je case.0x403014.1
cmp eax, 0x18
je case.0x403014.1
cmp eax, 0x20
jne 0x4055ff
jmp case.0x403014.1
mov ecx, str.raw_rate
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403380
test dl, dl
je 0x40337c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403380
add eax, 2
add ecx, 2
test dl, dl
jne 0x403360
xor eax, eax
jmp 0x403385
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4033ae
push dword [0x5c4734]
mov dword [esp + 0xa4], 1
call fcn.004618d6
add esp, 4
mov dword [esp + 0xb0], eax
jmp case.0x403014.1
mov ecx, str.raw_chan
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4033d5
test dl, dl
je 0x4033d1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4033d5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4033b5
xor eax, eax
jmp 0x4033da
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403403
push dword [0x5c4734]
mov dword [esp + 0xa4], 1
call fcn.004618d6
add esp, 4
mov dword [esp + 0xa8], eax
jmp case.0x403014.1
mov ecx, str.raw_endianness
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403430
test dl, dl
je 0x40342c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403430
add eax, 2
add ecx, 2
test dl, dl
jne 0x403410
xor eax, eax
jmp 0x403435
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40345e
push dword [0x5c4734]
mov dword [esp + 0xa4], 1
call fcn.004618d6
add esp, 4
mov dword [esp + 0xbc], eax
jmp case.0x403014.1
mov ecx, str.raw_float
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403485
test dl, dl
je 0x403481
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403485
add eax, 2
add ecx, 2
test dl, dl
jne 0x403465
xor eax, eax
jmp 0x40348a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4034b4
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], 1
mov dword [esp + 0xb8], 0x20
jmp 0x404124
mov ecx, str.downmix_mono
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4034e0
test dl, dl
je 0x4034dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4034e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4034c0
xor eax, eax
jmp 0x4034e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4034f6
mov dword [esp + 0x2c], 1
jmp 0x404124
mov ecx, str.downmix_stereo
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403520
test dl, dl
je 0x40351c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403520
add eax, 2
add ecx, 2
test dl, dl
jne 0x403500
xor eax, eax
jmp 0x403525
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403537
mov eax, 2
mov dword [esp + 0x2c], eax
jmp 0x404124
mov ecx, str.no_downmix
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403560
test dl, dl
je 0x40355c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403560
add eax, 2
add ecx, 2
test dl, dl
jne 0x403540
xor eax, eax
jmp 0x403565
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403575
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x404124
mov ecx, str.no_phase_inv
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4035a0
test dl, dl
je 0x40359c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4035a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x403580
xor eax, eax
jmp 0x4035a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4035b6
mov dword [esp + 0x74], 1
jmp 0x404124
mov ecx, str.music
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4035e0
test dl, dl
je 0x4035dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4035e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4035c0
xor eax, eax
jmp 0x4035e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4035f9
mov dword [esp + 0xd8], 0xbba
jmp 0x404124
mov ecx, str.speech
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403620
test dl, dl
je 0x40361c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403620
add eax, 2
add ecx, 2
test dl, dl
jne 0x403600
xor eax, eax
jmp 0x403625
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403639
mov dword [esp + 0xd8], 0xbb9
jmp 0x404124
mov ecx, str.expect_loss
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403660
test dl, dl
je 0x40365c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403660
add eax, 2
add ecx, 2
test dl, dl
jne 0x403640
xor eax, eax
jmp 0x403665
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403689
push dword [0x5c4734]
call fcn.004618d6
add esp, 4
mov dword [esp + 0x6c], eax
cmp eax, 0x64
ja 0x40560f
jmp 0x404124
mov ecx, str.comp
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4036b0
test dl, dl
je 0x4036ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4036b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x403690
xor eax, eax
jmp 0x4036b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x404109
mov ecx, str.complexity
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4036e4
test dl, dl
je 0x4036e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4036e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4036c4
xor eax, eax
jmp 0x4036e9
sbb eax, eax
or eax, 1
test eax, eax
je 0x404109
mov ecx, str.framesize
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403718
test dl, dl
je 0x403714
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403718
add eax, 2
add ecx, 2
test dl, dl
jne 0x4036f8
xor eax, eax
jmp 0x40371d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4038b9
mov esi, dword [0x5c4734]
mov ecx, 0x48945c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403752
test dl, dl
je 0x40374e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403752
add eax, 2
add ecx, 2
test dl, dl
jne 0x403732
xor eax, eax
jmp 0x403757
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403765
mov eax, 0x1389
jmp 0x40384e
mov ecx, 0x489460
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403790
test dl, dl
je 0x40378c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403790
add eax, 2
add ecx, 2
test dl, dl
jne 0x403770
xor eax, eax
jmp 0x403795
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4037a3
mov eax, 0x138a
jmp 0x40384e
mov ecx, 0x489464
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4037d0
test dl, dl
je 0x4037cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4037d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4037b0
xor eax, eax
jmp 0x4037d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4037e0
mov eax, 0x138b
jmp 0x40384e
mov ecx, 0x489468
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403807
test dl, dl
je 0x403803
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403807
add eax, 2
add ecx, 2
test dl, dl
jne 0x4037e7
xor eax, eax
jmp 0x40380c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403817
mov eax, 0x138c
jmp 0x40384e
mov ecx, 0x48946c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403840
test dl, dl
je 0x40383c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403840
add eax, 2
add ecx, 2
test dl, dl
jne 0x403820
xor eax, eax
jmp 0x403845
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40386c
mov eax, 0x138d
mov esi, dword [esp + 0x18]
lea ecx, [eax - 0x1389]
mov dword [esp + 0x3c], eax
mov eax, 0x78
shl eax, cl
mov dword [esp + 0x34], eax
jmp 0x404124
mov ecx, 0x489470
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403893
test dl, dl
je 0x40388f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403893
add eax, 2
add ecx, 2
test dl, dl
jne 0x403873
xor eax, eax
jmp 0x403898
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405657
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], 0x138e
mov dword [esp + 0x34], 0xb40
jmp 0x404124
mov ecx, str.max_delay
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4038e0
test dl, dl
je 0x4038dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4038e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4038c0
xor eax, eax
jmp 0x4038e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403986
push dword [0x5c4734]
call fcn.00464bb2
fstp qword [esp + 0x54]
movsd xmm4, qword [esp + 0x54]
xorps xmm0, xmm0
add esp, 4
comisd xmm0, xmm4
ja 0x405662
comisd xmm4, xmmword [0x5ba920]
ja 0x405662
mulsd xmm4, qword [0x5ba8c8]
movsd xmm3, qword [0x5baa60]
movsd xmm1, qword [0x5ba9e0]
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, qword [0x5ba9e0]
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x5ba840]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [esp + 0xe8], eax
jmp 0x404124
mov ecx, str.channels
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4039b0
test dl, dl
je 0x4039ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4039b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x403990
xor eax, eax
jmp 0x4039b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403a55
mov esi, dword [0x5c4734]
mov ecx, str.ambix
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4039f0
test dl, dl
je 0x4039ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4039f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4039d0
xor eax, eax
jmp 0x4039f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403a0d
mov esi, dword [esp + 0x18]
mov dword [esp + 0xac], 1
jmp 0x404124
mov ecx, str.discrete
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403a34
test dl, dl
je 0x403a30
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403a34
add eax, 2
add ecx, 2
test dl, dl
jne 0x403a14
xor eax, eax
jmp 0x403a39
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405672
mov esi, dword [esp + 0x18]
mov dword [esp + 0xac], 2
jmp 0x404124
mov ecx, str.serial
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403a80
test dl, dl
je 0x403a7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403a80
add eax, 2
add ecx, 2
test dl, dl
jne 0x403a60
xor eax, eax
jmp 0x403a85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403aa3
push dword [0x5c4734]
call fcn.004618d6
add esp, 4
mov dword [esp + 0xf4], eax
jmp 0x404124
mov ecx, str.set_ctl_int
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403ad0
test dl, dl
je 0x403acc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403ad0
add eax, 2
add ecx, 2
test dl, dl
jne 0x403ab0
xor eax, eax
jmp 0x403ad5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403bee
mov ecx, dword [0x5c4734]
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x403ae8
push 0x3d
push ecx
sub esi, edx
call fcn.00458980
mov edx, dword [0x5c4734]
add esp, 8
mov edi, eax
cmp esi, 3
jb 0x405697
test edi, edi
je 0x405697
mov ecx, edi
sub ecx, edx
cmp ecx, 1
jl 0x405697
cmp ecx, esi
jae 0x405697
push 0x3a
push edx
call fcn.00458980
mov esi, eax
add esp, 8
test esi, esi
jne 0x403b47
mov esi, dword [0x5c4734]
or ebx, 0xffffffff
dec esi
jmp 0x403b57
push dword [0x5c4734]
call fcn.004618d6
add esp, 4
mov ebx, eax
lea ecx, [esi + 1]
push ecx
call fcn.004618d6
add esp, 4
mov dword [esp + 0x1c], eax
mov ecx, eax
call fcn.00402350
test eax, eax
je 0x405687
mov esi, dword [esp + 0x4c]
test esi, esi
jne 0x403b96
push 0xc
call fcn.00464c46
mov ecx, eax
lea esi, [esi + esi*2]
add esp, 4
mov dword [esp + 0x38], ecx
shl esi, 2
jmp 0x403bb2
lea esi, [esi + esi*2]
shl esi, 2
lea eax, [esi + 0xc]
push eax
push dword [esp + 0x3c]
call fcn.00460937
add esp, 8
mov dword [esp + 0x38], eax
mov ecx, eax
test ecx, ecx
je 0x40567d
mov eax, dword [esp + 0x1c]
mov dword [esi + ecx + 4], eax
lea eax, [edi + 1]
push eax
mov dword [esi + ecx], ebx
call fcn.004618d6
mov ecx, dword [esp + 0x3c]
add esp, 4
inc dword [esp + 0x4c]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov dword [esi + ecx + 8], eax
mov esi, dword [esp + 0x18]
jmp 0x404124
mov ecx, str.save_range
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403c15
test dl, dl
je 0x403c11
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403c15
add eax, 2
add ecx, 2
test dl, dl
jne 0x403bf5
xor eax, eax
jmp 0x403c1a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403c5f
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x403c32
push eax
call fcn.004607d1
add esp, 4
mov ecx, dword [0x5c4734]
mov edx, 0x489624
call fcn.004089c0
mov dword [esp + 0x13c], eax
test eax, eax
je 0x4056a2
mov eax, dword [0x5c4734]
mov dword [esp + 0x44], eax
jmp case.0x403014.1
mov ecx, str.comment
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403c86
test dl, dl
je 0x403c82
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403c86
add eax, 2
add ecx, 2
test dl, dl
jne 0x403c66
xor eax, eax
jmp 0x403c8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403cca
push 0x3d
push dword [0x5c4734]
call fcn.00458980
add esp, 8
test eax, eax
je 0x4056c0
mov edx, dword [0x5c4734]
mov ecx, dword [esp + 0xc4]
call fcn.0044f810
mov dword [esp + 0x28], eax
test eax, eax
jne 0x40561f
jmp case.0x403014.1
mov ecx, str.artist
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403cf1
test dl, dl
je 0x403ced
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403cf1
add eax, 2
add ecx, 2
test dl, dl
jne 0x403cd1
xor eax, eax
jmp 0x403cf6
sbb eax, eax
or eax, 1
test eax, eax
je 0x4040b5
mov ecx, str.title
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403d25
test dl, dl
je 0x403d21
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403d25
add eax, 2
add ecx, 2
test dl, dl
jne 0x403d05
xor eax, eax
jmp 0x403d2a
sbb eax, eax
or eax, 1
test eax, eax
je 0x4040b5
mov ecx, str.album
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403d60
test dl, dl
je 0x403d5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403d60
add eax, 2
add ecx, 2
test dl, dl
jne 0x403d40
xor eax, eax
jmp 0x403d65
sbb eax, eax
or eax, 1
test eax, eax
je 0x4040b5
mov ecx, str.tracknumber
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403d94
test dl, dl
je 0x403d90
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403d94
add eax, 2
add ecx, 2
test dl, dl
jne 0x403d74
xor eax, eax
jmp 0x403d99
sbb eax, eax
or eax, 1
test eax, eax
je 0x4040b5
mov ecx, str.date
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403dc8
test dl, dl
je 0x403dc4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403dc8
add eax, 2
add ecx, 2
test dl, dl
jne 0x403da8
xor eax, eax
jmp 0x403dcd
sbb eax, eax
or eax, 1
test eax, eax
je 0x4040b5
mov ecx, str.genre
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403e00
test dl, dl
je 0x403dfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403e00
add eax, 2
add ecx, 2
test dl, dl
jne 0x403de0
xor eax, eax
jmp 0x403e05
sbb eax, eax
or eax, 1
test eax, eax
je 0x4040b5
mov ecx, str.picture
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403e34
test dl, dl
je 0x403e30
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403e34
add eax, 2
add ecx, 2
test dl, dl
jne 0x403e14
xor eax, eax
jmp 0x403e39
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403fec
mov esi, dword [0x5c4734]
lea edi, [eax + 3]
mov edx, 0x489700
mov dword [esp + 0x1c], esi
mov ecx, esi
mov dword [esp + 0x14], esi
mov ebx, esi
call fcn.004089c0
mov dword [esp + 0x50], 0
test eax, eax
jne 0x403f6e
push 0x7c
push esi
call fcn.00458980
add esp, 8
test eax, eax
je 0x403f77
push 0xa
lea eax, [esp + 0xe8]
push eax
push esi
call fcn.004611ee
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x88], eax
cmp byte [eax], 0x7c
jne 0x4056e5
cmp ecx, 0x14
ja 0x4056e5
cmp esi, eax
lea ebx, [eax + 1]
push 0x489704
push ebx
cmovne edi, ecx
call fcn.00461240
add esp, 8
mov dword [esp + 0xd0], eax
cmp byte [ebx + eax], 0x7c
jne 0x4056da
inc ebx
add eax, ebx
push 0x489704
push eax
mov dword [esp + 0x1c], eax
call fcn.00461240
mov ebx, eax
add esp, 8
add ebx, dword [esp + 0x14]
cmp byte [ebx], 0x7c
jne 0x4056da
lea eax, [ebx + 1]
push 0x489704
push eax
call fcn.00461240
add esp, 8
cmp byte [ebx + eax + 1], 0x7c
jne 0x4056da
add eax, 2
add eax, ebx
mov dword [esp + 0x1c], eax
cmp eax, esi
je 0x4056da
cmp dword [esp + 0xd0], 3
jne 0x403f5a
mov eax, dword [esp + 0x88]
push 3
inc eax
push eax
push 0x489824
call fcn.0045fe50
add esp, 0xc
test eax, eax
je 0x4056d0
lea eax, [edi - 1]
cmp eax, 1
ja 0x403f77
test dword [esp + 0x30], edi
jne 0x405631
jmp 0x403f77
push eax
call fcn.004607d1
add esp, 4
sub ebx, dword [esp + 0x14]
je 0x403f9f
lea eax, [ebx + 1]
push eax
call fcn.00464c46
add esp, 4
mov esi, eax
push ebx
push dword [esp + 0x18]
push esi
call fcn.00459900
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x403fa3
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0x1c]
mov edx, ebx
mov ecx, dword [esp + 0xc4]
push esi
push edi
call fcn.0044f850
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4056ff
test esi, esi
je 0x403fd3
push esi
call fcn.0046187c
add esp, 4
mov esi, dword [esp + 0x18]
lea eax, [edi - 1]
cmp eax, 1
ja 0x403fe3
or dword [esp + 0x30], edi
mov edi, dword [esp + 0x20]
jmp case.0x403014.1
mov ecx, str.padding
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404013
test dl, dl
je 0x40400f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404013
add eax, 2
add ecx, 2
test dl, dl
jne 0x403ff3
xor eax, eax
jmp 0x404018
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404036
push dword [0x5c4734]
call fcn.004618d6
add esp, 4
mov dword [esp + 0xf0], eax
jmp 0x404124
mov ecx, str.discard_comments
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404060
test dl, dl
je 0x40405c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404060
add eax, 2
add ecx, 2
test dl, dl
jne 0x404040
xor eax, eax
jmp 0x404065
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40407c
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
jmp 0x404124
mov ecx, str.discard_pictures
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4040a3
test dl, dl
je 0x40409f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4040a3
add eax, 2
add ecx, 2
test dl, dl
jne 0x404083
xor eax, eax
jmp 0x4040a8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404124
mov dword [esp + 0xcc], eax
jmp 0x404124
mov esi, dword [0x5c4734]
mov edi, dword [esp + 0xc4]
test ebx, ebx
je 0x405719
test esi, esi
je 0x405719
push 0x3d
push ebx
call fcn.00458980
add esp, 8
test eax, eax
jne 0x405719
push esi
push ebx
lea edx, [edi + 4]
mov ecx, edi
call fcn.00452840
add esp, 8
test eax, eax
jne 0x405712
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], eax
jmp 0x4041b4
push dword [0x5c4734]
call fcn.004618d6
add esp, 4
mov dword [esp + 0x70], eax
cmp eax, 0xa
ja 0x40572f
cmp edi, 0x400
jge case.0x403014.1
mov esi, 0x400
mov ecx, 0x4898bc
sub esi, edi
mov eax, 0x4878cc
push ebx
test edi, edi
cmovne eax, ecx
push eax
push str._s___s
lea eax, [esp + 0x444]
add eax, edi
push esi
push eax
call fcn.00401a10
add esp, 0x14
mov dword [esp + 0x28], eax
test eax, eax
js 0x4041ab
cmp eax, esi
jge 0x4041ab
add edi, eax
mov eax, dword [0x5c4734]
mov dword [esp + 0x20], edi
test eax, eax
je 0x4041b4
push eax
mov esi, 0x400
lea eax, [esp + 0x43c]
push 0x4898c8
sub esi, edi
add eax, edi
push esi
push eax
call fcn.00401a10
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
js 0x4041ab
cmp eax, esi
jge 0x4041ab
add edi, eax
jmp 0x4041b0
mov edi, 0x400
mov dword [esp + 0x20], edi
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xec]
push 0
push eax
lea eax, [esp + 0x158]
mov edx, esi
push eax
push 0x48937c
call fcn.00401150
add esp, 0x10
cmp eax, 0xffffffff
jne 0x403004
cmp dword [esp + 0xb8], 0x20
jne 0x40423a
cmp dword [esp + 0xa4], 0
je 0x40564d
jmp 0x404248
mov ecx, str.libopus_1.5.1
call fcn.00401a80
push 0
jmp 0x4055b7
call fcn.00401dc0
push 0
jmp 0x4055b7
call fcn.00401ab0
push 0
jmp 0x4055b7
mov ecx, str.libopus_1.5.1
call fcn.00401a80
push 0
jmp 0x4055b7
cmp dword [esp + 0xa4], 0
jne 0x40573f
mov ecx, dword [esp + 0x24]
mov eax, dword [0x5c3a90]
sub ecx, eax
cmp ecx, 2
je 0x404264
call fcn.00401ab0
push 1
jmp 0x4055b7
mov ebx, dword [esi + eax*4]
mov eax, dword [esi + eax*4 + 4]
mov dword [esp + 0x88], ebx
mov dword [esp + 0xe4], eax
test edi, edi
jle 0x4042c7
mov esi, dword [esp + 0xc4]
push 0x3d
push str.ENCODER_OPTIONS
call fcn.00458980
add esp, 8
test eax, eax
je 0x4042a1
mov ecx, 0xfffffff5
jmp 0x40574e
lea eax, [esp + 0x438]
mov ecx, esi
push eax
push str.ENCODER_OPTIONS
lea edx, [esi + 4]
call fcn.00452840
add esp, 8
test eax, eax
jne 0x405749
mov dword [esp + 0x28], eax
mov ecx, 0x4899a0
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4042f0
test dl, dl
je 0x4042ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4042f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4042d0
xor eax, eax
jmp 0x4042f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404350
push 0x8000
push eax
call fcn.0045ae98
add esp, 4
push eax
call fcn.004614df
add esp, 4
push eax
call fcn.004612f0
push 0
call fcn.0045ae98
add esp, 0xc
mov dword [esp + 0x20], eax
cmp dword [esp + 0xa0], 0
je 0x404374
push 0
push 0
lea ecx, [esp + 0x98]
mov dword [esp + 0x24], 0x487984
push ecx
push eax
call fcn.00406f00
add esp, 0x10
jmp 0x40445f
mov edx, 0x489700
mov ecx, ebx
call fcn.004089c0
mov dword [esp + 0x20], eax
test eax, eax
jne 0x404324
push ebx
call fcn.0046090d
add esp, 4
push 1
jmp 0x4055b7
xor eax, eax
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x24], eax
xor esi, esi
mov dword [esp + 0x30], ecx
cmp dword [0x5c3aa0], eax
je 0x405583
mov dword [esp + 0x1c], 0x5c3aa0
xor edi, edi
nop word [eax + eax]
mov eax, dword [edi + 0x5c3aa4]
mov dword [esp + 0x50], eax
cmp eax, ecx
jl 0x4043c4
push eax
push ebx
call fcn.00460937
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x50]
mov ecx, eax
mov dword [esp + 0x30], ecx
cmp eax, esi
jle 0x4043df
push dword [esp + 0x20]
sub ecx, esi
lea eax, [ebx + esi]
push ecx
push 1
push eax
call fcn.00465a96
add esp, 0x10
add esi, eax
mov eax, dword [esp + 0x1c]
push esi
push ebx
mov eax, dword [eax]
call eax
add esp, 8
test eax, eax
je 0x40440d
push esi
push ebx
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x2c]
mov eax, dword [edi + 0x5c3aa8]
call eax
add esp, 0x10
test eax, eax
jne 0x40443c
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
lea edi, [ecx + ecx*2]
shl edi, 3
cmp dword [edi + 0x5c3aa0], 0
lea ecx, [edi + 0x5c3aa0]
mov dword [esp + 0x1c], ecx
je 0x405583
mov ecx, dword [esp + 0x30]
jmp 0x4043a0
push ebx
call fcn.0046187c
mov eax, dword [esp + 0x28]
add esp, 4
lea eax, [eax + eax*2]
lea ebx, [eax*8 + 0x5c3aa0]
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x40558c
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x30], edi
lea eax, [edi - 0x64]
cmp eax, 0xbb79c
ja 0x405949
mov ebx, dword [esp + 0xa8]
lea eax, [ebx - 1]
cmp eax, 0xfe
ja 0x40593e
mov esi, dword [esp + 0xac]
test esi, esi
jne 0x404505
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x40453e
cmp ebx, 2
jle 0x40453e
mov edx, dword [esp + 0x40]
test edx, edx
jle 0x40453e
imul eax, ebx, 0x3e80
cmp edx, eax
jge 0x40453e
cmp dword [esp + 0x68], ecx
jne 0x4044fa
push str.Notice:_Surround_bitrate_less_than_16_kbit_s_per_channel__downmixing._n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
mov edi, dword [esp + 0xb8]
add esp, 8
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x30], edi
xor ecx, ecx
cmp ebx, 8
setle cl
inc ecx
jmp 0x40453e
cmp esi, 1
jne 0x40453a
lea eax, [ebx - 1]
cmp eax, 0xe2
ja 0x405768
movd xmm0, ebx
mov ecx, ebx
cvtdq2pd xmm0, xmm0
sqrtsd xmm0, xmm0
cvttsd2si eax, xmm0
imul eax, eax
sub ecx, eax
je 0x40453a
cmp ecx, 2
jne 0x40575e
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x88], ebx
mov dword [esp + 0xd0], esi
test ecx, ecx
jle 0x40457d
mov edx, ecx
lea ecx, [esp + 0x90]
call fcn.00407180
mov edi, dword [esp + 0xb0]
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edi
jmp 0x404585
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x98]
mov eax, ecx
mov edx, dword [esp + 0x9c]
or eax, edx
je 0x4045d9
cmp edi, 0xbb80
je 0x4045d9
movsd xmm0, qword [0x5ba958]
movd xmm1, edi
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [esp + 0x50], xmm0
call fcn.0047be20
mulsd xmm0, qword [esp + 0x50]
call fcn.0047bd70
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
cmp esi, 1
jne 0x4045ef
lea eax, [ebx - 4]
mov ecx, 0xe
cmp ecx, eax
sbb eax, eax
add eax, 3
jmp 0x40460f
cmp esi, 2
jne 0x4045fb
mov eax, 0xff
jmp 0x40460f
cmp ebx, 8
jle 0x404607
mov eax, 0xff
jmp 0x40460f
xor eax, eax
cmp ebx, 2
setg al
lea ecx, [esp + 0x28]
push ecx
push eax
push ebx
push edi
push dword [esp + 0xd4]
lea edx, [esp + 0x10c]
lea ecx, [esp + 0x15c]
call fcn.0044fc40
mov esi, eax
add esp, 0x14
mov dword [esp + 0x24], esi
test esi, esi
je 0x405772
push dword [esp + 0x3c]
mov dword [esp + 0xfc], esi
push 0xfc8
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405786
push dword [esp + 0xe8]
push 0x36b2
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405798
push dword [esp + 0xf4]
push 0x36b6
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x4057aa
push dword [esp + 0xb4]
push 0x36ba
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x4057bc
lea eax, [esp + 0xf8]
push eax
push 0x4021f0
push 0x36b8
push esi
call fcn.004512f0
add esp, 0x10
test eax, eax
jne 0x4057ce
push dword [esp + 0xf0]
push 0x36b4
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x4057e0
lea eax, [esp + 0x134]
push eax
push 0x36bd
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x4057f2
lea eax, [esp + 0x138]
push eax
push 0x36bf
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405804
cmp dword [esp + 0x40], eax
jge 0x404799
cmp edi, 0xac44
mov ecx, 0xbb80
mov eax, 0x10624dd3
cmovl ecx, edi
add ecx, 0x3e8
imul ecx
sar edx, 6
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp edi, 8
jge 0x40476d
mov edi, 8
jmp 0x404777
mov eax, 0x30
cmp edi, eax
cmovg edi, eax
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x134]
lea ecx, [eax + ecx*2]
lea eax, [edi + 0x10]
imul ecx, eax
imul edi, ecx, 0x7d00
sar edi, 6
jmp 0x40479d
mov edi, dword [esp + 0x40]
imul eax, ebx, 0xfa000
cmp edi, eax
jg 0x40591f
cmp edi, 0x1f4
jl 0x40591f
imul eax, ebx, 0x3e800
cmp eax, edi
cmovl edi, eax
push edi
push 0xfa2
push esi
mov dword [esp + 0x4c], edi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405816
mov edi, dword [esp + 0x48]
test edi, edi
sete al
push eax
push 0xfa6
push esi
mov dword [esp + 0x5c], eax
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405829
test edi, edi
jne 0x404820
mov edi, dword [esp + 0x64]
push edi
push 0xfb4
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x40583f
push dword [esp + 0xd8]
push 0xfb8
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405852
mov edi, dword [esp + 0x70]
push edi
push 0xfaa
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405864
mov edi, dword [esp + 0x6c]
push edi
push 0xfae
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x405877
mov eax, dword [esp + 0xb8]
mov ecx, 0x18
cmp eax, ecx
cmovg eax, ecx
mov ecx, 8
cmp eax, ecx
cmovl eax, ecx
push eax
push 0xfc4
push esi
call fcn.004512f0
add esp, 0xc
mov edi, 0x5b4d68
test eax, eax
je 0x4048ec
cmp eax, 0xfffffff6
jge 0x4048ce
cmp eax, 0xffffffe2
jle 0x4048ba
lea ecx, [eax + 0xa]
call fcn.00412c40
jmp 0x4048d3
cmp eax, 0xffffffdd
jl 0x4048ce
lea eax, [eax*4 + 0x78]
mov ecx, edi
sub ecx, eax
mov eax, dword [ecx]
jmp 0x4048d3
mov eax, str.unknown_error
push eax
push str.Warning:_OPUS_SET_LSB_DEPTH_failed:__s_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
cmp dword [esp + 0x74], 0
je 0x40494b
push 1
push 0xfce
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
je 0x40494b
cmp eax, 0xfffffff6
jge 0x40492d
cmp eax, 0xffffffe2
jle 0x40491b
lea ecx, [eax + 0xa]
call fcn.00412c40
jmp 0x404932
cmp eax, 0xffffffdd
jl 0x40492d
lea eax, [eax*4 + 0x78]
sub edi, eax
mov eax, dword [edi]
jmp 0x404932
mov eax, str.unknown_error
push eax
push str.Warning:_OPUS_SET_PHASE_INVERSION_DISABLED_failed:__s_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x4c], eax
jle 0x4049e6
mov esi, dword [esp + 0x38]
add esi, 4
mov edi, dword [esi - 4]
cmp edi, 0xffffffff
jne 0x404987
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x2c]
call fcn.004512f0
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x40588a
jmp 0x4049d0
mov eax, dword [esp + 0x134]
cmp edi, eax
jge 0x4058f6
lea eax, [esp + 0x50]
push eax
push edi
push 0x1400
push dword [esp + 0x30]
call fcn.004512f0
add esp, 0x10
test eax, eax
jne 0x4058e3
push dword [esi + 4]
push dword [esi]
push dword [esp + 0x58]
call fcn.004179a0
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x4058bf
mov eax, dword [esp + 0x14]
add esi, 0xc
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x4c]
jl 0x404962
mov esi, dword [esp + 0x24]
lea eax, [esp + 0xe0]
push eax
push 0xfbb
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
jne 0x4058ad
cmp dword [esp + 0x68], eax
jne 0x404c69
push str.libopus_1.5.1
push str.Encoding_using__s
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push 0xfa1
push esi
call fcn.004512f0
add esp, 0xc
test eax, eax
je 0x404a49
mov edi, 0x487d08
jmp 0x404a7a
mov eax, dword [esp + 0x50]
cmp eax, 0x800
jne 0x404a5b
mov edi, str.__VoIP__n
jmp 0x404a7a
cmp eax, 0x801
jne 0x404a69
mov edi, str.__audio__n
jmp 0x404a7a
mov edi, str.__low_delay__n
cmp eax, 0x803
je 0x404a7a
mov edi, str.__unknown_application__n
push 2
call fcn.0045ae98
add esp, 4
push edi
push eax
call fcn.00401040
add esp, 8
push str.______________________________________________________n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
mov edi, dword [esp + 0x90]
add esp, 8
mov ecx, dword [esp + 0xd0]
mov edx, edi
call fcn.004023f0
movd xmm0, dword [esp + 0x30]
mov ecx, 0x488f7c
push eax
cvtdq2pd xmm0, xmm0
cmp edi, 1
mov eax, 0x4878cc
cmovne eax, ecx
push eax
mov eax, dword [esp + 0x24]
push edi
mulsd xmm0, qword [0x5ba758]
sub esp, 8
movsd qword [esp], xmm0
push dword [eax + 0x10]
push str.___Input:__s___0.6g_kHz___d_channel_s___s_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x20
mov edi, 0x4878cc
cmp ebx, 1
mov ecx, 0x488f7c
mov eax, edi
cmovne eax, ecx
push eax
push ebx
push str.__Output:_Opus___d_channel_s__
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
mov ecx, dword [esp + 0x148]
add esp, 0x10
test ecx, ecx
jle 0x404b61
lea eax, [ecx + ecx]
push eax
push str._d_coupled
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
mov ecx, dword [esp + 0x144]
add esp, 0xc
mov eax, dword [esp + 0x134]
sub eax, ecx
test eax, eax
jle 0x404b92
push eax
test ecx, ecx
mov eax, 0x48a018
cmovle eax, edi
push eax
push str._s_d_uncoupled
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x10
cmp dword [esp + 0x48], 0
je 0x404ba0
mov eax, str._CBR
jmp 0x404bb2
cmp dword [esp + 0x64], 0
mov eax, str._CVBR
mov ecx, str._VBR
cmove eax, ecx
movd xmm0, dword [esp + 0x40]
mov edx, ebx
cvtdq2pd xmm0, xmm0
mov ecx, dword [esp + 0xac]
push eax
sub esp, 0x10
mulsd xmm0, qword [0x5ba758]
movsd qword [esp + 8], xmm0
movd xmm0, dword [esp + 0x48]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5ba790]
movsd qword [esp], xmm0
call fcn.004023f0
push eax
push str.____s_n___________0.2gms_packets___0.6g_kbit_s_s_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x20
push dword [esp + 0xe0]
push str._Preskip:__d_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
cmp dword [esp + 0x13c], 0
je 0x404c51
push dword [esp + 0x44]
push str.__________Writing_final_range_file__s_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
push 0x487d08
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov edi, dword [esp + 0xe4]
mov ecx, 0x4899a0
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404c97
test dl, dl
je 0x404c93
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404c97
add eax, 2
add ecx, 2
test dl, dl
jne 0x404c77
xor eax, eax
jmp 0x404c9c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404cf0
push 0x8000
push 1
call fcn.0045ae98
add esp, 4
push eax
call fcn.004614df
add esp, 4
push eax
call fcn.004612f0
push 1
call fcn.0045ae98
add esp, 0xc
mov dword [esp + 0xfc], eax
imul ebx, dword [esp + 0x34]
shl ebx, 2
push ebx
call fcn.00464c46
mov edi, eax
add esp, 4
mov dword [esp + 0x70], edi
test edi, edi
je 0x405903
jmp 0x404d17
mov edx, 0x48a0b0
mov ecx, edi
call fcn.004089c0
mov dword [esp + 0xfc], eax
test eax, eax
jne 0x404ccf
push edi
call fcn.0046090d
add esp, 4
push 1
jmp 0x4055b7
push dword [esp + 0x34]
push edi
push dword [esp + 0x9c]
call dword [esp + 0x9c]
add esp, 0xc
mov ebx, eax
mov edx, edi
mov ecx, esi
push ebx
call fcn.00450c60
mov edi, eax
add esp, 4
test edi, edi
jne 0x40590d
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
cmp ebx, dword [esp + 0x34]
jl 0x405163
cmp dword [esp + 0x68], 0
jne 0x405130
push 0
call fcn.00461814
mov ecx, edx
mov dword [esp + 0x48], eax
add esp, 4
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0x6c]
jl 0x405130
jg 0x404d95
cmp eax, dword [esp + 0x14]
jbe 0x405130
mov edi, dword [esp + 0x114]
mov edx, edi
mov ebx, dword [esp + 0x110]
mov ecx, ebx
call fcn.0047be20
mulsd xmm0, qword [0x5ba6e0]
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x74]
sbb edx, dword [esp + 0x84]
movsd qword [esp + 0xd0], xmm0
call fcn.0047be20
cmp dword [esp + 0x48], 0
movsd qword [esp + 0x50], xmm0
je 0x404e11
movd xmm1, dword [esp + 0x34]
movsd xmm0, qword [0x5ba970]
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
movd xmm1, dword [esp + 0x130]
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
jmp 0x404ea4
test edi, edi
jg 0x404e23
jl 0x404e1b
test ebx, ebx
jne 0x404e23
xorps xmm0, xmm0
jmp 0x404ea4
movsd xmm1, qword [esp + 0xd0]
mulsd xmm1, qword [0x5ba7b0]
movsd xmm0, qword [0x5ba888]
subsd xmm0, xmm1
call fcn.0047d4fa
movsd xmm1, qword [0x5ba840]
addsd xmm0, xmm1
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
divsd xmm1, xmm0
movsd qword [esp + 0x78], xmm1
call fcn.0047be20
mulsd xmm0, qword [0x5ba8b8]
xorps xmm1, xmm1
movsd xmm2, qword [0x5ba840]
subsd xmm2, qword [esp + 0x78]
cvtsi2sd xmm1, dword [esp + 0x40]
divsd xmm0, qword [esp + 0xd0]
mulsd xmm2, xmm1
mulsd xmm0, qword [esp + 0x78]
addsd xmm0, xmm2
push 0x48a0e0
push 2
movsd qword [esp + 0x90], xmm0
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
mov ebx, dword [esp + 0xe4]
add esp, 8
test ebx, ebx
jle 0x404eed
push 0x4898bc
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
sub ebx, 1
jne 0x404ed0
cmp dword [esp + 0x9c], 0
jl 0x404fde
mov ecx, dword [esp + 0x98]
jg 0x404f0c
test ecx, ecx
je 0x404fde
mov eax, dword [esp + 0xe0]
cdq
mov edi, eax
mov ebx, edx
mov edx, dword [esp + 0x114]
add edi, ecx
adc ebx, dword [esp + 0x9c]
cmp edx, ebx
jg 0x404fde
mov ecx, dword [esp + 0x110]
jl 0x404f41
cmp ecx, edi
jae 0x404fde
call fcn.0047be20
mov edx, ebx
movsd qword [esp + 0x78], xmm0
mov ecx, edi
call fcn.0047be20
movsd xmm4, qword [esp + 0x78]
divsd xmm4, xmm0
movsd xmm3, qword [0x5baa60]
mulsd xmm4, qword [0x5ba8e0]
movsd xmm1, qword [0x5ba9e0]
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x5ba840]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
push eax
mov eax, dword [esp + 0x18]
and eax, 3
movsx eax, byte [eax + 0x48a2bc]
push eax
push str._r__c___2d__
lea eax, [esp + 0x40c]
push 0x36
push eax
call fcn.00401a10
add esp, 0x14
jmp 0x405004
mov eax, dword [esp + 0x14]
and eax, 3
movsx eax, byte [eax + 0x48a2bc]
push eax
push str._r__c_
lea eax, [esp + 0x408]
push 0x36
push eax
call fcn.00401a10
add esp, 0x10
lea ecx, [esp + 0x400]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x405010
movsd xmm2, qword [esp + 0x50]
sub ecx, edx
comisd xmm2, xmmword [0x5ba550]
ja 0x40503a
movsd xmm0, qword [0x5ba6c8]
movsd qword [esp + 0x50], xmm0
movaps xmm2, xmm0
movsd xmm0, qword [esp + 0x88]
sub esp, 0x10
mulsd xmm0, qword [0x5ba758]
mov ebx, 0x64
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 8], xmm0
movaps xmm0, xmm1
divsd xmm0, xmm2
movsd qword [esp], xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [0x5ba8e0]
cvttsd2si eax, xmm0
movaps xmm0, xmm1
cdq
idiv ebx
cvttsd2si eax, xmm1
push edx
mov ebx, 0x3c
mulsd xmm0, qword [0x5ba788]
cdq
idiv ebx
cvttsd2si eax, xmm0
push edx
mulsd xmm1, qword [0x5ba718]
cdq
idiv ebx
cvttsd2si eax, xmm1
push edx
push eax
mov eax, 0x36
sub eax, ecx
push str._02d:_02d:_02d._02d__4.3gx_realtime___5.4g_kbit_s
push eax
lea eax, [esp + 0x428]
add eax, ecx
push eax
call fcn.00401a10
add esp, 0x2c
lea eax, [esp + 0x400]
push eax
push 0x48a130
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0xc
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00460653
lea edx, [esp + 0x404]
add esp, 4
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x405110
mov eax, dword [esp + 0x44]
sub edx, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xdc], edx
mov dword [esp + 0x6c], eax
push dword [esp + 0x34]
mov edi, dword [esp + 0x74]
push edi
push dword [esp + 0x9c]
call dword [esp + 0x9c]
add esp, 0xc
mov ebx, eax
mov edx, edi
mov ecx, esi
push ebx
call fcn.00450c60
mov edi, eax
add esp, 4
test edi, edi
je 0x404d56
mov ebx, dword [esp + 0xdc]
test ebx, ebx
je 0x4051c5
push 0x48a0e0
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
test ebx, ebx
jle 0x4051ad
nop word [eax + eax]
push 0x4898bc
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
sub ebx, 1
jne 0x405190
push 0x48a0e0
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
test edi, edi
jne 0x40590d
mov ecx, esi
call fcn.00451020
mov edi, eax
test edi, edi
jne 0x40590d
push eax
call fcn.00461814
add esp, 4
mov edi, eax
cmp dword [esp + 0x68], 0
mov ebx, edx
jne 0x40549a
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
call fcn.0047be20
mulsd xmm0, qword [0x5ba6e0]
sub edi, dword [esp + 0x80]
mov ecx, edi
sbb ebx, dword [esp + 0x84]
mov edx, ebx
movsd qword [esp + 0x50], xmm0
call fcn.0047be20
push str.Encoding_complete_n
push 2
movsd qword [esp + 0x80], xmm0
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
push str.______________________________________________________n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
push str._______Encoded:
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
movsd xmm0, qword [esp + 0x58]
add esp, 8
call fcn.00402000
push str._n_______Runtime:
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
movsd xmm0, qword [esp + 0x80]
add esp, 8
call fcn.00402000
push 0x487d08
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
movsd xmm1, qword [esp + 0x80]
add esp, 8
comisd xmm1, xmmword [0x5ba550]
jbe 0x405305
movsd xmm0, qword [esp + 0x50]
sub esp, 8
divsd xmm0, xmm1
movsd qword [esp], xmm0
push str.__________________0.4gx_realtime__n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x10
push dword [esp + 0x11c]
push dword [esp + 0x11c]
push dword [esp + 0x12c]
push dword [esp + 0x12c]
push dword [esp + 0x11c]
push dword [esp + 0x11c]
push str._________Wrote:__I64d_bytes___I64d_packets___I64d_pages_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x20
cmp dword [esp + 0x114], 0
jl 0x405412
jg 0x405365
cmp dword [esp + 0x110], 0
jbe 0x405412
mov edx, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
call fcn.0047be20
mulsd xmm0, qword [0x5ba8b8]
sub esp, 8
divsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [0x5ba758]
movsd qword [esp], xmm0
push str._______Bitrate:__0.6g_kbit_s__without_overhead__n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
movd xmm0, dword [esp + 0x44]
add esp, 0x10
movsd xmm1, qword [0x5ba910]
cvtdq2pd xmm0, xmm0
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
push eax
push ecx
sub esp, 0x10
divsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
movsd qword [esp + 8], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
movsd qword [esp], xmm0
push str._Instant_rates:__0.6g_to__0.6g_kbit_s_n__________________d_to__d_bytes_per_packet__n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x20
mov ebx, dword [esp + 0x10c]
test ebx, ebx
jl 0x405482
mov edi, dword [esp + 0x108]
jg 0x40542a
test edi, edi
je 0x405482
mov ecx, edi
mov edx, ebx
sub ecx, dword [esp + 0x100]
sbb edx, dword [esp + 0x104]
call fcn.0047be20
mov edx, ebx
movsd qword [esp + 0x78], xmm0
mov ecx, edi
call fcn.0047be20
movsd xmm1, qword [esp + 0x78]
sub esp, 8
divsd xmm1, xmm0
mulsd xmm1, qword [0x5ba8e0]
movsd qword [esp], xmm1
push str.______Overhead:__0.3g____containermetadata__n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 0x10
push 0x487d08
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
mov ecx, esi
call fcn.004511d0
mov esi, dword [esp + 0xc4]
push dword [esi]
call fcn.0046187c
add esp, 4
push esi
call fcn.0046187c
add esp, 4
push dword [esp + 0x70]
call fcn.0046187c
add esp, 4
cmp dword [esp + 0x4c], 0
je 0x4054da
push dword [esp + 0x38]
call fcn.0046187c
add esp, 4
cmp dword [esp + 0x2c], 0
je 0x405524
mov esi, dword [esp + 0x94]
mov eax, dword [esi]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0xa8], eax
push dword [esi + 8]
call fcn.0046187c
add esp, 4
push dword [esi + 0xc]
call fcn.0046187c
add esp, 4
push esi
call fcn.0046187c
add esp, 4
mov eax, dword [esp + 0x1c]
push dword [esp + 0x94]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x405548
push eax
call fcn.004607d1
add esp, 4
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x40555c
push eax
call fcn.004607d1
add esp, 4
lea edx, [esp + 0x18]
lea ecx, [esp + 0x144]
call fcn.00408970
mov ecx, dword [esp + 0xc3c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00457d6e
mov esp, ebp
pop ebp
ret
push ebx
call fcn.0046187c
add esp, 4
push dword [esp + 0x88]
push str.Error:_unsupported_input_file:__s_n
call fcn.00401a50
push str._nFATAL:_CommandLineToArgvW_failed_n_n
push 2
call fcn.0045ae98
add esp, 4
push eax
call fcn.00401040
add esp, 8
push 0xffffffffffffffff
call fcn.004602fa
push edi
mov dword [edi + 4], 0
mov dword [edi], esi
mov dword [edi + 8], 0
call fcn.0046187c
add esp, 4
push str.Error:_failed_to_allocate_memory_for_comments_n
mov dword [esp + 0xc8], 0
call fcn.00401a50
mov ecx, 0xffffffef
call fcn.00451670
push eax
push str.Error:_failed_to_add_ENCODER_comment:__s_n
call fcn.00401a50
push dword [0x5c4734]
push str.Invalid_bit_depth:__s_n__raw_bits_must_be_one_of_8__16__24__or_32_n
call fcn.00401a50
push dword [0x5c4734]
push str.Invalid_expect_loss:__s_nExpected_loss_is_a_percentage_in_the_range_0_to_100._n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_failed_to_add_comment:__s_n
call fcn.00401a50
cmp edi, 1
mov ecx, str.icon
mov eax, str.32x32_icon
cmovne eax, ecx
push eax
push edi
push str.Error:_only_one_picture_of_type__d___s__is_allowed_n
call fcn.00401a50
push str.Invalid_bit_depth:_n__raw_bits_can_only_be_32_for_float_sample_format_n
call fcn.00401a50
push esi
push str.Invalid_framesize:__s_nValue_is_in_milliseconds_and_must_be_2.5__5__10__20__40__or_60._n
call fcn.00401a50
push dword [0x5c4734]
push str.Invalid_max_delay:__s_nValue_is_in_milliseconds_and_must_be_in_the_range_0_to_1000._n
call fcn.00401a50
push esi
push str.Invalid_input_format:__s_n__channels_only_supports_ambix_or_discrete_n
call fcn.00401a50
push str.Error:_failed_to_allocate_memory_for_ctls_n
call fcn.00401a50
push dword [0x5c4734]
push str.Invalid_set_ctl_int:__s_n
call fcn.00401a50
push edx
push str.Invalid_set_ctl_int:__s_nSyntax_is___set_ctl_int_intXintY_n_______or___set_ctl_int_intS:intXintY_n
call fcn.00401a50
push dword [0x5c4734]
call fcn.0046090d
add esp, 4
push dword [0x5c4734]
push str.Error:_cannot_open_save_range_file:__s_nMust_provide_a_writable_file_name._n
call fcn.00401a50
push dword [0x5c4734]
push str.Invalid_comment:__s_nComments_must_be_of_the_form_namevalue_n
call fcn.00401a50
push str.Picture_URLs_are_no_longer_supported._nSee___help_picture._n
call fcn.00401a50
push esi
push str.Not_enough_fields_in_picture_specification:_n___s_nThe_format_of_a_picture_specification_is:_n___TYPE__MEDIA_TYPE__DESCRIPTION__WIDTHxHEIGHTxDEPTH__COLORS__FILENAME_nSee___help_picture._n
call fcn.00401a50
push esi
push 0x489704
push esi
call fcn.00461240
add esp, 8
push eax
push str.Invalid_picture_type:__.s_nPicture_type_must_be_in_the_range_0_to_20__see___help_picture._n
call fcn.00401a50
push ebx
mov ecx, eax
call fcn.00451670
push eax
push str.Error:__s:__s_n
call fcn.00401a50
mov ecx, 0xffffffef
jmp 0x40571e
mov ecx, 0xfffffff5
call fcn.00451670
push eax
push ebx
push str.Error:_failed_to_add__s_comment:__s_n
call fcn.00401a50
push dword [0x5c4734]
push str.Invalid_complexity:__s_nComplexity_must_be_in_the_range_0_to_10._n
call fcn.00401a50
push str.Invalid_bit_depth:_n__raw_bits_must_be_32_for_float_sample_format_n
call fcn.00401a50
mov ecx, 0xffffffef
call fcn.00451670
push eax
push str.Error:_failed_to_add_ENCODER_OPTIONS_comment:__s_n
call fcn.00401a50
push str.Error:_invalid_number_of_ambisonics_channels._n
call fcn.00401a50
push str.Error:_the_number_of_channels_must_not_be__1_or__227._n
call fcn.00401a50
mov ecx, dword [esp + 0x28]
call fcn.00451670
push eax
push str.Error:_failed_to_create_encoder:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPUS_SET_EXPERT_FRAME_DURATION_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_SET_MUXING_DELAY_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_SET_SERIALNO_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_SET_HEADER_GAIN_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_SET_PACKET_CALLBACK_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_SET_COMMENT_PADDING_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_GET_NB_STREAMS_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPE_GET_NB_COUPLED_STREAMS_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push edi
push str.Error:_OPUS_SET_BITRATE__d_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push dword [esp + 0x54]
push str.Error:_OPUS_SET_VBR__d_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push edi
push str.Error:_OPUS_SET_VBR_CONSTRAINT__d_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPUS_SET_SIGNAL_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push edi
push str.Error:_OPUS_SET_COMPLEXITY__d_failed:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push edi
push str.Error:_OPUS_SET_PACKET_LOSS_PERC__d_failed:__s_n
call fcn.00401a50
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*2]
call fcn.00451670
push eax
mov eax, dword [esp + 0x3c]
push dword [eax + edx*4 + 8]
push dword [eax + edx*4 + 4]
push str.Error:_failed_to_set_encoder_ctl__d_d:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push str.Error:_OPUS_GET_LOOKAHEAD_failed:__s_n
call fcn.00401a50
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*2]
call fcn.00412c40
push eax
mov eax, dword [esp + 0x3c]
push dword [eax + edx*4 + 8]
push dword [eax + edx*4 + 4]
push edi
push str.Error:_failed_to_set_stream__d_encoder_ctl__d_d:__s_n
call fcn.00401a50
mov ecx, eax
call fcn.00451670
push eax
push edi
push str.Error:_OPUS_MULTISTREAM_GET_ENCODER_STATE__d_failed:__s_n
call fcn.00401a50
dec eax
push eax
push edi
push str.Error:___set_ctl_int_stream__d_is_higher_than_the_highest_stream_number__d_n
call fcn.00401a50
push str.Error:_failed_to_allocate_sample_buffer_n
call fcn.00401a50
mov ecx, edi
call fcn.00451670
push eax
push str.Encoding_aborted:__s_n
call fcn.00401a50
cmp edi, 0xf4240
mov ecx, 0x4878cc
mov eax, str.Did_you_mistake_bits_for_kilobits__n
cmovl eax, ecx
push eax
push edi
push str.Error:_bitrate__d_bits_sec_is_insane_n_s__bitrate_values_from_6_to_256_kbit_s_per_channel_are_meaningful._n
call fcn.00401a50
push ebx
push str.Error:_unsupported_channel_count_in_input_file:__d_nChannel_count_must_be_in_the_range_1_to_255._n
call fcn.00401a50
push edi
push str.Error:_unsupported_sample_rate_in_input_file:__ld_Hz_n
call fcn.00401a50
sbb esi, dword [eax]
inc eax
add byte [eax + 0x42], bl
inc eax
add byte [ecx], ch
inc edx
inc eax
add byte [0xb8004042], bl
inc ecx
inc eax
add byte [eax], al
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, byte [esp + eax]
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 3
int3