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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
cmp qword [rcx + 0xb8], 0
mov rbx, rcx
jne 0x18000aa60
mov rcx, qword [rcx + 8]
call fcn.180017cf0
mov dword [rbx + 0x74], eax
sub eax, 1
cmp eax, 0x1f
ja 0x18000ac80
mov rcx, qword [rbx + 0x18]
call fcn.180017cf0
lea edx, [rax - 1]
mov dword [rbx + 0x78], eax
cmp edx, 0x1f
ja 0x18000ace0
mov edx, dword [rbx + 0x74]
cmp eax, edx
mov ecx, edx
cmovle ecx, eax
mov dword [rbx + 0x7c], ecx
setl cl
movzx ecx, cl
mov dword [rbx + 0x80], ecx
mov ecx, 1
jle 0x18000a7e0
xor edx, edx
mov dword [rbx + 0x84], ecx
cmp qword [rbx + 0x80], 0
mov edi, dword [rbx + 0x24]
setne dl
cmp dword [rbx + 0x14], edi
mov dword [rbx + 0x88], edx
mov edx, 1
je 0x18000a890
cmp dword [rbx + 0x28], 0xffffffff
movzx edx, dl
mov dword [rbx + 0x8c], edx
je 0x18000a865
mov edx, dword [rbx + 0xf0]
test edx, edx
mov eax, edx
je 0x18000a810
cmp qword [rbx + 0x88], 0
je 0x18000ab50
xor edx, edx
mov ecx, dword [rbx + 0x28]
cmp dword [rbx + 0x10], ecx
setne dl
mov dword [rbx + 0x90], edx
cmp dword [rbx + 0x20], ecx
setne cl
test edx, edx
movzx ecx, cl
mov dword [rbx + 0x94], ecx
je 0x18000a83b
test eax, eax
mov dword [rbx + 0x98], 0
jne 0x18000ac40
mov dword [rbx + 0xf4], 0
test eax, eax
jne 0x18000a70a
mov ebp, dword [rbx + 0x90]
test ebp, ebp
je 0x18000a736
mov ecx, dword [rbx + 0x74]
cmp dword [rbx + 0x78], ecx
lea r9, str.in_buffer
cmovge ecx, dword [rbx + 0x78]
mov r8d, dword [rbx + 0x28]
xor edx, edx
call fcn.180004780
test rax, rax
mov qword [rbx + 0xa0], rax
je 0x18000a990
mov edi, dword [rbx + 0x8c]
test edi, edi
jne 0x18000a960
mov esi, dword [rbx + 0x94]
test esi, esi
je 0x18000a773
mov ecx, dword [rbx + 0x78]
mov r8d, dword [rbx + 0x20]
lea r9, str.out_buffer
xor edx, edx
call fcn.180004780
test rax, rax
mov qword [rbx + 0xb0], rax
je 0x18000a990
mov edx, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x20]
mov r8d, 0x400
call fcn.180017d48
test rax, rax
mov qword [rbx + 0xb8], rax
je 0x18000a8c0
mov r11d, dword [rbx + 0x90]
test r11d, r11d
jne 0x18000aa80
mov eax, dword [rbx + 0x94]
test eax, eax
jne 0x18000ab40
mov r9d, dword [rbx + 0x8c]
test r9d, r9d
jne 0x18000ab20
mov ecx, dword [rbx + 0x88]
test ecx, ecx
jne 0x18000a8a0
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov ecx, 0
jl 0x18000a65d
cmp qword [rbx + 0xe8], 0
mov ecx, 1
jne 0x18000a65d
xor ecx, ecx
mov rsi, qword [rbx + 0x18]
cmp qword [rbx + 8], rsi
setne cl
jmp 0x18000a65d
cmp qword [rbx + 0x88], 0
jne 0x18000a6b8
mov dword [rbx + 0x90], 0
mov eax, dword [rbx + 0x20]
xor ecx, ecx
cmp dword [rbx + 0x10], eax
mov eax, edx
setne cl
mov dword [rbx + 0x94], ecx
mov edx, dword [rbx + 0x88]
test edx, edx
je 0x18000a9a0
test eax, eax
mov dword [rbx + 0x98], 1
jne 0x18000abdb
mov eax, 1
jmp 0x18000a6f2
cmp qword [rbx + 0x88], 0
jne 0x18000a9f1
mov edx, dword [rbx + 0xf0]
test edx, edx
jne 0x18000ab53
mov dword [rbx + 0x90], 0
xor edx, edx
jmp 0x18000a828
mov r8d, dword [rbx + 0x4c]
test r8d, r8d
setne dl
jmp 0x18000a687
mov rcx, rbx
call fcn.1800074a0
test rax, rax
mov qword [rbx + 0xd8], rax
jne 0x18000a7d0
nop dword [rax + rax]
mov eax, 0xfffffff4
lea rcx, [rbx + 0xa0]
mov dword [rsp + 0x3c], eax
call fcn.180004970
lea rcx, [rbx + 0xa8]
call fcn.180004970
lea rcx, [rbx + 0xb0]
call fcn.180004970
mov rcx, qword [rbx + 0xb8]
call fcn.180017d38
lea rcx, [rbx + 0xc0]
mov qword [rbx + 0xb8], 0
call fcn.180003570
lea rcx, [rbx + 0xc8]
call fcn.180003570
lea rcx, [rbx + 0xd0]
call fcn.180009cd0
lea rcx, [rbx + 0xd8]
call fcn.180005e90
lea rcx, [rbx + 0xe8]
call fcn.180017d00
mov eax, dword [rsp + 0x3c]
mov dword [rbx + 0xf0], 0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov ecx, dword [rbx + 0x78]
mov r8d, dword [rbx + 0x28]
lea r9, str.resample_out_buffer
mov edx, 0x400
call fcn.180004780
test rax, rax
mov qword [rbx + 0xa8], rax
jne 0x18000a744
nop dword [rax + rax]
mov eax, 0xffffffea
jmp 0x18000a8c5
test eax, eax
je 0x18000ac30
mov eax, dword [rbx + 0x8c]
test eax, eax
jne 0x18000abd1
test ecx, ecx
mov dword [rbx + 0x98], 0
je 0x18000ac04
lea r8, str.remap_channels_during_out_convert_n
mov dword [rbx + 0xf4], 4
mov edx, 0x38
mov rcx, rbx
call fcn.180017cb8
mov eax, dword [rbx + 0x98]
jmp 0x18000a6fc
mov ecx, dword [rbx + 0x10]
call fcn.180017cd0
mov ecx, dword [rbx + 0x20]
mov esi, eax
call fcn.180017cd0
mov ecx, esi
mov edi, eax
call fcn.180017cf8
mov ecx, edi
mov ebp, eax
call fcn.180017cf8
cmp ebp, eax
jg 0x18000ac70
mov ecx, edi
call fcn.180017cf8
cmp eax, 2
jg 0x18000acb2
mov dword [rbx + 0x28], 6
mov ecx, 6
call fcn.180017cc8
lea r8, str.Using__s_as_internal_sample_format_n
mov r9, rax
mov edx, 0x30
mov rcx, rbx
call fcn.180017cb8
jmp 0x18000a69a
lea r8, [0x180023a50]
mov edx, 0x10
call fcn.180017cb8
mov eax, 0xffffffea
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
xor eax, eax
cmp dword [rbx + 0xf4], 2
mov edx, dword [rbx + 0x28]
mov r9d, dword [rbx + 0x74]
mov r8d, dword [rbx + 0x10]
mov rcx, rbx
sete al
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x20], eax
call fcn.1800035b0
test rax, rax
mov qword [rbx + 0xc0], rax
je 0x18000a8c0
mov r10d, dword [rbx + 0x94]
test r10d, r10d
je 0x18000a7b2
mov r8d, dword [rbx + 0x90]
test r8d, r8d
je 0x18000ab40
mov r8d, dword [rbx + 0x28]
xor eax, eax
cmp dword [rbx + 0xf4], 4
mov edx, dword [rbx + 0x20]
mov r9d, dword [rbx + 0x78]
mov rcx, rbx
sete al
mov dword [rsp + 0x28], eax
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x20], eax
call fcn.1800035b0
test rax, rax
mov qword [rbx + 0xc8], rax
je 0x18000a8c0
mov r9d, dword [rbx + 0x8c]
test r9d, r9d
je 0x18000a7c2
mov rcx, rbx
call fcn.1800094f0
test rax, rax
mov qword [rbx + 0xd0], rax
jne 0x18000a7c2
jmp 0x18000a8c0
mov r8d, dword [rbx + 0x10]
jmp 0x18000aada
mov eax, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x20]
mov edx, eax
call fcn.180004450
test eax, eax
je 0x18000aca2
mov rcx, qword [rbx + 0x88]
mov edx, dword [rbx + 0xf0]
test rcx, rcx
mov eax, edx
jne 0x18000a6b8
test edx, edx
je 0x18000a81e
mov edx, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x20]
call fcn.180004450
mov rcx, qword [rbx + 0x88]
xor edx, edx
test eax, eax
sete dl
mov dword [rbx + 0x90], edx
test rcx, rcx
jne 0x18000ad39
test eax, eax
jne 0x18000ad2e
xor edx, edx
mov esi, dword [rbx + 0x20]
cmp dword [rbx + 0x28], esi
mov eax, dword [rbx + 0xf0]
setne dl
mov dword [rbx + 0x94], edx
jmp 0x18000a6e0
mov dword [rbx + 0x98], 1
lea r8, str.remap_channels_during_in_copy_n
mov dword [rbx + 0xf4], 1
mov edx, 0x38
mov rcx, rbx
call fcn.180017cb8
mov eax, dword [rbx + 0x98]
jmp 0x18000a6fc
lea r8, str.remap_channels_during_out_copy_n
mov dword [rbx + 0xf4], 3
mov edx, 0x38
mov rcx, rbx
call fcn.180017cb8
mov eax, dword [rbx + 0x98]
jmp 0x18000a6fc
mov dword [rbx + 0x98], 0
jmp 0x18000a6f2
lea r8, str.remap_channels_during_in_convert_n
mov dword [rbx + 0xf4], 2
mov edx, 0x38
mov rcx, rbx
call fcn.180017cb8
mov eax, dword [rbx + 0x98]
jmp 0x18000a6fc
mov ecx, esi
call fcn.180017cf8
jmp 0x18000aa24
mov r9, qword [rbx + 8]
lea r8, str.Invalid_input_channel_layout:__llu_n
mov edx, 0x10
mov rcx, rbx
call fcn.180017cb8
mov eax, 0xffffffea
jmp 0x18000a7d2
mov ecx, dword [rbx + 0x20]
call fcn.180017cd0
mov dword [rbx + 0x28], eax
jmp 0x18000ab65
mov ecx, dword [rbx + 0x88]
test ecx, ecx
jne 0x18000accb
cmp eax, 4
jg 0x18000ad02
cmp esi, 7
je 0x18000ad13
cmp edi, 7
je 0x18000ad13
mov dword [rbx + 0x28], 8
mov ecx, 8
jmp 0x18000aa39
mov r9, qword [rbx + 0x18]
lea r8, str.Invalid_output_channel_layout:__llu_n
mov edx, 0x10
mov rcx, rbx
call fcn.180017cb8
mov eax, 0xffffffea
jmp 0x18000a7d2
mov dword [rbx + 0x28], 9
mov ecx, 9
jmp 0x18000aa39
cmp esi, 8
je 0x18000ad02
cmp edi, 8
je 0x18000ad02
mov dword [rbx + 0x28], 7
mov ecx, 7
jmp 0x18000aa39
mov edx, dword [rbx + 0xf0]
jmp 0x18000a828
mov ecx, dword [rbx + 0x28]
mov eax, dword [rbx + 0xf0]
jmp 0x18000a6c9