int FUN_00419158(int param_1)
{
char cVar1;
int iVar2;
undefined4 uVar3;
int iVar4;
char *pcVar5;
int local_18 [2];
ixml_membuf_destroy(param_1 + 0x1c);
if (**(char **)(param_1 + 4) == '\0') {
return 0;
}
iVar2 = FUN_00418998(param_1);
if (iVar2 != 0) {
return 0;
}
pcVar5 = *(char **)(param_1 + 4);
cVar1 = *pcVar5;
if ((cVar1 != '\"') && (cVar1 != '\'')) {
if (cVar1 == '<') {
iVar4 = FUN_00417ef8(pcVar5 + 1,local_18);
iVar2 = 2;
if (iVar4 == 0x2f) {
pcVar5 = *(char **)(param_1 + 4);
}
else {
iVar4 = FUN_00417e20(iVar4,0);
iVar2 = 1;
if (iVar4 != 1) {
return 0;
}
pcVar5 = *(char **)(param_1 + 4);
}
goto LAB_00419288;
}
if (cVar1 != '=') {
if (cVar1 == '/') {
if (pcVar5[1] == '>') {
*(char **)(param_1 + 8) = pcVar5;
iVar2 = 2;
}
else {
iVar2 = 0;
}
}
else {
iVar2 = 1;
if (cVar1 != '>') {
uVar3 = FUN_00417ef8(pcVar5,local_18);
iVar4 = FUN_00417e20(uVar3,0);
iVar2 = local_18[0];
if (iVar4 == 0) {
return 0;
}
while( true ) {
uVar3 = FUN_00417ef8(*(int *)(param_1 + 4) + iVar2,local_18);
iVar4 = FUN_00417e20(uVar3,1);
if (iVar4 == 0) break;
iVar2 = iVar2 + local_18[0];
}
pcVar5 = *(char **)(param_1 + 4);
}
}
goto LAB_00419288;
}
}
iVar2 = 1;
LAB_00419288:
iVar4 = FUN_00418b58(param_1,pcVar5,iVar2);
if (iVar4 != 0) {
return 0;
}
*(int *)(param_1 + 4) = *(int *)(param_1 + 4) + iVar2;
return iVar2;
}