/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140103c60 FUN_140103c60 * Pseudocode, not original source. */ ulonglong FUN_140103c60(uint *param_1,undefined2 *param_2,uint param_3) { undefined2 *puVar1; ulonglong uVar2; int iVar3; uint local_res18 [4]; uint local_38 [2]; int local_30; if (0x3e < param_3 - 2) { return 0xfffffffd; } if (*param_1 != 0) { uVar2 = FUN_140109cc0(local_38,param_1); if ((int)uVar2 == 0) { iVar3 = 0; puVar1 = param_2; if (local_30 == 1) { puVar1 = (undefined2 *)((longlong)param_2 + 1); *(undefined1 *)param_2 = 0x2d; local_30 = 0; param_2 = puVar1; } while (local_38[0] != 0) { uVar2 = FUN_140109b40(local_38,param_3,local_38,local_res18); if ((int)uVar2 != 0) { FUN_1401037f0((int *)local_38); return uVar2 & 0xffffffff; } iVar3 = iVar3 + 1; *(undefined *)puVar1 = PTR_s_0123456789ABCDEFGHIJKLMNOPQRSTUV_1401ae330[local_res18[0]]; puVar1 = (undefined2 *)((longlong)puVar1 + 1); } FUN_140109af0((undefined1 *)param_2,iVar3); *(undefined1 *)puVar1 = 0; FUN_1401037f0((int *)local_38); uVar2 = 0; } return uVar2; } *param_2 = 0x30; return 0; }