server-re/decomp/MessageServer_Release_x64/full/functions/0x14000da10.c

51 lines
1.4 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14000da10 FUN_14000da10
* Pseudocode, not original source. */
byte * FUN_14000da10(byte *param_1,int param_2)
{
int iVar1;
byte bVar2;
if ((param_1 == (byte *)0x0) || (bVar2 = *param_1, bVar2 == 0)) {
return (byte *)0x0;
}
if (param_2 == 1) {
do {
if (bVar2 == 0xef) {
if ((param_1[1] == 0xbb) && (param_1[2] == 0xbf)) {
param_1 = param_1 + 3;
}
else {
if (param_1[1] != 0xbf) goto LAB_14000da70;
if (param_1[2] == 0xbe) {
param_1 = param_1 + 3;
}
else {
if (param_1[2] != 0xbf) goto LAB_14000da70;
param_1 = param_1 + 3;
}
}
}
else {
LAB_14000da70:
iVar1 = isspace((uint)bVar2);
if ((((iVar1 == 0) && (bVar2 != 10)) && (bVar2 != 0xd)) &&
((*param_1 != 10 && (*param_1 != 0xd)))) {
return param_1;
}
param_1 = param_1 + 1;
}
bVar2 = *param_1;
} while (bVar2 != 0);
}
else {
for (; ((bVar2 = *param_1, bVar2 != 0 &&
(((iVar1 = isspace((uint)bVar2), iVar1 != 0 || (bVar2 == 10)) || (bVar2 == 0xd)))) ||
((*param_1 == 10 || (*param_1 == 0xd)))); param_1 = param_1 + 1) {
}
}
return param_1;
}