Function at 0x1400674c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov rbx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x138]
mov r14, r8
mov qword [rsp + 0x78], r8
mov r8, qword [0x1402840b0]
mov eax, dword [rsp + 0x140]
mov rbp, rdx
mov esi, r9d
mov r9, rdi
mov qword [rsp + 0x50], rcx
mov rdx, qword [r8]
mov qword [rsp + 0xb8], rdx
xor edx, edx
lea rdx, str.conversion:
mov r8, rbx
mov dword [rsp + 0x70], eax
call fcn.1400616d0
mov edx, dword [r14]
mov r12d, dword [rbx + 0x18]
mov r9d, dword [rbx + 0xc]
mov r10d, dword [rbx + 0x10]
mov r11d, dword [rbx + 0x14]
mov r15d, dword [rbx + 4]
mov dword [rsp + 0x48], r12d
movzx r13d, word [rbx + 8]
sub esi, edx
lea rcx, [rbp + rdx*8]
mov ebp, dword [rbx]
mov dword [rsp + 0x5c], esi
mov esi, dword [rbx + 0x1c]
mov qword [rsp + 0x60], rcx
movzx r14d, word [rbx + 0xa]
mov ecx, ebp
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x4c], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x44], esi
movzx r12d, byte [rbx + 0x20]
call sym.libvlccore.dll_aout_BitsPerSample
test eax, eax
je 0x140068160
mov eax, dword [rdi + 8]
cmp dword [rbx + 8], eax
je 0x140067cf3
cmp ebp, 0x6c323366
je 0x140067d10
mov ecx, dword [rsp + 0x5c]
test ecx, ecx
je 0x140068150
mov r9d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x4c]
lea rcx, [rsp + 0x90]
mov r11d, dword [rsp + 0x40]
mov esi, dword [rsp + 0x48]
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x94], r15d
mov dword [rsp + 0x9c], r9d
mov dword [rsp + 0xa0], r10d
mov dword [rsp + 0xa4], r11d
mov dword [rsp + 0xa8], esi
mov dword [rsp + 0xac], eax
mov word [rsp + 0x98], r13w
mov word [rsp + 0x9a], r14w
mov byte [rsp + 0xb0], r12b
mov dword [rsp + 0x90], 0x6c323366
call sym.libvlccore.dll_aout_FormatPrepare
mov rcx, qword [rsp + 0x50]
lea r8, str.audio_converter
mov edx, 0x2a0
call fcn.1400a2d20
test rax, rax
mov rsi, rax
je 0x140068100
mov dword [rax + 0x74], r15d
mov word [rax + 0x78], r13w
mov word [rax + 0x7a], r14w
mov r8d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x40]
mov dword [rax + 0x88], r8d
mov dword [rax + 0x70], ebp
xor r8d, r8d
mov dword [rax + 0x8c], edx
mov dword [rax + 0x7c], r13d
lea rdx, str.audio_converter
mov dword [rax + 0x80], r15d
mov dword [rax + 0x84], r14d
mov byte [rax + 0x90], r12b
mov dword [rax + 0x3c], ebp
mov rbp, qword [rsp + 0x90]
mov qword [rax + 0x290], 0
mov qword [rax + 0x258], 0
mov qword [rax + 0x178], rbp
mov r12, qword [rsp + 0x98]
mov qword [rax + 0x180], r12
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x188], rcx
mov r9, qword [rsp + 0xa8]
mov rcx, rax
mov qword [rax + 0x190], r9
mov r10d, dword [rsp + 0xb0]
xor r9d, r9d
mov dword [rax + 0x198], r10d
mov r11d, dword [rsp + 0x90]
mov dword [rax + 0x144], r11d
call sym.libvlccore.dll_module_need
test rax, rax
mov qword [rsi + 0x28], rax
je 0x1400680f7
mov r12d, dword [rsp + 0xa8]
mov eax, dword [rsp + 0x9c]
mov r8d, dword [rsp + 0xa0]
mov edx, dword [rsp + 0xa4]
mov ecx, dword [rsp + 0xac]
mov r9, qword [rsp + 0x60]
mov dword [rsp + 0x48], r12d
movzx r13d, word [rsp + 0x98]
movzx r14d, word [rsp + 0x9a]
movzx r12d, byte [rsp + 0xb0]
mov ebp, dword [rsp + 0x90]
mov r15d, dword [rsp + 0x94]
mov qword [r9], rsi
mov dword [rsp + 0x58], eax
mov esi, 1
mov dword [rsp + 0x4c], r8d
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x44], ecx
cmp esi, dword [rsp + 0x5c]
je 0x140067d55
movzx r10d, word [rdi + 8]
movzx eax, word [rdi + 0xa]
lea rcx, [rsp + 0x90]
mov r11d, dword [rdi + 0xc]
mov dword [rsp + 0x90], ebp
mov dword [rsp + 0x94], r15d
mov word [rsp + 0x98], r10w
mov dword [rsp + 0x9c], r11d
mov word [rsp + 0x9a], ax
call sym.libvlccore.dll_aout_FormatPrepare
mov r8d, dword [rdi + 0xc]
cmp dword [rbx + 0xc], r8d
lea rdx, str.audio_converter
lea rbx, str.audio_renderer
mov qword [rsp + 0x88], 0
cmove rbx, rdx
xor ecx, ecx
cmp byte [rsp + 0x70], 0
mov qword [rsp + 0x68], rbx
jne 0x140067d30
mov qword [rsp + 0x70], rcx
mov r8, qword [rsp + 0x68]
mov edx, 0x2a0
mov rcx, qword [rsp + 0x50]
call fcn.1400a2d20
test rax, rax
mov rbx, rax
je 0x140067ff2
mov dword [rax + 0x74], r15d
mov word [rax + 0x78], r13w
mov word [rax + 0x7a], r14w
mov r15d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x44]
mov dword [rax + 0x70], ebp
mov dword [rax + 0x7c], r15d
mov dword [rax + 0x80], r13d
mov dword [rax + 0x84], r14d
mov dword [rax + 0x88], r10d
mov dword [rax + 0x8c], r11d
mov byte [rax + 0x90], r12b
mov dword [rax + 0x3c], ebp
mov rbp, qword [rsp + 0x90]
mov r9, qword [rsp + 0x70]
mov qword [rax + 0x290], 0
mov qword [rax + 0x178], rbp
mov r12, qword [rsp + 0x98]
mov qword [rax + 0x258], r9
xor r9d, r9d
mov qword [rax + 0x180], r12
mov rax, qword [rsp + 0xa0]
mov qword [rbx + 0x188], rax
mov r8, qword [rsp + 0xa8]
mov qword [rbx + 0x190], r8
mov edx, dword [rsp + 0xb0]
xor r8d, r8d
mov dword [rbx + 0x198], edx
mov ecx, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x68]
mov dword [rbx + 0x144], ecx
mov rcx, rbx
call sym.libvlccore.dll_module_need
test rax, rax
mov qword [rbx + 0x28], rax
je 0x140067fea
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140067938
call sym.libvlccore.dll_config_ChainDestroy
mov r12d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0x9c]
lea edx, [rsi + 1]
mov r10d, dword [rsp + 0xa0]
mov r11d, dword [rsp + 0xa4]
mov eax, dword [rsp + 0xac]
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x48], r12d
movzx r13d, word [rsp + 0x98]
movzx r14d, word [rsp + 0x9a]
movzx r12d, byte [rsp + 0xb0]
mov ebp, dword [rsp + 0x90]
mov r15d, dword [rsp + 0x94]
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x4c], r10d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x44], eax
mov qword [r8 + rsi*8], rbx
mov ebx, dword [rdi + 4]
cmp ebx, r15d
je 0x140067d20
cmp edx, dword [rsp + 0x5c]
mov dword [rsp + 0x68], edx
je 0x140067d51
mov rcx, qword [rsp + 0x50]
lea r8, str.audio_converter
mov edx, 0x2a0
call fcn.1400a2d20
test rax, rax
mov r11, rax
mov eax, dword [rsp + 0x68]
je 0x1400680a1
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x40]
xor r8d, r8d
mov r9d, dword [rsp + 0x44]
mov esi, dword [rsp + 0x48]
mov dword [r11 + 0x74], r15d
mov r15d, dword [rsp + 0x58]
mov dword [r11 + 0x80], edx
mov dword [r11 + 0x188], edx
lea rdx, str.audio_converter
mov dword [r11 + 0x84], ecx
mov dword [r11 + 0x8c], r9d
mov dword [r11 + 0x18c], ecx
mov dword [r11 + 0x194], r9d
mov rcx, r11
xor r9d, r9d
mov qword [r11 + 0x290], 0
mov qword [r11 + 0x258], 0
mov dword [r11 + 0x70], ebp
mov word [r11 + 0x78], r13w
mov word [r11 + 0x7a], r14w
mov dword [r11 + 0x7c], r15d
mov dword [r11 + 0x88], esi
mov byte [r11 + 0x90], r12b
mov dword [r11 + 0x3c], ebp
mov dword [r11 + 0x178], ebp
mov dword [r11 + 0x17c], ebx
mov word [r11 + 0x180], r13w
mov word [r11 + 0x182], r14w
mov dword [r11 + 0x184], r15d
mov dword [r11 + 0x190], esi
mov byte [r11 + 0x198], r12b
mov dword [r11 + 0x144], ebp
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x68], r11
call sym.libvlccore.dll_module_need
mov r8, qword [rsp + 0x68]
test rax, rax
mov r10d, dword [rsp + 0x70]
mov qword [r8 + 0x28], rax
je 0x140068090
mov rax, qword [rsp + 0x60]
mov r11d, r10d
lea esi, [r10 + 1]
mov qword [rax + r11*8], r8
mov r9d, dword [rdi]
cmp r9d, ebp
je 0x140068052
mov edi, dword [rsp + 0x5c]
test edi, edi
je 0x140067d55
mov ecx, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x58]
mov dword [rsp + 0x90], r9d
mov dword [rsp + 0xa0], ecx
lea rcx, [rsp + 0x90]
mov dword [rsp + 0xa4], r8d
mov dword [rsp + 0xa8], r10d
mov dword [rsp + 0xac], r11d
mov dword [rsp + 0x94], ebx
mov word [rsp + 0x98], r13w
mov word [rsp + 0x9a], r14w
mov dword [rsp + 0x9c], r15d
mov byte [rsp + 0xb0], r12b
call sym.libvlccore.dll_aout_FormatPrepare
mov rcx, qword [rsp + 0x50]
lea r8, str.audio_converter
mov edx, 0x2a0
call fcn.1400a2d20
test rax, rax
mov rdi, rax
je 0x140068062
mov dword [rax + 0x74], ebx
mov word [rax + 0x78], r13w
mov word [rax + 0x7a], r14w
mov r13d, dword [rsp + 0x4c]
mov r14d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
mov dword [rax + 0x70], ebp
mov dword [rax + 0x7c], r15d
mov dword [rax + 0x80], r13d
mov qword [rax + 0x290], 0
mov dword [rax + 0x84], r14d
mov dword [rax + 0x88], ebx
mov qword [rax + 0x258], 0
mov eax, dword [rsp + 0x44]
mov byte [rdi + 0x90], r12b
mov dword [rdi + 0x3c], ebp
mov dword [rdi + 0x8c], eax
mov rbp, qword [rsp + 0x90]
mov qword [rdi + 0x178], rbp
mov r12, qword [rsp + 0x98]
mov qword [rdi + 0x180], r12
mov r9, qword [rsp + 0xa0]
mov qword [rdi + 0x188], r9
mov rdx, qword [rsp + 0xa8]
xor r9d, r9d
mov qword [rdi + 0x190], rdx
mov ecx, dword [rsp + 0xb0]
lea rdx, str.audio_converter
mov dword [rdi + 0x198], ecx
mov r8d, dword [rsp + 0x90]
mov rcx, rdi
mov dword [rdi + 0x144], r8d
xor r8d, r8d
call sym.libvlccore.dll_module_need
test rax, rax
mov qword [rdi + 0x28], rax
je 0x14006805a
mov r10, qword [rsp + 0x60]
lea r15d, [rsi + 1]
mov qword [r10 + rsi*8], rdi
lea r11, str.aout_FiltersPipelineCreate
lea rsi, str.conversion_pipeline_complete
mov r8, qword [str.main]
mov rcx, qword [rsp + 0x50]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_audio_output_filters.c
mov dword [rsp + 0x20], 0x105
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r11
mov edx, 3
call sym.libvlccore.dll_vlc_Log
mov rdi, qword [rsp + 0x78]
xor eax, eax
add dword [rdi], r15d
mov r8, qword [0x1402840b0]
mov rdi, qword [rsp + 0xb8]
xor rdi, qword [r8]
jne 0x1400681a7
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rdi + 0xc]
cmp dword [rbx + 0xc], r8d
jne 0x140067595
xor edx, edx
jmp 0x1400679ad
xor esi, esi
jmp 0x14006779c
mov ebx, r15d
mov esi, edx
jmp 0x140067aea
lea rcx, [rsp + 0x88]
lea rdx, str.headphonestrue
call sym.libvlccore.dll_config_ChainParseOptions
mov rcx, qword [rsp + 0x88]
jmp 0x140067820
mov esi, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x5c]
mov rbp, qword [rsp + 0x50]
lea r14, str.maximum_of__u_conversion_filters_reached
mov r8, qword [str.main]
lea rbx, str.aout_FiltersPipelineCreate
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_audio_output_filters.c
mov edx, 1
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x20], 0x10a
mov rcx, rbp
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x28], rbx
call sym.libvlccore.dll_vlc_Log
lea rcx, str.The_maximum_number_of_filters___u__was_reached.
call sym.libvlccore.dll_vlc_gettext
lea rcx, str.Audio_filtering_failed
mov r12, rax
call sym.libvlccore.dll_vlc_gettext
mov r9d, edi
mov r8, r12
mov rdx, rax
mov rcx, rbp
call sym.libvlccore.dll_vlc_dialog_display_error
test esi, esi
je 0x140067fe0
mov r15, qword [rsp + 0x60]
sub esi, 1
mov r13, qword [r15]
lea rdi, [r15 + rsi*8 + 8]
lea r14, [r15 + 8]
and esi, 7
mov rdx, qword [r13 + 0x28]
mov rcx, r13
call sym.libvlccore.dll_module_unneed
mov rcx, r13
call sym.libvlccore.dll_vlc_object_release
cmp rdi, r14
je 0x140067fe0
test rsi, rsi
je 0x140067f0a
cmp rsi, 1
je 0x140067ee6
cmp rsi, 2
je 0x140067ecb
cmp rsi, 3
je 0x140067eb0
cmp rsi, 4
je 0x140067e94
cmp rsi, 5
je 0x140067e79
cmp rsi, 6
je 0x140067e5e
mov rsi, qword [r14]
mov rdx, qword [rsi + 0x28]
mov rcx, rsi
call sym.libvlccore.dll_module_unneed
mov rcx, rsi
call sym.libvlccore.dll_vlc_object_release
mov r14, qword [rsp + 0x60]
add r14, 0x10
mov rbx, qword [r14]
add r14, 8
mov rdx, qword [rbx + 0x28]
mov rcx, rbx
call sym.libvlccore.dll_module_unneed
mov rcx, rbx
call sym.libvlccore.dll_vlc_object_release
mov rbp, qword [r14]
add r14, 8
mov rdx, qword [rbp + 0x28]
mov rcx, rbp
call sym.libvlccore.dll_module_unneed
mov rcx, rbp
call sym.libvlccore.dll_vlc_object_release
mov r12, qword [r14]
add r14, 8
mov rdx, qword [r12 + 0x28]
mov rcx, r12
call sym.libvlccore.dll_module_unneed
mov rcx, r12
call sym.libvlccore.dll_vlc_object_release
mov r15, qword [r14]
add r14, 8
mov rdx, qword [r15 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_module_unneed
mov rcx, r15
call sym.libvlccore.dll_vlc_object_release
mov r13, qword [r14]
add r14, 8
mov rdx, qword [r13 + 0x28]
mov rcx, r13
call sym.libvlccore.dll_module_unneed
mov rcx, r13
call sym.libvlccore.dll_vlc_object_release
mov rsi, qword [r14]
add r14, 8
mov rdx, qword [rsi + 0x28]
mov rcx, rsi
call sym.libvlccore.dll_module_unneed
mov rcx, rsi
call sym.libvlccore.dll_vlc_object_release
cmp rdi, r14
je 0x140067fe0
mov rbx, qword [r14]
add r14, 0x40
mov rdx, qword [rbx + 0x28]
mov rcx, rbx
call sym.libvlccore.dll_module_unneed
mov rcx, rbx
call sym.libvlccore.dll_vlc_object_release
mov rbp, qword [r14 - 0x38]
mov rdx, qword [rbp + 0x28]
mov rcx, rbp
call sym.libvlccore.dll_module_unneed
mov rcx, rbp
call sym.libvlccore.dll_vlc_object_release
mov r12, qword [r14 - 0x30]
mov rdx, qword [r12 + 0x28]
mov rcx, r12
call sym.libvlccore.dll_module_unneed
mov rcx, r12
call sym.libvlccore.dll_vlc_object_release
mov r15, qword [r14 - 0x28]
mov rdx, qword [r15 + 0x28]
mov rcx, r15
call sym.libvlccore.dll_module_unneed
mov rcx, r15
call sym.libvlccore.dll_vlc_object_release
mov r13, qword [r14 - 0x20]
mov rdx, qword [r13 + 0x28]
mov rcx, r13
call sym.libvlccore.dll_module_unneed
mov rcx, r13
call sym.libvlccore.dll_vlc_object_release
mov rsi, qword [r14 - 0x18]
mov rdx, qword [rsi + 0x28]
mov rcx, rsi
call sym.libvlccore.dll_module_unneed
mov rcx, rsi
call sym.libvlccore.dll_vlc_object_release
mov rbx, qword [r14 - 0x10]
mov rdx, qword [rbx + 0x28]
mov rcx, rbx
call sym.libvlccore.dll_module_unneed
mov rcx, rbx
call sym.libvlccore.dll_vlc_object_release
mov rbp, qword [r14 - 8]
mov rdx, qword [rbp + 0x28]
mov rcx, rbp
call sym.libvlccore.dll_module_unneed
mov rcx, rbp
call sym.libvlccore.dll_vlc_object_release
cmp rdi, r14
jne 0x140067f0a
nop word [rax + rax]
mov eax, 0xffffffff
jmp 0x140067cc7
mov rcx, rbx
call sym.libvlccore.dll_vlc_object_release
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140068004
call sym.libvlccore.dll_config_ChainDestroy
lea rdx, str.remixer
lea rcx, str.cannot_find__s_for_conversion_pipeline
lea r8, str.aout_FiltersPipelineCreate
mov dword [rsp + 0x20], 0xd8
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r8
mov r8, qword [str.main]
mov rcx, qword [rsp + 0x50]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_audio_output_filters.c
mov edx, 1
call sym.libvlccore.dll_vlc_Log
jmp 0x140067dc9
mov r15d, esi
jmp 0x140067c80
mov rcx, rdi
call sym.libvlccore.dll_vlc_object_release
lea r13, str.post_mix_converter
lea r14, str.cannot_find__s_for_conversion_pipeline
lea rbx, str.aout_FiltersPipelineCreate
mov dword [rsp + 0x20], 0xff
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
jmp 0x140068030
mov rcx, r8
mov dword [rsp + 0x40], r10d
call sym.libvlccore.dll_vlc_object_release
mov eax, dword [rsp + 0x40]
lea r9, str.aout_FiltersPipelineCreate
lea rbp, str.resampler
lea r12, str.cannot_find__s_for_conversion_pipeline
mov r8, qword [str.main]
mov rcx, qword [rsp + 0x50]
mov edx, 1
mov qword [rsp + 0x28], r9
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_audio_output_filters.c
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x20], 0xed
mov dword [rsp + 0x40], eax
call sym.libvlccore.dll_vlc_Log
mov esi, dword [rsp + 0x40]
jmp 0x140067dc9
mov rcx, rsi
call sym.libvlccore.dll_vlc_object_release
nop
lea r15, str.pre_mix_converter
lea r10, str.cannot_find__s_for_conversion_pipeline
lea r11, str.aout_FiltersPipelineCreate
mov r8, qword [str.main]
mov rcx, qword [rsp + 0x50]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_audio_output_filters.c
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r10
mov edx, 1
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0xb7
call sym.libvlccore.dll_vlc_Log
jmp 0x140067fe0
xor esi, esi
jmp 0x140067d55
lea rcx, str.aout_FiltersPipelineCreate
lea rdx, str.Cant_convert_non_linear_input
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_audio_output_filters.c
mov dword [rsp + 0x20], 0xa5
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rdx
mov edx, 1
call sym.libvlccore.dll_vlc_Log
mov eax, 0xffffffff
jmp 0x140067cc7
call fcn.1400c4db0
nop
nop dword [rax]