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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x870
mov rbx, rcx
call fcn.1403a7f18
mov r9d, dword [rbx + 0x18]
cmp r9d, 0xb
jle 0x1403a80d3
lea r8, str.Requested_input_sample_format__d_is_invalid_n
mov edx, 0x10
mov rcx, rbx
mov ebp, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89c3
mov r9d, dword [rbx + 0x20]
cmp r9d, 0xb
jle 0x1403a80fb
lea r8, str.Requested_output_sample_format__d_is_invalid_n
mov edx, 0x10
mov rcx, rbx
mov ebp, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89c3
mov eax, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x80]
mov dword [rbx + 0x3838], eax
mov eax, dword [rbx + 0x70]
mov qword [rbx + 0x28], rcx
mov dword [rbx + 0x2fb8], eax
mov eax, dword [rbx + 0x78]
mov dword [rbx + 0x68], eax
mov rax, qword [rbx + 0x88]
mov qword [rbx + 0x30], rax
mov eax, dword [rbx + 0x90]
mov dword [rbx + 0x1c], eax
mov eax, dword [rbx + 0x94]
mov dword [rbx + 0x98], eax
call fcn.1403527d0
cmp eax, 0x40
jle 0x1403a8168
mov r9, qword [rbx + 0x28]
lea r8, str.Input_channel_layout_0x_llx_is_invalid_or_unsupported._n
mov edx, 0x18
mov rcx, rbx
call fcn.14036cf30
mov qword [rbx + 0x28], 0
mov rcx, qword [rbx + 0x30]
call fcn.1403527d0
cmp eax, 0x40
jle 0x1403a8196
mov r9, qword [rbx + 0x30]
lea r8, str.Output_channel_layout_0x_llx_is_invalid_or_unsupported._n
mov edx, 0x18
mov rcx, rbx
call fcn.14036cf30
mov qword [rbx + 0x30], 0
cmp dword [rbx + 0x6c], 0
jne 0x1403a81bb
cmp dword [rbx + 0x68], 0
mov rax, qword [0x140445420]
mov qword [rbx + 0x3f00], rax
jne 0x1403a81d9
mov eax, dword [rbx + 0x2fb8]
mov dword [rbx + 0x68], eax
jmp 0x1403a81d9
lea r8, str.Requested_resampling_engine_is_unavailable_n
mov edx, 0x10
mov rcx, rbx
mov ebp, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89c3
mov esi, dword [rbx + 0x68]
test esi, esi
je 0x1403a820e
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1403a8215
call fcn.1403527d0
cmp esi, eax
je 0x1403a820e
lea r8, str.Input_channel_layout_has_a_different_number_of_channels_than_the_number_of_used_channels__ignoring_layout_n
mov edx, 0x18
mov rcx, rbx
call fcn.14036cf30
mov qword [rbx + 0x28], 0
cmp qword [rbx + 0x28], 0
jne 0x1403a8221
mov ecx, dword [rbx + 0x68]
call fcn.140352850
mov qword [rbx + 0x28], rax
cmp qword [rbx + 0x30], 0
jne 0x1403a8237
mov ecx, dword [rbx + 0x3838]
call fcn.140352850
mov qword [rbx + 0x30], rax
mov rsi, qword [rbx + 0x28]
cmp qword [rbx + 0x30], rsi
mov eax, 1
jne 0x1403a8269
movss xmm0, dword [0x14042a2a0]
ucomiss xmm0, dword [rbx + 0x50]
jp 0x1403a8264
jne 0x1403a8264
xor eax, eax
cmp dword [rbx + 0x2da8], 0
setne al
jmp 0x1403a8269
mov eax, 1
cmp dword [rbx + 0x1c], 0xffffffff
mov dword [rbx + 0x2da4], eax
jne 0x1403a8317
mov ecx, dword [rbx + 0x18]
call fcn.140379180
cmp eax, 2
jg 0x1403a829c
mov ecx, dword [rbx + 0x20]
call fcn.140379180
cmp eax, 2
jg 0x1403a829c
mov dword [rbx + 0x1c], 6
jmp 0x1403a8317
mov ecx, dword [rbx + 0x18]
call fcn.140379180
cmp eax, 2
jg 0x1403a82c0
cmp dword [rbx + 0x2da4], 0
jne 0x1403a82c0
mov eax, dword [rbx + 0x38]
cmp dword [rbx + 0x3c], eax
jne 0x1403a82c0
test byte [rbx + 0x40], 1
je 0x1403a8293
mov ecx, dword [rbx + 0x18]
call fcn.1403790d0
cmp eax, 7
jne 0x1403a8300
mov ecx, dword [rbx + 0x20]
call fcn.1403790d0
cmp eax, 7
jne 0x1403a8300
cmp dword [rbx + 0x2da4], 0
jne 0x1403a8300
mov eax, dword [rbx + 0x38]
cmp dword [rbx + 0x3c], eax
jne 0x1403a8300
test byte [rbx + 0x40], 1
jne 0x1403a8300
cmp dword [rbx + 0x6c], 1
je 0x1403a8300
mov dword [rbx + 0x1c], 7
jmp 0x1403a8317
mov ecx, dword [rbx + 0x18]
call fcn.140379180
cmp eax, 4
setg al
movzx eax, al
add eax, 8
mov dword [rbx + 0x1c], eax
mov ecx, dword [rbx + 0x1c]
call fcn.140378e60
lea r8, str.Using__s_internally_between_filters_n
mov r9, rax
mov rcx, rbx
mov edx, 0x30
call fcn.14036cf30
mov ecx, dword [rbx + 0x1c]
lea eax, [rcx - 6]
cmp eax, 3
jbe 0x1403a836c
cmp ecx, 0xb
je 0x1403a836c
call fcn.140378e60
lea r8, str.Requested_sample_format__s_is_not_supported_internally__s16p_s32p_s64p_fltp_dblp_are_supported_n
mov r9, rax
mov edx, 0x10
mov rcx, rbx
mov ebp, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89c3
mov edx, dword [rbx + 0x18]
lea r13, [rbx + 0x2db0]
lea r12, [rbx + 0x3630]
mov rcx, r13
call fcn.1403a800b
mov edx, dword [rbx + 0x20]
mov rcx, r12
call fcn.1403a800b
mov rax, qword [rbx + 0x2d98]
movabs rdx, 0x8000000000000000
xorps xmm1, xmm1
cmp rax, rdx
mov edx, dword [rbx + 0x3c]
je 0x1403a83e9
ucomiss xmm1, dword [rbx + 0x2d94]
jp 0x1403a83d2
jne 0x1403a83d2
movss xmm0, dword [rbx + 0x2d84]
ucomiss xmm0, dword [0x14042a2a4]
jb 0x1403a83d2
mov dword [rbx + 0x2d94], 0x3f800000
movsxd rcx, edx
imul rax, rcx
mov qword [rbx + 0x3ec0], rax
mov qword [rbx + 0x3ec8], rax
jmp 0x1403a83f0
mov qword [rbx + 0x3ec8], rax
movss xmm0, dword [rbx + 0x2d94]
ucomiss xmm0, xmm1
jp 0x1403a8405
xorps xmm1, xmm1
ucomiss xmm0, xmm1
je 0x1403a8443
movss xmm1, dword [rbx + 0x2d84]
ucomiss xmm1, dword [0x14042a2a4]
jb 0x1403a8420
mov dword [rbx + 0x2d84], 0x3a83126f
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x14042a2a8]
jbe 0x1403a8443
cvtsi2sd xmm1, dword [rbx + 0x38]
divsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
movss dword [rbx + 0x2d90], xmm3
mov r8d, dword [rbx + 0x38]
mov rax, qword [rbx + 0x3f00]
cmp edx, r8d
jne 0x1403a845d
test byte [rbx + 0x40], 1
je 0x1403a8506
mov r9d, dword [rbx + 0x2d5c]
movsd xmm0, qword [rbx + 0x2d78]
mov rcx, qword [rbx + 0x3ef8]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], r9d
mov r9d, dword [rbx + 0x2d80]
movsd xmm0, qword [rbx + 0x2d70]
mov dword [rsp + 0x58], r9d
mov r9d, dword [rbx + 0x2d68]
movsd qword [rsp + 0x48], xmm0
movsd xmm0, qword [rbx + 0x2d60]
mov dword [rsp + 0x40], r9d
mov r9d, dword [rbx + 0x1c]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], r9d
mov r9d, dword [rbx + 0x2d58]
mov dword [rsp + 0x28], r9d
mov r9d, dword [rbx + 0x2d54]
mov dword [rsp + 0x20], r9d
mov r9d, dword [rbx + 0x2d50]
call qword [rax]
test rax, rax
mov qword [rbx + 0x3ef8], rax
jne 0x1403a8510
lea r8, str.Failed_to_initialize_resampler_n
mov edx, 0x10
mov rcx, rbx
mov ebp, 0xfffffff4
call fcn.14036cf30
jmp 0x1403a89c3
lea rcx, [rbx + 0x3ef8]
call qword [rax + 8]
mov eax, dword [rbx + 0x1c]
sub eax, 6
cmp eax, 3
jbe 0x1403a8543
cmp qword [rbx + 0x3ef8], 0
je 0x1403a8543
lea r8, str.Resampling_only_supported_with_internal_s16p_s32p_fltp_dblp_n
mov edx, 0x10
mov rcx, rbx
mov edi, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89b9
cmp dword [rbx + 0x2fb8], 0
jne 0x1403a855b
mov rcx, qword [rbx + 0x28]
call fcn.1403527d0
mov dword [rbx + 0x2fb8], eax
cmp dword [rbx + 0x68], 0
jne 0x1403a856a
mov eax, dword [rbx + 0x2fb8]
mov dword [rbx + 0x68], eax
cmp dword [rbx + 0x3838], 0
jne 0x1403a8582
mov rcx, qword [rbx + 0x30]
call fcn.1403527d0
mov dword [rbx + 0x3838], eax
mov r8d, dword [rbx + 0x2fb8]
test r8d, r8d
jne 0x1403a85d3
cmp qword [rbx + 0x28], 0
je 0x1403a85b5
lea rax, str.libswresample_swresample.c
mov dword [rsp + 0x28], 0x125
lea r9, str._s__in_ch_layout
mov qword [rsp + 0x20], rax
jmp 0x1403a86f0
lea r8, str.Input_channel_count_and_layout_are_unset_n
mov edx, 0x10
mov rcx, rbx
mov edi, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89b9
mov r9, qword [rbx + 0x28]
lea rsi, [rsp + 0x70]
mov edx, 0x400
lea rdi, [rsp + 0x470]
mov rcx, rsi
call fcn.140352790
mov r9, qword [rbx + 0x30]
mov r8d, dword [rbx + 0x3838]
mov rcx, rdi
mov edx, 0x400
call fcn.140352790
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x1403a864c
mov ebp, dword [rbx + 0x3838]
call fcn.1403527d0
cmp ebp, eax
je 0x1403a864c
mov eax, dword [rbx + 0x3838]
lea r8, str.Output_channel_layout__s_mismatches_specified_channel_count__d_n
mov r9, rdi
mov edx, 0x10
mov rcx, rbx
mov edi, 0xffffffea
mov dword [rsp + 0x20], eax
call fcn.14036cf30
jmp 0x1403a89b9
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x1403a8689
mov ebp, dword [rbx + 0x68]
call fcn.1403527d0
cmp ebp, eax
je 0x1403a8689
mov eax, dword [rbx + 0x68]
lea r8, str.Input_channel_layout__s_mismatches_specified_channel_count__d_n
mov r9, rsi
mov edx, 0x10
mov rcx, rbx
mov edi, 0xffffffea
mov dword [rsp + 0x20], eax
call fcn.14036cf30
jmp 0x1403a89b9
cmp qword [rbx + 0x30], 0
mov ecx, dword [rbx + 0x68]
je 0x1403a869a
cmp qword [rbx + 0x28], 0
jne 0x1403a86d1
cmp ecx, dword [rbx + 0x3838]
je 0x1403a86d1
cmp dword [rbx + 0x2da8], 0
jne 0x1403a86d1
lea r8, str.Rematrix_is_needed_between__s_and__s_but_there_is_not_enough_information_to_do_it_n
mov qword [rsp + 0x20], rdi
mov r9, rsi
mov edx, 0x10
mov rcx, rbx
mov edi, 0xffffffea
call fcn.14036cf30
jmp 0x1403a89b9
test ecx, ecx
jne 0x1403a8705
lea rax, str.libswresample_swresample.c
lea r9, str.s__used_ch_count
mov dword [rsp + 0x28], 0x13f
mov qword [rsp + 0x20], rax
lea r8, [0x14042993a]
xor edx, edx
xor ecx, ecx
call fcn.14036cf30
call sub.msvcrt.dll_abort
mov eax, dword [rbx + 0x3838]
test eax, eax
jne 0x1403a872c
lea rax, str.libswresample_swresample.c
mov dword [rsp + 0x28], 0x140
lea r9, str.s__out.ch_count
mov qword [rsp + 0x20], rax
jmp 0x1403a86f0
cvtsi2ss xmm1, dword [rbx + 0x3c]
cvtsi2ss xmm2, dword [rbx + 0x38]
divss xmm1, xmm2
cdq
lea rdi, [rbx + 0x3850]
mov rsi, r13
mov r8d, dword [rbx + 0x1c]
lea r14, [rbx + 0x3850]
idiv ecx
mov ecx, 0x88
mov edx, dword [rbx + 0x20]
cvtss2sd xmm1, xmm1
subsd xmm1, qword [0x14042a2b0]
dec eax
cvtsi2sd xmm0, eax
xor eax, eax
ucomisd xmm1, xmm0
seta al
mov dword [rbx + 0x2da0], eax
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbx + 0x3a70]
lea rsi, [rbx + 0x2db0]
mov ecx, 0x88
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbx + 0x3c90]
mov ecx, 0x88
mov rsi, r12
rep movsd dword [rdi], dword [rsi]
mov rcx, rbx
call fcn.1403a89e0
test eax, eax
mov edi, eax
js 0x1403a89b9
cmp qword [rbx + 0x3ef8], 0
mov edx, dword [rbx + 0x18]
jne 0x1403a8802
cmp dword [rbx + 0x2da4], 0
jne 0x1403a8802
cmp qword [rbx + 0x60], 0
jne 0x1403a8802
mov ebp, dword [rbx + 0x98]
test ebp, ebp
jne 0x1403a8802
mov ecx, dword [rbx + 0x20]
mov r8d, dword [rbx + 0x2fb8]
xor r9d, r9d
mov dword [rsp + 0x20], 0
call fcn.1402d8c00
mov qword [rbx + 0x3ef0], rax
jmp 0x1403a89c3
mov ecx, dword [rbx + 0x1c]
mov r9, qword [rbx + 0x60]
mov r8d, dword [rbx + 0x68]
mov dword [rsp + 0x20], 0
call fcn.1402d8c00
mov edx, dword [rbx + 0x1c]
mov ecx, dword [rbx + 0x20]
xor r9d, r9d
mov r8d, dword [rbx + 0x3838]
mov qword [rbx + 0x3ee0], rax
mov dword [rsp + 0x20], 0
call fcn.1402d8c00
cmp qword [rbx + 0x3ee0], 0
mov qword [rbx + 0x3ee8], rax
je 0x1403a89b4
test rax, rax
je 0x1403a89b4
cmp qword [rbx + 0x60], 0
lea rdi, [rbx + 0x2fd0]
mov ecx, 0x88
mov rsi, r13
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbx + 0x3410]
mov ecx, 0x88
mov rsi, r12
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbx + 0x31f0]
lea rsi, [rbx + 0x2db0]
mov ecx, 0x88
rep movsd dword [rdi], dword [rsi]
lea rcx, [rbx + 0x2fd0]
lea rsi, [rbx + 0x3410]
lea rdi, [rbx + 0x31f0]
je 0x1403a88ce
cmp qword [rbx + 0x3ef8], 0
mov eax, dword [rbx + 0x68]
mov dword [rbx + 0x33f8], eax
mov dword [rbx + 0x31d8], eax
je 0x1403a88ce
mov dword [rbx + 0x3a58], eax
cmp dword [rbx + 0x2da0], 0
jne 0x1403a88f3
cmp qword [rbx + 0x3ef8], 0
mov eax, dword [rbx + 0x3838]
mov dword [rbx + 0x33f8], eax
je 0x1403a88f3
mov dword [rbx + 0x3a58], eax
mov edx, dword [rbx + 0x1c]
call fcn.1403a800b
mov edx, dword [rbx + 0x1c]
mov rcx, rdi
call fcn.1403a800b
mov edx, dword [rbx + 0x1c]
mov rcx, rsi
call fcn.1403a800b
cmp qword [rbx + 0x3ef8], 0
je 0x1403a8926
mov edx, dword [rbx + 0x1c]
mov rcx, r14
call fcn.1403a800b
mov ebp, dword [rbx + 0x3620]
test ebp, ebp
je 0x1403a8950
lea rax, str.libswresample_swresample.c
mov dword [rsp + 0x28], 0x172
lea r9, str._s__preout.count
mov qword [rsp + 0x20], rax
jmp 0x1403a86f0
mov eax, dword [rbx + 0x98]
lea rdi, [rbx + 0x2908]
mov ecx, 0x88
rep movsd dword [rdi], dword [rsi]
lea rdi, [rbx + 0x2b28]
lea rsi, [rbx + 0x3410]
mov ecx, 0x88
cmp eax, 0x40
rep movsd dword [rdi], dword [rsi]
jle 0x1403a899c
mov dword [rbx + 0x2b14], 4
mov dword [rbx + 0x2b20], 8
mov dword [rbx + 0xa4], 0x3f800000
or eax, dword [rbx + 0x2da4]
je 0x1403a89c3
mov rcx, rbx
call fcn.1403a98bb
test eax, eax
mov edi, eax
jns 0x1403a89c3
jmp 0x1403a89b9
mov edi, 0xfffffff4
mov rcx, rbx
mov ebp, edi
call fcn.1403a7f18
mov eax, ebp
add rsp, 0x870
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret