// StrLen - decompiled from Platform.efi
UINTN __cdecl StrLen(const CHAR16 *String)
{
UINTN v1; // rdx
UINTN v2; // rdi
UINTN result; // rax
v2 = v1; /*0x4e52*/
if ( ((unsigned __int8)String & 1) != 0 ) /*0x4e5b*/
Assert( /*0x4e70*/
(__int64)"e:\\hs\\MdePkg\\Library\\BaseLib\\SafeString.c",
128,
(__int64)"((UINTN) String & 0x00000001) == 0");
if ( !String || !v2 ) /*0x4e7f*/
return 0; /*0x4ea1*/
result = 0; /*0x4e81*/
if ( *String ) /*0x4e83*/
{
while ( result < v2 - 1 ) /*0x4e8f*/
{
if ( !String[++result] ) /*0x4e94*/
return result; /*0x4e98*/
}
return v2; /*0x4e9c*/
}
return result; /*0x4ea8*/
}