Se me ocurre que pases 2 arreglos vacios como parametros a tu funcion (asegurate de pasarlos por referencia, no por valor).
Los cambios que hagas en la funcion seran directos y al salir tendras los datos que quieres en la funcion que llamo a tu funcion.
Código:
Function x(arr3(), arr4())
.....
end function
'**********************
sub main() 'supon que aqui llamas a la funcion
....
dim arr3()
dim arr4()
x(arr3, arr4) 'llama a la funcion
arr3(1) '<--aqui ya hay valor a tus arrays
end sub
No se si la sintaxis que use es la correcta, pero la idea es que uses algo asi