Earlier quoted context omitted.
I'm pretty sure the "knowledge of how to write the software" is the most complex part of the problem by far. However, one outside chance of a limit may be that the brain is doing something that is fundamentally different to the kinds of operations carried out by a normal computer - which is essentially the argument in The Emperor's New Mind. When I read that book at the height of my own AI enthusiasm I thought it was…
I think that the limitations we face vary depending on what model you are trying to solve. So; are you trying to create software that "emulates" human intelligence (i.e. AI)? In which case, yes, software is the major limitation. Or are you trying to create an artificial (and independently functioning) model of the human brain? In which case you have two limits; hardware speed. But also a huge lack of knowledge about…
Can our thought processes be abstracted into blocks of a few hundred thousand lines of high level language we might actually be capable of writing?