Всё просто же. func.call() это вызов call в котором this(для call) == func. Вторым call вы подменяете this для первого call на новую функцию.
Всё точно также как и с обычным кодом:
obj = {
mehod: function(){
alert(this.prop)
},
prop: 'foo'
}
obj.mehod()
obj.mehod.call({prop: 'bar'})
только this не объект, а функция.