server-re/decomp/DBCServer_Release_x64/full/functions/0x14020d700.c

48 lines
1.1 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14020d700 FUN_14020d700
* Pseudocode, not original source. */
undefined8 FUN_14020d700(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_14029a2f0)[lVar1 * 2] != (uint)*param_1) {
lVar1 = lVar1 + 1;
if (0x49 < lVar1) {
return 0x10;
}
}
if ((&DAT_14029a2f4)[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;
}