@dlatchx The operation is useless, the only way that branch is taken is if rax = 0, eax maps to the lower 32bits of rax, so rax=0 also menas eax=0. (there's a unconditional jump right before, so it doesn't jump into it either). the C equivalent is practically
if(result == 0) { result = 0; return result; }