003BDCFB mov eax,dword ptr [outword] 003BDCFE mov ecx,dword ptr [out32] 003BDD01 mov edx,dword ptr [ecx+eax*4] 003BDD04 mov ecx,dword ptr [outarea] 003BDD07 shl edx,cl
slightly bit puzzled, I am bitshifting by 32 bits, which effectively would clear the variable (edx) to 0x00000000, but shl actually does nothing at all. edx remains unchanged (EDX = 0xfdfdfdfd).
Just double chekcing that's the expected behaviour, or am I reading this wrong? Gonna have to change my logic