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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
mov ebx, dword [edi + 0x11c]
cmp ebx, esi
jg 0xb60996
mov eax, dword [edi + 0x124]
cmp ebx, eax
jl 0xb6097a
mov ecx, dword [esp + 0x38]
sub ebx, eax
lea eax, [edi + eax*2 + 0xa8]
add ebx, ebx
lea ebp, [edi + 0xa8]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
mov eax, dword [edi + 0x108]
cmp eax, 2
je 0xb608e0
cmp eax, 3
je 0xb60890
cmp eax, 1
mov eax, dword [edi + 0x11c]
je 0xb60930
add eax, eax
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [edi + 0x120]
mov edx, dword [esp + 0x34]
add ebx, dword [esp + 0x38]
lea edx, [edx + eax*2]
mov eax, esi
sub eax, dword [edi + 0x11c]
mov dword [esp + 4], ebx
mov dword [esp], edx
add eax, eax
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [edi + 0x124]
mov dword [esp], ebp
lea edx, [eax + eax]
sub esi, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], edx
lea eax, [eax + esi*2]
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
add esp, 0x1c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edi + 0x11c]
mov dword [esp + 8], ebp
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call 0xb609c0
mov eax, esi
add ebx, dword [esp + 0x38]
sub eax, dword [edi + 0x11c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov eax, dword [edi + 0x120]
mov dword [esp], edi
lea eax, [ecx + eax*2]
mov dword [esp + 4], eax
call 0xb609c0
jmp 0xb60864
mov eax, dword [edi + 0x11c]
mov dword [esp + 8], ebp
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00b61210
mov eax, esi
add ebx, dword [esp + 0x38]
sub eax, dword [edi + 0x11c]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov eax, dword [edi + 0x120]
mov dword [esp], edi
lea eax, [edx + eax*2]
mov dword [esp + 4], eax
call fcn.00b61210
jmp 0xb60864
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], ebp
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00b615f0
mov eax, esi
add ebx, dword [esp + 0x38]
sub eax, dword [edi + 0x11c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov eax, dword [edi + 0x120]
mov dword [esp], edi
lea eax, [ecx + eax*2]
mov dword [esp + 4], eax
call fcn.00b615f0
jmp 0xb60864
mov dword [esp + 8], 0xba
mov dword [esp + 4], str.silk_resampler.c
mov dword [esp], str.assertion_failed:_S__inputDelay___S__Fs_in_kHz
call fcn.00b371e0
mov dword [esp + 8], 0xb8
mov dword [esp + 4], str.silk_resampler.c
mov dword [esp], str.assertion_failed:_inLen___S__Fs_in_kHz
call fcn.00b371e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10c]
mov eax, dword [eax + 0x114]
mov edx, eax
mov dword [ebp - 0x38], eax
add eax, ebx
lea eax, [eax*4 + 0x12]
shr eax, 4
shl eax, 4
call fcn.00bd0e20
sub esp, eax
lea eax, [esp + 0x14]
mov ecx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp], ecx
add eax, 0x18
mov esi, eax
mov dword [ebp - 0x48], eax
mov eax, edx
shl eax, 2
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x128]
lea eax, [edi + 4]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x110]
mov dword [ebp - 0x28], eax
mov eax, edi
mov edx, dword [ebp + 0x14]
cmp edx, ebx
mov dword [ebp - 0x34], edx
jle 0xb60a49
mov dword [ebp - 0x34], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0x10], esi
lea eax, [eax + edx*4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00b71010
mov eax, dword [ebp + 8]
mov edx, esi
shl edx, 0x10
mov dword [ebp - 0x24], edx
mov eax, dword [eax + 0x114]
cmp eax, 0x18
mov dword [ebp - 0x38], eax
je 0xb60ac0
cmp eax, 0x24
je 0xb60f50
cmp eax, 0x12
je 0xb60cd0
mov dword [esp + 8], 0x8b
mov dword [esp + 4], str.silk_resampler_private_down_FIR.c
mov dword [esp], 0xe0d0d2
call fcn.00b371e0
lea esi, [esi]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], 0
test edx, edx
jle 0xb60c85
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
movsx ebx, word [edx + 4]
sar eax, 0x10
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 0x5c]
add ecx, dword [eax]
mov edi, dword [eax + 0x58]
add edi, dword [eax + 4]
movzx esi, cx
sar ecx, 0x10
imul esi, ebx
imul ecx, ebx
movsx ebx, word [edx + 6]
sar esi, 0x10
lea esi, [esi + ecx]
movzx ecx, di
sar edi, 0x10
imul ecx, ebx
imul edi, ebx
sar ecx, 0x10
add edi, ecx
mov ecx, dword [eax + 0x54]
add ecx, dword [eax + 8]
lea ebx, [edi + esi]
movsx edi, word [edx + 8]
movzx esi, cx
sar ecx, 0x10
imul esi, edi
imul ecx, edi
sar esi, 0x10
add ecx, esi
mov esi, dword [eax + 0x50]
add esi, dword [eax + 0xc]
lea edi, [ecx + ebx]
movsx ecx, word [edx + 0xa]
movzx ebx, si
sar esi, 0x10
imul ebx, ecx
imul esi, ecx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x4c]
add ebx, dword [eax + 0x10]
lea ecx, [esi + edi]
movsx esi, word [edx + 0xc]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 0x48]
add edi, dword [eax + 0x14]
lea esi, [ebx + ecx]
movsx ebx, word [edx + 0xe]
movzx ecx, di
imul ecx, ebx
sar ecx, 0x10
sar edi, 0x10
imul edi, ebx
add edi, ecx
mov ecx, dword [eax + 0x44]
add ecx, dword [eax + 0x18]
lea ebx, [edi + esi]
movsx edi, word [edx + 0x10]
movzx esi, cx
sar ecx, 0x10
imul esi, edi
imul ecx, edi
sar esi, 0x10
add ecx, esi
mov esi, dword [eax + 0x40]
add esi, dword [eax + 0x1c]
lea edi, [ecx + ebx]
movsx ecx, word [edx + 0x12]
movzx ebx, si
sar esi, 0x10
imul ebx, ecx
imul esi, ecx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x3c]
add ebx, dword [eax + 0x20]
lea ecx, [esi + edi]
movsx esi, word [edx + 0x14]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
lea esi, [ebx + ecx]
mov ecx, dword [eax + 0x38]
add ecx, dword [eax + 0x24]
movsx ebx, word [edx + 0x16]
movzx edi, cx
sar ecx, 0x10
imul edi, ebx
imul ecx, ebx
sar edi, 0x10
lea ebx, [edi + ecx]
add ebx, esi
mov esi, dword [eax + 0x34]
add esi, dword [eax + 0x28]
movsx edi, word [edx + 0x18]
movzx ecx, si
sar esi, 0x10
imul ecx, edi
sar ecx, 0x10
imul esi, edi
mov edi, dword [eax + 0x30]
add edi, dword [eax + 0x2c]
add dword [ebp + 0xc], 2
add esi, ecx
movsx ecx, word [edx + 0x1a]
movzx eax, di
sar edi, 0x10
add ebx, esi
imul eax, ecx
imul edi, ecx
sar eax, 0x10
add edi, eax
mov eax, 0x7fff
add ebx, edi
sar ebx, 5
add ebx, 1
sar ebx, 1
cmp ebx, 0x7fff
jg 0xb60c6c
cmp ebx, 0xffff8000
mov eax, 0xffff8000
jl 0xb60c6c
mov eax, ebx
mov ecx, dword [ebp + 0xc]
mov word [ecx - 2], ax
mov ecx, dword [ebp - 0x28]
add dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], eax
jg 0xb60ad5
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + 0x10]
sub dword [ebp + 0x14], eax
lea edx, [edx + eax*2]
mov dword [ebp + 0x10], edx
mov edx, eax
mov eax, dword [ebp - 0x38]
shl eax, 2
cmp dword [ebp + 0x14], 1
jle 0xb611e0
mov ecx, dword [ebp - 0x20]
mov dword [esp + 8], eax
lea edx, [ecx + edx*4]
mov dword [esp], ecx
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x10c]
mov eax, dword [eax + 0x128]
jmp 0xb60a3c
mov eax, dword [ebp - 0x24]
test eax, eax
jle 0xb60c85
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 0x118]
movsx edx, ax
sub eax, 1
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x2c]
mov eax, edx
movzx edx, dx
imul edx, dword [ebp - 0x3c]
sar eax, 0x10
lea eax, [ecx + eax*4]
mov edi, dword [eax]
sar edx, 0x10
mov dword [ebp - 0x30], edx
lea edx, [edx + edx*8]
lea ecx, [esi + edx*2]
movzx edx, di
sar edi, 0x10
movsx esi, word [ecx]
imul edx, esi
imul edi, esi
movsx esi, word [ecx + 2]
mov ebx, edx
sar ebx, 0x10
lea edx, [ebx + edi]
mov ebx, dword [eax + 4]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 8]
lea esi, [ebx + edx]
movsx ebx, word [ecx + 4]
movzx edx, di
sar edi, 0x10
imul edx, ebx
imul edi, ebx
sar edx, 0x10
add edi, edx
mov edx, dword [eax + 0xc]
lea ebx, [edi + esi]
movsx edi, word [ecx + 6]
movzx esi, dx
sar edx, 0x10
imul esi, edi
imul edx, edi
sar esi, 0x10
add edx, esi
mov esi, dword [eax + 0x10]
lea edi, [edx + ebx]
movsx edx, word [ecx + 8]
movzx ebx, si
sar esi, 0x10
imul ebx, edx
imul esi, edx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x14]
lea edx, [esi + edi]
movsx esi, word [ecx + 0xa]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
lea esi, [ebx + edx]
movsx ebx, word [ecx + 0xc]
mov edx, dword [eax + 0x18]
movzx edi, dx
imul edi, ebx
sar edx, 0x10
imul edx, ebx
sar edi, 0x10
lea ebx, [edi + edx]
movsx edi, word [ecx + 0xe]
add ebx, esi
mov esi, dword [eax + 0x1c]
movzx edx, si
sar esi, 0x10
imul edx, edi
imul esi, edi
sar edx, 0x10
add esi, edx
movsx edx, word [ecx + 0x10]
add esi, ebx
mov ebx, dword [eax + 0x20]
movzx ecx, bx
sar ebx, 0x10
imul ecx, edx
imul ebx, edx
sar ecx, 0x10
add ebx, ecx
lea edi, [ebx + esi]
mov ebx, dword [ebp - 0x40]
sub ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
lea edx, [ebx + ebx*8]
lea ecx, [esi + edx*2]
mov esi, dword [eax + 0x44]
movsx edx, word [ecx]
movzx ebx, si
sar esi, 0x10
imul ebx, edx
imul esi, edx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x40]
lea edx, [esi + edi]
movsx esi, word [ecx + 2]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 0x3c]
lea esi, [ebx + edx]
movsx ebx, word [ecx + 4]
movzx edx, di
sar edi, 0x10
imul edx, ebx
imul edi, ebx
sar edx, 0x10
add edi, edx
mov edx, dword [eax + 0x38]
lea ebx, [edi + esi]
movsx edi, word [ecx + 6]
movzx esi, dx
imul esi, edi
sar edx, 0x10
add dword [ebp + 0xc], 2
imul edx, edi
sar esi, 0x10
add edx, esi
mov esi, dword [eax + 0x34]
lea edi, [edx + ebx]
movsx edx, word [ecx + 8]
movzx ebx, si
sar esi, 0x10
imul ebx, edx
imul esi, edx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x30]
lea edx, [esi + edi]
movsx esi, word [ecx + 0xa]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
lea esi, [ebx + edx]
movsx ebx, word [ecx + 0xc]
mov edx, dword [eax + 0x2c]
movzx edi, dx
sar edx, 0x10
imul edi, ebx
imul edx, ebx
sar edi, 0x10
lea ebx, [edi + edx]
movsx edi, word [ecx + 0xe]
movsx ecx, word [ecx + 0x10]
add ebx, esi
mov esi, dword [eax + 0x28]
movzx edx, si
sar esi, 0x10
imul edx, edi
imul esi, edi
sar edx, 0x10
add esi, edx
mov edx, dword [eax + 0x24]
add ebx, esi
movzx eax, dx
sar edx, 0x10
imul eax, ecx
imul edx, ecx
sar eax, 0x10
add edx, eax
mov eax, 0x7fff
add ebx, edx
sar ebx, 5
add ebx, 1
sar ebx, 1
cmp ebx, 0x7fff
jg 0xb60f2e
cmp ebx, 0xffff8000
mov eax, 0xffff8000
jl 0xb60f2e
mov eax, ebx
mov edx, dword [ebp + 0xc]
mov word [edx - 2], ax
mov edx, dword [ebp - 0x28]
add dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], eax
jg 0xb60cf3
jmp 0xb60c85
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp - 0x44]
test ecx, ecx
jle 0xb60c85
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
sar eax, 0x10
lea eax, [ecx + eax*4]
movsx ecx, word [edx + 4]
mov ebx, dword [eax + 0x8c]
add ebx, dword [eax]
mov esi, dword [eax + 0x88]
add esi, dword [eax + 4]
movzx edi, bx
sar ebx, 0x10
imul edi, ecx
imul ebx, ecx
movsx ecx, word [edx + 6]
sar edi, 0x10
lea edi, [edi + ebx]
movzx ebx, si
sar esi, 0x10
imul ebx, ecx
imul esi, ecx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x84]
add ebx, dword [eax + 8]
lea ecx, [esi + edi]
movsx esi, word [edx + 8]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 0x80]
add edi, dword [eax + 0xc]
lea esi, [ebx + ecx]
movsx ebx, word [edx + 0xa]
movzx ecx, di
sar edi, 0x10
imul ecx, ebx
imul edi, ebx
sar ecx, 0x10
add edi, ecx
mov ecx, dword [eax + 0x7c]
add ecx, dword [eax + 0x10]
lea ebx, [edi + esi]
movsx edi, word [edx + 0xc]
movzx esi, cx
sar ecx, 0x10
imul esi, edi
imul ecx, edi
sar esi, 0x10
add ecx, esi
mov esi, dword [eax + 0x78]
add esi, dword [eax + 0x14]
lea edi, [ecx + ebx]
movsx ecx, word [edx + 0xe]
movzx ebx, si
imul ebx, ecx
sar ebx, 0x10
sar esi, 0x10
imul esi, ecx
add esi, ebx
mov ebx, dword [eax + 0x74]
add ebx, dword [eax + 0x18]
lea ecx, [esi + edi]
movsx esi, word [edx + 0x10]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 0x70]
add edi, dword [eax + 0x1c]
lea esi, [ebx + ecx]
movsx ebx, word [edx + 0x12]
movzx ecx, di
sar edi, 0x10
imul ecx, ebx
imul edi, ebx
sar ecx, 0x10
add edi, ecx
mov ecx, dword [eax + 0x6c]
add ecx, dword [eax + 0x20]
lea ebx, [edi + esi]
movsx edi, word [edx + 0x14]
movzx esi, cx
sar ecx, 0x10
imul esi, edi
imul ecx, edi
sar esi, 0x10
add ecx, esi
mov esi, dword [eax + 0x68]
add esi, dword [eax + 0x24]
lea edi, [ecx + ebx]
movsx ecx, word [edx + 0x16]
movzx ebx, si
sar esi, 0x10
imul ebx, ecx
imul esi, ecx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x64]
add ebx, dword [eax + 0x28]
lea ecx, [esi + edi]
movsx esi, word [edx + 0x18]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
sar edi, 0x10
imul ebx, esi
add ebx, edi
mov edi, dword [eax + 0x60]
add edi, dword [eax + 0x2c]
lea esi, [ebx + ecx]
movsx ebx, word [edx + 0x1a]
movzx ecx, di
sar edi, 0x10
imul ecx, ebx
imul edi, ebx
sar ecx, 0x10
add edi, ecx
mov ecx, dword [eax + 0x5c]
add ecx, dword [eax + 0x30]
lea ebx, [edi + esi]
movsx edi, word [edx + 0x1c]
movzx esi, cx
sar ecx, 0x10
imul esi, edi
imul ecx, edi
sar esi, 0x10
add ecx, esi
mov esi, dword [eax + 0x58]
add esi, dword [eax + 0x34]
lea edi, [ecx + ebx]
movsx ecx, word [edx + 0x1e]
movzx ebx, si
sar esi, 0x10
imul ebx, ecx
imul esi, ecx
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x54]
add ebx, dword [eax + 0x38]
lea ecx, [esi + edi]
movsx esi, word [edx + 0x20]
movzx edi, bx
sar ebx, 0x10
imul edi, esi
imul ebx, esi
sar edi, 0x10
add ebx, edi
lea esi, [ebx + ecx]
mov ecx, dword [eax + 0x50]
add ecx, dword [eax + 0x3c]
movsx ebx, word [edx + 0x22]
movzx edi, cx
sar ecx, 0x10
imul edi, ebx
imul ecx, ebx
sar edi, 0x10
lea ebx, [edi + ecx]
movsx edi, word [edx + 0x24]
add ebx, esi
mov esi, dword [eax + 0x4c]
add esi, dword [eax + 0x40]
add dword [ebp + 0xc], 2
movzx ecx, si
sar esi, 0x10
imul ecx, edi
imul esi, edi
mov edi, dword [eax + 0x48]
add edi, dword [eax + 0x44]
sar ecx, 0x10
add esi, ecx
movsx ecx, word [edx + 0x26]
movzx eax, di
sar edi, 0x10
add ebx, esi
imul eax, ecx
imul edi, ecx
sar eax, 0x10
add edi, eax
mov eax, 0x7fff
add ebx, edi
sar ebx, 5
add ebx, 1
sar ebx, 1
cmp ebx, 0x7fff
jg 0xb611bc
cmp ebx, 0xffff8000
mov eax, 0xffff8000
jl 0xb611bc
mov eax, ebx
mov ecx, dword [ebp + 0xc]
mov word [ecx - 2], ax
mov ecx, dword [ebp - 0x28]
add dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], eax
jg 0xb60f65
jmp 0xb60c85
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x48]
lea edx, [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret