004EDF60 mov bl,byte ptr [eax]

yep. EAX is -1 (or 0xFFFFFF)
That's what's causing the crash on a system level.
On the programming level, it's caused by the way mIRC handles spaces in filenames when it receives a DCC request.
On the users level it's caused by someone exploiting you frown


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"