Function at 0x408f90
Capabilities:
Encrypt data using rc4 ksa
Enumerate pe sections
Resolve function by parsing pe exports
Terminate process

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x16c
mov esi, dword [esp + 0x18c]
mov dword [esp + 0x84], ecx
mov ebp, edx
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x160], eax
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x190]
mov dword [esp + 0x8c], esi
mov eax, esi
cdq
mov eax, dword [ecx + 8]
mov edi, dword [eax + 8]
mov dword [esp + 0x90], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x88], edi
push dword [ebx + 0x48]
call sub.avcodec.dll_av_get_bits_per_sample_format
mov edx, eax
sar edx, 2
shr edx, 0x1d
add edx, eax
sar edx, 3
mov eax, edi
mov dword [esp + 0x84], edx
push dword [eax + 0x48]
call sub.avcodec.dll_av_get_bits_per_sample_format
mov edx, eax
sar edx, 2
shr edx, 0x1d
add edx, eax
mov eax, dword [ebx + 0x84]
sar edx, 3
mov dword [esp + 0x80], edx
push dword [eax + 8]
call sub.avcodec.dll_av_get_bits_per_sample
add esp, 0xc
mov dword [esp + 0x7c], eax
imul edi, dword [0x938514], 0x640
fldz
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
mov ecx, dword [eax + 0x38]
add ecx, dword [edi + edx*8 + 0x8b0420]
mov eax, dword [eax + 0x3c]
adc eax, dword [edi + edx*8 + 0x8b0424]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
fild qword [esp + 0x58]
fdiv qword [0x41e638]
fcompp
fnstsw ax
sahf
jae 0x40907e
jp 0x40907e
add esp, 0x16c
pop ebx
pop ebp
pop esi
pop edi
ret
mov ecx, dword [esp + 0x80]
lea eax, [ecx*8]
cdq
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edx
call dword [sym.imp.MSVCR90.dll___iob_func]
mov dword [esp + 0x48], esi
mov dword [esp + 0x12c], ebp
add eax, 0x40
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
cdq
mov dword [esp + 0x50], edx
jmp 0x4090d4
fstp st(0)
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x90]
add eax, ebp
adc ecx, edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x70], ecx
mov ebp, dword [esp + 0x88]
mov edi, dword [ebp + 0x44]
imul edi, dword [esp + 0x78]
mov ebp, dword [ebp + 0x40]
mov esi, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0x60], ecx
mov eax, edi
cdq
mov dword [esp + 0x6c], edi
mov eax, ebp
mov ecx, edx
cdq
mov eax, dword [esp + 0x70]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x8c]
push ecx
push edi
add edx, edi
adc eax, ecx
add edx, 0xffffffff
adc eax, 0xffffffff
push eax
push edx
call fcn.00418bc0
mov ecx, eax
mov eax, dword [ebx + 0x40]
mov edi, edx
cdq
push edi
push ecx
push edx
push eax
call fcn.00418b10
mov ecx, dword [esp + 0x64]
push ecx
push ebp
add eax, ebp
adc edx, ecx
push edx
push eax
call fcn.00418bc0
mov ecx, eax
mov edi, ecx
shr edi, 0x1f
add ecx, ecx
add edx, edx
or edi, edx
add ecx, 0x2710
adc edi, 0
mov eax, esi
cdq
sub ecx, esi
sbb edi, edx
jl 0x4091c7
or ecx, edi
je 0x4091c7
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
add edi, edx
adc ecx, eax
push eax
add edi, 0xffffffff
adc ecx, 0xffffffff
push edx
push ecx
push edi
call fcn.00418bc0
mov ecx, eax
mov eax, dword [ebx + 0x40]
mov edi, edx
cdq
push edi
push ecx
push edx
push eax
call fcn.00418b10
mov ecx, dword [esp + 0x64]
push ecx
push ebp
add eax, ebp
adc edx, ecx
push edx
push eax
call fcn.00418bc0
mov ecx, eax
mov ebp, ecx
shr ebp, 0x1f
add ecx, ecx
add edx, edx
or ebp, edx
add ecx, 0x2710
adc ebp, 0
jmp 0x4091ce
mov eax, esi
cdq
mov ecx, esi
mov ebp, edx
mov eax, dword [esp + 0x80]
imul eax, dword [esp + 0x60]
cdq
push edx
push eax
push ebp
push ecx
call fcn.00418b10
mov edi, eax
mov eax, dword [esp + 0x80]
imul eax, esi
imul eax, dword [esp + 0x60]
mov ebp, edx
cdq
mov ecx, edi
sub ecx, eax
mov eax, ebp
sbb eax, edx
jge 0x409214
imul esi, dword [esp + 0x80]
imul esi, dword [esp + 0x60]
mov eax, esi
cdq
jmp 0x409218
mov esi, edi
mov edx, ebp
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x54]
jle 0x409245
push dword [esp + 0x50]
push dword [esp + 0x80]
push edx
push esi
call fcn.00418b10
push dword [esp + 0x4c]
push dword [esp + 0x58]
push edx
push eax
call fcn.00418bc0
mov esi, eax
add esi, 0x4000
adc edx, 0
mov eax, esi
sub eax, 0x7fffffff
sbb edx, 0
jl 0x409262
or eax, edx
jne 0x40a23f
mov eax, edi
sub eax, 0x7fffffff
sbb ebp, 0
jl 0x409276
or eax, ebp
jne 0x40a23f
push edi
push 0x938688
push 0x93867c
call sub.avcodec.dll_av_fast_malloc
push esi
push 0x938684
push 0x938680
call sub.avcodec.dll_av_fast_malloc
add esp, 0x18
cmp dword [0x93867c], 0
je 0x40a226
cmp dword [0x938680], 0
je 0x40a226
mov edx, dword [esp + 0x88]
mov eax, dword [ebx + 0x44]
cmp eax, dword [edx + 0x44]
je 0x4092d5
mov eax, dword [esp + 0x12c]
mov dword [eax + 0x178], 1
jmp 0x4092e5
mov eax, dword [esp + 0x12c]
cmp dword [eax + 0x178], 0
je 0x4092f7
cmp dword [eax + 0x17c], 0
je 0x4094b7
jmp 0x40937d
mov eax, dword [esp + 0x88]
mov edx, dword [ebx + 0x48]
mov eax, dword [eax + 0x48]
cmp eax, edx
je 0x40937d
mov edi, dword [esp + 0x12c]
lea ecx, [eax + eax*2]
lea ebp, [edx + ecx*2]
cmp ebp, dword [edi + 0x180]
je 0x40937d
mov ecx, edi
mov ecx, dword [ecx + 0x184]
test ecx, ecx
je 0x40933d
push ecx
call sub.avcodec.dll_Ordinal_3_1
pop ecx
mov eax, dword [esp + 0x88]
mov edx, dword [ebx + 0x48]
mov eax, dword [eax + 0x48]
mov ebp, 1
xor ecx, ecx
push ecx
push ecx
push ebp
push eax
push ebp
push edx
call sub.avcodec.dll_Ordinal_1
add esp, 0x18
mov edx, edi
mov dword [edx + 0x184], eax
test eax, eax
je 0x4095a1
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x48]
mov eax, edi
mov ecx, dword [ebx + 0x48]
lea ebp, [edx + edx*2]
lea edi, [ecx + ebp*2]
mov dword [eax + 0x180], edi
cmp dword [0x9384a0], 0
je 0x40a15e
imul ebp, dword [0x938514], 0x640
mov edx, dword [esp + 0x12c]
mov edi, dword [edx + 0x18]
mov ecx, dword [edi]
mov eax, dword [edi + 0x38]
add eax, dword [ebp + ecx*8 + 0x8b0420]
mov edi, dword [edi + 0x3c]
adc edi, dword [ebp + ecx*8 + 0x8b0424]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
fild qword [esp + 0x58]
fdiv qword [0x41e638]
push dword [edx + 0x188]
fstp qword [esp + 0x3c]
call sub.avutil.dll_av_fifo_size
fld qword [esp + 0x3c]
add esp, 4
fild dword [ebx + 0x40]
fmul st(1), st(0)
cdq
mov ecx, dword [ebx + 0x40]
mov ebp, dword [esp + 0x12c]
fild qword [ebp + 0x20]
fsubp st(2)
mov edi, dword [ebp + 0xc]
mov ebp, dword [edi + 8]
mov edi, dword [ebp + 0x44]
add edi, edi
idiv edi
mov edx, dword [esp + 0x84]
mov ebp, dword [edx + 8]
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fsubp st(2)
fld st(1)
mov eax, dword [ebp + 8]
fild dword [eax + 0x40]
fmul st(3)
fdivrp st(2)
fabs
fxch st(1)
fstp qword [esp + 0x58]
cvttsd2si ebp, qword [esp + 0x58]
add ebp, ebp
imul ebp, dword [eax + 0x44]
fcomp qword [0x41e640]
fnstsw ax
sahf
jbe 0x40a145
mov eax, edx
cmp dword [eax + 0x48], 0
je 0x40a08d
test ebp, ebp
jl 0x40a019
mov eax, dword [esp + 0x48]
lea edx, [eax + ebp]
mov dword [esp + 0x34], edx
push edx
push dword [0x527198]
fstp qword [esp + 0x40]
call sub.avutil.dll_av_realloc
fld qword [esp + 0x40]
add esp, 8
mov dword [esp + 0x40], eax
mov edi, eax
mov ecx, dword [esp + 0x70]
mov dword [0x527198], edi
mov edi, dword [esp + 0x8c]
sub edi, dword [esp + 0x48]
sbb ecx, dword [esp + 0x90]
mov eax, ebp
cdq
mov eax, ebp
sub eax, edi
mov edi, edx
sbb edi, ecx
jl 0x4095aa
or eax, edi
jne 0x4090b8
jmp 0x4095aa
mov ecx, edx
mov eax, 1
xor edx, edx
cmp dword [ecx + 0xe4], 0xc9464f41
cmove edx, eax
mov eax, dword [ecx + 0x48]
cmp eax, 1
mov dword [esp + 0x30], edx
je 0x4094f4
push dword [esp + 0x44]
push str.Warning__using_s16_intermediate_sample_format_for_resampling_n
call sub.MSVCR90.dll_fputs
add esp, 8
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x48]
mov edi, dword [esp + 0x88]
movsd xmm0, qword [0x41e648]
mov edx, dword [ebx + 0x44]
mov ecx, dword [edi + 0x44]
mov ebp, dword [ebx + 0x40]
movsd qword [esp + 0x24], xmm0
mov dword [esp + 0x18], 0x10
mov dword [esp], edx
mov edx, dword [edi + 0x40]
mov dword [esp + 4], ecx
mov ecx, dword [ebx + 0x48]
mov dword [esp + 0x1c], 0xa
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
call sub.avcodec.dll_Ordinal_4_1
mov edx, dword [esp + 0x12c]
mov dword [edx + 0x17c], eax
test eax, eax
je 0x409579
mov eax, edx
cmp dword [eax + 0x178], 0
je 0x4092f7
jmp 0x40937d
push dword [ebx + 0x40]
push dword [ebx + 0x44]
mov eax, edi
push dword [eax + 0x40]
push dword [eax + 0x44]
push str.Can_not_resample__d_channels____d_Hz_to__d_channels____d_Hz_n
push dword [esp + 0x58]
call dword [sym.imp.MSVCR90.dll_fprintf]
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0x1c
push 1
call dword [sym.imp.MSVCR90.dll_exit]
pop ecx
fstp qword [esp + 0x38]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x12c]
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x84]
push dword [esp + 0x30]
xor edx, edx
mov dword [eax + 0x48], edx
push edx
push dword [esp + 0x48]
call fcn.004195e0
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x4c]
push esi
push dword [esp + 0x84]
push eax
call fcn.00419650
add esp, 0x18
cmp dword [0x4264c0], 2
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x74], eax
jle 0x40962d
fld qword [esp + 0x38]
fstp qword [esp + 0x58]
cvttsd2si eax, qword [esp + 0x58]
push eax
push str.adding__d_audio_samples_of_silence_n
push dword [esp + 0x4c]
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
cmp dword [ebp + 0x178], 0
jne 0x409640
mov eax, dword [esp + 0x74]
mov dword [esp + 0x70], eax
jmp 0x409693
mov ecx, dword [0x93867c]
mov edi, dword [esp + 0x84]
mov eax, dword [edi + 8]
mov edx, dword [eax + 8]
mov edi, dword [edx + 0x44]
imul edi, dword [esp + 0x78]
mov eax, esi
cdq
idiv edi
mov dword [esp + 0x70], ecx
push eax
push dword [esp + 0x78]
push ecx
push dword [ebp + 0x17c]
call sub.avcodec.dll_audio_resample
add esp, 0x10
mov esi, dword [ebx + 0x44]
imul esi, dword [esp + 0x80]
imul esi, eax
cmp dword [ebp + 0x178], 0
jne 0x40976e
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0x48]
cmp edx, dword [ebx + 0x48]
je 0x40976e
pxor xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
movq qword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movq qword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xf0], xmm0
movq qword [esp + 0x100], xmm0
movaps xmmword [esp + 0x110], xmm0
movq qword [esp + 0x120], xmm0
mov ecx, dword [esp + 0x70]
mov edi, dword [0x93867c]
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x110], eax
lea edi, [esp + 0xb0]
mov eax, esi
cdq
idiv ecx
lea ecx, [esp + 0xd0]
lea edx, [esp + 0xf0]
mov esi, eax
lea eax, [esp + 0x110]
push esi
push edx
push edi
push eax
push ecx
push dword [ebp + 0x184]
call sub.avcodec.dll_av_audio_convert
add esp, 0x18
test eax, eax
jl 0x409be8
imul esi, dword [esp + 0x80]
mov eax, dword [0x93867c]
mov dword [esp + 0x70], eax
cmp dword [ebx + 0x4c], 1
jle 0x409c31
push dword [ebp + 0x188]
call sub.avutil.dll_av_fifo_size
add eax, esi
push eax
push dword [ebp + 0x188]
call sub.avutil.dll_av_fifo_realloc2
add esp, 0xc
test eax, eax
jl 0x409c18
push 0
push esi
push dword [esp + 0x78]
push dword [ebp + 0x188]
call sub.avutil.dll_av_fifo_generic_write
mov esi, dword [ebx + 0x4c]
imul esi, dword [ebx + 0x44]
imul esi, dword [esp + 0x90]
push dword [ebp + 0x188]
call sub.avutil.dll_av_fifo_size
add esp, 0x14
cmp eax, esi
jl 0x409bdd
mov dword [esp + 0x128], esi
mov dword [esp + 0x10c], ebx
lea eax, [esp + 0x30]
push eax
call sub.avcodec.dll_av_init_packet
push 0
push dword [esp + 0x130]
push dword [0x93867c]
push dword [ebp + 0x188]
call sub.avutil.dll_av_fifo_generic_read
push dword [0x93867c]
push dword [esp + 0x120]
push dword [0x938680]
push dword [esp + 0x12c]
call sub.avcodec.dll_avcodec_encode_audio
add esp, 0x24
test eax, eax
jl 0x409bff
mov ecx, dword [0x938680]
mov ebx, dword [esp + 0x10c]
cdq
add dword [0x938400], eax
adc dword [0x938404], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x40989e
mov eax, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
lea ecx, [ebx - 0x80000000]
or ecx, eax
je 0x40989e
mov edx, dword [ebp + 0xc]
push dword [edx + 0x44]
push dword [edx + 0x40]
mov ecx, dword [esp + 0x114]
push dword [ecx + 0x24]
push dword [ecx + 0x20]
push ebx
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
or esi, 1
mov dword [esp + 0x4c], esi
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx + 8]
mov eax, dword [ebp]
mov ecx, eax
shl ecx, 4
sub ecx, eax
shl ecx, 4
mov ecx, dword [ecx + edx*4 + 0x8fe940]
test ecx, ecx
je 0x409ba0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x15c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x140], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x148], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x150], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x158], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x154], edi
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x130], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x12c], ebp
mov ebp, dword [esp + 0xcc]
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x140]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x144]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x148]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x150]
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x134]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x14c]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x154]
and ecx, 1
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
push ecx
push dword [esp + 0x48]
push dword [esp + 0x48]
lea ebx, [esp + 0x90]
push ebx
lea eax, [esp + 0x90]
push eax
push 0
push dword [esp + 0x148]
push dword [esp + 0x154]
call sub.avcodec.dll_av_bitstream_filter_filter
add esp, 0x20
test eax, eax
je 0x409a96
lea eax, [esp + 0x30]
push eax
call sub.avcodec.dll_av_free_packet
pop ecx
mov dword [esp + 0x94], 0x41630e
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x13c], esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x140], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x144], edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x148], ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x134], ebx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x14c], edi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x150], eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x158], edi
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x154], edi
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x138]
mov edi, dword [edi + 0xc]
test edi, edi
mov dword [esp + 0x138], edi
jne 0x40999a
mov ebp, dword [esp + 0x12c]
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x164]
call sub.avformat.dll_Ordinal_21
mov ecx, dword [esp + 0x114]
push dword [ebp + 0x188]
mov eax, dword [ecx + 0x4c]
cdq
add dword [ebp + 0x20], eax
adc dword [ebp + 0x24], edx
call sub.avutil.dll_av_fifo_size
add esp, 0xc
cmp eax, dword [esp + 0x128]
jge 0x4097e1
add esp, 0x16c
pop ebx
pop ebp
pop esi
pop edi
ret
push str.av_audio_convert___failed_n
call dword [sym.imp.MSVCR90.dll_printf]
pop ecx
add esp, 0x16c
pop ebx
pop ebp
pop esi
pop edi
ret
push str.Audio_encoding_failed_n
xor eax, eax
push eax
push eax
call sub.avutil.dll_av_log
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0x10
push str.av_fifo_realloc2___failed_n
xor eax, eax
push eax
push eax
call sub.avutil.dll_av_log
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0x10
lea eax, [esp + 0x30]
push eax
call sub.avcodec.dll_av_init_packet
pop ecx
mov ecx, dword [ebx + 0x44]
imul ecx, dword [esp + 0x80]
mov eax, esi
cdq
idiv ecx
cdq
add dword [ebp + 0x20], eax
adc dword [ebp + 0x24], edx
mov edi, dword [ebx + 0x84]
mov ecx, dword [edi + 8]
add ecx, 0xffff0000
cmp ecx, 0x20
jae 0x409ca0
mov eax, 1
shl eax, cl
test eax, 0x1ffffff
je 0x409ca0
mov ecx, dword [esp + 0x80]
mov eax, esi
cdq
idiv ecx
mov esi, eax
cmp dword [esp + 0x7c], 0
je 0x409ca2
mov eax, dword [esp + 0x7c]
imul eax, esi
mov esi, eax
sar esi, 2
shr esi, 0x1d
add esi, eax
sar esi, 3
jmp 0x409ca2
sar esi, 1
push dword [esp + 0x70]
push esi
push dword [0x938680]
push ebx
call sub.avcodec.dll_avcodec_encode_audio
add esp, 0x10
mov ecx, dword [0x938680]
cdq
add dword [0x938400], eax
adc dword [0x938404], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x409d17
mov eax, dword [ecx + 0x38]
mov esi, dword [ecx + 0x3c]
lea ecx, [esi - 0x80000000]
or ecx, eax
je 0x409d17
mov edx, dword [ebp + 0xc]
push dword [edx + 0x44]
push dword [edx + 0x40]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push esi
push eax
call sub.avutil.dll_av_rescale_q
add esp, 0x18
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
or esi, 1
mov dword [esp + 0x4c], esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov ebx, dword [ebp]
mov dword [esp + 0x128], ecx
mov ebp, ebx
shl ebp, 4
sub ebp, ebx
shl ebp, 4
mov ebx, dword [ebp + edx*4 + 0x8fe940]
test ebx, ebx
je 0x409ffd
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x138], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x13c], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xcc], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 0x12c], ebp
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0xec], edi
mov dword [esp + 0x10c], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0x130]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x148]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x134]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x138]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x13c]
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x140]
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x108]
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x144]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xec]
and ecx, 1
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
push ecx
push dword [esp + 0x48]
push dword [esp + 0x48]
lea ebx, [esp + 0x90]
push ebx
lea ebp, [esp + 0x90]
push ebp
push 0
push dword [esp + 0x140]
push dword [esp + 0x128]
call sub.avcodec.dll_av_bitstream_filter_filter
add esp, 0x20
test eax, eax
je 0x409efa
lea eax, [esp + 0x30]
push eax
call sub.avcodec.dll_av_free_packet
pop ecx
mov dword [esp + 0x94], 0x41630e
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x130], esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x148], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x134], edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x140], ebp
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x48], esi
mov dword [esp + 0x108], edi
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x144], eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0xec], edi
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x12c], edi
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x10c]
mov edi, dword [edi + 0xc]
test edi, edi
mov dword [esp + 0x10c], edi
jne 0x409dfe
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x164]
call sub.avformat.dll_Ordinal_21
add esp, 0x174
pop ebx
pop ebp
pop esi
pop edi
ret
fstp qword [esp + 0x38]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x12c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x48]
mov eax, esi
neg eax
cmp eax, edx
cmovge edx, eax
sub dword [esp + 0x74], edx
add esi, edx
cmp dword [0x4264c0], 2
jle 0x40a072
fld qword [esp + 0x38]
fchs
fstp qword [esp + 0x58]
cvttsd2si eax, qword [esp + 0x58]
push eax
push str.discarding__d_audio_samples_n
push dword [esp + 0x4c]
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
test esi, esi
je 0x409bf4
mov eax, dword [esp + 0x84]
mov dword [eax + 0x48], 0
jmp 0x40962d
mov ebp, dword [esp + 0x12c]
mov edi, dword [0x9384a0]
fstp qword [esp + 0x38]
cmp edi, 1
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x48]
jle 0x40962d
fld qword [esp + 0x38]
fstp qword [esp + 0x58]
cvttsd2si eax, qword [esp + 0x58]
mov edx, edi
neg edx
mov dword [esp + 0x30], edx
cmp eax, edx
jl 0x40a0d5
cmp eax, edi
cmovl edi, eax
mov dword [esp + 0x30], edi
cmp dword [ebp + 0x178], 0
jne 0x40a0f9
push 0x531
push str....._src_ffmpeg.c
push str.ost__audio_resample
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
mov ecx, dword [ebx + 0x40]
cmp dword [0x4264c0], 2
jle 0x40a12e
fld qword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
fstp qword [esp + 8]
mov dword [esp + 4], str.compensating_audio_timestamp_drift:_f_compensation:_d_in:_d_n
mov dword [esp], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call dword [sym.imp.MSVCR90.dll_fprintf]
mov ecx, dword [ebx + 0x40]
push ecx
push dword [esp + 0x34]
mov eax, dword [ebp + 0x17c]
push dword [eax]
call sub.avcodec.dll_av_resample_compensate
jmp 0x40962a
fstp st(0)
mov ebp, dword [esp + 0x12c]
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x48]
jmp 0x40962d
imul edx, dword [0x938514], 0x640
fild dword [ebx + 0x40]
mov ebp, dword [esp + 0x12c]
mov edi, dword [ebp + 0x18]
mov ecx, dword [edi]
mov eax, dword [edi + 0x38]
mov edi, dword [edi + 0x3c]
add eax, dword [edx + ecx*8 + 0x8b0420]
adc edi, dword [edx + ecx*8 + 0x8b0424]
mov dword [esp + 0x108], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
fild qword [esp + 0x58]
fdiv qword [0x41e638]
fmulp st(1)
fstp qword [esp]
call sub.libmmd.dll_rint
fstp qword [esp + 0x48]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fnstcw word [esp + 0x30]
movzx eax, word [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x38], eax
fldcw word [esp + 0x38]
fistp qword [esp + 0x40]
fldcw word [esp + 0x30]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], edx
push dword [ebp + 0x188]
call sub.avutil.dll_av_fifo_size
pop ecx
cdq
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + 8]
mov ecx, dword [edi + 0x44]
add ecx, ecx
idiv ecx
mov ecx, dword [esp + 0x3c]
cdq
sub ecx, eax
mov eax, dword [esp + 0x50]
sbb eax, edx
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], eax
jmp 0x40962d
push dword [esp + 0x44]
push str.Out_of_memory_in_do_audio_out_n
call sub.MSVCR90.dll_fputs
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0xc
push dword [esp + 0x44]
push str.Buffer_sizes_too_large_n
call sub.MSVCR90.dll_fputs
push 1
call dword [sym.imp.MSVCR90.dll_exit]
add esp, 0xc
nop
lea esi, [esi]