/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14020f8a0 FUN_14020f8a0 * Pseudocode, not original source. */ undefined8 FUN_14020f8a0(uint *param_1,undefined1 *param_2,uint *param_3) { undefined1 uVar1; undefined8 uVar2; uint uVar3; uint local_res8 [2]; if (((param_1 != (uint *)0x0) && (param_2 != (undefined1 *)0x0)) && (param_3 != (uint *)0x0)) { uVar2 = FUN_14020f3f0(param_1,local_res8); if ((int)uVar2 == 0) { if (*param_3 < local_res8[0]) { *param_3 = local_res8[0]; return 6; } *param_2 = 0x17; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)*param_1 / 10) + (int)(((ulonglong)*param_1 / 10) / 10) * -10)]); param_2[2] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[*param_1 % 10]); param_2[3] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)param_1[1] / 10) + (int)(((ulonglong)param_1[1] / 10) / 10) * -10)]); param_2[4] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[1] % 10]); param_2[5] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)param_1[2] / 10) + (int)(((ulonglong)param_1[2] / 10) / 10) * -10)]); param_2[6] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[2] % 10]); param_2[7] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)param_1[3] / 10) + (int)(((ulonglong)param_1[3] / 10) / 10) * -10)]); param_2[8] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[3] % 10]); param_2[9] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)param_1[4] / 10) + (int)(((ulonglong)param_1[4] / 10) / 10) * -10)]); param_2[10] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[4] % 10]); param_2[0xb] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)param_1[5] / 10) + (int)(((ulonglong)param_1[5] / 10) / 10) * -10)]); param_2[0xc] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[5] % 10]); param_2[0xd] = uVar1; if ((param_1[8] == 0) && (param_1[7] == 0)) { uVar1 = FUN_14020d8d0(0x5a); uVar3 = 0xf; param_2[0xe] = uVar1; } else { uVar2 = 0x2b; if (param_1[6] != 0) { uVar2 = 0x2d; } uVar1 = FUN_14020d8d0(uVar2); param_2[0xe] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8 [(uint)((int)((ulonglong)param_1[7] / 10) + (int)(((ulonglong)param_1[7] / 10) / 10) * -10)]); param_2[0xf] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[7] % 10]); param_2[0x10] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[(param_1[8] / 10) % 10]); param_2[0x11] = uVar1; uVar1 = FUN_14020d8d0((int)(char)PTR_DAT_1403462e8[param_1[8] % 10]); uVar3 = 0x13; param_2[0x12] = uVar1; } param_2[1] = (char)uVar3 + -2; *param_3 = uVar3; uVar2 = 0; } return uVar2; } return 0x10; }