/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400c7140 FUN_1400c7140 * Pseudocode, not original source. */ ulonglong FUN_1400c7140(int *param_1,char *param_2,uint param_3) { char *pcVar1; char cVar2; int iVar3; longlong lVar4; ulonglong uVar5; uint uVar6; char cVar7; FUN_1400cd030(param_1); if (0x3e < param_3 - 2) { return 0xfffffffd; } cVar2 = *param_2; if (cVar2 == '-') { param_2 = param_2 + 1; } FUN_1400cd030(param_1); cVar7 = *param_2; while (cVar7 != '\0') { if ((int)param_3 < 0x24) { iVar3 = toupper((int)cVar7); cVar7 = (char)iVar3; } uVar6 = 0; lVar4 = 0; do { if (cVar7 == PTR_s_0123456789ABCDEFGHIJKLMNOPQRSTUV_140157330[lVar4]) break; lVar4 = lVar4 + 1; uVar6 = uVar6 + 1; } while (lVar4 < 0x40); if ((int)param_3 <= (int)uVar6) break; uVar5 = FUN_1400c78e0(param_1,param_3,param_1); if ((int)uVar5 != 0) { return uVar5; } uVar5 = FUN_1400c7530(param_1,uVar6,param_1); if ((int)uVar5 != 0) { return uVar5; } pcVar1 = param_2 + 1; param_2 = param_2 + 1; cVar7 = *pcVar1; } if (*param_1 != 0) { param_1[2] = (uint)(cVar2 == '-'); } return 0; }