9 FPO 0, 1, 1, 1, 0, FRAME_FPO
11 /* Save edi and eflags (according to the x86 ABI, we don't need to do that
12 but since the native function doesn't change the direction flag, we don't
17 /* Load the string pointer into edi */
20 /* Set eax to 0, since we want to compare with 0 */
23 /* Set ecx to -1 (i.e. 0xFFFFFFFF) */
26 /* Clear direction flag */
29 /* Now compare the characters until a 0 is found */
32 /* Calculate the count. For n characters, we do (n + 1) comparisons. Initial
33 value of ecx was -1, so end value of ecx is (-1 - (n + 1)) = -(n + 2).
34 => n = -ecx - 2 = ~ecx - 1 */
38 /* Restore eflags/edi and return the result */