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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov edi, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov eax, dword [edi + 0x20]
mov esi, dword [edx + 0x44]
mov edx, dword [edi + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00ad5d30
cmp esi, eax
jne 0xa9171b
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
mov esi, dword [ebx + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00ad5d30
cmp esi, eax
jne 0xa916e2
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
mov dword [esp + 0x44], ecx
jle 0xa9140d
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0
shl esi, 2
add edx, edx
mov dword [esp + 0x48], esi
mov esi, edi
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx + 0xa68]
cmp dl, 1
je 0xa913a0
cmp dl, 2
je 0xa91417
cmp dword [esi + 0x10], 3
je 0xa9158f
mov ecx, dword [esp + 0x7c]
test ecx, ecx
jle 0xa913f5
mov edi, dword [esp + 0x74]
xor ebp, ebp
mov ecx, dword [esp + 0x30]
mov ecx, dword [edi + ecx*4]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x30]
shl edi, 4
mov dword [esp + 0x28], edi
lea eax, [ecx + edi + 0xa61]
mov edi, dword [esp + 0x2c]
add eax, esi
mov dword [esp + 0x38], eax
add edi, 0xa69
mov dword [esp + 0x3c], edi
xor edi, edi
test dl, dl
je 0xa91382
mov eax, dword [esp + 0x38]
movzx edx, dl
xor edi, edi
add edx, dword [esp + 0x3c]
mov dword [esp + 0x20], esi
add eax, 8
mov dword [esp + 0x24], edx
nop
movzx ecx, byte [eax]
add eax, 1
mov esi, dword [esp + 0x28]
mov edx, dword [ebx + ecx*4]
lea ecx, [ecx + esi + 0x198]
mov esi, dword [esp + 0x20]
movsx edx, word [edx + ebp]
imul edx, dword [esi + ecx*4 + 8]
add edi, edx
cmp eax, dword [esp + 0x24]
jne 0xa91350
add edi, 0x4000
shr edi, 0xf
mov eax, dword [esp + 0x34]
mov word [eax + ebp], di
add ebp, 2
cmp ebp, dword [esp + 0x40]
je 0xa913f5
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx + 0xa68]
jmp 0xa91331
mov ebp, dword [esp + 0x80]
movzx eax, byte [ecx + 0xa69]
test ebp, ebp
jne 0xa914b6
mov edx, dword [esp + 0x30]
shl edx, 4
lea edx, [eax + edx + 0x98]
fld dword [esi + edx*4 + 8]
fld1
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0xa914b6
jne 0xa914b6
mov eax, dword [ebx + eax*4]
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x74]
mov dword [ebp + edi*4], eax
jmp 0xa913f5
fstp st(0)
fstp st(0)
jmp 0xa913f5
fstp st(0)
add dword [esp + 0x30], 1
mov edi, dword [esp + 0x44]
add dword [esp + 0x2c], 0x11
cmp dword [esp + 0x30], edi
jl 0xa912c3
add esp, 0x5c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 0x10], 3
mov edi, dword [esp + 0x30]
movzx edx, byte [ecx + 0xa6a]
je 0xa91526
shl edi, 4
movzx ecx, byte [ecx + 0xa69]
lea eax, [edx + edi + 0x198]
mov edx, dword [ebx + edx*4]
mov eax, dword [esi + eax*4 + 8]
mov dword [esp + 0x24], eax
lea eax, [ecx + edi + 0x198]
mov edi, dword [ebx + ecx*4]
mov eax, dword [esi + eax*4 + 8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp + 0x7c]
test eax, eax
jle 0xa913f5
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x34], esi
mov esi, edx
movsx ecx, word [edi + eax*2]
movsx edx, word [esi + eax*2]
imul edx, dword [esp + 0x24]
imul ecx, ebx
lea edx, [ecx + edx + 0x4000]
sar edx, 0xf
mov word [ebp + eax*2], dx
add eax, 1
cmp eax, dword [esp + 0x7c]
jne 0xa91481
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
jmp 0xa913f5
mov edx, dword [esp + 0x30]
shl edx, 4
cmp dword [esi + 0x10], 3
je 0xa91649
lea edx, [eax + edx + 0x198]
mov edi, dword [ebx + eax*4]
mov ebp, dword [esi + edx*4 + 8]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
cmp ebp, 0xffff8000
mov ecx, dword [eax + edx*4]
je 0xa91696
mov edx, dword [esp + 0x7c]
xor eax, eax
test edx, edx
jle 0xa913f5
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x7c]
movsx edx, word [edi + eax*2]
imul edx, ebp
add edx, 0x4000
sar edx, 0xf
mov word [ecx + eax*2], dx
add eax, 1
cmp eax, esi
jne 0xa91502
mov esi, dword [esp + 0x24]
jmp 0xa913f5
movzx ecx, byte [ecx + 0xa69]
shl edi, 4
lea eax, [edx + edi + 0x98]
mov ebp, dword [esp + 0x30]
fld dword [esi + eax*4 + 8]
mov edx, dword [ebx + edx*4]
lea eax, [ecx + edi + 0x98]
mov ecx, dword [ebx + ecx*4]
fld dword [esi + eax*4 + 8]
mov eax, dword [esp + 0x74]
mov edi, dword [eax + ebp*4]
mov eax, dword [esp + 0x7c]
test eax, eax
jle 0xa913ed
mov ebp, dword [esp + 0x7c]
xor eax, eax
lea esi, [esi]
fld st(0)
fmul dword [ecx + eax*4]
fld st(2)
fmul dword [edx + eax*4]
faddp st(1)
fstp dword [edi + eax*4]
add eax, 1
cmp eax, ebp
jne 0xa91570
fstp st(0)
fstp st(0)
jmp 0xa913f5
mov eax, dword [esp + 0x7c]
test eax, eax
jle 0xa913f5
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], 0
mov ebp, dword [ecx + ebp*4]
mov ecx, dword [esp + 0x30]
add edi, 0xa69
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x30]
shl ebp, 4
lea eax, [ecx + ebp + 0xa61]
add eax, esi
mov dword [esp + 0x38], eax
test dl, dl
fldz
je 0xa9161e
mov edi, dword [esp + 0x28]
movzx edx, dl
mov eax, dword [esp + 0x38]
add edx, dword [esp + 0x3c]
shl edi, 2
add eax, 8
mov dword [esp + 0x24], edx
movzx edx, byte [eax]
add eax, 1
cmp eax, dword [esp + 0x24]
mov ecx, dword [ebx + edx*4]
lea edx, [edx + ebp + 0x98]
fld dword [esi + edx*4 + 8]
fmul dword [ecx + edi]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
jne 0xa915f7
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x7c]
fstp dword [edx + eax*4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0xa913f5
mov edi, dword [esp + 0x2c]
movzx edx, byte [edi + 0xa68]
jmp 0xa915d8
lea edx, [eax + edx + 0x98]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x74]
fld dword [esi + edx*4 + 8]
fld1
fxch st(1)
mov edx, dword [ebx + eax*4]
fucomi st(1)
fstp st(1)
mov ecx, dword [edi + ebp*4]
jnp 0xa916ba
mov edi, dword [esp + 0x7c]
test edi, edi
jle 0xa913f3
mov edi, dword [esp + 0x7c]
xor eax, eax
nop
fld st(0)
fmul dword [edx + eax*4]
fstp dword [ecx + eax*4]
add eax, 1
cmp eax, edi
jne 0xa91680
fstp st(0)
jmp 0xa913f5
mov edx, dword [esp + 0x40]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 0x44], ecx
jmp 0xa913f5
jne 0xa9166c
fstp st(0)
mov ebp, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], ebp
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x74]
mov edx, dword [edx + 0x44]
mov dword [esp + 0x44], edx
jmp 0xa913f5
mov dword [esp + 0x14], 0xf6
mov dword [esp + 0x10], str._home_kyle_software_ffmpeg_source_ffmpeg_git_libswresample_rematrix.c
mov dword [esp + 0xc], str.in___ch_count__av_get_channel_layout_nb_channels_s___in_ch_layout_
mov dword [esp + 8], 0x1251738
mov dword [esp + 4], 8
mov dword [esp], 0
call fcn.00acfa00
call sub.msvcrt.dll_abort
mov dword [esp + 0x14], 0xf5
mov dword [esp + 0x10], str._home_kyle_software_ffmpeg_source_ffmpeg_git_libswresample_rematrix.c
mov dword [esp + 0xc], str.out__ch_count__av_get_channel_layout_nb_channels_s__out_ch_layout_
jmp 0xa916fa