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

48 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14010e410 FUN_14010e410
* Pseudocode, not original source. */
undefined8 FUN_14010e410(byte *param_1,uint param_2,int *param_3)
{
longlong lVar1;
uint uVar2;
if ((param_3 != (int *)0x0) && (param_1 != (byte *)0x0)) {
uVar2 = 0;
if (param_2 != 0) {
do {
lVar1 = 0;
while ((&DAT_1401552f0)[lVar1 * 2] != (uint)*param_1) {
lVar1 = lVar1 + 1;
if (0x65 < lVar1) {
return 0x10;
}
}
if ((&DAT_1401552f4)[lVar1 * 2] == -1) {
return 0x10;
}
uVar2 = uVar2 + 1;
param_1 = param_1 + 1;
} while (uVar2 < param_2);
}
if (param_2 < 0x80) {
*param_3 = param_2 + 2;
return 0;
}
if (param_2 < 0x100) {
*param_3 = param_2 + 3;
return 0;
}
if (param_2 < 0x10000) {
*param_3 = param_2 + 4;
return 0;
}
if (param_2 < 0x1000000) {
*param_3 = param_2 + 5;
return 0;
}
}
return 0x10;
}